From f7087d624714e9c3ab3154f7d62155e8f45a2db1 Mon Sep 17 00:00:00 2001 From: jjh Date: Fri, 17 May 2024 16:53:24 +0900 Subject: [PATCH] =?UTF-8?q?1.=20=EC=9D=98=EA=B2=AC=EC=A0=9C=EC=B6=9C=20?= =?UTF-8?q?=EB=B6=88=ED=95=84=EC=9A=94=20=EC=86=8C=EC=8A=A4=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20=EB=B0=8F=20=EC=86=8C=EC=8A=A4=20=EC=88=98=EC=A0=95?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fims/cmmn/hwp/format/DlbrDecsnList.java | 2 +- .../xit/fims/excl/dao/OpnnSbmsnMapper.java | 18 +- .../fims/excl/service/OpnnSbmsnService.java | 9 +- .../fims/excl/service/bean/LevyExclBean.java | 64 +-- .../fims/excl/service/bean/OpnnSbmsnBean.java | 119 +++--- .../service/bean/OpnnSbmsnServiceBean.java | 41 +- .../xit/fims/excl/web/Excl01Controller.java | 2 +- .../xit/fims/excl/web/Excl02Controller.java | 73 ++-- .../sql/mapper/fims/excl/levyExcl-mapper.xml | 84 ++-- .../sql/mapper/fims/excl/opnnSbmsn-mapper.xml | 255 +++++------- .../WEB-INF/jsp/fims/excl/excl01010-main.jsp | 67 ++- .../WEB-INF/jsp/fims/excl/excl01020-info.jsp | 2 +- .../WEB-INF/jsp/fims/excl/excl02010-main.jsp | 391 ++++++++---------- .../WEB-INF/jsp/fims/excl/excl02020-info.jsp | 135 +++--- .../WEB-INF/jsp/fims/excl/excl02030-info.jsp | 81 ++-- .../WEB-INF/jsp/fims/sprt/sprt02030-info.jsp | 196 +++++---- 16 files changed, 700 insertions(+), 839 deletions(-) diff --git a/src/main/java/cokr/xit/fims/cmmn/hwp/format/DlbrDecsnList.java b/src/main/java/cokr/xit/fims/cmmn/hwp/format/DlbrDecsnList.java index cab58d2f..8795826a 100644 --- a/src/main/java/cokr/xit/fims/cmmn/hwp/format/DlbrDecsnList.java +++ b/src/main/java/cokr/xit/fims/cmmn/hwp/format/DlbrDecsnList.java @@ -46,7 +46,7 @@ public class DlbrDecsnList extends HWPFormat { writer.setValue("접수일", one.string("RCPT_YMD_MASK")); writer.setValue("위반정보", one.string("TASK_SE_NM")); writer.setValue("진술자명", one.string("STTR_NM")); - writer.setValue("진술자생년월일", one.string("STTR_BRDT_FORMAT")); + writer.setValue("진술자생년월일", one.string("STTR_BRDT_MASK")); writer.setValue("진술자연락처", one.string("STTR_CTTPC")); writer.setValue("소유주관계", one.string("OWNR_REL_NM")); writer.setValue("진술자주소", one.string("STTR_WHOL_ADDR")); diff --git a/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java b/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java index 9f7f1d1e..959b920e 100644 --- a/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java +++ b/src/main/java/cokr/xit/fims/excl/dao/OpnnSbmsnMapper.java @@ -77,7 +77,7 @@ public interface OpnnSbmsnMapper extends AbstractMapper { *
  • 그렇지 않으면 false
  • * */ - default boolean insert(OpnnSbmsn opnnSbmsn) { + default boolean insertOpnnSbmsn(OpnnSbmsn opnnSbmsn) { return opnnSbmsn != null && insertOpnnSbmsn(params().set("opnnSbmsn", opnnSbmsn)) == 1; } @@ -97,7 +97,7 @@ public interface OpnnSbmsnMapper extends AbstractMapper { *
  • 그렇지 않으면 false
  • * */ - default boolean update(OpnnSbmsn opnnSbmsn) { + default boolean updateOpnnSbmsn(OpnnSbmsn opnnSbmsn) { return opnnSbmsn != null && updateOpnnSbmsn(params().set("opnnSbmsn", opnnSbmsn)) == 1; } @@ -108,7 +108,7 @@ public interface OpnnSbmsnMapper extends AbstractMapper { * * @return 저장된 정보수 */ - int updateAnsSttsCd(Map params); + int updateOpnnSbmsnAnswer(Map params); /**의견제출 심의(결과) 정보를 수정한다. * @param opnnSbmsn 의견제출 대장 @@ -118,7 +118,7 @@ public interface OpnnSbmsnMapper extends AbstractMapper { * */ default boolean updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { - return opnnSbmsn != null && updateAnsSttsCd(params().set("opnnSbmsn", opnnSbmsn)) == 1; + return opnnSbmsn != null && updateOpnnSbmsnAnswer(params().set("opnnSbmsn", opnnSbmsn)) == 1; } /**지정한 의견제출 대장을 삭제한다. @@ -137,16 +137,10 @@ public interface OpnnSbmsnMapper extends AbstractMapper { *
  • 그렇지 않으면 false
  • * */ - default boolean delete(OpnnSbmsn opnnSbmsn) { + default boolean deleteOpnnSbmsn(OpnnSbmsn opnnSbmsn) { return opnnSbmsn != null && deleteOpnnSbmsn(params().set("opnnSbmsn", opnnSbmsn)) == 1; } - /**지정한 단속 ID로 단속 대장 객체를 반환한다. - * @param crdnId 단속 ID - * @return 단속 대장 정보 - */ - DataObject selectCrdnInfo(String crdnId); - /**단속 대장 정보를 수정한다. * @param params 파라미터 *
    • "crdn" - 단속 대장
    • @@ -156,7 +150,7 @@ public interface OpnnSbmsnMapper extends AbstractMapper { */ int updateCrdnOpnnSbmsnYn(Map params); - default boolean updateCrdn(Crdn crdn) { + default boolean updateCrdnOpnnSbmsnYn(Crdn crdn) { return crdn != null && updateCrdnOpnnSbmsnYn(params().set("crdn", crdn)) == 1; } diff --git a/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java b/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java index 01c4259b..f8eafef8 100644 --- a/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java +++ b/src/main/java/cokr/xit/fims/excl/service/OpnnSbmsnService.java @@ -31,12 +31,18 @@ public interface OpnnSbmsnService { */ List getOpnnSbmsns(LevyExclQuery req); - /**지정한 ID의 의견제출 정보를 반환한다.
      + /**지정한 ID의 의견제출 정보를 반환한다. * @param req 의견제출 대장 조회 조건 * @return 의견제출 정보 */ DataObject getOpnnSbmsnInfo(LevyExclQuery req); + /**지정한 조건에 따라 의견제출 심의 의결서 객체들을 반환한다. + * @param req 의견제출 대장 조회 조건 + * @return 의견제출 정보 + */ + List getOpnnSbmsnDlbrDecsns(LevyExclQuery req); + /**의견제출 대장 정보를 등록한다. * @param opnnSbmsn 의견제출 대장 * @return 저장 여부 @@ -73,5 +79,4 @@ public interface OpnnSbmsnService { */ String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn); - } diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java index 8c4c2685..9639cbc1 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/LevyExclBean.java @@ -33,19 +33,19 @@ import cokr.xit.foundation.data.DataObject; public class LevyExclBean extends AbstractComponent { /** 부과제외 대장 정보 DAO */ - @Resource(name = "levyExclMapper") + @Resource(name="levyExclMapper") private LevyExclMapper levyExclMapper; /** 단속 상태 이력 정보 Bean */ - @Resource(name = "crdnSttsHstryBean") + @Resource(name="crdnSttsHstryBean") private CrdnSttsHstryBean crdnSttsHstryBean; /** 부과 대장 정보 DAO */ - @Resource(name = "levyMapper") + @Resource(name="levyMapper") private LevyMapper levyMapper; /** 감액 대장 정보 Bean */ - @Resource(name = "rdcamtBean") + @Resource(name="rdcamtBean") private RdcamtBean rdcamtBean; /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다. @@ -78,6 +78,7 @@ public class LevyExclBean extends AbstractComponent { if (req.getDelYn() == null) { req.setDelYn("N"); } + // 정렬 확인 if (req.getOrderBy() == null) { req.setOrderBy("LE.LEVY_EXCL_ID DESC"); } @@ -85,16 +86,16 @@ public class LevyExclBean extends AbstractComponent { return levyExclMapper.selectLevyExcls(req); } - /**지정한 부과제외 ID의 부과제외 정보를 반환한다.
      + /**지정한 부과제외 ID의 부과제외 정보를 반환한다. * @param req 부과제외 조회 조건 * @return 부과제외 정보 */ public DataObject getLevyExclInfo(LevyExclQuery req) { DataObject info = levyExclMapper.selectLevyExclInfo(req); - // 신규 등록 + // 신규 부과제외 등록일 경우 부과제외 구분코드를 입력한다. if (req.getCallPurpose().equals("create")) { - info.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); // 부과제외 구분 코드 + info.set("LEVY_EXCL_SE_CD", req.getLevyExclSeCd()); } return info; @@ -111,54 +112,45 @@ public class LevyExclBean extends AbstractComponent { // 변수 선언 boolean rtnScs = false; // DB 처리 결과 String rtnMsg = ""; // 처리 결과 메시지 - String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) // 단속 ID로 단속, 부과제외 정보 조회 - DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(new LevyExclQuery().setCrdnId(levyExcl.getCrdnId())); + DataObject crdnLevyExclInfo = levyExclMapper.selectLevyExclInfo(new LevyExclQuery().setCrdnId(levyExcl.getCrdnId()) + .setDelYn("N")); // 조회된 자료 정보로 등록 가능한지 검증 - if (!levyExclInfo.string("LEVY_EXCL_ID").equals("")) { // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. + if (!crdnLevyExclInfo.string("LEVY_EXCL_ID").equals("")) { // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료.. rtnMsg = "[F] 작업중 이미 등록된 부과제외 자료가 존재합니다."; return rtnMsg; } if (levyExcl.getLevyExclSeCd().contains("1,2")) { // 비부과(서손), 계고 - if (levyExclInfo.number("CRDN_STTS_CD").intValue() >= 51) { // 단속상태코드가 부과(51) 보다 크다면, 비부과 또는 계고 등록을 할 수 없다. - rtnMsg = "[F] 작업중 오류가 발생하였습니다.
      현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다."; + if (crdnLevyExclInfo.number("CRDN_STTS_CD").intValue() >= 51) { // 단속상태코드가 부과(51) 보다 크다면, 비부과 또는 계고 등록을 할 수 없다. + rtnMsg = "[F] 작업중 오류가 발생하였습니다.
      현재 자료의 단속상태가 " + crdnLevyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다."; return rtnMsg; } } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소 - if (levyExclInfo.number("CRDN_STTS_CD").intValue() < 51) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. - rtnMsg = "[F] 작업중 오류가 발생하였습니다.
      현재 자료의 단속상태가 " + levyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다."; + if (crdnLevyExclInfo.number("CRDN_STTS_CD").intValue() < 51) { // 단속상태코드가 부과(51) 보다 작다면, 전액감액 등록 할 수 없다. + rtnMsg = "[F] 작업중 오류가 발생하였습니다.
      현재 자료의 단속상태가 " + crdnLevyExclInfo.string("CRDN_STTS_NM") + " 상태 입니다."; return rtnMsg; } } // 단속 민원(TB_CRDN_CVLCPT) 민원 처리 확인 - if (!levyExclInfo.string("CVLCPT_LINK_ID").equals("")) { - if (levyExclInfo.string("CVLCPT_PRCS_CD").equals("00")) { + if (!crdnLevyExclInfo.string("CVLCPT_LINK_ID").equals("")) { + if (crdnLevyExclInfo.string("CVLCPT_PRCS_CD").equals("00")) { rtnMsg = "[F] 작업중 단속 민원 자료가 처리 되지 않았습니다.
      단속 민원 업무를 먼저 처리 하시기 바랍니다.
      "; return rtnMsg; } } - // 단속상태코드 설정 - if (levyExcl.getLevyExclSeCd().equals("1")) { // 비부과 - newCrdnSttsCd = "81"; // 비부과(서손) - } else if (levyExcl.getLevyExclSeCd().equals("2")) { // 계고 - newCrdnSttsCd = "83"; // 계고 - } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소(전액감액) - newCrdnSttsCd = "80"; // 부과취소 - } - // 부과취소(전액감액)일 경우 부과(TB_LEVY)에 감액금액 입력이 필요.. if (levyExcl.getLevyExclSeCd().equals("3")) { - if (levyExclInfo.string("LEVY_ID").equals("")) { + if (crdnLevyExclInfo.string("LEVY_ID").equals("")) { rtnMsg = "[F] 작업 중 부과 자료가 존재하지 않습니다.
      비부과로 처리 하시기 바랍니다.
      "; return rtnMsg; } // 감액(TB_RDCAMT) 등록 Rdcamt rdcamt = new Rdcamt(); - rdcamt.setLevyId(levyExclInfo.string("LEVY_ID")); // 부과 ID + rdcamt.setLevyId(crdnLevyExclInfo.string("LEVY_ID")); // 부과 ID rdcamt.setRdcamtYmd(levyExcl.getLevyExclYmd()); // 감액 일자 rdcamt.setRdcamtSeCd("02"); // 감액 구분 코드 FIM085 - 02:부과취소 rdcamt.setRdcamtRsnCd(levyExcl.getLevyExclRsnCd()); // 감액 사유 코드 @@ -175,15 +167,25 @@ public class LevyExclBean extends AbstractComponent { throw new RuntimeException("부과제외 정보 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. + String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) + + if (levyExcl.getLevyExclSeCd().equals("1")) { // 비부과 + newCrdnSttsCd = "81"; // 비부과(서손) + } else if (levyExcl.getLevyExclSeCd().equals("2")) { // 계고 + newCrdnSttsCd = "83"; // 계고 + } else if (levyExcl.getLevyExclSeCd().equals("3")) { // 부과취소(전액감액) + newCrdnSttsCd = "80"; // 부과취소 + } + // 단속상태이력(TB_CRDN_STTS_HSTRY) CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(levyExclInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(levyExclInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(levyExclInfo.string("CRDN_STTS_CHG_DT")); + crdnSttsHstry.setCrdnId(crdnLevyExclInfo.string("CRDN_ID")); + crdnSttsHstry.setBfrSttsCd(crdnLevyExclInfo.string("CRDN_STTS_CD")); + crdnSttsHstry.setBfrSttsChgDt(crdnLevyExclInfo.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd); crdnSttsHstry.setTaskDtlId(levyExcl.getLevyExclId()); - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록하고, 단속(TB_CRDN) 대장을 수정한다. rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!rtnScs) { throw new RuntimeException("부과제외 등록 작업 중 단속상태 변경에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java index 22316b0a..afeafb1f 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnBean.java @@ -36,7 +36,7 @@ import cokr.xit.foundation.data.DataObject; public class OpnnSbmsnBean extends AbstractComponent { /** 의견제출 대장 정보 DAO */ - @Resource(name = "opnnSbmsnMapper") + @Resource(name="opnnSbmsnMapper") private OpnnSbmsnMapper opnnSbmsnMapper; /** 첨부파일 Bean */ @@ -44,11 +44,11 @@ public class OpnnSbmsnBean extends AbstractComponent { private FileBean fileBean; /** 단속 상태 이력 정보 Bean */ - @Resource(name = "crdnSttsHstryBean") + @Resource(name="crdnSttsHstryBean") private CrdnSttsHstryBean crdnSttsHstryBean; /** 과태료 감경 대장 정보 Bean */ - @Resource(name = "rductBean") + @Resource(name="rductBean") private RductBean rductBean; /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다. @@ -77,9 +77,11 @@ public class OpnnSbmsnBean extends AbstractComponent { * @return 의견제출 대장 객체 목록 */ public List getOpnnSbmsns(LevyExclQuery req) { + // 삭제 여부 확인 if (req.getDelYn() == null) { req.setDelYn("N"); } + // 정렬 확인 if (req.getOrderBy() == null) { req.setOrderBy("OS.OPNN_ID DESC"); } @@ -87,20 +89,12 @@ public class OpnnSbmsnBean extends AbstractComponent { return opnnSbmsnMapper.selectOpnnSbmsns(req); } - /**지정한 ID의 의견제출 정보를 반환한다.
      + /**지정한 ID의 의견제출 정보를 반환한다. * @param req 의견제출 대장 조회 조건 * @return 의견제출 정보 */ public DataObject getOpnnSbmsnInfo(LevyExclQuery req) { - DataObject opnnSbmsnInfo = new DataObject(); - - if (req.getCallPurpose().equals("create")) { - opnnSbmsnInfo = opnnSbmsnMapper.selectCrdnInfo(req.getCrdnId()); - } else { - opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(req); - } - - return opnnSbmsnInfo; + return opnnSbmsnMapper.selectOpnnSbmsnInfo(req); } /**지정한 조건에 따라 의견제출 심의 의결서 객체들을 반환한다. @@ -108,6 +102,7 @@ public class OpnnSbmsnBean extends AbstractComponent { * @return 의견제출 대장 객체 목록 */ public List getOpnnSbmsnDlbrDecsns(LevyExclQuery req) { + // 정렬 확인 if (req.getOrderBy() == null) { req.setOrderBy("OS.OPNN_ID DESC"); } @@ -124,27 +119,28 @@ public class OpnnSbmsnBean extends AbstractComponent { */ public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = ""; // 처리 결과 메시지 - // 단속 ID로 단속 정보 조회 - DataObject crdnInfo = opnnSbmsnMapper.selectCrdnInfo(opnnSbmsn.getCrdnId()); + // 단속 ID로 단속, 의견제출 정보 조회 + DataObject crdnOpnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setCrdnId(opnnSbmsn.getCrdnId()) + .setDelYn("N")); // 의견제출ID가 있다면 이미 자료가 존재하므로 종료.. - if (!crdnInfo.string("OPNN_ID").equals("")) { + if (!crdnOpnnSbmsnInfo.string("OPNN_ID").equals("")) { rtnMsg = "[F] 작업 중 이미 등록된 자료가 존재합니다."; return rtnMsg; } // 단속 상태 코드가 부과(51) 보다 크다면, 의견제출 등록을 할 수 없다. 종료.. - if (crdnInfo.number("CRDN_STTS_CD").intValue() >= 51) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
      현재 자료의 단속 상태가 " + crdnInfo.string("CRDN_STTS_NM") + " 상태 입니다."; + if (crdnOpnnSbmsnInfo.number("CRDN_STTS_CD").intValue() >= 51) { + rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
      현재 자료의 단속 상태가 " + crdnOpnnSbmsnInfo.string("CRDN_STTS_NM") + " 상태 입니다."; return rtnMsg; } // 의견제출 대장을 등록 한다. - opnnSbmsn.setOpnnSbmsnSttsCd("00"); // 의견 제출 상태 코드 00:접수 + opnnSbmsn.setOpnnSbmsnSttsCd("00"); // 의견 제출 상태 코드 00:접수 - rtnScs = opnnSbmsnMapper.insert(opnnSbmsn); // 의견제출 등록 + rtnScs = opnnSbmsnMapper.insertOpnnSbmsn(opnnSbmsn); // 의견제출 등록 if (!rtnScs) { throw new RuntimeException("의견제출 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -157,13 +153,12 @@ public class OpnnSbmsnBean extends AbstractComponent { } // 단속 상태 코드가 사전통보중 이전일때만 단속의 상태를 의견제출 중으로 수정 한다. - if (crdnInfo.number("CRDN_STTS_CD").intValue() <= 42) { // 사전통보 완료 + if (crdnOpnnSbmsnInfo.number("CRDN_STTS_CD").intValue() <= 42) { // 사전통보 완료 // 단속상태이력(TB_CRDN_STTS_HSTRY) CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - - crdnSttsHstry.setCrdnId(crdnInfo.string("CRDN_ID")); - crdnSttsHstry.setBfrSttsCd(crdnInfo.string("CRDN_STTS_CD")); - crdnSttsHstry.setBfrSttsChgDt(crdnInfo.string("CRDN_STTS_CHG_DT")); + crdnSttsHstry.setCrdnId(crdnOpnnSbmsnInfo.string("CRDN_ID")); + crdnSttsHstry.setBfrSttsCd(crdnOpnnSbmsnInfo.string("CRDN_STTS_CD")); + crdnSttsHstry.setBfrSttsChgDt(crdnOpnnSbmsnInfo.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setCrdnSttsCd("31"); // 의견제출 접수 crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId()); @@ -176,11 +171,10 @@ public class OpnnSbmsnBean extends AbstractComponent { // 단속 대장(TB_CRDN) 의견제출여부(OPNN_SBMSN_YN) 정보를 수정 한다. Crdn crdn = new Crdn(); - - crdn.setCrdnId(crdnInfo.string("CRDN_ID")); + crdn.setCrdnId(crdnOpnnSbmsnInfo.string("CRDN_ID")); crdn.setOpnnSbmsnYn("Y"); - rtnScs = opnnSbmsnMapper.updateCrdn(crdn); // 단속 대장 수정 + rtnScs = opnnSbmsnMapper.updateCrdnOpnnSbmsnYn(crdn); // 단속 대장 수정 if (!rtnScs) { throw new RuntimeException("의견제출 등록 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -199,15 +193,15 @@ public class OpnnSbmsnBean extends AbstractComponent { */ public String updateOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = ""; // 처리 결과 메시지 // 의견제출 첨부파일 등록 if (fileInfoList != null && !fileInfoList.isEmpty()) { fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(OpnnSbmsn.INF_TYPE) .setInfoKey(opnnSbmsn.getOpnnId())); - fileBean.create(fileInfoList); // 파일 등록 + fileBean.create(fileInfoList); // 파일 등록 // 의견제출 ID로 파일(TB_FILE) 정보 조회 List infoFileList = fileBean.getFileList(new FileQuery().setInfoType(OpnnSbmsn.INF_TYPE) @@ -226,7 +220,7 @@ public class OpnnSbmsnBean extends AbstractComponent { } // 의견제출 대장을 수정 한다. - rtnScs = opnnSbmsnMapper.update(opnnSbmsn); + rtnScs = opnnSbmsnMapper.updateOpnnSbmsn(opnnSbmsn); if (!rtnScs) { throw new RuntimeException("의견제출 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -245,9 +239,8 @@ public class OpnnSbmsnBean extends AbstractComponent { */ public String updateOpnnSbmsnAnswer(OpnnSbmsn opnnSbmsn) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = ""; // 처리 결과 메시지 // 의견제출(TB_OPNN_SBMSN) 자료 조회 DataObject opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId())); @@ -278,26 +271,9 @@ public class OpnnSbmsnBean extends AbstractComponent { // 조회된 의견제출상태 코드와 수정 할 의견제출상태 코드가 다르다면.. if (!opnnSbmsn.getOpnnSbmsnSttsCd().equals(opnnSbmsnInfo.string("OPNN_SBMSN_STTS_CD"))) { - if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("02")) { // 수용 - newCrdnSttsCd = "82"; // 의견제출 수용 - } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("01") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("03") - || opnnSbmsn.getOpnnSbmsnSttsCd().equals("04") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("05")) { // 미수용, 자진취하, 과태료감경, 심의제외 - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 자료 조회 - DataObject infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(opnnSbmsnInfo.string("CRDN_ID"), "31", "Y"); - - newCrdnSttsCd = infoCrdnSttsHstry.string("BFR_STTS_CD"); // 이전 단속상태코드 유지 - } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("06")) { - newCrdnSttsCd = "87"; // 경찰서 이첩 - } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("00")) { - newCrdnSttsCd = "31"; - } else { - throw new RuntimeException("의견제출 심의 처리중 지정되지 않은 심의 상태가 입력되었습니다."); // 예외를 발생시켜서 DB Rollback - } - // 의견제출답변결과(OPNN_SBMSN_STTS_CD)가 과태료감경(04) 이라면.. if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("04")) { Rduct rduct = new Rduct(); - rduct.setCrdnId(opnnSbmsnInfo.string("CRDN_ID")); rduct.setRtpyrId(opnnSbmsnInfo.string("RTPYR_ID")); rduct.setRductYmd(opnnSbmsn.getAnsYmd()); @@ -313,7 +289,6 @@ public class OpnnSbmsnBean extends AbstractComponent { // 의견제출 심의로 인한 과태료 감경 대장인지 확인 if (crdnRductInfo != null && crdnRductInfo.string("RDUCT_ETC_CN").contains("의견제출 심의 처리")) { Rduct rduct = new Rduct(); - rduct.setRductId(opnnSbmsnInfo.string("RDUCT_ID")); rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제"); @@ -324,9 +299,27 @@ public class OpnnSbmsnBean extends AbstractComponent { } } + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. + String newCrdnSttsCd = ""; // 신규 단속 상태 코드(CRDN_STTS_CD) + + if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("02")) { // 수용 + newCrdnSttsCd = "82"; // 의견제출 수용 + } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("01") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("03") + || opnnSbmsn.getOpnnSbmsnSttsCd().equals("04") || opnnSbmsn.getOpnnSbmsnSttsCd().equals("05")) { // 미수용, 자진취하, 과태료감경, 심의제외 + // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 자료 조회 + DataObject infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(opnnSbmsnInfo.string("CRDN_ID"), "31", "Y"); + + newCrdnSttsCd = infoCrdnSttsHstry.string("BFR_STTS_CD"); // 이전 단속상태코드 유지 + } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("06")) { + newCrdnSttsCd = "87"; // 경찰서 이첩 + } else if (opnnSbmsn.getOpnnSbmsnSttsCd().equals("00")) { + newCrdnSttsCd = "31"; + } else { + throw new RuntimeException("의견제출 심의 처리중 지정되지 않은 심의 상태가 입력되었습니다."); // 예외를 발생시켜서 DB Rollback + } + // 단속상태이력(TB_CRDN_STTS_HSTRY) 변경 CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); - crdnSttsHstry.setCrdnId(opnnSbmsnInfo.string("CRDN_ID")); crdnSttsHstry.setBfrSttsCd(opnnSbmsnInfo.string("CRDN_STTS_CD")); crdnSttsHstry.setBfrSttsChgDt(opnnSbmsnInfo.string("CRDN_STTS_CHG_DT")); @@ -334,7 +327,6 @@ public class OpnnSbmsnBean extends AbstractComponent { crdnSttsHstry.setTaskDtlId(opnnSbmsn.getOpnnId()); crdnSttsHstry.setEtcCn("의견제출 심의 처리로 인한 단속상태 변경"); - // 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에 등록 한다. rtnScs = crdnSttsHstryBean.createHstryUpdateCrdnSttsCd(crdnSttsHstry); if (!rtnScs) { throw new RuntimeException("의견제출 심의(답변) 처리 중 단속대장의 단속상태 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback @@ -355,8 +347,8 @@ public class OpnnSbmsnBean extends AbstractComponent { */ public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = ""; // 처리 결과 메시지 // 의견제출(TB_OPNN_SBMSN) 정보를 조회한다. LevyExclQuery req = new LevyExclQuery(); @@ -372,12 +364,12 @@ public class OpnnSbmsnBean extends AbstractComponent { } // 의견제출 상태 코드(OPNN_SBMSN_STTS_CD) 확인.. if (!opnnSbmsnInfo.string("OPNN_SBMSN_STTS_CD").equals("00")) { - rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
      현재 자료의 의견제출 상태가 " + opnnSbmsnInfo.string("OPNN_SBMSN_STTS_NM") + " 이(가) 아닙니다."; + rtnMsg = "[F] 작업 중 오류가 발생하였습니다.
      현재 자료의 의견제출 상태가 " + opnnSbmsnInfo.string("OPNN_SBMSN_STTS_NM") + " 입니다."; return rtnMsg; } // 의견제출(TB_OPNN_SBMSN) 대장을 삭제 한다. - rtnScs = opnnSbmsnMapper.delete(opnnSbmsn); + rtnScs = opnnSbmsnMapper.deleteOpnnSbmsn(opnnSbmsn); if (!rtnScs) { throw new RuntimeException("의견제출 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -421,11 +413,10 @@ public class OpnnSbmsnBean extends AbstractComponent { if (crdnRductInfo != null && crdnRductInfo.string("RDUCT_ETC_CN").contains("의견제출 심의 처리")) { Rduct rduct = new Rduct(); - rduct.setRductId(opnnSbmsnInfo.string("RDUCT_ID")); rduct.setDelRsn("의견제출 심의 처리에 의한 감경 삭제"); - rtnMsg = rductBean.removeRduct(rduct); // 과태료 감경(TB_RDUCT) 대장 삭제 + rtnMsg = rductBean.removeRduct(rduct); // 과태료 감경(TB_RDUCT) 대장 삭제 if (rtnMsg.contains("[F]")) { throw new RuntimeException("의견제출 심의 처리 중 과태료 감경 등록(수정)에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } @@ -437,7 +428,7 @@ public class OpnnSbmsnBean extends AbstractComponent { crdn.setCrdnId(opnnSbmsnInfo.string("CRDN_ID")); crdn.setOpnnSbmsnYn("N"); - rtnScs = opnnSbmsnMapper.updateCrdn(crdn); // 단속(TB_CRDN) 대장 수정 + rtnScs = opnnSbmsnMapper.updateCrdnOpnnSbmsnYn(crdn); // 단속(TB_CRDN) 대장 수정 if (!rtnScs) { throw new RuntimeException("의견제출 삭제 중 단속대장의 의견제출여부 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnServiceBean.java index 204f8662..b650ecc1 100644 --- a/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnServiceBean.java +++ b/src/main/java/cokr/xit/fims/excl/service/bean/OpnnSbmsnServiceBean.java @@ -50,6 +50,11 @@ public class OpnnSbmsnServiceBean extends AbstractServiceBean implements OpnnSbm return opnnSbmsnBean.getOpnnSbmsnInfo(req); } + @Override + public List getOpnnSbmsnDlbrDecsns(LevyExclQuery req) { + return opnnSbmsnBean.getOpnnSbmsnDlbrDecsns(req); + } + @Override public String createOpnnSbmsn(OpnnSbmsn opnnSbmsn, List fileInfoList) { return opnnSbmsnBean.createOpnnSbmsn(opnnSbmsn, fileInfoList); @@ -65,43 +70,9 @@ public class OpnnSbmsnServiceBean extends AbstractServiceBean implements OpnnSbm return opnnSbmsnBean.updateOpnnSbmsnAnswer(opnnSbmsn); } - @Override public String removeOpnnSbmsn(OpnnSbmsn opnnSbmsn) { - // 변수 선언 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 의견제출 ID 및 의견제출 IDs 확인하여 null이면 종료 - if (opnnSbmsn.getOpnnId() == null && opnnSbmsn.getOpnnIds() == null) { - rtnMsg = "[F] 작업 중 선택 자료가 존재하지 않습니다."; - return rtnMsg; - } - - // 의견제출 삭제 처리 - if (opnnSbmsn.getOpnnId() != null) { - rtnMsg = opnnSbmsnBean.removeOpnnSbmsn(opnnSbmsn); - } else { - // 의견제출 Ids 를 확인하여 건수가 1보다 작다면 종료.. - if (opnnSbmsn.getOpnnIds().length < 1) { - rtnMsg = "[F] 작업 중 선택 자료가 존재하지 않습니다."; - return rtnMsg; - } - - // 의견제출 IDs 만큼 반복.. - for (int iLoop = 0; iLoop < opnnSbmsn.getOpnnIds().length; iLoop++) { - // 부과제외 ID 설정 - opnnSbmsn.setOpnnId(opnnSbmsn.getOpnnIds()[iLoop]); - - // 부과제외 삭제 호출 - rtnMsg = opnnSbmsnBean.removeOpnnSbmsn(opnnSbmsn); - // 오류가 발생하였으면 종료.. - if (rtnMsg.contains("[F]")) { - return rtnMsg; - } - } - } - - return rtnMsg; + return opnnSbmsnBean.removeOpnnSbmsn(opnnSbmsn); } } diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java index e21ebcdd..90957162 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java @@ -84,7 +84,7 @@ public class Excl01Controller extends ApplicationController { .addObject("infoPrefix", "levyExcl") // prefix .addObject("infoPrefixUrl", "/excl/excl01") // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) .addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD) .addObject("FIM022List", commonCodes.get("FIM022")) // 부과 제외 사유 코드(LEVY_EXCL_RSN_CD) ; diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java index 3e719af4..838f60a2 100644 --- a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -33,7 +33,6 @@ import cokr.xit.fims.cmmn.xls.StyleMaker; import cokr.xit.fims.excl.LevyExclQuery; import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.service.OpnnSbmsnService; -import cokr.xit.fims.excl.service.bean.OpnnSbmsnBean; import cokr.xit.fims.mngt.service.bean.FactionBean; import cokr.xit.fims.task.Task; import cokr.xit.foundation.UserInfo; @@ -70,27 +69,25 @@ public class Excl02Controller extends ApplicationController { } /** 의견제출 대장 서비스 */ - @Resource(name = "opnnSbmsnService") + @Resource(name="opnnSbmsnService") protected OpnnSbmsnService opnnSbmsnService; /** 파일 정보 서비스 서비스 */ @Resource(name="fileService") private FileService fileService; - @Resource(name = "stngBean") + /**설정 정보 Bean */ + @Resource(name="stngBean") private StngBean stngBean; - @Resource(name = "factionBean") + @Resource(name="factionBean") private FactionBean factionBean; - @Resource(name = "opnnSbmsnBean") - private OpnnSbmsnBean opnnSbmsnBean; - /**의견제출 대장 관리 메인화면(fims/excl/excl02/010-main)을 연다. * * @return /fims/excl/excl02010 */ - @RequestMapping(name = "의견제출 관리 메인", value = METHOD_URL.opinionSubmissionMain) + @RequestMapping(name="의견제출 관리 메인", value = METHOD_URL.opinionSubmissionMain) public ModelAndView opinionSubmissionMain() { ModelAndView mav = new ModelAndView("fims/excl/excl02010-main"); @@ -101,13 +98,13 @@ public class Excl02Controller extends ApplicationController { Map> commonCodes = getCodesOf("FIM031", "FIM033", "FIM054"); return mav - .addObject("pageName", "excl02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix - .addObject("infoPrefix", "opnnSbmsn") // prefix - .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) - .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - .addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 답변 결과(OPNN_SBMSN_STTS_CD) - .addObject("FIM033List", commonCodes.get("FIM033")) // 의견제출 구분 코드(OPNN_SBMSN_SE_CD) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) + .addObject("pageName", "excl02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "opnnSbmsn") // prefix + .addObject("infoPrefixUrl", "/excl/excl02") // prefixUrl + .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) + .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD) + .addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 답변 결과(OPNN_SBMSN_STTS_CD) + .addObject("FIM033List", commonCodes.get("FIM033")) // 의견제출 구분 코드(OPNN_SBMSN_SE_CD) ; } @@ -206,7 +203,6 @@ public class Excl02Controller extends ApplicationController { @Task @RequestMapping(name="의견제출 정보 조회", value=METHOD_URL.getOpinionSubmissionInfo) public ModelAndView getOpinionSubmissionInfo(LevyExclQuery req) { - // 의견제출 정보 조회 DataObject info = opnnSbmsnService.getOpnnSbmsnInfo(req); // 등록을 호출하였지만 등록된 의견제출 ID가 있는지 확인. @@ -224,7 +220,10 @@ public class Excl02Controller extends ApplicationController { return mav .addObject("pageName", "excl02020") + .addObject("infoPrefix", "opnnSbmsn") // prefix + .addObject("infoPrefixUrl", "/excl/excl02") // prefixUrl .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD) .addObject("FIM029List", commonCodes.get("FIM029")) // 접수 구분 코드(RCPT_SE_CD) .addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD) .addObject("FIM032List", commonCodes.get("FIM032")) // 소유주 관계 구분 코드(OWNR_REL_CD) @@ -245,14 +244,14 @@ public class Excl02Controller extends ApplicationController { @Task @RequestMapping(name="의견제출 대장 등록", value=METHOD_URL.createOpinionSubmission) public ModelAndView createOpinionSubmission(OpnnSbmsn opnnSbmsn, MultipartFile[] uploadFiles) { - // 파일 - List fileInfoList = new ArrayList(); + boolean saved = false; + // 첨부 파일 + List fileInfoList = new ArrayList(); if (uploadFiles != null && uploadFiles.length > 0) { fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles); } - boolean saved = false; String rtnMsg = opnnSbmsnService.createOpnnSbmsn(opnnSbmsn, fileInfoList); if (rtnMsg.contains("[S]")) { @@ -276,14 +275,15 @@ public class Excl02Controller extends ApplicationController { @Task @RequestMapping(name="의견제출 대장 수정", value=METHOD_URL.updateOpinionSubmission) public ModelAndView updateOpinionSubmission(OpnnSbmsn opnnSbmsn, MultipartFile[] uploadFiles) { - // 파일 + boolean saved = false; + + // 첨부 파일 List fileInfoList = new ArrayList(); if (uploadFiles != null && uploadFiles.length > 0) { fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles); } - boolean saved = false; String rtnMsg = opnnSbmsnService.updateOpnnSbmsn(opnnSbmsn, fileInfoList); if (rtnMsg.contains("[S]")) { @@ -305,9 +305,8 @@ public class Excl02Controller extends ApplicationController { * } */ @Task - @RequestMapping(name="의견제출 대장 심의 조회", value=METHOD_URL.getOpinionSubmissionAnswerInfo) + @RequestMapping(name="의견제출 대장 심의정보 조회", value=METHOD_URL.getOpinionSubmissionAnswerInfo) public ModelAndView getOpinionSubmissionAnswerInfo(LevyExclQuery req) { - // DataObject info = opnnSbmsnService.getOpnnSbmsnInfo(req); boolean json = jsonResponse(); @@ -319,12 +318,14 @@ public class Excl02Controller extends ApplicationController { return mav .addObject("pageName", "excl02030") + .addObject("infoPrefix", "opnnSbmsn") // prefix + .addObject("infoPrefixUrl", "/excl/excl02") // prefixUrl + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD) .addObject("FIM030List", commonCodes.get("FIM030")) // 통보 구분 코드(NTFCTN_SE_CD) .addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 상태 코드(OPNN_SBMSN_STTS_CD) .addObject("FIM033List", commonCodes.get("FIM033")) // 의견 제출 구분 코드(OPNN_SBMSN_SE_CD) .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 .addObject("opnnSbmsnInfo", json ? info : toJson(info)) ; } @@ -337,7 +338,7 @@ public class Excl02Controller extends ApplicationController { * } */ @Task - @RequestMapping(name="의견제출 대장 심의 수정", value=METHOD_URL.updateOpinionSubmissionAnswer) + @RequestMapping(name="의견제출 대장 심의정보 수정", value=METHOD_URL.updateOpinionSubmissionAnswer) public ModelAndView updateOpinionSubmissionAnswer(OpnnSbmsn opnnSbmsn) { boolean saved = false; String rtnMsg = opnnSbmsnService.updateOpnnSbmsnAnswer(opnnSbmsn); @@ -353,7 +354,7 @@ public class Excl02Controller extends ApplicationController { .addObject("rtnMsg", rtnMsg); } - /**의견제출 심의 의결서를 저장한다. + /**의견제출 심의 의결서를 출력한다. * @param opnnSbmsnIDs 의견제출 대장 IDs * @return jsonView *
       {
      @@ -364,15 +365,15 @@ public class Excl02Controller extends ApplicationController {
       	@Task
       	@RequestMapping(name="의견제출 심의의결서 출력", value=METHOD_URL.makeDlbrDecsnFileFromHwpFormat)
       	public ModelAndView makeDlbrDecsnFileFromHwpFormat(LevyExclQuery req) {
      -
       		UserInfo userInfo = currentUser();
       		factionBean.initUserInfo(userInfo);
      +
       		Print print = new Print();
       		print.setPrintRequestUserInfo(userInfo);
       
       		PrintOption printOption = new PrintOption();
       
      -		List dataObjectList = opnnSbmsnBean.getOpnnSbmsnDlbrDecsns(req);
      +		List dataObjectList = opnnSbmsnService.getOpnnSbmsnDlbrDecsns(req);
       
       		DlbrDecsnList hwpFormat = new DlbrDecsnList(print, printOption, dataObjectList);
       		HashMap result = hwpFormat.makeFile();
      @@ -394,7 +395,21 @@ public class Excl02Controller extends ApplicationController {
       	@RequestMapping(name="의견제출 대장 삭제", value=METHOD_URL.removeOpinionSubmission)
       	public ModelAndView removeOpinionSubmission(OpnnSbmsn opnnSbmsn) {
       		boolean saved = false;
      -		String rtnMsg = opnnSbmsnService.removeOpnnSbmsn(opnnSbmsn);
      +		String rtnMsg = "";
      +
      +		if (opnnSbmsn.getOpnnIds() == null || opnnSbmsn.getOpnnIds().length < 1) {
      +			rtnMsg = opnnSbmsnService.removeOpnnSbmsn(opnnSbmsn);
      +		} else {
      +			// 의견제출 IDs 만큼 반복..
      +			for (int iLoop = 0; iLoop < opnnSbmsn.getOpnnIds().length; iLoop++) {
      +				opnnSbmsn.setOpnnId(opnnSbmsn.getOpnnIds()[iLoop]);				// 의견제출 ID 설정
      +
      +				// 의견제출 삭제 호출
      +				rtnMsg = opnnSbmsnService.removeOpnnSbmsn(opnnSbmsn);
      +				if (rtnMsg.contains("[F]"))		// 오류가 발생하였으면 종료..
      +					break;
      +			}
      +		}
       
       		if (rtnMsg.contains("[S]")) {
       			saved = true;
      diff --git a/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml b/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml
      index 7151f15a..4269d4af 100644
      --- a/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml
      +++ b/src/main/resources/sql/mapper/fims/excl/levyExcl-mapper.xml
      @@ -28,50 +28,49 @@
       	
       
       	
      -        SELECT LE.LEVY_EXCL_ID          
      -             , LE.LEVY_EXCL_YMD         
      -             , LE.LEVY_EXCL_SE_CD       
      +        SELECT LE.LEVY_EXCL_ID      
      +             , LE.LEVY_EXCL_YMD     
                    , (SELECT GET_CODE_NM('FIM021', LE.LEVY_EXCL_SE_CD) FROM DUAL)     AS LEVY_EXCL_SE_NM      
      -             , LE.LEVY_EXCL_RSN_CD      
                    , (SELECT GET_CODE_NM('FIM022', LE.LEVY_EXCL_RSN_CD) FROM DUAL)    AS LEVY_EXCL_RSN_NM     
      -             , LE.ETC_CN                
      -             , LE.DEL_YN                
      -             , LE.REG_DT                
      -             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR)     AS RGTR_NM 
      -             , LE.MDFCN_DT              
      -             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR)     AS MDFR_NM 
      -             , C.CRDN_ID                
      -             , C.SGG_CD                 
      -             , C.TASK_SE_CD             
      +             , LE.ETC_CN            
      +             , LE.DEL_YN            
      +             , LE.REG_DT            
      +             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.RGTR) AS RGTR_NM 
      +             , LE.MDFCN_DT          
      +             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LE.MDFR) AS MDFR_NM 
      +             , C.CRDN_ID            
      +             , C.SGG_CD             
      +             , C.TASK_SE_CD         
                    , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL)   AS TASK_SE_NM   
                    , (CONCAT(C.CRDN_YMD, C.CRDN_TM))  AS CRDN_YMD_TM  
      -             , C.VHRNO                  
      -             , C.CRDN_STDG_NM           
      -             , C.CRDN_PLC               
      -             , C.FFNLG_CRDN_AMT         
      -             , C.FFNLG_AMT              
      -             , C.CRDN_STTS_CD           
      -             , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL)           AS CRDN_STTS_NM           
      -             , (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL)            AS CRDN_SE_NM             
      -             , (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL)        AS CRDN_SPAREA_NM         
      +             , C.VHRNO              
      +             , C.CRDN_STDG_NM       
      +             , C.CRDN_ROAD_NM       
      +             , C.CRDN_PLC           
      +             , C.FFNLG_CRDN_AMT     
      +             , C.FFNLG_AMT          
      +             , C.CRDN_STTS_CD       
      +             , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL)     AS CRDN_STTS_NM     
      +             , (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL)      AS CRDN_SE_NM       
      +             , (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL)  AS CRDN_SPAREA_NM   
                    , (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM  
      -             , V.VLTN_ID                
      -             , V.VLTN_CD                
      -             , V.VLTN_ARTCL             
      -             , P.RTPYR_ID               
      +             , V.VLTN_ID            
      +             , V.VLTN_CD            
      +             , V.VLTN_ARTCL         
      +             , P.RTPYR_ID           
                    , (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL)  AS RTPYR_SE_NM      
      -             , P.RTPYR_NO               
      +             , P.RTPYR_NO           
      +             , P.RTPYR_NM           
                    , (SELECT GET_BRDT_FORMAT(P.RTPYR_BRDT, '.') FROM DUAL)    AS RTPYR_BRDT_MASK  
      -             , P.RTPYR_NM               
      -             , P.ZIP                    
      -             , P.ADDR                   
      -             , P.DTL_ADDR               
      -             , CC.CVLCPT_LINK_ID        
      -             , CC.CVLCPT_RCPT_YMD       
      -             , CC.CVLCPT_APLY_NO        
      -             , CC.CVLCPT_RCPT_NO        
      -             , CC.CVLCPT_PRCS_CD        
      -             , (SELECT GET_CODE_NM('FIM017', CC.CVLCPT_PRCS_CD) FROM DUAL)      AS CVLCPT_PRCS_NM       
      +             , P.ZIP                
      +             , P.ADDR               
      +             , P.DTL_ADDR           
      +             , CC.CVLCPT_LINK_ID    
      +             , CC.CVLCPT_RCPT_YMD   
      +             , CC.CVLCPT_APLY_NO    
      +             , CC.CVLCPT_RCPT_NO    
      +             , CC.CVLCPT_PRCS_CD    
      +             , (SELECT GET_CODE_NM('FIM017', CC.CVLCPT_PRCS_CD) FROM DUAL)  AS CVLCPT_PRCS_NM   
                 FROM TB_LEVY_EXCL         LE
                INNER JOIN TB_CRDN         C   ON (LE.CRDN_ID = C.CRDN_ID)
                INNER JOIN TB_CRDN_ADI     CA  ON (C.CRDN_ID  = CA.CRDN_ID)
      @@ -219,18 +218,21 @@
               
               
                   
      -           AND LE.LEVY_EXCL_ID  IN (                
      +           AND LE.LEVY_EXCL_ID  IN (            
                        #{levyExclId} 
                      )
                   
                   
      -           AND LE.LEVY_EXCL_ID  =  #{levyExclId}    
      +           AND LE.LEVY_EXCL_ID  = #{levyExclId} 
      +            
      +            
      +           AND LE.DEL_YN        = #{delYn}      
                   
                   
      -           AND C.CRDN_ID        =  #{crdnId}        
      +           AND C.CRDN_ID        = #{crdnId}     
                   
      -           AND C.DEL_YN         =  'N'              
               
      +           AND C.DEL_YN         = 'N'           
               
       	
       
      diff --git a/src/main/resources/sql/mapper/fims/excl/opnnSbmsn-mapper.xml b/src/main/resources/sql/mapper/fims/excl/opnnSbmsn-mapper.xml
      index d076ed2f..afb3fddd 100644
      --- a/src/main/resources/sql/mapper/fims/excl/opnnSbmsn-mapper.xml
      +++ b/src/main/resources/sql/mapper/fims/excl/opnnSbmsn-mapper.xml
      @@ -8,7 +8,6 @@
        ============================ -->
       
       	
      -		
       						
       						
       						
      @@ -51,12 +50,12 @@
       
       	
               SELECT OS.OPNN_ID           
      -             , OS.RCPT_NO           
      +             , (CONCAT(SUBSTR(OS.RCPT_NO,1,4), '-', SUBSTR(OS.RCPT_NO,5,6))) AS RCPT_NO_MASK 
                    , OS.RCPT_YMD          
      -             , OS.RCPT_SE_CD        
      -             , OS.OWNR_REL_CD       
      +             , (SELECT GET_CODE_NM('FIM029', OS.RCPT_SE_CD) FROM DUAL)  AS RCPT_SE_NM   
      +             , (SELECT GET_CODE_NM('FIM032', OS.OWNR_REL_CD) FROM DUAL) AS OWNR_REL_NM  
                    , OS.STTR_NM           
      -             , OS.STTR_BRDT         
      +             , (SELECT GET_BRDT_FORMAT(OS.STTR_BRDT, '.') FROM DUAL) AS STTR_BRDT_MASK  
                    , OS.STTR_RRNO         
                    , OS.STTR_ADDR         
                    , OS.STTR_DADDR        
      @@ -64,33 +63,25 @@
                    , OS.STTR_CTTPC        
                    , OS.STTR_EML          
                    , OS.OPNN_SBMSN_CN     
      -             , OS.OPNN_SBMSN_SE_CD  
      +             , (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM 
                    , OS.OPNN_SBMSN_GIST   
                    , OS.DOC_NO            
      -             , OS.NTFCTN_SE_CD      
      +             , (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL) AS NTFCTN_SE_NM 
                    , OS.PIC_RVW_OPNN      
                    , OS.OPNN_SBMSN_STTS_CD 
      -             , OS.ANS_YMD           
      -             , OS.ANS_TM            
      +             , (SELECT GET_CODE_NM('FIM031', OS.OPNN_SBMSN_STTS_CD) FROM DUAL)  AS OPNN_SBMSN_STTS_NM   
      +             , (CONCAT(OS.ANS_YMD, OS.ANS_TM))  AS ANS_YMD_TM   
                    , OS.ANS_CN            
                    , OS.DEL_YN            
                    , OS.REG_DT            
      +             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.RGTR) AS RGTR_NM 
                    , OS.MDFCN_DT          
      -             , OS.DEL_DT            
      -             , (CONCAT(OS.ANS_YMD, OS.ANS_TM))      AS ANS_YMD_TM       
      -             , (GET_BRDT_FORMAT(OS.STTR_BRDT, '.')) AS STTR_BRDT_MASK   
      -             , (SELECT GET_CODE_NM('FIM029', OS.RCPT_SE_CD) FROM DUAL)          AS RCPT_SE_NM           
      -             , (SELECT GET_CODE_NM('FIM032', OS.OWNR_REL_CD) FROM DUAL)         AS OWNR_REL_NM          
      -             , (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL)    AS OPNN_SBMSN_SE_NM     
      -             , (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL)        AS NTFCTN_SE_NM         
      -             , (SELECT GET_CODE_NM('FIM031', OS.OPNN_SBMSN_STTS_CD) FROM DUAL)  AS OPNN_SBMSN_STTS_NM   
      -             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.RGTR)        AS RGTR_NM              
      -             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.MDFR)        AS MDFR_NM              
      -             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.DLTR)        AS DLTR_NM              
      +             , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = OS.MDFR) AS MDFR_NM 
                    , C.CRDN_ID            
                    , C.SGG_CD             
                    , C.TASK_SE_CD         
      -             , C.CRDN_INPT_SE_CD    
      +             , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL)   AS TASK_SE_NM   
      +             , (CONCAT(C.CRDN_YMD, C.CRDN_TM))  AS CRDN_YMD_TM  
                    , C.VHRNO              
                    , C.CRDN_STDG_NM       
                    , C.CRDN_ROAD_NM       
      @@ -98,13 +89,7 @@
                    , C.FFNLG_CRDN_AMT     
                    , C.FFNLG_AMT          
                    , C.CRDN_STTS_CD       
      -             , (CONCAT(C.CRDN_YMD, C.CRDN_TM))  AS CRDN_YMD_TM  
      -             , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL)       AS TASK_SE_NM       
      -             , (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL)  AS CRDN_INPT_SE_NM  
                    , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL)     AS CRDN_STTS_NM     
      -             , CA.CRDN_SE_CD        
      -             , CA.CRDN_SPAREA_CD    
      -             , CA.PARKNG_PSBLTY_RSLT_CD 
                    , (SELECT GET_CODE_NM('FIM002', CA.CRDN_SE_CD) FROM DUAL)      AS CRDN_SE_NM       
                    , (SELECT GET_CODE_NM('FIM007', CA.CRDN_SPAREA_CD) FROM DUAL)  AS CRDN_SPAREA_NM   
                    , (SELECT GET_CODE_NM('FIM034', CA.PARKNG_PSBLTY_RSLT_CD) FROM DUAL) AS PARKNG_PSBLTY_RSLT_NM 
      @@ -112,19 +97,18 @@
                    , V.VLTN_CD            
                    , V.VLTN_ARTCL         
                    , P.RTPYR_ID           
      -             , P.RTPYR_SE_CD        
      +             , (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL)  AS RTPYR_SE_NM  
                    , P.RTPYR_NO           
                    , P.RTPYR_NM           
      +             , (GET_BRDT_FORMAT(P.RTPYR_BRDT, '.')) AS RTPYR_BRDT_MASK  
                    , P.ZIP                
                    , P.ADDR               
                    , P.DTL_ADDR           
      -             , (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL)  AS RTPYR_SE_NM  
      -             , (GET_BRDT_FORMAT(P.RTPYR_BRDT, '.')) AS RTPYR_BRDT_MASK  
                    , R.RDUCT_ID           
                    , R.RDUCT_RSN_CD       
                    , (CASE WHEN R.RDUCT_AMT IS NOT NULL THEN R.RDUCT_AMT
                            ELSE (SELECT C.FFNLG_CRDN_AMT*T.WKSN_RDUCT_RT/100 FROM TB_TASK T WHERE C.SGG_CD=T.SGG_CD AND C.TASK_SE_CD=T.TASK_SE_CD AND T.USE_YN='Y')
      -                 END )                                                  AS RDUCT_AMT    
      +                 END )              AS RDUCT_AMT    
                 FROM TB_OPNN_SBMSN    OS
                INNER JOIN TB_CRDN     C   ON (OS.CRDN_ID = C.CRDN_ID)
                INNER JOIN TB_CRDN_ADI CA  ON (C.CRDN_ID  = CA.CRDN_ID)
      @@ -160,15 +144,6 @@
                   
                   
                  AND OS.DEL_YN    =  #{delYn}     
      -            
      -            
      -           AND C.SGG_CD     =  #{sggCd}     
      -            
      -            
      -           AND C.TASK_SE_CD =  #{taskSeCd}  
      -            
      -            
      -           AND C.VHRNO      =  #{schVhrno}  
                   
                   
                  AND C.CRDN_YMD =]]> #{schCrdnYmdFrom}  
      @@ -176,7 +151,12 @@
                   
                  AND C.CRDN_YMD  #{schCrdnYmdTo}    
                   
      -           AND C.DEL_YN     =  'N'          
      +            
      +           AND C.VHRNO      =  #{schVhrno}  
      +            
      +            
      +           AND P.RTPYR_NM   =  #{schRtpyrNm}    
      +            
                   
                       
                           
      @@ -245,95 +225,94 @@
                       
                   
               
      +           AND C.SGG_CD     =  #{sggCd}     
      +           AND C.TASK_SE_CD =  #{taskSeCd}  
      +           AND C.DEL_YN     =  'N'          
               
               
       	
       
       	
      -        SELECT OS.OPNN_ID               
      -             , OS.RCPT_NO               
      -             , OS.RCPT_YMD              
      -             , OS.RCPT_SE_CD            
      -             , OS.OWNR_REL_CD           
      -             , OS.STTR_NM               
      -             , OS.STTR_BRDT             
      -             , OS.STTR_RRNO             
      -             , OS.STTR_ADDR             
      -             , OS.STTR_DADDR            
      -             , OS.STTR_ZIP              
      -             , OS.STTR_CTTPC            
      -             , OS.STTR_EML              
      -             , OS.OPNN_SBMSN_CN         
      -             , OS.OPNN_SBMSN_SE_CD      
      -             , OS.OPNN_SBMSN_GIST       
      -             , OS.DOC_NO                
      -             , OS.NTFCTN_SE_CD          
      -             , OS.PIC_RVW_OPNN          
      -             , OS.OPNN_SBMSN_STTS_CD    
      -             , OS.ANS_YMD               
      -             , OS.ANS_TM                
      -             , OS.ANS_CN                
      -             , OS.DEL_YN                
      -             , OS.REG_DT                
      -             , OS.RGTR                  
      -             , OS.MDFCN_DT              
      -             , OS.MDFR                  
      -             , OS.DEL_DT                
      -             , OS.DLTR                  
      -             , OS.DEL_RSN               
      -             , (CONCAT(OS.ANS_YMD, OS.ANS_TM))      AS ANS_YMD_TM       
      -             , (GET_BRDT_FORMAT(OS.STTR_BRDT, '.')) AS STTR_BRDT_MASK   
      -             , (SELECT GET_CODE_NM('FIM029', OS.RCPT_SE_CD) FROM DUAL)          AS RCPT_SE_NM           
      -             , (SELECT GET_CODE_NM('FIM032', OS.OWNR_REL_CD) FROM DUAL)         AS OWNR_REL_NM          
      -             , (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL)    AS OPNN_SBMSN_SE_NM     
      -             , (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL)        AS NTFCTN_SE_NM         
      -             , (SELECT GET_CODE_NM('FIM031', OS.OPNN_SBMSN_STTS_CD) FROM DUAL)  AS OPNN_SBMSN_STTS_NM   
      -             , (SELECT C.FFNLG_CRDN_AMT * T.WKSN_RDUCT_RT / 100
      -                  FROM TB_TASK T
      -                 WHERE C.SGG_CD=T.SGG_CD AND C.TASK_SE_CD=T.TASK_SE_CD AND T.USE_YN='Y') AS RDUCT_AMT   
      -             , C.CRDN_ID                
      -             , C.SGG_CD                 
      -             , C.TASK_SE_CD             
      -             , C.VHRNO                  
      -             , C.CRDN_STTS_CD           
      -             , C.CRDN_STTS_CHG_DT       
      +        SELECT C.CRDN_ID            
      +             , C.SGG_CD             
      +             , C.TASK_SE_CD         
      +             , C.CRDN_YMD           
      +             , C.CRDN_TM            
                    , (CONCAT(C.CRDN_YMD, C.CRDN_TM))  AS CRDN_YMD_TM  
      -             , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL)   AS TASK_SE_NM   
      +             , C.VHRNO              
      +             , C.CRDN_STDG_NM       
      +             , C.CRDN_PLC           
      +             , C.CRDN_STTS_CD       
                    , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM 
      -             , P.RTPYR_ID               
      -             , P.RTPYR_NO               
      -             , P.RTPYR_NM               
      -             , P.RTPYR_TELNO            
      -             , P.RTPYR_MBL_TELNO        
      -             , P.RTPYR_EML              
      -             , P.RTPYR_BRDT             
      -             , P.ZIP                    
      -             , P.ADDR                   
      -             , P.DTL_ADDR               
      -          FROM TB_OPNN_SBMSN    OS
      -         INNER JOIN TB_CRDN     C   ON (OS.CRDN_ID = C.CRDN_ID)
      -    LEFT OUTER JOIN TB_PAYER    P   ON (C.RTPYR_ID = P.RTPYR_ID)
      +             , C.CRDN_STTS_CHG_DT   
      +             , OS.OPNN_ID           
      +             , OS.RCPT_NO           
      +             , (CONCAT(SUBSTR(OS.RCPT_NO,1,4), '-', SUBSTR(OS.RCPT_NO,5,6)))    AS RCPT_NO_MASK 
      +             , OS.RCPT_YMD          
      +             , OS.RCPT_SE_CD        
      +             , (SELECT GET_CODE_NM('FIM029', OS.RCPT_SE_CD) FROM DUAL)  AS RCPT_SE_NM   
      +             , OS.OWNR_REL_CD       
      +             , (SELECT GET_CODE_NM('FIM032', OS.OWNR_REL_CD) FROM DUAL) AS OWNR_REL_NM  
      +             , OS.STTR_NM           
      +             , OS.STTR_BRDT         
      +             , (SELECT GET_BRDT_FORMAT(OS.STTR_BRDT, '.') FROM DUAL)    AS STTR_BRDT_MASK 
      +             , OS.STTR_RRNO         
      +             , OS.STTR_ADDR         
      +             , OS.STTR_DADDR        
      +             , OS.STTR_ZIP          
      +             , OS.STTR_CTTPC        
      +             , OS.STTR_EML          
      +             , OS.OPNN_SBMSN_CN     
      +             , OS.OPNN_SBMSN_SE_CD  
      +             , (SELECT GET_CODE_NM('FIM033', OS.OPNN_SBMSN_SE_CD) FROM DUAL)    AS OPNN_SBMSN_SE_NM 
      +             , OS.OPNN_SBMSN_GIST   
      +             , OS.DOC_NO            
      +             , OS.NTFCTN_SE_CD      
      +             , (SELECT GET_CODE_NM('FIM030', OS.NTFCTN_SE_CD) FROM DUAL)        AS NTFCTN_SE_NM     
      +             , OS.PIC_RVW_OPNN      
      +             , OS.OPNN_SBMSN_STTS_CD 
      +             , (SELECT GET_CODE_NM('FIM031', OS.OPNN_SBMSN_STTS_CD) FROM DUAL)  AS OPNN_SBMSN_STTS_NM 
      +             , OS.ANS_YMD           
      +             , OS.ANS_TM            
      +             , (CONCAT(OS.ANS_YMD, OS.ANS_TM))  AS ANS_YMD_TM   
      +             , OS.ANS_CN            
      +             , OS.REG_DT            
      +             , OS.RGTR              
      +             , OS.MDFCN_DT          
      +             , OS.MDFR              
      +             , (SELECT C.FFNLG_CRDN_AMT*T.WKSN_RDUCT_RT/100 FROM TB_TASK T
      +                 WHERE C.SGG_CD=T.SGG_CD AND C.TASK_SE_CD=T.TASK_SE_CD AND T.USE_YN='Y') AS RDUCT_AMT   
      +             , P.RTPYR_ID           
      +             , P.RTPYR_NO           
      +             , P.RTPYR_NM           
      +             , P.RTPYR_TELNO        
      +             , P.RTPYR_MBL_TELNO    
      +             , P.RTPYR_EML          
      +             , P.RTPYR_BRDT         
      +             , P.ZIP                
      +             , P.ADDR               
      +             , P.DTL_ADDR           
      +          FROM TB_CRDN            C
      +    LEFT OUTER JOIN TB_PAYER      P  ON (C.RTPYR_ID = P.RTPYR_ID)
      +    LEFT OUTER JOIN TB_OPNN_SBMSN OS ON (C.CRDN_ID  = OS.CRDN_ID AND OS.DEL_YN = 'N')
       	
       
       	
       
      @@ -365,6 +344,8 @@
                    , C.CRDN_ID            
                    , C.SGG_CD             
                    , C.TASK_SE_CD         
      +             , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL)   AS TASK_SE_NM   
      +             , (SELECT GET_MASK_DATETIME(C.CRDN_YMD,'-',C.CRDN_TM,':') FROM DUAL)   AS CRDN_YMD_TM_MASK 
                    , C.VHRNO              
                    , C.CRDN_STDG_NM       
                    , C.CRDN_ROAD_NM       
      @@ -372,10 +353,8 @@
                    , C.FFNLG_CRDN_AMT     
                    , C.FFNLG_AMT          
                    , C.CRDN_STTS_CD       
      +             , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM 
                    , C.CRDN_STTS_CHG_DT   
      -             , (GET_MASK_DATETIME(C.CRDN_YMD, '-', C.CRDN_TM, ':'))     AS CRDN_YMD_TM_MASK 
      -             , (SELECT GET_CODE_NM('FIM054', C.TASK_SE_CD) FROM DUAL)   AS TASK_SE_NM       
      -             , (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM     
                    , DLBR_MBR_JBGD1       
                    , DLBR_MBR_NM1         
                    , DLBR_MBR_JBGD2       
      @@ -496,20 +475,19 @@
                  AND DEL_YN           = 'N'
       	
       
      -	/* 의견제출 대장 답변 수정(opnnSbmsnMapper.updateAnsSttsCd) */
      +	/* 의견제출 대장 답변 수정(opnnSbmsnMapper.updateOpnnSbmsnAnswer) */
               UPDATE TB_OPNN_SBMSN
      -           SET OPNN_SBMSN_GIST      = #{opnnSbmsn.opnnSbmsnGist}    
      -             , DOC_NO               = #{opnnSbmsn.docNo}            
      -             , NTFCTN_SE_CD         = #{opnnSbmsn.ntfctnSeCd}       
      -             , PIC_RVW_OPNN         = #{opnnSbmsn.picRvwOpnn}       
      -             , OPNN_SBMSN_STTS_CD   = #{opnnSbmsn.opnnSbmsnSttsCd}  
      -             , ANS_YMD              = #{opnnSbmsn.ansYmd}           
      -             , ANS_TM               = #{opnnSbmsn.ansTm}            
      -             , ANS_CN               = #{opnnSbmsn.ansCn}            
      -             , MDFCN_DT             =    
      -             , MDFR                 = #{opnnSbmsn.modifiedBy}       
      -         WHERE OPNN_ID              = #{opnnSbmsn.opnnId}           
      -           AND DEL_YN               = 'N'
      +           SET DOC_NO            = #{opnnSbmsn.docNo}           
      +             , NTFCTN_SE_CD      = #{opnnSbmsn.ntfctnSeCd}      
      +             , PIC_RVW_OPNN      = #{opnnSbmsn.picRvwOpnn}      
      +             , OPNN_SBMSN_STTS_CD= #{opnnSbmsn.opnnSbmsnSttsCd} 
      +             , ANS_YMD           = #{opnnSbmsn.ansYmd}          
      +             , ANS_TM            = #{opnnSbmsn.ansTm}           
      +             , ANS_CN            = #{opnnSbmsn.ansCn}           
      +             , MDFCN_DT          =    
      +             , MDFR              = #{opnnSbmsn.modifiedBy}      
      +         WHERE OPNN_ID           = #{opnnSbmsn.opnnId}          
      +           AND DEL_YN            = 'N'
       	
       
       	/* 의견제출 대장 삭제(opnnSbmsnMapper.deleteOpnnSbmsn) */
      @@ -522,33 +500,6 @@
                  AND DEL_YN       = 'N'
       	
       
      -	
      -
       	/* 단속 대장 의견제출여부 수정(opnnSbmsnMapper.updateCrdnOpnnSbmsnYn) */
               UPDATE TB_CRDN
                  SET OPNN_SBMSN_YN= #{crdn.opnnSbmsnYn}   
      diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
      index 24033ea8..63b361a6 100644
      --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
      +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01010-main.jsp
      @@ -143,8 +143,8 @@
       								
       							
       						
      -						
      -					
      +					 
      +				 
       
       				
       				
      @@ -165,8 +165,7 @@ -
      - +
      @@ -273,9 +272,9 @@
      - - - + + +
      @@ -331,12 +330,12 @@ $P.renderList(obj.${infoPrefix}Total); $("#paging--${pageName}").setPagingInfo({ - list : $P.control.dataset - , prefix : "paging--${pageName}" - , start : obj.${infoPrefix}Start - , totalSize : obj.${infoPrefix}Total - , fetchSize : obj.${infoPrefix}Fetch - , func : "pageObject['${pageName}'].control.load({index})" + list: $P.control.dataset + , prefix: "paging--${pageName}" + , start: obj.${infoPrefix}Start + , totalSize: obj.${infoPrefix}Total + , fetchSize: obj.${infoPrefix}Fetch + , func: "pageObject['${pageName}'].control.load({index})" }); $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 @@ -366,15 +365,15 @@ // DataTables(그리드) 전체 선택(checkbox) if (keys.length < 1) { - $("th input[type='checkbox']").prop("checked", false); // 체크 해제 + $("th input[type='checkbox']").prop("checked", false); // 체크 해제 } else if (keys.length == ${infoPrefix}List.length) { - $("th input[type='checkbox']").prop("checked", true); // 체크 설정 + $("th input[type='checkbox']").prop("checked", true); // 체크 설정 } else { - $("th input[type='checkbox']").prop("checked", false); // 체크 해제 + $("th input[type='checkbox']").prop("checked", false); // 체크 해제 } }; - // 부과제외 상세정보 dialog + // 상세정보 dialog $P.control.getInfo = (params) => { if (!params) return; @@ -406,7 +405,7 @@ }); if (resp.saved) { - $P.fnRefreshList(); // 자료 재조회 + $P.fnRefreshList(); // 자료 재조회 } } @@ -467,7 +466,7 @@ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 $P.scrollDataList = () => { - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.control.load($P.control.query.pageNum + 1); } @@ -529,14 +528,14 @@ $P.control.dataset.clear(); } - // 사용자 검색 callback + // 사용자검색 callback $P.callbackFindUser = (userId, userNm) => { $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 } - // 사용자 조회 버튼 클릭 이벤트 - $P.fnFindUser = () => { + // 사용자검색 버튼 클릭 이벤트 + $P.fnGetFindUser = () => { let params = { openerPageName: "${pageName}" , callbackFuncName: "pageObject['${pageName}']['callbackFindUser']" @@ -584,7 +583,7 @@ $P.control.download(); } - // 수정 버튼 클릭 이벤트 + // 부과제외 수정 버튼 클릭 이벤트 $P.fnUpdate = (title) => { // 부과제외 ID let levyExclId = $P.control.dataset.getValue("LEVY_EXCL_ID"); @@ -603,24 +602,21 @@ $P.control.getInfo(params); } - // 삭제 사유 callback + // 부과제외 삭제사유 callback $P.callbackRsn = (obj) => { - // 선택 자료 - let selected = $P.control.dataset.getKeys("selected"); - - if (selected.length < 1) return; - // 서버에 전송할 data(파라미터) 생성 let params = {}; - params[$P.control.prefixed("Ids")] = selected.join(","); // Ids - params.sggCd = $("#sggCd--${pageName}").val(); // sggCd - params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // taskSeCd + let selected = $P.control.dataset.getKeys("selected"); + + params[$P.control.prefixed("Ids")] = selected.join(","); // IDs + params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드 + params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드 params.delRsn = obj.reason; // 삭제 사유 $P.control.remove(params); } - // 삭제 버튼 클릭 이벤트 + // 부과제외 삭제 버튼 클릭 이벤트 $P.fnRemove = (title) => { // 선택 자료 let selected = $P.control.dataset.getKeys("selected"); @@ -664,7 +660,7 @@ $("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화 $("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색 $("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀 - $("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색 + $("#btnFindUser--${pageName}").on("click", () => $P.fnGetFindUser()); // 사용자 검색 // 동적검색에서 엔터(Enter) 키를 누르면 검색한다. $("#term--${pageName}").keypress(function(e) { @@ -695,7 +691,7 @@ $P.fnRemove($(this).attr("title")); }); - // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 + // DataTables width 변경 조정 (업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고) fnMakeResizableTable($("#table-responsive--${pageName}")[0]); // DataTables 스크롤 이벤트 생성 @@ -760,7 +756,6 @@ cols.each(function() { colsOuterHTML += this.outerHTML; }); - $("#table-responsive--${pageName}")[0].changeColumn(colsOuterHTML); } diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp index bc670ef6..d2e079ae 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl01020-info.jsp @@ -117,7 +117,7 @@ if (!item) return; // Dataset 셋팅 - $P.formFields.set($P.control,item); + $P.formFields.set($P.control, item); // 업무구분에 따른 URL 변경 $P.fnSetURL(item.data.TASK_SE_CD); // 부과제외구분에 따른 부과제외사유 설정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp index 759e3f4d..f6566242 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp @@ -167,10 +167,8 @@ - - - - + +
      @@ -183,19 +181,18 @@
      - - - - +
      @@ -221,14 +218,14 @@ 소유주관계 진술자명 진술자생일 - 진술자우편번호 + 진술자우편번호 진술자주소 진술자상세주소 의견제출상태 - 의견제출분류 + 의견제출분류 의견제출요지 - 문서번호 - 답변일자 + 문서번호 + 답변일시 답변내용 단속일시 차량번호 @@ -259,7 +256,7 @@ {ROW_NUM} {TASK_SE_NM} - {RCPT_NO} + {RCPT_NO_MASK} {RCPT_YMD} {RCPT_SE_NM} {NTFCTN_SE_NM} @@ -273,7 +270,7 @@ {OPNN_SBMSN_SE_NM} {OPNN_SBMSN_GIST} {DOC_NO} - {ANS_YMD} + {ANS_YMD_TM} {ANS_CN} {CRDN_YMD_TM} {VHRNO} @@ -322,9 +319,9 @@
      - - - + + +
      @@ -342,10 +339,8 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; - // URL - $P.PrefixUrl = "/excl/excl02"; // FormFields $P.formFields = new FimsFormFields("#frmSearch--${pageName}"); @@ -353,28 +348,28 @@ * DatasetControl **************************************************************************/ $P.control = new DatasetControl({ - prefix : "opnn" - , prefixName : "의견제출" - , infoSize : "xl" - , keymapper : info => info ? info.OPNN_ID : "" - , dataGetter : obj => obj.opnnSbmsnList - , appendData : true - , formats : { - RCPT_YMD : dateFormat - , ANS_YMD : dateFormat - , ANS_YMD_TM : datetimeFormat - , CRDN_YMD_TM : datetimeFormat - , FFNLG_CRDN_AMT : numberFormat - , FFNLG_AMT : numberFormat - , REG_DT : datetimeFormat - , MDFCN_DT : datetimeFormat + prefix: "opnn" + , prefixName: "의견제출" + , infoSize: "xl" + , keymapper: info => info ? info.OPNN_ID : "" + , dataGetter: obj => obj.${infoPrefix}List + , appendData: true + , formats: { + RCPT_YMD: dateFormat + , ANS_YMD: dateFormat + , ANS_YMD_TM: datetimeFormat + , CRDN_YMD_TM: datetimeFormat + , FFNLG_CRDN_AMT: numberFormat + , FFNLG_AMT: numberFormat + , REG_DT: datetimeFormat + , MDFCN_DT: datetimeFormat } }); // $P.control 설정 $P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 $P.control.untilPageNum = 0; // 현재 페이지 번호 - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 $P.control.beforeCurrent = null; + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 /************************************************************************** * DatasetControl 이벤트 @@ -384,15 +379,15 @@ $P.renderList(obj.${infoPrefix}Total); $("#paging--${pageName}").setPagingInfo({ - list : $P.control.dataset - , prefix : "paging--${pageName}" - , start : obj.${infoPrefix}Start - , totalSize : obj.${infoPrefix}Total - , fetchSize : obj.${infoPrefix}Fetch - , func : "$P.control.load({index})" + list: $P.control.dataset + , prefix: "paging--${pageName}" + , start: obj.${infoPrefix}Start + , totalSize: obj.${infoPrefix}Total + , fetchSize: obj.${infoPrefix}Fetch + , func: "$P.control.load({index})" }); - $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 }; // 현재 선택 자료 변경 이벤트 @@ -411,47 +406,36 @@ $("#tbody--${pageName} input[type='checkbox']").each(function() { let checkbox = $(this); - checkbox.prop("checked", keys.includes(checkbox.val())); }); // 삭제 버튼 - $("#btnRemoveOpnn--${pageName}").prop("disabled", keys.length < 1); + $("#btnRemove--${pageName}").prop("disabled", keys.length < 1); // DataTables(그리드) 전체 선택(checkbox) if (keys.length < 1) { - $("th input[type='checkbox']").prop("checked", false); // 체크 해제 + $("th input[type='checkbox']").prop("checked", false); // 체크 해제 } else if (keys.length == ${infoPrefix}List.length) { - $("th input[type='checkbox']").prop("checked", true); // 체크 설정 + $("th input[type='checkbox']").prop("checked", true); // 체크 설정 } else { - $("th input[type='checkbox']").prop("checked", false); // 체크 해제 + $("th input[type='checkbox']").prop("checked", false); // 체크 해제 } }; - // 수정 dialog + // 상세정보 dialog $P.control.getInfo = (params) => { if (!params) return; - let dialogTitle = ""; - - if (params.callPurpose == "create") { - dialogTitle = $P.control.prefixName + " 등록"; - } else if (params.callPurpose == "update") { - dialogTitle = $P.control.prefixName + " 수정"; - } else { - dialogTitle = $P.control.prefixName + " 정보"; - } - ajax.get({ - url : $P.control.urls.getInfo - , data : params || {} - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/020/info.do") + , data: params || {} + , success: resp => { dialog.open({ - id : $P.control.prefixed("Dialog") - , title : dialogTitle - , content : resp - , size : $P.control.infoSize - , onClose : () => { $P.refreshList(); } + id: $P.control.prefixed("Dialog") + , title: params.title + , content: resp + , size: $P.control.infoSize + , onClose: () => { $P.fnRefreshList(); } // 자료 재조회 }); } }); @@ -459,17 +443,17 @@ // 삭제 callback $P.control.onRemove = (resp) => { - let btnTitle = $("#btnRemoveOpnn--${pageName}").attr("title"); + let btnTitle = $("#btnRemove--${pageName}").attr("title"); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); // 메시지 출력 dialog.alert({ - content : showMessage - , onOK : () => { } + content: showMessage + , onOK: () => { } }); if (resp.saved) { - $P.refreshList(); // 자료 재조회 + $P.fnRefreshList(); // 자료 재조회 } } @@ -478,9 +462,9 @@ if (!params) return; ajax.post({ - url : $P.control.urls.remove - , data : params - , success : resp => $P.control.onRemove(resp) + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/010/remove.do") + , data: params || {} + , success: resp => $P.control.onRemove(resp) }); } @@ -530,103 +514,47 @@ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 $P.scrollDataList = () => { - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.control.load($P.control.query.pageNum + 1); } - /************************************************************************** - * 사용자 함수(function) - **************************************************************************/ - // callback 사용자 검색 - $P.callbackFindUser = (userId, userNm) => { - $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID - $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 - } - - // 사용자 검색 - $P.getFindUser = () => { - let params = { - openerPageName : "${pageName}" - , callbackFuncName : "pageObject['${pageName}']['callbackFindUser']" - } - - ajax.get({ - url : wctx.url("/user/user02/010/main.do") - , data : params || {} - , success : resp => { - dialog.open({ - id : "userDialog" - , title : "사용자 검색" - , content : resp - , size : "lg" - }); - } - }); - } - - // 개별총정보 dialog + // DataTables에 더블 클릭시 개별총정보 dialog $P.getTotalInfo = (crdnId) => { if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { - callControlName : "pageObject['${pageName}'].control" - , sggCd : $("#sggCd--${pageName}").val() - , taskSeCd : $("input[name=taskSeCd]:checked").val() - , crdnId : crdnId + callControlName: "pageObject['${pageName}'].control" + , sggCd: $("#sggCd--${pageName}").val() + , taskSeCd: $("input[name=taskSeCd]:checked").val() + , crdnId: crdnId } ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do") - , data : params - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do") + , data: params + , success: resp => { dialog.open({ - id : "totalInfoMainDialog" - , title : "개별총정보" - , content : resp - , size : "xxl" + id: "totalInfoMainDialog" + , title: "개별총정보" + , content: resp + , size: "xxl" }); } }); } + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ // 검색 자료 재조회 - $P.refreshList = () => { + $P.fnRefreshList = () => { $P.control.untilPageNum = $P.control.query.pageNum; $P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum; $P.control.load(1); } - // 심의 정보 Dialog - $P.getDlbrInfo = (params) => { - if (!params) return; - - ajax.get({ - url : $P.control.urls.getDlbrInfo - , data : params || {} - , success : resp => { - dialog.open({ - id : $P.control.prefixed("SbmsnDialog") - , title : $P.control.prefixName + " 심의" - , content : resp - , size : "lg" - , onClose : () => { $P.refreshList; } - }); - } - }); - } - - // 사유 callback - $P.callbackRsn = (obj) => { - // 서버에 전송할 data(파라미터) 생성 - let params = {}; - params[$P.control.prefixed("IDs")] = selected.join(","); // IDs - params.delRsn = obj.reason; // 삭제 사유 - - $P.control.remove(params); - } - /************************************************************************** * 버튼 clickEvent **************************************************************************/ @@ -639,8 +567,6 @@ // 초기 기본 설정 $P.initForm(); - // 기본 데이터 설정 - $P.initData(taskSeCd); // 업무 구분별 설정 $P.setTask(taskSeCd); @@ -648,12 +574,39 @@ $P.control.dataset.clear(); } + // 사용자검색 callback + $P.callbackFindUser = (userId, userNm) => { + $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID + $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 + } + + // 사용자검색 버튼 클릭 이벤트 + $P.fnGetFindUser = () => { + let params = { + openerPageName: "${pageName}" + , callbackFuncName: "pageObject['${pageName}']['callbackFindUser']" + } + + ajax.get({ + url : wctx.url("/user/user02/010/main.do") + , data : params || {} + , success : resp => { + dialog.open({ + id : "userDialog" + , title : "사용자 검색" + , content : resp + , size : "lg" + }); + } + }); + } + // 검색 버튼 이벤트 $P.fnSearchList = () => { // 검색조건 - $P.control.query = $P.formFields.get(); - $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 - $P.control.query.delYn = "N"; // 삭제 여부 + $P.control.query = $P.formFields.get(); // 검색 조건 + $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 + $P.control.query.delYn = "N"; // 삭제 여부 $P.control.load(1); } @@ -662,10 +615,9 @@ $P.fnExcel = () => { if ($P.control.dataset.empty) { dialog.alert({ - content : "검색된 자료가 없습니다." - , onOK : () => { } + content: "검색된 자료가 없습니다." + , onOK: () => { } }); - return; } @@ -677,75 +629,99 @@ $P.control.download(); } - // 사용자 조회 버튼 이벤트 - $P.fnFindUser = () => { - $P.getFindUser(); - } - - // 수정 버튼 클릭 이벤트 - $P.fnUpdateOpnn = (title) => { + // 의견제출 수정 버튼 클릭 이벤트 + $P.fnUpdate = (title) => { + // 의견제출 ID let opnnId = $P.control.dataset.getValue("OPNN_ID"); - // 의견제출 ID 가 없다면.. return if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; let params = { - title : title - , callPurpose : "update" - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 - , opnnId : opnnId // 의견제출 ID + title: title + , callPurpose: "update" // 호출용도: 수정 + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , opnnId: opnnId // 의견제출 ID }; $P.control.getInfo(params); } - // 심의 버튼 클릭 이벤트 + // 의견제출 심의 버튼 클릭 이벤트 $P.fnUpdateOpnnDlbr = (title) => { + // 의견제출 ID let opnnId = $P.control.dataset.getValue("OPNN_ID"); - // 의견제출 ID 가 없다면.. return if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") return; let params = { - title : title - , callPurpose : "update" - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 - , opnnId : opnnId // 의견제출 ID + title: title + , callPurpose: "update" // 호출용도: 수정 + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , opnnId: opnnId // 의견제출 ID }; - $P.getDlbrInfo(params); + ajax.get({ + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/030/info.do") + , data: params + , success: resp => { + dialog.open({ + id: $P.control.prefixed("DlbrDialog") + , title: $P.control.prefixName + " 심의" + , content: resp + , size: "lg" + , onClose: () => { $P.fnRefreshList(); } // 자료 재조회 + }); + } + }); + } + + // 의견제출 삭제사유 callback + $P.callbackRsn = (obj) => { + // 서버에 전송할 data(파라미터) 생성 + let params = {}; + let selected = $P.control.dataset.getKeys("selected"); + + params[$P.control.prefixed("Ids")] = selected.join(","); // IDs + params.sggCd = $("#sggCd--${pageName}").val(); // 시군구 코드 + params.taskSeCd = $("input[name=taskSeCd]:checked").val(); // 업무 구분 코드 + params.delRsn = obj.reason; // 삭제 사유 + + $P.control.remove(params); } - // 삭제 버튼 클릭 이벤트 - $P.fnRemoveOpnn = (title) => { + // 의견제출 삭제 버튼 클릭 이벤트 + $P.fnRemove = (title) => { // 선택 자료 let selected = $P.control.dataset.getKeys("selected"); - if (selected.length < 1) return; + if (selected.length < 1) { + dialog.alert({ + content: "선택하신 의견제출 정보가 없습니다." + , onOK: () => { } + }); + return; + } // 삭제 메세지 확인 dialog.alert({ - content : "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?" - , onOK : async() => { + content: "선택하신 " + selected.length + "건의 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?" + , onOK: async() => { // 삭제 사유 입력 - var resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); - var template = await resp.text(); + let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); + let template = await resp.text(); dialog.open({ - id : "inputDelRsnDialog", - title: title, - size : "lg", - content: template, - init : () => { - setDialogZindex(); - }, - onOK : () => { + id: "inputDelRsnDialog" + , title: title + , size: "lg" + , content: template + , init: () => { setDialogZindex(); } + , onOK: () => { $P.callbackRsn({ reason : $("#reason").val() }); } }); - } }); } @@ -759,7 +735,7 @@ $("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화 $("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색 $("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀 - $("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색 + $("#btnFindUser--${pageName}").on("click", () => $P.fnGetFindUser()); // 사용자 검색 // 동적검색에서 엔터(Enter) 키를 누르면 검색한다. $("#term--${pageName}").keypress(function(e) { @@ -782,16 +758,16 @@ }); // 의견제출 수정 버튼 이벤트 - $("#btnUpdateOpnn--${pageName}").on("click", function() { - $P.fnUpdateOpnn($(this).attr("title")); + $("#btnUpdate--${pageName}").on("click", function() { + $P.fnUpdate($(this).attr("title")); }); // 의견제출 심의 버튼 이벤트 $("#btnUpdateOpnnDlbr--${pageName}").on("click", function() { $P.fnUpdateOpnnDlbr($(this).attr("title")); }); // 의견제출 삭제 버튼 이벤트 - $("#btnRemoveOpnn--${pageName}").on("click", function() { - $P.fnRemoveOpnn($(this).attr("title")); + $("#btnRemove--${pageName}").on("click", function() { + $P.fnRemove($(this).attr("title")); }); // DataTables width 변경 조정 @@ -821,14 +797,13 @@ // 달력 초기화 initDatepicker("frmSearch--${pageName}"); - $("#schRcptYmdFrom--${pageName}").datepicker("setDate", new Date()); - $("#schRcptYmdTo--${pageName}").datepicker("setDate", new Date()); - // 동적 검색 $("#byOutput--${pageName}").val("동적 검색"); - // 사용자 이름 $("#schRgtrNm--${pageName}").prop("readonly", true); + + // 기본 데이터 설정(업무구분) + $P.initData($("input[name=taskSeCd]:checked").val()); } // 기본 데이터 설정 @@ -844,6 +819,9 @@ // 업무 구분별 설정 $P.setTask = (taskSeCd) => { + // 검색 url + $P.control.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/010/list.do"); + let clsForTask = taskSeCd.toLowerCase(); // 업무별 조회조건 @@ -858,17 +836,6 @@ colsOuterHTML += this.outerHTML; }); $("#table-responsive--${pageName}")[0].changeColumn(colsOuterHTML); - - // URL 설정 - $P.setURL(taskSeCd); - } - - // 업무구분에 따른 URL 설정 - $P.setURL = (taskSeCd) => { - $P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/list.do"); // 조회 - $P.control.urls.remove = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/remove.do"); // 삭제 - $P.control.urls.getInfo = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/info.do"); // 수정 - $P.control.urls.getDlbrInfo = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/030/info.do"); // 심의 } /************************************************************************** diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp index b50770c1..4f1ddf3e 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02020-info.jsp @@ -12,9 +12,9 @@
      - +
      @@ -185,10 +185,8 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; - // URL - $P.PrefixUrl = "/excl/excl02"; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) $P.callPurpose = "${callPurpose}"; // FormFields @@ -200,10 +198,10 @@ * DatasetControl **************************************************************************/ $P.control = new DatasetControl({ - prefix : "opnn" - , prefixName : "의견제출" - , keymapper : info => info ? info.OPNN_ID : "" - , dataGetter : obj => obj.opnnSbmsnInfo + prefix: "opnn" + , prefixName: "의견제출" + , keymapper: info => info ? info.OPNN_ID : "" + , dataGetter: obj => obj.${infoPrefix}Info }); /************************************************************************** @@ -214,10 +212,9 @@ if (!item) return; // Dataset 셋팅 - $P.formFields.set($P.control.item); - + $P.formFields.set($P.control, item); // 업무구분에 따른 URL 변경 - $P.setURL(item.data.TASK_SE_CD); + $P.fnSetURL(item.data.TASK_SE_CD); // 호출용도가 등록 이라면.. if ($P.callPurpose == "create") { @@ -235,8 +232,8 @@ // 메시지 출력 dialog.alert({ - content : showMessage - , onOK : () => { } + content: showMessage + , onOK: () => { } }); if (resp.saved) { @@ -251,36 +248,34 @@ $P.control.save = (info) => { if (!info) return; - let formData = new FormData(); let create = ($P.callPurpose == "create"); + let formData = new FormData(); // 첨부파일 배열에 있는 내용을 등록 for (let iLoop = 0; iLoop < $P.fileListArr.length; iLoop++) { formData.append("uploadFiles" , $P.fileListArr[iLoop]); } - for (let key in info) { let value = info[key]; formData.append(key, value); } ajax.post({ - url : !create ? $P.control.urls.update : $P.control.urls.create - , data : formData - , contentType : false - , processData : false - , success : resp => $P.control.onSave(resp) + url: !create ? $P.control.urls.update : $P.control.urls.create + , data: formData + , contentType: false + , processData: false + , success: resp => $P.control.onSave(resp) }); } /************************************************************************** * 사용자 함수(function) **************************************************************************/ - // 주소 검색 결과 callback - $P.callbackSearchAddr = (obj) => { - $("#sttrAddr--${pageName}").val(obj.ADDR); // 주소 - $("#sttrZip--${pageName}").val(obj.ZIP); // 우편번호 - $("#sttrDaddr--${pageName}").val(obj.DTL_ADDR); // 상세 주소 + // 업무구분에 따른 url 변경 + $P.fnSetURL = (taskSeCd) => { + $P.control.urls.create = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/create.do"); // 등록 + $P.control.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/020/update.do"); // 수정 } /************************************************************************** @@ -303,41 +298,45 @@ $("#sttrEml--${pageName}").val($P.control.getValue("RTPYR_EML")); } + // 주소 검색 결과 callback + $P.callbackSearchAddr = (obj) => { + $("#sttrAddr--${pageName}").val(obj.ADDR); // 주소 + $("#sttrZip--${pageName}").val(obj.ZIP); // 우편번호 + $("#sttrDaddr--${pageName}").val(obj.DTL_ADDR); // 상세 주소 + } + // 주소 검색 $P.fnSearchAddr = async(title) => { - - var resp = await fetch(wctx.url("/resources/html/searchAddr.html")); - var template = await resp.text(); + let resp = await fetch(wctx.url("/resources/html/searchAddr.html")); + let template = await resp.text(); dialog.open({ - id : "searchAddrDialog", - title: title, - size : "lg", - content: template, - init : () => { + id: "searchAddrDialog" + , title: title + , size: "lg" + , content: template + , init: () => { $("#searchAddrCallback").val("pageObject['${pageName}'].callbackSearchAddr"); + setDialogZindex(); } }); - } // 첨부파일 조회 $P.fnSearchFileList = (opnnId) => { // 의견제출 등록일 경우에는 첨부파일을 조회하지 안는다.. - if (opnnId == null || opnnId == "") { - return; - } + if (opnnId == null || opnnId == "") return; // 첨부파일 리스트 ajax.get({ - url : "file/list.do" - , data : { - infoType : "110" - , infoKeys : opnnId - , fetchSize : 0 + url: "file/list.do" + , data: { + infoType: "110" + , infoKeys: opnnId + , fetchSize: 0 } - , success : resp => { + , success: resp => { let fileNo = 0; let fileList = resp.fileList; @@ -345,16 +344,13 @@ fileNo = index + 1; let innerHtml = ""; - innerHtml += ""; innerHtml += "" + fileNo + ""; innerHtml += "" + item.FILE_ID + ""; innerHtml += "" + item.FILE_NM + ""; innerHtml += "" + item.FILE_SIZE + " byte"; -// innerHtml += "" + "" + ""; innerHtml += "" + "" + ""; -// innerHtml += "" + "" + ""; innerHtml += "" + "" + ""; innerHtml += ""; @@ -380,7 +376,6 @@ dialog.alert({ content : "첨부파일은 최대 " + maxFileCnt + "개 까지 첨부 가능합니다." }); - return; } @@ -410,19 +405,18 @@ // 첨부파일 삭제 아이콘 클릭 이벤트 $P.fnFileRemove = (obj) => { dialog.alert({ - content : "선택한 파일을 삭제하시겠습니까?" - , onOK : () => { - let tr = $(obj).parent().parent(); // 클릭한 버튼이 속한 tr 요소 + content: "선택한 파일을 삭제하시겠습니까?" + , onOK: () => { + let tr = $(obj).parent().parent(); // 클릭한 버튼이 속한 tr 요소 let td = tr.children(); - let fileNo = td.eq(0).text(); // 삭제할 파일 번호 + let fileNo = td.eq(0).text(); // 삭제할 파일 번호 let fileId = td.eq(1).text(); if (fileId != null && fileId != "") { ajax.post({ - url : "file/remove.do" - , data : { fileIDs : fileId } - , success : resp => { - // 성공 + url: "file/remove.do" + , data: { fileIDs : fileId } + , success: resp => { // 성공 } }); } else { @@ -430,7 +424,7 @@ $P.fileListArr.splice(fileNo - 1); } - $(obj).closest("tr").remove(); // table 에서 제거 + $(obj).closest("tr").remove(); // table 에서 제거 } }); } @@ -441,18 +435,14 @@ } // 저장 - $P.fnSave = (title) => { + $P.fnSave = () => { // validate 확인 if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; dialog.alert({ - content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" - , onOK : () => { - // 파리미터 설정 - let params = $P.formFields.get(); // formFields - params.title = title; // 타이틀 - - $P.control.save(params); + content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" + , onOK: () => { + $P.control.save($P.formFields.get()); // formFields } }); } @@ -484,13 +474,9 @@ $P.fnSearchAddr($(this).attr("title")); }); // 파일 등록 버튼 이벤트 - $("#btnAddFile--${pageName}").on('click', function() { - $("#uploadFiles--${pageName}").trigger("click"); - }); + $("#btnAddFile--${pageName}").on('click', () => $("#uploadFiles--${pageName}").trigger("click")); // 저장 버튼 이벤트 - $("#btnSave--${pageName}").on("click", function() { - $P.fnSave($(this).attr("title")); - }); + $("#btnSave--${pageName}").on("click", () => $P.fnSave()); } // 초기 화면 설정 @@ -507,6 +493,7 @@ $("#crdnYmdTm--${pageName}").prop("readonly", true); // 단속 일자 $("#rtpyrNm--${pageName}").prop("readonly", true); // 납부자 명 + // View로 호출 if ($P.callPurpose == "view") { // input 요소들을 disabled $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); @@ -519,17 +506,9 @@ } else if ($P.callPurpose == "create") { $("#rcptNo--${pageName}").prop("readonly", true); // 접수 번호 $("#rcptYmd--${pageName}").datepicker("setDate", new Date()); // 접수 일자 - } else if ($P.callPurpose == "update") { - // } } - // 업무구분에 따른 url 변경 - $P.setURL = (taskSeCd) => { - $P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/create.do"); // 등록 - $P.control.urls.update = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/update.do"); // 수정 - } - /************************************************************************** * 최초 실행 함수 **************************************************************************/ diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp index cd89c1bb..075793e5 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02030-info.jsp @@ -66,7 +66,7 @@
      - @@ -130,10 +130,8 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; - // URL - $P.PrefixUrl = "/excl/excl02"; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) $P.callPurpose = "${callPurpose}"; // FormFields @@ -143,10 +141,10 @@ * DatasetControl **************************************************************************/ $P.control = new DatasetControl({ - prefix : "opnnSbmsn" - , prefixName : "의견제출 심의" - , keymapper : info => info ? info.OPNN_ID : "" - , dataGetter : obj => obj.opnnSbmsnInfo + prefix: "opnnDlbr" + , prefixName: "의견제출 심의" + , keymapper: info => info ? info.OPNN_ID : "" + , dataGetter: obj => obj.${infoPrefix}Info }); /************************************************************************** @@ -157,20 +155,15 @@ if (!item) return; // Dataset 셋팅 - $P.formFields.set($P.control,item); - + $P.formFields.set($P.control, item); // 업무구분에 따른 URL 변경 - $P.setURL(item.data.TASK_SE_CD); - - // + $P.fnSetURL(item.data.TASK_SE_CD); + // 의견제출 상태 코드 변경 $P.fnChangeOpnnSbmsnSttsCd(item.data.OPNN_SBMSN_STTS_CD); - // 호출용도가 등록 이라면.. - if ($P.callPurpose == "create") { - // 날짜 - $("#ansYmd--${pageName}").datepicker("setDate", new Date()); - // 시간 "09:51:35 GMT+0900 (한국 표준시)"의 형식에서 공백을 기준으로 잘라 시간 부분만 가져와줍니다. - $("#ansTm--${pageName}").val(new Date().toTimeString().split(" ")[0]); + if (item.data.ANS_YMD == null || item.data.ANS_YMD == "") { + $("#ansYmd--${pageName}").datepicker("setDate", new Date()); // 날짜 + $("#ansTm--${pageName}").val(new Date().toTimeString().split(" ")[0]); // 시간 "09:51:35 GMT+0900 (한국 표준시)"의 형식에서 공백을 기준으로 잘라 시간 부분만 가져와줍니다. } } @@ -181,8 +174,8 @@ // 메시지 출력 dialog.alert({ - content : showMessage - , onOK : () => { } + content: showMessage + , onOK: () => { } }); if (resp.saved) { @@ -195,27 +188,36 @@ if (!info) return; ajax.post({ - url : $P.control.urls.update - , data : info - , success : resp => $P.control.onSave(resp) + url: $P.control.urls.update + , data: info + , success: resp => $P.control.onSave(resp) }); } /************************************************************************** * 사용자 함수(function) **************************************************************************/ + // 업무구분에 따른 URL 설정 + $P.fnSetURL = (taskSeCd) => { + $P.control.urls.update = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/030/update.do"); // 수정 + } + + // 의견제출 상태 코드 변경 $P.fnChangeOpnnSbmsnSttsCd = (obj) => { // javascript를 이용한 visibility 변경 (이 방법을 사용하는 경우, 안에 있는 요소들이 보이지않지만 그 요소들이 할당 하고 있는 공간은 그대로 유지(공백처리)) // document.getElementById("divRductRsnCd--${pageName}").style.visibility = "hidden"; // document.getElementById("divRductRsnCd--${pageName}").style.visibility = "visible"; - $("#divRductRsnCd--${pageName}").hide(); $("#divRductAmt--${pageName}").hide(); + $("#rductRsnCd--${pageName}").attr("required", false); + $("#rductAmt--${pageName}").attr("required", false); - if (obj == "04") { + if (obj == "04") { // 의견제출 상태 코드(FIM031) 04: 과태료감경 // 필수 선택 추가 필요 $("#divRductRsnCd--${pageName}").show(); $("#divRductAmt--${pageName}").show(); + $("#rductRsnCd--${pageName}").attr("required", true); + $("#rductAmt--${pageName}").attr("required", true); } } @@ -223,7 +225,7 @@ * 버튼 clickEvent **************************************************************************/ // 저장 - $P.fnSave = (title) => { + $P.fnSave = () => { // validate 확인 if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; @@ -234,21 +236,17 @@ if (opnnSbmsnSttsCd == "04" && rductRsnCd == "00") { dialog.alert({ - content : "감경사유가 '" + rductRsnNm + "' 입니다." - + "
      " + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + content: "감경사유가 '" + rductRsnNm + "' 입니다." + + "
      " + "[" + $P.control.prefixName + " 저장" + "]" + " 실행이 취소되었습니다." + , onOK: () => { } }); return; } dialog.alert({ - content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" - , onOK : () => { - // 파리미터 설정 - let params = $P.formFields.get(); // formFields - params.title = title; // 타이틀 - - $P.control.save(params); + content: "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" + , onOK: () => { + $P.control.save($P.formFields.get()); // formFields } }); } @@ -285,9 +283,7 @@ }); // 저장 버튼 이벤트 - $("#btnSave--${pageName}").on("click", function() { - $P.fnSave($(this).attr("title")); - }); + $("#btnSave--${pageName}").on("click", () => $P.fnSave()); } // 초기 화면 설정 @@ -306,11 +302,6 @@ } } - // 업무구분에 따른 URL 설정 - $P.setURL = (taskSeCd) => { - $P.control.urls.update = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/030/update.do"); // 수정 - } - /************************************************************************** * 최초 실행 함수 **************************************************************************/ diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp index 8951e569..86dc630e 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt02030-info.jsp @@ -37,8 +37,8 @@
      - - + +
      @@ -57,8 +57,8 @@
      - - + +
      @@ -94,7 +94,7 @@
      - +
      @@ -188,7 +188,7 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; // FormFields $P.formFields = new FimsFormFields("#frmEdit--${pageName}"); @@ -199,13 +199,13 @@ * DatasetControl **************************************************************************/ $P.control = new DatasetControl({ - prefix : "opnn" - , prefixName : "의견제출" - , keymapper : info => info ? info.OPNN_ID : "" - , dataGetter : obj => obj.opnnSbmsn - , formats : { - RCPT_YMD : dateFormat - , ANS_YMD_TM : datetimeFormat + prefix: "opnn" + , prefixName: "의견제출" + , keymapper: info => info ? info.OPNN_ID : "" + , dataGetter: obj => obj.opnnSbmsn + , formats: { + RCPT_YMD: dateFormat + , ANS_YMD_TM: datetimeFormat } }); @@ -216,7 +216,7 @@ $P.control.onCurrentChange = item => { if (!item) return; - $P.formFields.set($P.control,item); + $P.formFields.set($P.control, item); let key = item.data.OPNN_ID; @@ -231,9 +231,9 @@ if (!params) return; ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/excl/excl02/020/info.do") - , data : params || {} - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "/excl/excl02/020/info.do") + , data: params || {} + , success: resp => { if ((typeof resp) != "string") { if (resp.rtnMsg != "") { dialog.alert(resp.rtnMsg); @@ -241,11 +241,11 @@ return; } else { dialog.open({ - id : $P.control.prefixed("Dialog") - , title : params.title - , content : resp - , size : "lg" - , onClose : () => { $P.refreshDataInfo(); } + id: $P.control.prefixed("Dialog") + , title: params.title + , content: resp + , size: "lg" + , onClose: () => { $P.refreshDataInfo(); } }); } } @@ -258,12 +258,12 @@ let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); dialog.alert({ - content : showMessage - , onOK : () => { } + content: showMessage + , onOK: () => { } }); if (resp.saved) { - $P.refreshDataInfo(); // 자료 재조회 + $P.refreshDataInfo(); // 자료 재조회 } } @@ -272,9 +272,9 @@ if (!params) return; ajax.post({ - url : wctx.url("/" + params.taskSeCd + "/excl/excl02/010/remove.do") - , data : params || {} - , success : resp => $P.control.onRemove(resp) + url: wctx.url("/" + params.taskSeCd + "/excl/excl02/010/remove.do") + , data: params || {} + , success: resp => $P.control.onRemove(resp) }); } @@ -289,21 +289,21 @@ if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return; let params = { - callPurpose : "refresh" - , crdnId : crdnId - , sggCd : $("#sggCd--${pageNameMain}").val() - , taskSeCd : $("#taskSeCd--${pageNameMain}").val() - , delYn : "N" + callPurpose: "refresh" + , crdnId: crdnId + , sggCd: $("#sggCd--${pageNameMain}").val() + , taskSeCd: $("#taskSeCd--${pageNameMain}").val() + , delYn: "N" }; ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/030/info.do") + url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/030/info.do") , headers: { Accept: "application/json; charset=utf-8" } // json - , data : params || {} - , success : resp => { + , data: params || {} + , success: resp => { // 초기화 - $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 - $P.control.dataset.clear(); // Dataset 초기화 + $("#frmEdit--${pageName}")[0].reset(); // 화면 초기화 + $P.control.dataset.clear(); // Dataset 초기화 // 의견제출 정보 if (resp.opnnSbmsn) { @@ -322,15 +322,15 @@ if (!params) return; ajax.get({ - url : wctx.url("/" + params.taskSeCd + "/excl/excl02/030/info.do") - , data : params || {} - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "/excl/excl02/030/info.do") + , data: params || {} + , success: resp => { dialog.open({ - id : "opnnSbmsnDialog" - , title : params.title - , content : resp - , size : "lg" - , onClose : () => { $P.refreshDataInfo(); } + id: "opnnDlbrDialog" + , title: params.title + , content: resp + , size: "lg" + , onClose: () => { $P.refreshDataInfo(); } }); } }); @@ -340,11 +340,11 @@ $P.callbackRsn = (obj) => { // 서버에 전송할 data(파라미터) 생성 let params = { - callPurpose : "remove" - , opnnId : $P.control.dataset.getValue("OPNN_ID") // 의견제출 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 - , delRsn : obj.reason // 삭제 사유 + callPurpose: "remove" + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , opnnId: $P.control.dataset.getValue("OPNN_ID") // 의견제출 ID + , delRsn: obj.reason // 삭제 사유 }; $P.control.remove(params); @@ -357,8 +357,8 @@ let url = wctx.url("/" + params.taskSeCd + "/excl/excl02/010/makeHwp.do") let parameter = toQuery({ - opnnIds : params.opnnIds - , taskSeCd : params.taskSeCd + opnnIds: params.opnnIds + , taskSeCd: params.taskSeCd }); document.location.href = url + "?" + parameter; @@ -380,20 +380,20 @@ // 단속 상태 코드 확인 if (Number(crdnSttsCd) < 01 || Number(crdnSttsCd) > 45) { dialog.alert({ - content : "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다." + content: "[" + title + "]" + " 작업은 단속상태가 '부과 이전' 자료만 처리 가능합니다." + "
      " + "단속상태 : " + crdnSttsNm + "

      " + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + , onOK: () => { } }); return; } let params = { - callPurpose : "create" - , title : title - , crdnId : crdnId // 단속 ID - , sggCd : $("#sggCd--${pageNameMain}").val() // 시군구 코드 - , taskSeCd : $("#taskSeCd--${pageNameMain}").val() // 업무 구분 코드 + callPurpose: "create" + , title: title + , sggCd: $("#sggCd--${pageNameMain}").val() // 시군구 코드 + , taskSeCd: $("#taskSeCd--${pageNameMain}").val() // 업무 구분 코드 + , crdnId: crdnId // 단속 ID }; $P.control.getInfo(params); @@ -406,19 +406,19 @@ // 의견제출 ID 가 없다면.. return if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") { dialog.alert({ - content : "조회된 의견제출 대장 정보가 없습니다." + content: "조회된 의견제출 대장 정보가 없습니다." + "

      " + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + , onOK: () => { } }); return; } let params = { - callPurpose : "update" - , title : title - , opnnId : opnnId // 의견제출 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + callPurpose: "update" + , title: title + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , opnnId: opnnId // 의견제출 ID }; $P.control.getInfo(params); @@ -431,9 +431,9 @@ // 의견제출 ID 가 없다면.. return if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") { dialog.alert({ - content : "조회된 의견제출 대장 정보가 없습니다." + content: "조회된 의견제출 대장 정보가 없습니다." + "

      " + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + , onOK: () => { } }); return; } @@ -444,31 +444,29 @@ // 의견제출 상태 코드 확인 if (opnnSbmsnSttsCd != '00' && opnnSbmsnSttsCd != '03') { dialog.alert({ - content : "[" + title + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다." + content: "[" + title + "]" + " 작업은 심의결과가 '접수', '자진취하' 자료만 삭제 가능합니다." + "
      " + "심의결과 : " + opnnSbmsnSttsNm + "

      " + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + , onOK: () => { } }); return; } // 삭제 메세지 확인 dialog.alert({ - content : "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?" - , onOK : async() => { + content: "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?" + , onOK: async() => { // 사유 입력 - var resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); - var template = await resp.text(); + let resp = await fetch(wctx.url("/resources/html/inputRsnDialog.html")); + let template = await resp.text(); dialog.open({ - id : "inputDelRsnDialog", - title: title, - size : "lg", - content: template, - init : () => { - setDialogZindex(); - }, - onOK : () => { + id: "inputDelRsnDialog" + , title: title + , size: "lg" + , content: template + , init: () => { setDialogZindex(); } + , onOK : () => { $P.callbackRsn({ reason : $("#reason").val() }); } }); @@ -483,19 +481,19 @@ // 의견제출 ID 가 없다면.. return if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") { dialog.alert({ - content : "조회된 의견제출 대장 정보가 없습니다." + content: "조회된 의견제출 대장 정보가 없습니다." + "

      " + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + , onOK: () => { } }); return; } let params = { - callPurpose : "download" - , title : title - , opnnIds : opnnId // 의견제출 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + callPurpose: "download" + , title: title + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , opnnIds: opnnId // 의견제출 ID }; $P.makeHwpFileDlbrDecsn(params); @@ -508,9 +506,9 @@ // 의견제출 ID 가 없다면.. return if (typeof opnnId == "undefined" || opnnId == null || opnnId == "") { dialog.alert({ - content : "조회된 의견제출 대장 정보가 없습니다." + content: "조회된 의견제출 대장 정보가 없습니다." + "

      " + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + , onOK: () => { } }); return; } @@ -521,20 +519,20 @@ // 단속 상태 코드 확인 if ( (Number(crdnSttsCd) != 82 && Number(crdnSttsCd) != 87) && (Number(crdnSttsCd) < 21 || Number(crdnSttsCd) > 45) ) { dialog.alert({ - content : "[" + title + "]" + " 작업은 단속상태가 '의견제출수용', '경찰서이첩', '부과 이전' 자료만 처리 가능합니다." + content: "[" + title + "]" + " 작업은 단속상태가 '의견제출수용', '경찰서이첩', '부과 이전' 자료만 처리 가능합니다." + "
      " + "단속상태 : " + crdnSttsNm + "

      " + "[" + title + "]" + " 실행이 취소되었습니다." - , onOK : () => { } + , onOK: () => { } }); return; } let params = { - callPurpose : "update" - , title : title - , opnnId : opnnId // 의견제출 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + callPurpose: "update" + , title: title + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , opnnId: opnnId // 의견제출 ID }; $P.getOpnnSbmsnDlbrtInfo(params);