민원 저장 수정

main
이범준 1 year ago
parent e1207df0f9
commit 0bafc8f984

@ -336,4 +336,9 @@ public class Crdn extends AbstractEntity {
*
*/
private String levyExclRsnCd;
/**
*
*/
private String levyExclYmd;
}

@ -79,7 +79,8 @@ public class CrdnCvlcptBean extends AbstractComponent {
*/
public boolean updateCrdn(Map<String, Object> nonQueryRequest, Crdn crdn) {
DataObject params = new DataObject();
params.set("currentUser", currentUser());
UserInfo userInfo = currentUser();
params.set("currentUser", userInfo);
params.set("crdn", crdn);
for(String key : nonQueryRequest.keySet()){
params.set(key, nonQueryRequest.get(key));

@ -18,8 +18,11 @@ import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.FileQuery;
import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.fims.cmmn.CmmnUtil;
import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.dao.CrdnSttsHstryMapper;
import cokr.xit.fims.cmmn.hwp.AddingParagraphBetweenHWPFile;
import cokr.xit.fims.cmmn.hwp.InsertingImageCell;
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.dao.Crdn05Mapper;
@ -28,6 +31,7 @@ import cokr.xit.fims.crdn.dao.CrdnInfoMapper;
import cokr.xit.fims.cvlc.CrdnCvlcpt;
import cokr.xit.fims.cvlc.dao.CrdnCvlcptMapper;
import cokr.xit.fims.cvlc.service.CrdnCvlcptService;
import cokr.xit.fims.excl.Excl01;
import cokr.xit.fims.excl.service.bean.Excl01Bean;
import cokr.xit.fims.sprt.Sprt;
import cokr.xit.foundation.UserInfo;
@ -50,9 +54,15 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv
@Resource(name="excl01Bean")
private Excl01Bean excl01Bean;
@Resource(name="crdnSttsHstryBean")
private CrdnSttsHstryBean crdnSttsHstryBean;
@Resource(name = "crdnCvlcptMapper")
private CrdnCvlcptMapper crdnCvlcptMapper;
@Resource(name = "crdnSttsHstryMapper")
private CrdnSttsHstryMapper crdnSttsHstryMapper;
@Resource(name="crdnInfoMapper")
private CrdnInfoMapper crdnInfoMapper;
@ -288,7 +298,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv
if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용
// 비부과(서손)사유가 민원 답변대상인가? 민원 답변 문구(TB_CVLCPT_ANS_WORDS) 대장에 답변 사유 코드가 존재한다면..
if (!infoCvlcptAnsWords.string("ANS_WORDS_ID").equals("")) {
if (infoCvlcptAnsWords != null) {
newCvlcptPrcsCd = "04"; // 민원 처리 코드 - 불수용(과태료 부과제외)
newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상
} else {
@ -296,16 +306,21 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv
newCvlcptTrsmCd = "03"; // 민원 전송 코드 - 비부과(서손)사유가 전송 미대상
}
} else { //수용일 때
if(infoCvlcptAnsWords == null) {
throw new RuntimeException("단속민원답변 수정에 실패하였습니다.");
}
newCvlcptPrcsCd = "02"; // 민원 처리 코드 - 수용
newCvlcptTrsmCd = "01"; // 민원 전송 코드 - 전송 대상
}
crdnCvlcpt.setCvlcptPrcsCd(newCvlcptPrcsCd); // 민원 처리 코드
if (infoCvlcptAnsWords != null) {
crdnCvlcpt.setCvlcptPrcsSumry(infoCvlcptAnsWords.string("PRCS_SUMRY")); // 민원 처리 요약
crdnCvlcpt.setCvlcptPrcsRsltCn(infoCvlcptAnsWords.string("PRCS_RSLT_CN")); // 민원 처리 결과 내용
}
crdnCvlcpt.setCvlcptPrcsPic(UserInfo.current().getId()); // 민원 처리 담당자
crdnCvlcpt.setCvlcptTrsmCd(newCvlcptTrsmCd); // 민원 전송 코드
//민원정보변경
//민원처리정보 변경
retSuccess = crdnCvlcptBean.updateCvlcptPrcsSe(crdnCvlcpt);
if (!retSuccess) {
@ -318,6 +333,7 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv
}
int fileInsertEffected = 0;
int fileDeleteEffected = 0;
@ -340,8 +356,8 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv
//nonQueryRequest.put("changeAmountYn","Y");
//}
//단속상태 변경
nonQueryRequest.put("changeAmountYn","Y");
//단속상태 변경
nonQueryRequest.put("changeStatusYn","Y");
if(acceptType.equals("accept")) {
if(!crdnInfo.string("CRDN_REG_SE_CD").equals("02")
|| Arrays.asList(new String[]{"04","05","06"}).contains(crdnInfo.string("CVLCPT_TRSM_CD"))) {
@ -358,8 +374,57 @@ public class CrdnCvlcptServiceBean extends AbstractServiceBean implements CrdnCv
throw new RuntimeException("단속민원답변 수정에 실패하였습니다.");
}
//부과 제외 대장 등록
String dtlTaskId = "";
if(acceptType.equals("someAccept") || acceptType.equals("nonAccept")) { //일부수용,불수용
boolean retSuccess = false;
Excl01 excl01 = new Excl01();
excl01.setCrdnId(crdn.getCrdnId());
excl01.setSggCd(crdn.getSggCd());
excl01.setTaskSeCd(crdn.getTaskSeCd());
excl01.setLevyExclYmd(crdn.getLevyExclYmd());
excl01.setLevyExclSeCd(crdn.getLevyExclSeCd());
excl01.setLevyExclRsnCd(crdn.getLevyExclRsnCd());
excl01.setEtcCn(crdn.getEtcCn());
retSuccess = excl01Bean.createLevyExcl(excl01);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("부과제외 대장 등록에 실패하였습니다.");
}
dtlTaskId = excl01.getLevyExclId();
} else {
dtlTaskId = crdn.getCrdnId();
}
//단속정보변경
saved = crdnCvlcptBean.updateCrdn(nonQueryRequest, crdn);
if(!saved) {
throw new RuntimeException("단속민원답변 수정 중 단속정보변경에 실패하였습니다.");
}
//단속상태 변경 이력 등록
if(((String)nonQueryRequest.get("changeStatusYn")).equals("Y")) {
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(crdn.getCrdnId());
crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD"));
crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd());
crdnSttsHstry.setTaskDtlId(dtlTaskId);
if(crdn.getCrdnSttsCd().equals("81") || crdn.getCrdnSttsCd().equals("83")) {
crdnSttsHstry.setEtcCn("부과제외 대장 등록");
} else {
crdnSttsHstry.setEtcCn("민원 요청 수용");
}
boolean retSuccess = crdnSttsHstryMapper.insert(crdnSttsHstry);
if(!retSuccess) {
throw new RuntimeException("단속민원답변 수정 중 단속상태변경 이력 등록에 실패하였습니다.");
}
}
return saved;
}

@ -89,6 +89,8 @@
/* 단속정보 조회(crdnInfoMapper.getCrdnInfo) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, C.CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, C.LINK_TBL_NM <!-- 연계 테이블 명 -->
, C.LINK_ID <!-- 연계 ID -->
, CC.CVLCPT_LINK_ID <!-- 민원 연계 ID -->

@ -331,6 +331,7 @@ SELECT C.CRDN_ID <!-- 단속 ID -->
<select id="selectCivilComplaintReceiptInitialDataInfo" parameterType="map" resultType="dataobject">
/* 민원접수 초기자료 상세조회(crdnCvlcptMapper.selectCivilComplaintReceiptInitialDataInfo) */
SELECT C.CRDN_ID <!-- 단속 ID -->
, C.TASK_SE_CD <!-- 업무 구분 코드 -->
, C.CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, C.CRDN_YMD <!-- 단속 일자 -->
, C.CRDN_TM <!-- 단속 시각 -->
@ -394,8 +395,8 @@ SELECT C.CRDN_ID <!-- 단속 ID -->
AND DEL_YN = 'N'
</update>
<select id="selectCvlcptAnsWords" parameterType="map" resultType="dataobject">
/* 민원답변문구 대장 객체 가져오기(crdnCvlcptMapper.selectCvlcptAnsWords) */
<select id="selectCvlcptAnsWordsInfo" parameterType="map" resultType="dataobject">
/* 민원답변문구 대장 객체 가져오기(crdnCvlcptMapper.selectCvlcptAnsWordsInfo) */
SELECT A.ANS_WORDS_ID /* 답변 문구 ID */
, A.ANS_SE_CD /* 답변 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM060', A.ANS_SE_CD) FROM DUAL) AS ANS_SE_NM /* 답변 구분 명 */
@ -414,7 +415,7 @@ SELECT A.ANS_WORDS_ID
/* 단속정보 수정(crdnCvlcptMapper.updateCrdn) */
UPDATE TB_CRDN
SET MDFCN_DT = <include refid="utility.now" /> /* 수정일시 */
, MDFR = #{currentUser.modifiedBy} /* 수정자 */
, MDFR = #{currentUser.id} /* 수정자 */
, ATCH_FILE_CNT = ATCH_FILE_CNT + (#{changeFileCnt})
, RTPYR_ID = #{crdn.rtpyrId} /* 납부자 ID */
, CRDN_YMD = #{crdn.crdnYmd} /* 단속 일자 */
@ -431,13 +432,13 @@ SELECT A.ANS_WORDS_ID
, VHCL_NM = #{crdn.vhclNm} /* 차량 명 */
, VHCL_COLOR = #{crdn.vhclColor} /* 차량 색상 */
, ETC_CN = #{crdn.etcCn} /* 기타 내용 */
<if test="changeAmountYn == 'Y'">
<if test='changeAmountYn == "Y"'>
, FFNLG_AMT = #{crdn.ffnlgAmt} /* 과태료 금액 */
, LEVY_AMT = #{crdn.levyAmt} /* 부과 금액 */
, FFNLG_RDUCT_RT = #{crdn.ffnlgRductRt} /* 과태료 감경 율 */
, ADVNTCE_LEVY_AMT = #{crdn.advntceLevyAmt} /* 사전통지 부과 금액 */
</if>
<if test="changeStatusYn == 'Y'">
<if test='changeStatusYn == "Y"'>
, CRDN_STTS_CD = #{crdn.crdnSttsCd} /* 단속 상태 코드 */
, CRDN_STTS_CHG_DT = <include refid="utility.now" /> /* 단속 상태 변경 일시 */
</if>
@ -446,9 +447,9 @@ SELECT A.ANS_WORDS_ID
<update id="updateCrdnAddition" parameterType="map">
/* 단속 부가정보 수정(crdnCvlcptMapper.updateCrdnAddition) */
UPDATE TB_CRDN_ADDITION
UPDATE TB_CRDN_ADI
SET MDFCN_DT = <include refid="utility.now" /> /* 수정일시 */
, MDFR = #{currentUser.modifiedBy} /* 수정자 */
, MDFR = #{currentUser.id} /* 수정자 */
<if test="taskSeCd == 'pvs'">
, OVTIME_YN = #{crdn.ovtimeYn} <!-- 시간외 여부 -->
, CRDN_SPAREA_CD = #{crdn.crdnSpareaCd} <!-- 단속 특별구역 코드 -->

@ -5,7 +5,7 @@
<div class="card" style="max-width:1000px;">
<form id="frmEdit--${pageName}">
<input id="crdnId--${pageName}" name="crdnId" type="hidden" data-map="CRDN_ID" />
<input id="taskSeCd--${pageName}" name="taskSeCd" type="hidden" value="${taskSeCd}" />
<input id="taskSeCd--${pageName}" name="taskSeCd" type="hidden" data-map="TASK_SE_CD" />
<div class="row mt-4 justify-content-end mb-3">
<div class="col-md-4">
@ -517,7 +517,7 @@ $(document).ready(function(){
if(!customValidate($("#frmEdit--${pageName} input"))) return;
var vhrno = document.getElementById("#vhrno--${pageName}");
var vhrno = document.getElementById("vhrno--${pageName}");
var rtpyrNm = document.getElementById("rtpyrNm--${pageName}");
if(vhrno.value == ""){
@ -905,7 +905,7 @@ $(document).ready(function(){
/**************************************************************************
* 초기화
**************************************************************************/
var clsForTask = $("#taskSeCd--${pageName}").val().toLowerCase();
var clsForTask = "${taskSeCd}".toLowerCase();
//업무별 입력 항목
renderForTask('frmEdit--${pageName}', clsForTask);

Loading…
Cancel
Save