diff --git a/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java b/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java index 5bc7a1e5..47f4cfb3 100644 --- a/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java +++ b/src/main/java/cokr/xit/fims/crdn/CrdnQuery.java @@ -17,8 +17,8 @@ public class CrdnQuery extends CmmnQuery { private static final long serialVersionUID = 1L; //조회유형 - private String view; - private String grid; + private String viewType; + private String gridType; private String inspectionDataType; //현재정보 @@ -60,21 +60,21 @@ public class CrdnQuery extends CmmnQuery { private String vhrno; private String cvlcptPrcsPicNm; - public String getView() { - return ifEmpty(view, () -> null); + public String getViewType() { + return ifEmpty(viewType, () -> null); } - public T setView(String view) { - this.view = view; + public T setViewType(String viewType) { + this.viewType = viewType; return self(); } - public String getGrid() { - return ifEmpty(grid, () -> null); + public String getGridType() { + return ifEmpty(gridType, () -> null); } - public T setGrid(String grid) { - this.grid = grid; + public T setGridType(String gridType) { + this.gridType = gridType; return self(); } diff --git a/src/main/java/cokr/xit/fims/crdn/dao/Crdn01Mapper.java b/src/main/java/cokr/xit/fims/crdn/dao/Crdn01Mapper.java index e6675f35..11f78424 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/Crdn01Mapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/Crdn01Mapper.java @@ -17,21 +17,21 @@ import cokr.xit.foundation.data.DataObject; public interface Crdn01Mapper extends AbstractMapper { /**민원자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn01ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param query 민원자료 목록 조회 조건 * @return 민원자료 목록 */ List selectCivilComplaintList(CrdnQuery query); /**민원접수자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn01ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param query 민원접수자료 목록 조회 조건 * @return 민원접수자료 목록 */ List selectCivilComplaintReceiptDataList(CrdnQuery query); /**민원답변대상자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn01ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param query 민원답변대상자료 목록 조회 조건 * @return 민원답변대상자료 목록 */ @@ -41,7 +41,7 @@ public interface Crdn01Mapper extends AbstractMapper { * @param params 삭제 요청 파라미터 * @return 저장된 정보수 */ - int removeCivilComplaint(Map map); + int remove(Map map); /** 민원 원본을 조회한다. * @param query 민원원본 조회 조건 @@ -71,6 +71,6 @@ public interface Crdn01Mapper extends AbstractMapper { * @param crdn 민원정보 * @return 저장된 정보 수 */ - int saveCivilComplaint(Crdn crdn); + int save(Crdn crdn); } diff --git a/src/main/java/cokr/xit/fims/crdn/dao/Crdn05Mapper.java b/src/main/java/cokr/xit/fims/crdn/dao/Crdn05Mapper.java index 6aa9e00d..9b13edb2 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/Crdn05Mapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/Crdn05Mapper.java @@ -16,7 +16,7 @@ import cokr.xit.foundation.data.DataObject; public interface Crdn05Mapper extends AbstractMapper { /**단속자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn05ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 단속자료 목록 조회 조건 * @return 단속자료 목록 */ diff --git a/src/main/java/cokr/xit/fims/crdn/dao/Crdn06Mapper.java b/src/main/java/cokr/xit/fims/crdn/dao/Crdn06Mapper.java index f0090458..cf3bfc92 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/Crdn06Mapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/Crdn06Mapper.java @@ -17,35 +17,35 @@ import cokr.xit.foundation.data.DataObject; public interface Crdn06Mapper extends AbstractMapper { /**단속자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 단속자료 목록 조회 조건 * @return 단속자료 목록 */ List selectCrackdownList(CrdnQuery req); /**단속사진 검사 자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 단속사진 검사 자료 목록 조회 조건 * @return 단속사진 검사 자료 목록 */ List selectPhotoInspectionDataList(CrdnQuery setOrderBy); /**동일 차량 단속 그룹 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 동일 차량 단속 그룹 목록 조회 조건 * @return 동일 차량 단속 그룹 목록 */ List selectSameVehicleMainList(CrdnQuery setOrderBy); /**동일 차량 단속 자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 동일 차량 단속 자료 목록 조회 조건 * @return 동일 차량 단속 자료 목록 */ List selectSameVehicleSubList(CrdnQuery setOrderBy); /**표지정보 미확인 자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 표지정보 미확인 자료 목록 조회 조건 * @return 표지정보 미확인 자료 목록 */ @@ -58,7 +58,7 @@ public interface Crdn06Mapper extends AbstractMapper { int updateTagInformation(Crdn crdn); /**과태료 감경 자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 과태료 감경 자료 목록 조회 조건 * @return 과태료 감경 자료 목록 */ diff --git a/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java b/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java index 5ecaea67..d055ccfe 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java +++ b/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java @@ -2,6 +2,11 @@ package cokr.xit.fims.crdn.service; import java.util.List; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.servlet.ModelAndView; + +import cokr.xit.base.file.FileInfo; +import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.CrdnQuery; import cokr.xit.foundation.data.DataObject; @@ -16,4 +21,34 @@ public interface CrdnService { */ List getCrackdownList(CrdnQuery req); + /** 단속자료를 삭제한다. + * @param crdnIDs 삭제할 단속자료 ID 목록 + * @return 삭제여부 + */ + boolean remove(String... crdnIDs); + + /** 단속 자료를 신규 등록한다. + * @param crdn 단속정보, newFileList 업로드 파일 목록 + * @return 저장여부 + */ + boolean create(Crdn crdn, MultipartFile[] newFileList); + + /** 단속 자료를 저장한다. + * @param crdn 단속정보, newFileInfoList 업로드 파일 목록 + * @return 저장여부 + */ + boolean save(Crdn crdn, List newFileInfoList); + + /** 한글 서식 출력물을 생성한다. + * @param crdnQuery 출력 요청 + * @return mav + */ + ModelAndView makeFileFromHwpFormat(CrdnQuery crdnQuery); + + DataObject getCivilComplaintOriginalInfo(CrdnQuery req); + + DataObject getAnswerPreview(CrdnQuery req); + + DataObject getCivilComplaintReceiptInitialDataInfo(CrdnQuery req); + } diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn01Bean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn01Bean.java index 008c4bdf..8635a8b5 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn01Bean.java +++ b/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn01Bean.java @@ -24,7 +24,7 @@ public class Crdn01Bean extends AbstractComponent { @Resource(name = "crdn01Mapper") private Crdn01Mapper crdn01Mapper; - public boolean removeCivilComplaint(String... crdnIDs) { + public boolean remove(String... crdnIDs) { if (isEmpty(crdnIDs)) return false; Map paramMap = new HashMap(); @@ -32,11 +32,11 @@ public class Crdn01Bean extends AbstractComponent { paramMap.put("crdnIDs", crdnIdList); paramMap.put("removedBy", UserInfo.current().getId()); - return crdn01Mapper.removeCivilComplaint(paramMap) == 1 ? true : false; + return crdn01Mapper.remove(paramMap) == 1 ? true : false; } public DataObject getCivilComplaintOriginalInfo(CrdnQuery crdnQuery) { - if(ifEmpty(crdnQuery.getView(), () -> "").equals("hwp")) { + if(ifEmpty(crdnQuery.getViewType(), () -> "").equals("hwp")) { return crdn01Mapper.selectCivilComplaintOriginalInfoHwp(crdnQuery); } return crdn01Mapper.selectCivilComplaintOriginalInfo(crdnQuery); diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn02ServiceBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn02ServiceBean.java deleted file mode 100644 index 9ecf392f..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn02ServiceBean.java +++ /dev/null @@ -1,28 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**민원 개별 등록 서비스 인터페이스의 구현체 - * @author leebj - */ -@Service("crdn02Service") -public class Crdn02ServiceBean extends AbstractServiceBean implements CrdnService { - - /** 민원 개별 등록 Bean */ - @Resource(name="crdn02Bean") - protected Crdn02Bean crdn02Bean; - - @Override - public List getCrackdownList(CrdnQuery req) { - return null; //crdn02Mapper. - } -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn05ServiceBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn05ServiceBean.java deleted file mode 100644 index 65583a97..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn05ServiceBean.java +++ /dev/null @@ -1,131 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - -import cokr.xit.base.file.FileInfo; -import cokr.xit.base.file.service.bean.FileBean; -import cokr.xit.base.file.web.FileInfoFactory; -import cokr.xit.fims.cmmn.CrdnSttsHstry; -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; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.fims.excl.Excl01; -import cokr.xit.fims.excl.service.bean.Excl01Bean; -import cokr.xit.foundation.UserInfo; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**단속 자료 등록 서비스 인터페이스의 구현체 - * @author leebj - */ -@Service("crdn05Service") -public class Crdn05ServiceBean extends AbstractServiceBean implements CrdnService { - - @Resource(name="crdn05Mapper") - protected Crdn05Mapper crdn05Mapper; - - /** 단속 자료 등록 Bean */ - @Resource(name="crdn05Bean") - protected Crdn05Bean crdn05Bean; - - @Resource(name="fileBean") - private FileBean fileBean; - - @Resource(name="excl01Bean") - private Excl01Bean excl01Bean; - - @Resource(name="crdnSttsHstryBean") - private CrdnSttsHstryBean crdnSttsHstryBean; - - @Override - public List getCrackdownList(CrdnQuery req) { - req.setCurrentUserId(currentUser().getId()); - req.setOrderBy("CRDN_ID"); - return crdn05Mapper.selectCrackdownList(req); - } - - public boolean create(Crdn crdn, MultipartFile[] newFileList) { - List fileInfoList = new ArrayList(); - if(newFileList != null) { - fileInfoList = new FileInfoFactory().makeFileInfos(null, newFileList); - crdn.setAtchFileCnt(fileInfoList.size()); - } else { - crdn.setAtchFileCnt(0); - } - - int[] basicAmt = crdn05Bean.getBasicAmt(crdn); - - crdn.setFfnlgAmt(basicAmt[0]); - crdn.setLevyAmt(basicAmt[0]); - crdn.setAdvntceLevyAmt(basicAmt[1]); - - - - if(ifEmpty(crdn.getDoGuidance(), () -> "").equals("on")) { - crdn.setCrdnSttsCd("83"); - } else { - crdn.setCrdnSttsCd("01"); - } - - crdn.setInstitute(UserInfo.current().getInstitute()); - boolean result = crdn05Bean.insertCrdn(crdn); - - SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd"); - Date curTime = new Date(); - String strCurrentDate = yyyyMMdd.format(curTime); - - String taskDtlId = crdn.getCrdnId(); - - if(crdn.getCrdnSttsCd().equals("83")) { - // 부과제외(TB_LEVY_EXCL) 대장 등록 - Excl01 excl01 = new Excl01(); - excl01.setSggCd(""); // TODO:시군구 - excl01.setTaskSeCd(crdn.getTaskSeCd()); - excl01.setCrdnId(crdn.getCrdnId()); - excl01.setLevyExclYmd(strCurrentDate); - excl01.setLevyExclSeCd("2"); - excl01.setLevyExclRsnCd("192"); - excl01.setEtcCn(""); - - result = excl01Bean.create(excl01); - if (!result) { - return false; - } - - taskDtlId = excl01.getLevyExclId(); - } - - // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록 - CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(crdn.getCrdnId()); - crdnSttsHstry.setBfrSttsCd(""); - crdnSttsHstry.setBfrSttsChgDt(""); - crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd()); - crdnSttsHstry.setTaskDtlId(taskDtlId); - crdnSttsHstry.setEtcCn(""); - - result = crdnSttsHstryBean.create(crdnSttsHstry); - if (!result) { - return false; - } - - - if(!fileInfoList.isEmpty()) { - fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(Crdn.INF_TYPE).setInfoKey(crdn.getCrdnId())); - fileBean.create(fileInfoList); - } - - return result; - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn06ServiceBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn06ServiceBean.java deleted file mode 100644 index a4c4ee61..00000000 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn06ServiceBean.java +++ /dev/null @@ -1,100 +0,0 @@ -package cokr.xit.fims.crdn.service.bean; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import cokr.xit.fims.crdn.Crdn; -import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.dao.Crdn06Mapper; -import cokr.xit.fims.crdn.service.CrdnService; -import cokr.xit.foundation.component.AbstractServiceBean; -import cokr.xit.foundation.data.DataObject; - -/**단속 관리 서비스 인터페이스의 구현체 - * @author leebj - */ -@Service("crdn06Service") -public class Crdn06ServiceBean extends AbstractServiceBean implements CrdnService { - - @Resource(name="crdn06Mapper") - protected Crdn06Mapper crdn06Mapper; - - /** 단속관리 Bean */ - @Resource(name="crdn06Bean") - protected Crdn06Bean crdn06Bean; - - @Override - public List getCrackdownList(CrdnQuery req) { - List dataObjectList = new ArrayList(); - switch (ifEmpty(req.getGrid(), () -> "")) { - case "tagInformationUndefinedData": - dataObjectList = crdn06Mapper.selectTagInformationUndefinedDataList(req.setOrderBy("CRDN_ID")); - break; - case "fineReductionData": - dataObjectList = crdn06Mapper.selectFineReductionDataList(req.setOrderBy("CRDN_ID")); - break; - case "photo": - dataObjectList = crdn06Mapper.selectPhotoInspectionDataList(req.setOrderBy("VHRNO, CRDN_PLC")); - break; - case "sameVehicleMain": - dataObjectList = crdn06Mapper.selectSameVehicleMainList(req.setOrderBy("VHRNO")); - break; - case "sameVehicleSub": - dataObjectList = crdn06Mapper.selectSameVehicleSubList(req.setOrderBy("CRDN_ID")); - break; - default: - dataObjectList = crdn06Mapper.selectCrackdownList(req.setOrderBy("CRDN_ID")); - break; - } - - if(ifEmpty(req.getGrid(), () -> "").equals("tagInformationUndefinedData") - || ifEmpty(req.getGrid(), () -> "").equals("fineReductionData")) { - Iterator iterator = dataObjectList.iterator(); - while(iterator.hasNext()) { - DataObject dataObject = iterator.next(); - String state = dataObject.string("CRDN_STTS_CD"); - int advntceLevyAmt = dataObject.number("ADVNTCE_LEVY_AMT").intValue(); - int levyAmt = dataObject.number("LEVY_AMT").intValue(); - int minusAmt = dataObject.number("MINUS_AMT").intValue(); - int adtnAmt = dataObject.number("ADTN_AMT").intValue(); - int rcvmtAmt = dataObject.number("RCVMT_AMT").intValue(); - - dataObject.set("BLNC", crdn06Bean.getBalance(state,advntceLevyAmt,levyAmt,minusAmt,adtnAmt,rcvmtAmt)); - } - } else if(ifEmpty(req.getGrid(), () -> "").equals("photo")) { - Iterator iterator = dataObjectList.iterator(); - while(iterator.hasNext()) { - DataObject dataObject = iterator.next(); - - if(dataObject.number("ATCH_FILE_CNT").intValue() < 1) { - dataObject.set("INSP_RSLT", "사진없음"); - dataObject.set("PRCS_MTHD", "해당자료에 사진을 등록하시기 바랍니다."); - } else if(dataObject.number("CRDN_CNT").intValue() > 1) { - dataObject.set("INSP_RSLT", "중복자료"); - if(req.getTaskSeCd().equals("PVS")) { - dataObject.set("PRCS_MTHD", "한건을 시간초과로 처리하십시요."); - } else { - dataObject.set("PRCS_MTHD", "한건을 서손으로 처리하십시요."); - } - } else { - dataObject.set("INSP_RSLT", "정상자료"); - dataObject.set("PRCS_MTHD", "정상자료"); - } - } - } - - - return dataObjectList; - } - - - public boolean update(Crdn crdn) { - return crdn06Bean.update(crdn); - } - -} diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn01ServiceBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java similarity index 54% rename from src/main/java/cokr/xit/fims/crdn/service/bean/Crdn01ServiceBean.java rename to src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java index a0cffa54..552b7bf2 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/Crdn01ServiceBean.java +++ b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java @@ -4,6 +4,7 @@ import java.io.File; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -12,19 +13,28 @@ import javax.annotation.Resource; import org.assertj.core.util.Arrays; import org.springframework.stereotype.Service; import org.springframework.util.ResourceUtils; +import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.service.FileQuery; import cokr.xit.base.file.service.bean.FileBean; +import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.fims.cmmn.CmmnUtil; +import cokr.xit.fims.cmmn.CrdnSttsHstry; 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.Crdn01Mapper; +import cokr.xit.fims.crdn.dao.Crdn05Mapper; +import cokr.xit.fims.crdn.dao.Crdn06Mapper; import cokr.xit.fims.crdn.service.CrdnService; +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; import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.data.DataObject; import kr.dogfoot.hwplib.object.HWPFile; @@ -32,53 +42,129 @@ import kr.dogfoot.hwplib.reader.HWPReader; import kr.dogfoot.hwplib.tool.objectfinder.FieldFinder; import kr.dogfoot.hwplib.writer.HWPWriter; -/**민원 관리 서비스 인터페이스의 구현체 - * @author leebj - */ -@Service("crdn01Service") -public class Crdn01ServiceBean extends AbstractServiceBean implements CrdnService { - +@Service("crdnService") +public class CrdnServiceBean extends AbstractServiceBean implements CrdnService { @Resource(name="crdn01Mapper") protected Crdn01Mapper crdn01Mapper; + @Resource(name="crdn05Mapper") + protected Crdn05Mapper crdn05Mapper; + + @Resource(name="crdn06Mapper") + protected Crdn06Mapper crdn06Mapper; + @Resource(name="fileBean") private FileBean fileBean; - /** 민원관리 Bean */ @Resource(name="crdn01Bean") protected Crdn01Bean crdn01Bean; + @Resource(name="crdn02Bean") + protected Crdn02Bean crdn02Bean; + + @Resource(name="crdn05Bean") + protected Crdn05Bean crdn05Bean; + @Resource(name="crdn06Bean") protected Crdn06Bean crdn06Bean; + @Resource(name="excl01Bean") + protected Excl01Bean excl01Bean; + + @Resource(name="crdnSttsHstryBean") + protected CrdnSttsHstryBean crdnSttsHstryBean; + @Override public List getCrackdownList(CrdnQuery req) { - switch (ifEmpty(req.getGrid(), () -> "")) { + List dataObjectList = new ArrayList(); + switch (ifEmpty(req.getGridType(), () -> "")) { + case "tagInformationUndefinedData": + dataObjectList = crdn06Mapper.selectTagInformationUndefinedDataList(req.setOrderBy("CRDN_ID")); + break; + case "fineReductionData": + dataObjectList = crdn06Mapper.selectFineReductionDataList(req.setOrderBy("CRDN_ID")); + break; + case "photo": + dataObjectList = crdn06Mapper.selectPhotoInspectionDataList(req.setOrderBy("VHRNO, CRDN_PLC")); + break; + case "sameVehicleMain": + dataObjectList = crdn06Mapper.selectSameVehicleMainList(req.setOrderBy("VHRNO")); + break; + case "sameVehicleSub": + dataObjectList = crdn06Mapper.selectSameVehicleSubList(req.setOrderBy("CRDN_ID")); + break; case "receiptData": - return crdn01Mapper.selectCivilComplaintReceiptDataList(req.setOrderBy("CVLCPT_RCPT_YMD")); + dataObjectList = crdn01Mapper.selectCivilComplaintReceiptDataList(req.setOrderBy("CVLCPT_RCPT_YMD")); + break; case "answerTargetData": - return crdn01Mapper.selectCivilComplaintAnswerTargetDataList(req.setOrderBy("CRDN_ID")); + dataObjectList = crdn01Mapper.selectCivilComplaintAnswerTargetDataList(req.setOrderBy("CRDN_ID")); + break; + case "todayInsert": + req.setCurrentUserId(currentUser().getId()); + req.setOrderBy("CRDN_ID"); + dataObjectList = crdn05Mapper.selectCrackdownList(req); + break; default: - return crdn01Mapper.selectCivilComplaintList(req.setOrderBy("CRDN_ID")); + dataObjectList = crdn06Mapper.selectCrackdownList(req.setOrderBy("CRDN_ID")); + break; } + if(ifEmpty(req.getGridType(), () -> "").equals("tagInformationUndefinedData") + || ifEmpty(req.getGridType(), () -> "").equals("fineReductionData")) { + Iterator iterator = dataObjectList.iterator(); + while(iterator.hasNext()) { + DataObject dataObject = iterator.next(); + String state = dataObject.string("CRDN_STTS_CD"); + int advntceLevyAmt = dataObject.number("ADVNTCE_LEVY_AMT").intValue(); + int levyAmt = dataObject.number("LEVY_AMT").intValue(); + int minusAmt = dataObject.number("MINUS_AMT").intValue(); + int adtnAmt = dataObject.number("ADTN_AMT").intValue(); + int rcvmtAmt = dataObject.number("RCVMT_AMT").intValue(); + + dataObject.set("BLNC", crdn06Bean.getBalance(state,advntceLevyAmt,levyAmt,minusAmt,adtnAmt,rcvmtAmt)); + } + } else if(ifEmpty(req.getGridType(), () -> "").equals("photo")) { + Iterator iterator = dataObjectList.iterator(); + while(iterator.hasNext()) { + DataObject dataObject = iterator.next(); + + if(dataObject.number("ATCH_FILE_CNT").intValue() < 1) { + dataObject.set("INSP_RSLT", "사진없음"); + dataObject.set("PRCS_MTHD", "해당자료에 사진을 등록하시기 바랍니다."); + } else if(dataObject.number("CRDN_CNT").intValue() > 1) { + dataObject.set("INSP_RSLT", "중복자료"); + if(req.getTaskSeCd().equals("PVS")) { + dataObject.set("PRCS_MTHD", "한건을 시간초과로 처리하십시요."); + } else { + dataObject.set("PRCS_MTHD", "한건을 서손으로 처리하십시요."); + } + } else { + dataObject.set("INSP_RSLT", "정상자료"); + dataObject.set("PRCS_MTHD", "정상자료"); + } + } + } + + return dataObjectList; } - public DataObject getCivilComplaintOriginalInfo(CrdnQuery req) { - return crdn01Bean.getCivilComplaintOriginalInfo(req); + @Override + public boolean remove(String... crdnIDs) { + return crdn01Bean.remove(crdnIDs); } - public boolean removeCivilComplaint(String... crdnIDs) { - return crdn01Bean.removeCivilComplaint(crdnIDs); + @Override + public DataObject getCivilComplaintOriginalInfo(CrdnQuery req) { + return crdn01Bean.getCivilComplaintOriginalInfo(req); } + @Override public ModelAndView makeFileFromHwpFormat(CrdnQuery crdnQuery) { - String baseFormatFilePath = ("classpath:format/cvlcptOrgnl_text.hwp"); String attachFormatFilePath = ("classpath:format/cvlcptOrgnl_photo.hwp"); - crdnQuery.setView("hwp"); + crdnQuery.setViewType("hwp"); DataObject dataObject = crdn01Bean.getCivilComplaintOriginalInfo(crdnQuery); SimpleDateFormat ymdhmsFormat = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat ymdFormat = new SimpleDateFormat("yyyyMMdd"); @@ -183,12 +269,13 @@ public class Crdn01ServiceBean extends AbstractServiceBean implements CrdnServic } } + @Override public DataObject getAnswerPreview(CrdnQuery req) { return crdn01Mapper.selectAnswerPreview(req); } + @Override public DataObject getCivilComplaintReceiptInitialDataInfo(CrdnQuery req) { - //민원조회 DataObject dataObject = crdn01Mapper.selectCivilComplaintReceiptInitialDataInfo(req); @@ -229,8 +316,8 @@ public class Crdn01ServiceBean extends AbstractServiceBean implements CrdnServic return dataObject; } - public boolean saveCivilComplaint(Crdn crdn, List newFileInfoList) { - + @Override + public boolean save(Crdn crdn, List newFileInfoList) { int fileInsertEffected = 0; int fileDeleteEffected = 0; @@ -245,8 +332,81 @@ public class Crdn01ServiceBean extends AbstractServiceBean implements CrdnServic crdn.setFileChgCnt(fileInsertEffected - fileDeleteEffected); return crdn06Bean.update(crdn); - } + @Override + public boolean create(Crdn crdn, MultipartFile[] newFileList) { + List fileInfoList = new ArrayList(); + if(newFileList != null) { + fileInfoList = new FileInfoFactory().makeFileInfos(null, newFileList); + crdn.setAtchFileCnt(fileInfoList.size()); + } else { + crdn.setAtchFileCnt(0); + } + + int[] basicAmt = crdn05Bean.getBasicAmt(crdn); + + crdn.setFfnlgAmt(basicAmt[0]); + crdn.setLevyAmt(basicAmt[0]); + crdn.setAdvntceLevyAmt(basicAmt[1]); + + + + if(ifEmpty(crdn.getDoGuidance(), () -> "").equals("on")) { + crdn.setCrdnSttsCd("83"); + } else { + crdn.setCrdnSttsCd("01"); + } + + crdn.setInstitute(UserInfo.current().getInstitute()); + boolean result = crdn05Bean.insertCrdn(crdn); + + SimpleDateFormat yyyyMMdd = new SimpleDateFormat("yyyyMMdd"); + Date curTime = new Date(); + String strCurrentDate = yyyyMMdd.format(curTime); + + String taskDtlId = crdn.getCrdnId(); + + if(crdn.getCrdnSttsCd().equals("83")) { + // 부과제외(TB_LEVY_EXCL) 대장 등록 + Excl01 excl01 = new Excl01(); + excl01.setSggCd(""); // TODO:시군구 + excl01.setTaskSeCd(crdn.getTaskSeCd()); + excl01.setCrdnId(crdn.getCrdnId()); + excl01.setLevyExclYmd(strCurrentDate); + excl01.setLevyExclSeCd("2"); + excl01.setLevyExclRsnCd("192"); + excl01.setEtcCn(""); + + result = excl01Bean.create(excl01); + if (!result) { + return false; + } + + taskDtlId = excl01.getLevyExclId(); + } + + // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록 + CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); + crdnSttsHstry.setCrdnId(crdn.getCrdnId()); + crdnSttsHstry.setBfrSttsCd(""); + crdnSttsHstry.setBfrSttsChgDt(""); + crdnSttsHstry.setCrdnSttsCd(crdn.getCrdnSttsCd()); + crdnSttsHstry.setTaskDtlId(taskDtlId); + crdnSttsHstry.setEtcCn(""); + + result = crdnSttsHstryBean.create(crdnSttsHstry); + if (!result) { + return false; + } + + + if(!fileInfoList.isEmpty()) { + fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(Crdn.INF_TYPE).setInfoKey(crdn.getCrdnId())); + fileBean.create(fileInfoList); + } + + return result; + } } diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java index 0378bfda..a3089ede 100644 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java +++ b/src/main/java/cokr/xit/fims/crdn/web/Crdn01Controller.java @@ -19,7 +19,7 @@ import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.base.web.ApplicationController; import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.service.bean.Crdn01ServiceBean; +import cokr.xit.fims.crdn.service.CrdnService; import cokr.xit.foundation.UserInfo; import cokr.xit.foundation.data.DataObject; @@ -29,8 +29,8 @@ import cokr.xit.foundation.data.DataObject; */ public class Crdn01Controller extends ApplicationController { - @Resource(name="crdn01Service") - private Crdn01ServiceBean crdn01Service; + @Resource(name="crdnService") + private CrdnService crdnService; /** 민원 접수 자료 메인화면을 연다. * @return fims/crdn/crdn01010-main @@ -94,14 +94,14 @@ public class Crdn01Controller extends ApplicationController { Map> commonCodes = getCodesOf("FIM039"); mav.addObject("FIM039List", commonCodes.get("FIM039")); - DataObject info = crdn01Service.getCivilComplaintOriginalInfo(req); + DataObject info = crdnService.getCivilComplaintOriginalInfo(req); mav.addObject("cvlcptInfo", json ? info : toJson(info)); return mav; } /**민원접수자료 목록을 조회한다.
- * {@link Crdn01ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 민원접수자료 목록 조회 조건 * @return jsonView *
 {
@@ -113,9 +113,9 @@ public class Crdn01Controller extends ApplicationController {
 	 */
 	@RequestMapping(name="민원접수자료 목록", value="/010/list.do")
 	public ModelAndView getCivilComplaintReceiptDataList(CrdnQuery req) {
-		req.setGrid("receiptData");
+		req.setGridType("receiptData");
 		setFetchSize(req);
-		return setCollectionInfo(new ModelAndView("jsonView"),crdn01Service.getCrackdownList(req),"");
+		return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(req),"");
 	}
 
 	/**민원접수 초기자료 상세조회 팝업 화면을 연다.
@@ -132,7 +132,7 @@ public class Crdn01Controller extends ApplicationController { String urlTaskSeCd = request.getServletPath().split("/")[1]; mav.addObject("taskSeCd", urlTaskSeCd); - DataObject info = crdn01Service.getCivilComplaintReceiptInitialDataInfo(req); + DataObject info = crdnService.getCivilComplaintReceiptInitialDataInfo(req); mav.addObject("crdnInfo", json ? info : toJson(info)); @@ -141,7 +141,7 @@ public class Crdn01Controller extends ApplicationController { } /**민원답변대상자료 목록을 조회한다.
- * {@link Crdn01ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 민원답변대상자료 목록 조회 조건 * @return jsonView *
 {
@@ -153,13 +153,13 @@ public class Crdn01Controller extends ApplicationController {
 	 */
 	@RequestMapping(name="민원답변대상자료 목록", value="/030/list.do")
 	public ModelAndView selectCivilComplaintAnswerTargetDataList(CrdnQuery req) {
-		req.setGrid("answerTargetData");
+		req.setGridType("answerTargetData");
 		setFetchSize(req);
-		return setCollectionInfo(new ModelAndView("jsonView"), crdn01Service.getCrackdownList(req), "");
+		return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(req), "");
 	}
 
 	/**민원자료 목록을 조회한다.
- * {@link Crdn01ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 민원자료 목록 조회 조건 * @return jsonView *
 {
@@ -172,7 +172,7 @@ public class Crdn01Controller extends ApplicationController {
 	@RequestMapping(name="민원자료 목록", value="/040/list.do")
 	public ModelAndView getCivilComplaintList(CrdnQuery req) {
 		setFetchSize(req);
-		return setCollectionInfo(new ModelAndView("jsonView"),crdn01Service.getCrackdownList(req),"");
+		return setCollectionInfo(new ModelAndView("jsonView"),crdnService.getCrackdownList(req),"");
 	}
 
 	/**지정한 민원자료를 제거한다.
@@ -186,7 +186,7 @@ public class Crdn01Controller extends ApplicationController {
 	@RequestMapping(name="민원자료 제거", value="/010/remove.do")
 	public ModelAndView removeCivilComplaint(String[] IDs) {
 
-		boolean saved = crdn01Service.removeCivilComplaint(IDs);
+		boolean saved = crdnService.remove(IDs);
 
 		return new ModelAndView("jsonView")
 			.addObject("saved", saved);
@@ -229,7 +229,7 @@ public class Crdn01Controller extends ApplicationController {
 			}
 		}
 
-		saved = crdn01Service.saveCivilComplaint(crdn, newFileInfoList);
+		saved = crdnService.save(crdn, newFileInfoList);
 
 		return new ModelAndView("jsonView")
 			.addObject("saved", saved);
@@ -243,7 +243,7 @@ public class Crdn01Controller extends ApplicationController {
 
 
 
-		return crdn01Service.makeFileFromHwpFormat(crdnQuery);
+		return crdnService.makeFileFromHwpFormat(crdnQuery);
 	}
 
 	/** 민원답변내용 미리보기 화면을 연다.
@@ -259,7 +259,7 @@ public class Crdn01Controller extends ApplicationController {
 		mav.addObject("taskSeCd", urlTaskSeCd);
 
 		req.setTaskSeCd(urlTaskSeCd);
-		DataObject cvlcptInfo = crdn01Service.getAnswerPreview(req);
+		DataObject cvlcptInfo = crdnService.getAnswerPreview(req);
 		mav.addObject("cvlcptInfo", json ? cvlcptInfo : toJson(cvlcptInfo));
 
 		return mav;
diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn02Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn02Controller.java
index af3e3ab7..8544b68f 100644
--- a/src/main/java/cokr/xit/fims/crdn/web/Crdn02Controller.java
+++ b/src/main/java/cokr/xit/fims/crdn/web/Crdn02Controller.java
@@ -5,7 +5,7 @@ import javax.annotation.Resource;
 import org.springframework.web.servlet.ModelAndView;
 
 import cokr.xit.base.web.ApplicationController;
-import cokr.xit.fims.crdn.service.bean.Crdn02ServiceBean;
+import cokr.xit.fims.crdn.service.CrdnService;
 
 /**민원 개별 등록 서비스 웹 컨트롤러.
* {웹 컨텍스트}/crdn/crdn02 로 접근할 수 있다. @@ -13,8 +13,8 @@ import cokr.xit.fims.crdn.service.bean.Crdn02ServiceBean; */ public class Crdn02Controller extends ApplicationController { - @Resource(name="crdn02Service") - private Crdn02ServiceBean crdn02Service; + @Resource(name="crdnService") + private CrdnService crdnService; /** 민원 개별 등록 메인화면을 연다. * @return fims/crdn/crdn02010-main diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java index 97abcc26..17cfb542 100644 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java +++ b/src/main/java/cokr/xit/fims/crdn/web/Crdn05Controller.java @@ -15,7 +15,7 @@ import cokr.xit.base.code.CommonCode; import cokr.xit.base.web.ApplicationController; import cokr.xit.fims.crdn.Crdn; import cokr.xit.fims.crdn.CrdnQuery; -import cokr.xit.fims.crdn.service.bean.Crdn05ServiceBean; +import cokr.xit.fims.crdn.service.CrdnService; /**단속 자료 등록 서비스 웹 컨트롤러.
* {웹 컨텍스트}/crdn/crdn05 로 접근할 수 있다. @@ -23,8 +23,8 @@ import cokr.xit.fims.crdn.service.bean.Crdn05ServiceBean; */ public class Crdn05Controller extends ApplicationController { - @Resource(name="crdn05Service") - private Crdn05ServiceBean crdn05Service; + @Resource(name="crdnService") + private CrdnService crdnService; /** 단속 자료 등록 메인화면을 연다. * @return fims/crdn/crdn05010-main @@ -50,7 +50,7 @@ public class Crdn05Controller extends ApplicationController { } /**당일 등록한 단속자료 목록을 조회한다. - * {@link Crdn05ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 단속자료 목록 조회 조건 * @return jsonView *
 {
@@ -63,7 +63,8 @@ public class Crdn05Controller extends ApplicationController {
 	@RequestMapping(name="당일 입력 단속자료 목록 조회", value="/010/list.do")
 	public ModelAndView getTodayCrdnDataList(CrdnQuery req) {
 		setFetchSize(req);
-		return setCollectionInfo(new ModelAndView("jsonView"),crdn05Service.getCrackdownList(req),"");
+		req.setGridType("todayInsert");
+		return setCollectionInfo(new ModelAndView("jsonView"),crdnService.getCrackdownList(req),"");
 	}
 
 	/**단속자료 수기 등록 팝업화면을 반환한다.
@@ -125,7 +126,7 @@ public class Crdn05Controller extends ApplicationController {
 		crdn.setCrdnRegSeCd("01");
 		crdn.setCrdnInptSeCd("03");//TODO : 사용자 기관의 시청,구청 구분
 
-		saved = crdn05Service.create(crdn, newFileList);
+		saved = crdnService.create(crdn, newFileList);
 
 
 		return new ModelAndView("jsonView")
diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java
index c7e6f446..d19c3728 100644
--- a/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java
+++ b/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java
@@ -11,7 +11,7 @@ import org.springframework.web.servlet.ModelAndView;
 import cokr.xit.base.code.CommonCode;
 import cokr.xit.base.web.ApplicationController;
 import cokr.xit.fims.crdn.CrdnQuery;
-import cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean;
+import cokr.xit.fims.crdn.service.CrdnService;
 
 /**단속 관리 서비스 웹 컨트롤러.
* {웹 컨텍스트}/crdn/crdn06 로 접근할 수 있다. @@ -19,8 +19,8 @@ import cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean; */ public class Crdn06Controller extends ApplicationController { - @Resource(name="crdn06Service") - private Crdn06ServiceBean crdn06Service; + @Resource(name="crdnService") + private CrdnService crdnService; /** 단속 관리 메인화면을 연다. * @return fims/crdn/crdn06010-main @@ -86,7 +86,7 @@ public class Crdn06Controller extends ApplicationController { } /**단속자료 목록을 조회한다.
- * {@link Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 단속자료 목록 조회 조건 * @return jsonView *
 {
@@ -99,11 +99,11 @@ public class Crdn06Controller extends ApplicationController {
 	@RequestMapping(name="단속자료 목록", value="/010/list.do")
 	public ModelAndView getCrackdownList(CrdnQuery req) {
 		setFetchSize(req);
-		return setCollectionInfo(new ModelAndView("jsonView"),crdn06Service.getCrackdownList(req),"");
+		return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(req),"");
 	}
 
 	/**검사자료 목록을 조회한다.
- * {@link Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 검사자료 목록 조회 조건 * @return jsonView *
 {
@@ -116,16 +116,16 @@ public class Crdn06Controller extends ApplicationController {
 	@RequestMapping(name="검사자료 목록", value="/020/list.do")
 	public ModelAndView getInspectionDataList(CrdnQuery req) {
 		switch(req.getInspectionDataType()) {
-			case "photo" -> req.setGrid("photo");
-			case "sameVehicleMain" -> req.setGrid("sameVehicleMain");
-			case "sameVehicleSub" -> req.setGrid("sameVehicleSub");
+			case "photo" -> req.setGridType("photo");
+			case "sameVehicleMain" -> req.setGridType("sameVehicleMain");
+			case "sameVehicleSub" -> req.setGridType("sameVehicleSub");
 		}
 		setFetchSize(req);
-		return setCollectionInfo(new ModelAndView("jsonView"),crdn06Service.getCrackdownList(req),"");
+		return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(req),"");
 	}
 
 	/**감경자료 목록을 조회한다.
- * {@link Crdn06ServiceBean#getCrackdownList(CrdnQuery)} 참고 + * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 감경자료 목록 조회 조건 * @return jsonView *
 {
@@ -137,8 +137,8 @@ public class Crdn06Controller extends ApplicationController {
 	 */
 	@RequestMapping(name="감경자료 목록", value="/040/list.do")
 	public ModelAndView getFineReductionDataList(CrdnQuery req) {
-		req.setGrid("fineReductionData");
+		req.setGridType("fineReductionData");
 		setFetchSize(req);
-		return setCollectionInfo(new ModelAndView("jsonView"),crdn06Service.getCrackdownList(req),"");
+		return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(req),"");
 	}
 }
diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl03ServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl03ServiceBean.java
index df808371..ecafbb2c 100644
--- a/src/main/java/cokr/xit/fims/excl/service/bean/Excl03ServiceBean.java
+++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl03ServiceBean.java
@@ -7,7 +7,7 @@ import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
 
 import cokr.xit.fims.crdn.Crdn;
-import cokr.xit.fims.crdn.service.bean.Crdn05ServiceBean;
+import cokr.xit.fims.crdn.service.CrdnService;
 import cokr.xit.fims.excl.Excl03;
 import cokr.xit.fims.excl.Excl03Query;
 import cokr.xit.fims.excl.service.Excl03Service;
@@ -31,8 +31,8 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv
 	@Resource(name = "excl03Bean")
 	private Excl03Bean excl03Bean;
 
-	@Resource(name="crdn05Service")
-	private Crdn05ServiceBean crdn05Service;
+	@Resource(name="crdnService")
+	private CrdnService crdnService;
 
 	@Override
 	public List getCrackdownReRegistrationList(Excl03Query req) {
@@ -120,7 +120,7 @@ public class Excl03ServiceBean extends AbstractServiceBean implements Excl03Serv
 		crdn.setDelYn("N");
 
 		// 단속 대장 입력
-		retSuccess = crdn05Service.create(crdn, null);
+		retSuccess = crdnService.create(crdn, null);
 		if (!retSuccess) {
 			// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
 			throw new RuntimeException("재부과 등록 중 단속대장 등록에 실패하였습니다.");
diff --git a/src/main/java/cokr/xit/fims/task/web/DpvController.java b/src/main/java/cokr/xit/fims/task/web/DpvController.java
index 12e9c279..ace707a1 100644
--- a/src/main/java/cokr/xit/fims/task/web/DpvController.java
+++ b/src/main/java/cokr/xit/fims/task/web/DpvController.java
@@ -9,7 +9,7 @@ import org.springframework.web.servlet.ModelAndView;
 
 import cokr.xit.fims.crdn.Crdn;
 import cokr.xit.fims.crdn.CrdnQuery;
-import cokr.xit.fims.crdn.service.bean.Crdn06ServiceBean;
+import cokr.xit.fims.crdn.service.CrdnService;
 
 @Controller
 public class DpvController {
@@ -29,11 +29,11 @@ public class DpvController {
 	@Controller
 	@RequestMapping(name="장애인과태료업무 단속업무", value="/DPV/crdn/crdn06")
 	class Crdn06Controller extends cokr.xit.fims.crdn.web.Crdn06Controller {
-		@Resource(name="crdn06Service")
-		private Crdn06ServiceBean crdn06Service;
+		@Resource(name="crdnService")
+		private CrdnService crdnService;
 
 		/**표지정보미확인자료 목록을 조회한다.
- * {@link Crdn06Service#getCrackdownList(CrdnQuery)} 참고 + * {@link CrdnService#getCrackdownList(CrdnQuery)} 참고 * @param req 표지정보미확인자료 목록 조회 조건 * @return jsonView *
 {
@@ -45,9 +45,9 @@ public class DpvController {
 		 */
 		@RequestMapping(name="장애인과태료업무 표지정보미확인자료 목록", value="/030/list.do")
 		public ModelAndView getTagInformationUndefinedDataList(CrdnQuery req) {
-			req.setGrid("tagInformationUndefinedData");
+			req.setGridType("tagInformationUndefinedData");
 			setFetchSize(req);
-			return setCollectionInfo(new ModelAndView("jsonView"),crdn06Service.getCrackdownList(req),"");
+			return setCollectionInfo(new ModelAndView("jsonView"), crdnService.getCrackdownList(req),"");
 		}
 
 		/**표지정보 미확인 자료를 수정한다.
@@ -60,7 +60,7 @@ public class DpvController {
 		@PostMapping(name = "표지정보 미확인 자료 수정", value = "/030/update.do")
 		public ModelAndView update(Crdn crdn) {
 			crdn.setUpdateInfomation("tagInformationUndefinedData");
-			boolean saved = crdn06Service.update(crdn);
+			boolean saved = crdnService.save(crdn, null);
 			return new ModelAndView("jsonView")
 				.addObject("saved", saved);
 		}
diff --git a/src/main/resources/sql/mapper/fims/crdn/crdn01-mapper.xml b/src/main/resources/sql/mapper/fims/crdn/crdn01-mapper.xml
index a6608cc3..70d7bf11 100644
--- a/src/main/resources/sql/mapper/fims/crdn/crdn01-mapper.xml
+++ b/src/main/resources/sql/mapper/fims/crdn/crdn01-mapper.xml
@@ -266,8 +266,8 @@ AND (SELECT VLTN_ARTCL FROM TB_VLTN_INFO WHERE VLTN_ID = C.VLTN_ID) LIKE CONCAT(
 
 
 
-
-    /* 민원자료 삭제(crdn01Mapper.removeCivilComplaint) */
+
+    /* 민원자료 삭제(crdn01Mapper.remove) */
     UPDATE TB_CRDN
        SET DEL_YN = 'Y'
          , DEL_DT =  /* 삭제일시 */