From 00fc87b9781bfaa79a3bf1e596d42795b64ced1c Mon Sep 17 00:00:00 2001 From: jjh Date: Thu, 13 Jun 2024 18:10:15 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=85=EB=AC=B4=EC=A7=80=EC=9B=90=20-=20?= =?UTF-8?q?=EB=AF=BC=EC=9B=90=EC=83=81=EB=8B=B4=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cokr/xit/fims/sprt/CvlcptDscsn.java | 6 + .../cokr/xit/fims/sprt/CvlcptDscsnQuery.java | 40 +-- .../xit/fims/sprt/dao/CvlcptDscsnMapper.java | 45 +-- .../fims/sprt/service/CvlcptDscsnService.java | 9 - .../sprt/service/bean/CvlcptDscsnBean.java | 67 ++-- .../service/bean/CvlcptDscsnServiceBean.java | 29 -- .../xit/fims/sprt/web/Sprt04Controller.java | 56 +-- .../mapper/fims/sprt/cvlcptDscsn-mapper.xml | 203 +++++------ .../WEB-INF/jsp/fims/epst/epst02010-main.jsp | 6 +- .../WEB-INF/jsp/fims/epst/epst02050-main.jsp | 2 +- .../WEB-INF/jsp/fims/sprt/sprt04010-main.jsp | 325 ++++++++---------- .../WEB-INF/jsp/fims/sprt/sprt04020-info.jsp | 73 ++-- 12 files changed, 365 insertions(+), 496 deletions(-) diff --git a/src/main/java/cokr/xit/fims/sprt/CvlcptDscsn.java b/src/main/java/cokr/xit/fims/sprt/CvlcptDscsn.java index 9d53a346..b4fba4c7 100644 --- a/src/main/java/cokr/xit/fims/sprt/CvlcptDscsn.java +++ b/src/main/java/cokr/xit/fims/sprt/CvlcptDscsn.java @@ -82,9 +82,15 @@ public class CvlcptDscsn extends AbstractEntity { */ private String delRsn; + /** + * 민원 상담 Ids + */ + private String[] cvlcptDscsnIds; + /** * 납부자 ID */ private String rtpyrId; + } diff --git a/src/main/java/cokr/xit/fims/sprt/CvlcptDscsnQuery.java b/src/main/java/cokr/xit/fims/sprt/CvlcptDscsnQuery.java index 88ff8145..b024f38f 100644 --- a/src/main/java/cokr/xit/fims/sprt/CvlcptDscsnQuery.java +++ b/src/main/java/cokr/xit/fims/sprt/CvlcptDscsnQuery.java @@ -17,28 +17,28 @@ public class CvlcptDscsnQuery extends CmmnQuery { private static final long serialVersionUID = 1L; // ID - private String cvlcptDscsnId; // 민원 상담 ID - private String[] cvlcptDscsnIDs; // 민원 상담 IDs - private String crdnId; // 단속 ID + private String[] cvlcptDscsnIds; // 민원 상담 Ids + private String cvlcptDscsnId; // 민원 상담 ID + private String crdnId; // 단속 ID // 검색 조건 - private String schDscsnYmdFrom; // 상담 일자 시작 - private String schDscsnYmdTo; // 상담 일자 종료 - private String schVhrno; // 차량번호 - private String schCvlprNm; // 민원인 명 - private String schRtpyrNo; // 납부자 번호 + private String schDscsnYmdFrom; // 상담 일자 시작 + private String schDscsnYmdTo; // 상담 일자 종료 + private String schVhrno; // 차량번호 + private String schCvlprNm; // 민원인 명 + private String schRtpyrNo; // 납부자 번호 // 상세 검색 조건 // 동적 검색 조건 private String inquiryCondition; - private String cvlcptRcptSeCd; // 민원 접수 구분 코드 - private String vhrno; // 차량번호 - private String rtpyrNo; // 납부자 번호 - private String dscsnYmd; // 상담 일자 - private String weekNm; // 요일 명 - private String cvlprNm; // 민원인 명 - private String cvlprCttpc; // 민원인 연락처 - private String dscsnCn; // 상담 내용 + private String cvlcptRcptSeCd; // 민원 접수 구분 코드 + private String vhrno; // 차량번호 + private String rtpyrNo; // 납부자 번호 + private String dscsnYmd; // 상담 일자 + private String weekNm; // 요일 명 + private String cvlprNm; // 민원인 명 + private String cvlprCttpc; // 민원인 연락처 + private String dscsnCn; // 상담 내용 // ETC private String callPurpose; // 자료 조회시 호출용도. (view 조회, create 등록, update 수정, refresh 재조회) @@ -53,12 +53,12 @@ public class CvlcptDscsnQuery extends CmmnQuery { return self(); } - public String[] getCvlcptDscsnIDs() { - return ifEmpty(cvlcptDscsnIDs, () -> null); + public String[] getCvlcptDscsnIds() { + return ifEmpty(cvlcptDscsnIds, () -> null); } - public T setCvlcptDscsnIDs(String... cvlcptDscsnIDs) { - this.cvlcptDscsnIDs = cvlcptDscsnIDs; + public T setCvlcptDscsnIds(String... cvlcptDscsnIds) { + this.cvlcptDscsnIds = cvlcptDscsnIds; return self(); } diff --git a/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnMapper.java b/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnMapper.java index 4dee0886..73ae3616 100644 --- a/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnMapper.java +++ b/src/main/java/cokr/xit/fims/sprt/dao/CvlcptDscsnMapper.java @@ -1,14 +1,13 @@ package cokr.xit.fims.sprt.dao; import java.util.List; -import java.util.Map; import org.egovframe.rte.psl.dataaccess.mapper.Mapper; -import cokr.xit.foundation.component.AbstractMapper; -import cokr.xit.foundation.data.DataObject; import cokr.xit.fims.sprt.CvlcptDscsn; import cokr.xit.fims.sprt.CvlcptDscsnQuery; +import cokr.xit.foundation.component.AbstractMapper; +import cokr.xit.foundation.data.DataObject; /**업무지원 - 민원 상담 내용 정보 DAO * @@ -62,18 +61,7 @@ public interface CvlcptDscsnMapper extends AbstractMapper { * * @return 저장된 정보수 */ - int insertCvlcptDscsn(Map params); - - /**민원 상담 내용 정보를 등록한다. - * @param cvlcptDscsn 민원 상담 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean insert(CvlcptDscsn cvlcptDscsn) { - return cvlcptDscsn != null && insertCvlcptDscsn(params().set("cvlcptDscsn", cvlcptDscsn)) == 1; - } + int insertCvlcptDscsn(CvlcptDscsn cvlcptDscsn); /**민원 상담 내용 정보를 수정한다. * @param params 파라미터 @@ -82,18 +70,7 @@ public interface CvlcptDscsnMapper extends AbstractMapper { * * @return 저장된 정보수 */ - int updateCvlcptDscsn(Map params); - - /**민원 상담 내용 정보를 수정한다. - * @param cvlcptDscsnCn 민원 상담 내용 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean update(CvlcptDscsn cvlcptDscsn) { - return cvlcptDscsn != null && updateCvlcptDscsn(params().set("cvlcptDscsn", cvlcptDscsn)) == 1; - } + int updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn); /**지정한 민원 상담 내용을 삭제한다. * @param params 파라미터 @@ -102,18 +79,7 @@ public interface CvlcptDscsnMapper extends AbstractMapper { * * @return 저장된 정보수 */ - int deleteCvlcptDscsn(Map params); - - /**민원 상담 내용 정보를 삭제한다. - * @param cvlcptDscsnCn 민원 상담 내용 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - default boolean delete(CvlcptDscsn cvlcptDscsn) { - return cvlcptDscsn != null && deleteCvlcptDscsn(params().set("cvlcptDscsn", cvlcptDscsn)) == 1; - } + int deleteCvlcptDscsn(CvlcptDscsn cvlcptDscsn); /**지정한 단속 ID의 단속 정보를 반환한다. * @param crdnId 단속 ID @@ -121,5 +87,4 @@ public interface CvlcptDscsnMapper extends AbstractMapper { */ DataObject selectCrdn(CvlcptDscsnQuery req); - } diff --git a/src/main/java/cokr/xit/fims/sprt/service/CvlcptDscsnService.java b/src/main/java/cokr/xit/fims/sprt/service/CvlcptDscsnService.java index 97f3ea8d..5de6c517 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/CvlcptDscsnService.java +++ b/src/main/java/cokr/xit/fims/sprt/service/CvlcptDscsnService.java @@ -60,15 +60,6 @@ public interface CvlcptDscsnService { */ String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsnCn); - /**민원 상담 내용 대장 정보를 삭제한다. - * @param req 의견제출 대장 조회 조건 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - String removeCvlcptDscsnList(CvlcptDscsnQuery req); - /**민원 상담 내용 대장 정보를 삭제한다. * @param cvlcptDscsnCn 민원 상담 내용 * @return 저장 여부 diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnBean.java index 7b21b98a..1d351923 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnBean.java +++ b/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnBean.java @@ -6,6 +6,7 @@ import javax.annotation.Resource; import org.springframework.stereotype.Component; +import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.sprt.CvlcptDscsn; import cokr.xit.fims.sprt.CvlcptDscsnQuery; import cokr.xit.fims.sprt.dao.CvlcptDscsnMapper; @@ -34,11 +35,17 @@ public class CvlcptDscsnBean extends AbstractBean { * @return 민원 상담 내용 목록 */ public List getCvlcptDscsnList(CvlcptDscsnQuery req) { + // 삭제 여부 확인 if (req.getDelYn() == null) { req.setDelYn("N"); } + // 정렬 확인 if (req.getOrderBy() == null) { - req.setOrderBy("REG_DT"); + if (req.getBy() == null) { + req.setOrderBy("REG_DT"); + } else { + req.setOrderBy(CmmnUtil.convertCamelCaseToSnakeCase(req.getBy())); + } } return cvlcptDscsnMapper.selectCvlcptDscsnList(req); @@ -49,6 +56,11 @@ public class CvlcptDscsnBean extends AbstractBean { * @return 민원 상담 내용 객체 목록 */ public List getCvlcptDscsns(CvlcptDscsnQuery req) { + // 삭제 여부 확인 + if (req.getDelYn() == null) { + req.setDelYn("N"); + } + // 정렬 확인 if (req.getOrderBy() == null) { req.setOrderBy("CD.CVLCPT_DSCSN_ID DESC"); } @@ -61,10 +73,6 @@ public class CvlcptDscsnBean extends AbstractBean { * @return 민원 상담 내용 객체 목록 */ public DataObject getCvlcptDscsnNocs(CvlcptDscsnQuery req) { - if (req.getOrderBy() == null) { - req.setOrderBy("CD.CVLCPT_DSCSN_ID DESC"); - } - return cvlcptDscsnMapper.selectCvlcptDscsnNocs(req); } @@ -84,10 +92,7 @@ public class CvlcptDscsnBean extends AbstractBean { * */ public String createCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - + // if (cvlcptDscsn.getCvlcptRcptSeCd().equals("01")) { cvlcptDscsn.setVhrno(null); cvlcptDscsn.setRtpyrNo(null); @@ -97,15 +102,13 @@ public class CvlcptDscsnBean extends AbstractBean { cvlcptDscsn.setVhrno(null); } - rtnScs = cvlcptDscsnMapper.insert(cvlcptDscsn); - if (!rtnScs) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("민원상담내용 대장 등록에 실패하였습니다."); + // 민원상담(TB_CVLCPT_DSCSN) 대장을 등록 한다. + int rtnNocs = cvlcptDscsnMapper.insertCvlcptDscsn(cvlcptDscsn); + if (rtnNocs != 1) { + throw new RuntimeException("민원상담내용 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; + return "[S] 작업이 정상 처리 되었습니다."; } /**민원 상담 내용 정보를 수정한다. @@ -116,19 +119,13 @@ public class CvlcptDscsnBean extends AbstractBean { * */ public String updateCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - rtnScs = cvlcptDscsnMapper.update(cvlcptDscsn); - if (!rtnScs) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("민원상담내용 대장 수정에 실패하였습니다."); + // 민원상담(TB_CVLCPT_DSCSN) 대장을 수정 한다. + int rtnNocs = cvlcptDscsnMapper.updateCvlcptDscsn(cvlcptDscsn); + if (rtnNocs != 1) { + throw new RuntimeException("민원상담내용 대장 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; + return "[S] 작업이 정상 처리 되었습니다."; } /**민원 상담 내용 정보를 삭제한다. @@ -139,19 +136,13 @@ public class CvlcptDscsnBean extends AbstractBean { * */ public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - rtnScs = cvlcptDscsnMapper.delete(cvlcptDscsn); - if (!rtnScs) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("민원상담내용 대장 삭제에 실패하였습니다."); + // 민원상담(TB_CVLCPT_DSCSN) 대장을 삭제 한다. + int rtnNocs = cvlcptDscsnMapper.deleteCvlcptDscsn(cvlcptDscsn); + if (rtnNocs < 1) { + throw new RuntimeException("민원상담내용 대장 삭제에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback } - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; + return "[S] 작업이 정상 처리 되었습니다."; } /**지정한 단속 ID의 단속 정보를 반환한다.
diff --git a/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnServiceBean.java b/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnServiceBean.java index 4924b3b8..6c088aea 100644 --- a/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnServiceBean.java +++ b/src/main/java/cokr/xit/fims/sprt/service/bean/CvlcptDscsnServiceBean.java @@ -63,35 +63,6 @@ public class CvlcptDscsnServiceBean extends AbstractServiceBean implements Cvlcp return cvlcptDscsnBean.updateCvlcptDscsn(cvlcptDscsn); } - @Override - public String removeCvlcptDscsnList(CvlcptDscsnQuery req) { - // 변수 선언 - String rtnMsg = ""; // 처리 결과 메시지 - - // 민원 상담 IDs 건수를 확인하여 1건이하면.. 종료 - if (req.getCvlcptDscsnIDs().length < 1) { - rtnMsg = "작업 중 선택 자료가 존재하지 않습니다."; - return rtnMsg; - } - - // 민원 상담 IDs 만큼 반복.. - for (int iLoop = 0; iLoop < req.getCvlcptDscsnIDs().length; iLoop++) { - CvlcptDscsn cvlcptDscsn = new CvlcptDscsn(); - - cvlcptDscsn.setCvlcptDscsnId(req.getCvlcptDscsnIDs()[iLoop]); // 민원 상담 ID - cvlcptDscsn.setDelRsn(req.getDelRsn()); // 삭제 사유 - - // 부과제외 삭제 호출 - rtnMsg = cvlcptDscsnBean.removeCvlcptDscsn(cvlcptDscsn); - // 오류가 발생하였으면 종료.. - if (rtnMsg.contains("[F]")) { - return rtnMsg; - } - } - - return rtnMsg; - } - @Override public String removeCvlcptDscsn(CvlcptDscsn cvlcptDscsn) { return cvlcptDscsnBean.removeCvlcptDscsn(cvlcptDscsn); diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java index d48ded62..1431aa95 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt04Controller.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import org.apache.poi.ss.usermodel.CellStyle; import org.springframework.stereotype.Controller; @@ -46,14 +47,13 @@ public class Sprt04Controller extends ApplicationController { public class METHOD_URL { public static final String - civilComplaintDiscussionMain = "/010/main.do" // 민원 상담 관리 메인 화면 - , getCvlcptDscsnList = "/010/list.do" // 민원 상담 내용 대장 목록 조회 - , getCvlcptDscsnNocs = "/010/nocs.do" // 민원 상담 내용 건수 조회 - , getCvlcptDscsnInfo = "/020/info.do" // 민원 상담 내용 정보 조회 - , createCvlcptDscsn = "/020/create.do" // 민원 상담 내용 대장 등럭 - , updateCvlcptDscsn = "/020/update.do" // 민원 상담 내용 대장 수정 - , removeCvlcptDscsnList = "/010/removes.do" // 민원 상담 내용 대장 목록 삭제 - , removeCvlcptDscsn = "/010/remove.do" // 민원 상담 내용 대장 삭제 + civilComplaintDiscussionMain = "/010/main.do" // 민원 상담 관리 메인 화면 + , getCvlcptDscsnList = "/010/list.do" // 민원 상담 내용 대장 목록 조회 + , getCvlcptDscsnNocs = "/010/nocs.do" // 민원 상담 내용 건수 조회 + , getCvlcptDscsnInfo = "/020/info.do" // 민원 상담 내용 정보 조회 + , createCvlcptDscsn = "/020/create.do" // 민원 상담 내용 대장 등럭 + , updateCvlcptDscsn = "/020/update.do" // 민원 상담 내용 대장 수정 + , removeCvlcptDscsn = "/010/remove.do" // 민원 상담 내용 대장 삭제 ; } @@ -70,7 +70,6 @@ public class Sprt04Controller extends ApplicationController { */ @RequestMapping(name="민원 상담 내용 메인", value="/010/main.do") public ModelAndView civilComplaintDiscussionMain() { - // View(jsp) ModelAndView mav = new ModelAndView("fims/sprt/sprt04010-main"); // 사용자 정보 @@ -81,9 +80,9 @@ public class Sprt04Controller extends ApplicationController { return mav.addObject("pageName", "sprt04010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix .addObject("infoPrefix", "cvlcptDscsn") // prefix + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl .addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD) .addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) ; } @@ -155,7 +154,6 @@ public class Sprt04Controller extends ApplicationController { @Task @RequestMapping(name="민원 상담 대장 건수 조회", value=METHOD_URL.getCvlcptDscsnNocs) public ModelAndView getCvlcptDscsnNocs(CvlcptDscsnQuery req) { - // DataObject result = cvlcptDscsnService.getCvlcptDscsnNocs(req); boolean json = jsonResponse(); @@ -173,20 +171,21 @@ public class Sprt04Controller extends ApplicationController { */ @Task @RequestMapping(name="민원 상담 정보 조회", value=METHOD_URL.getCvlcptDscsnInfo) - public ModelAndView getCvlcptDscsnInfo(CvlcptDscsnQuery req) { + public ModelAndView getCvlcptDscsnInfo(HttpServletRequest hReq, CvlcptDscsnQuery req) { DataObject cvlcptDscsnInfo = cvlcptDscsnService.getCvlcptDscsnInfo(req); boolean json = jsonResponse(); - ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt04020-info"); // View(jsp)에서 사용할 공통코드를 조회 Map> commonCodes = getCodesOf("FIM065"); return mav - .addObject("pageName", "sprt04020") // - .addObject("FIM065List", commonCodes.get("FIM065")) // 민원 접수 구분 코드(CVLCPT_RCPT_SE_CD) - .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("openerPageName", hReq.getParameter("openerPageName")) // 호출한 Jsp PageName + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("pageName", "sprt04020") // + .addObject("infoPrefixUrl", CLASS_URL) // prefixUrl + .addObject("FIM065List", commonCodes.get("FIM065")) // 민원 접수 구분 코드(CVLCPT_RCPT_SE_CD) .addObject("cvlcptDscsnInfo", json ? cvlcptDscsnInfo : toJson(cvlcptDscsnInfo)) // 민원 상담 정보 ; } @@ -239,31 +238,6 @@ public class Sprt04Controller extends ApplicationController { .addObject("rtnMsg", rtnMsg); } - /**여러 건의 민원 상담 정보를 제거한다. - * @param cvlcptDscsnIDs 민원 상담 아이디s - * @return jsonView - *
 {
-	 *     "affected": 저장된 정보수
-	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
-	 * }
- */ - @Task - @RequestMapping(name="민원 상담 대장 목록 삭제", value=METHOD_URL.removeCvlcptDscsnList) - public ModelAndView removeCvlcptDscsnList(CvlcptDscsnQuery req) { - boolean saved = false; - String rtnMsg = cvlcptDscsnService.removeCvlcptDscsnList(req); - - if (rtnMsg.contains("[S]")) { - saved = true; - } else { - saved = false; - } - - return new ModelAndView("jsonView") - .addObject("saved", saved) - .addObject("rtnMsg", rtnMsg); - } - /**지정한 민원 상담 내용를 제거한다. * @param cvlcptDscsnId 민원 상담 아이디 * @return jsonView diff --git a/src/main/resources/sql/mapper/fims/sprt/cvlcptDscsn-mapper.xml b/src/main/resources/sql/mapper/fims/sprt/cvlcptDscsn-mapper.xml index 4a074aa7..2a027881 100644 --- a/src/main/resources/sql/mapper/fims/sprt/cvlcptDscsn-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sprt/cvlcptDscsn-mapper.xml @@ -31,30 +31,30 @@ - SELECT CD.CVLCPT_DSCSN_ID - , CD.SGG_CD - , CD.TASK_SE_CD - , CD.CVLCPT_RCPT_SE_CD - , CD.CRDN_ID - , CD.VHRNO - , CD.RTPYR_NO - , CD.DSCSN_YMD - , CD.WEEK_NM - , CD.CVLPR_NM - , CD.CVLPR_CTTPC - , CD.DSCSN_CN - , CD.DEL_YN - , CD.REG_DT - , CD.RGTR - , CD.MDFCN_DT - , CD.MDFR - , CD.DEL_DT - , CD.DLTR - , CD.DEL_RSN + SELECT CD.CVLCPT_DSCSN_ID + , CD.SGG_CD + , CD.TASK_SE_CD + , CD.CVLCPT_RCPT_SE_CD , (SELECT GET_CODE_NM('FIM065', CD.CVLCPT_RCPT_SE_CD) FROM DUAL) AS CVLCPT_RCPT_SE_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.RGTR) AS RGTR_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.MDFR) AS MDFR_NM - , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.DLTR) AS DLTR_NM + , CD.CRDN_ID + , CD.VHRNO + , CD.RTPYR_NO + , CD.DSCSN_YMD + , CD.WEEK_NM + , CD.CVLPR_NM + , CD.CVLPR_CTTPC + , CD.DSCSN_CN + , CD.DEL_YN + , CD.REG_DT + , CD.RGTR + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.RGTR) AS RGTR_NM + , CD.MDFCN_DT + , CD.MDFR + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.MDFR) AS MDFR_NM + , CD.DEL_DT + , CD.DLTR + , (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = CD.DLTR) AS DLTR_NM + , CD.DEL_RSN FROM TB_CVLCPT_DSCSN CD @@ -89,7 +89,7 @@ - AND CD.CVLCPT_DSCSN_ID = #{cvlcptDscsnId} + AND CD.CVLCPT_DSCSN_ID = #{cvlcptDscsnId} @@ -100,17 +100,17 @@ - AND CD.CRDN_ID = #{crdnId} + AND CD.CRDN_ID = #{crdnId} - AND CD.VHRNO = #{vhrno} + AND CD.VHRNO = #{vhrno} - AND CD.RTPYR_NO = #{rtpyrNo} + AND CD.RTPYR_NO = #{rtpyrNo} - AND CD.DEL_YN = 'N' + AND CD.DEL_YN = 'N' @@ -132,50 +132,52 @@ AND DEL_YN = 'N' - /* 민원 상담 내용 등록(cvlcptDscsnMapper.insertCvlcptDscsn) */ - - SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(CVLCPT_DSCSN_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID - FROM TB_CVLCPT_DSCSN - WHERE CVLCPT_DSCSN_ID LIKE CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), '%') + /* 민원 상담 내용 등록(cvlcptDscsnMapper.insertCvlcptDscsn) */ + + + + + + INSERT INTO TB_CVLCPT_DSCSN ( - CVLCPT_DSCSN_ID - , SGG_CD - , TASK_SE_CD - , CVLCPT_RCPT_SE_CD - , CRDN_ID - , VHRNO - , RTPYR_NO - , DSCSN_YMD - , WEEK_NM - , CVLPR_NM - , CVLPR_CTTPC - , DSCSN_CN - , DEL_YN - , REG_DT - , RGTR - , MDFCN_DT - , MDFR + CVLCPT_DSCSN_ID + , SGG_CD + , TASK_SE_CD + , CVLCPT_RCPT_SE_CD + , CRDN_ID + , VHRNO + , RTPYR_NO + , DSCSN_YMD + , WEEK_NM + , CVLPR_NM + , CVLPR_CTTPC + , DSCSN_CN + , DEL_YN + , REG_DT + , RGTR + , MDFCN_DT + , MDFR ) VALUES ( - #{cvlcptDscsn.cvlcptDscsnId} - , #{cvlcptDscsn.sggCd} - , #{cvlcptDscsn.taskSeCd} - , #{cvlcptDscsn.cvlcptRcptSeCd} - , #{cvlcptDscsn.crdnId} + #{cvlcptDscsnId} + , #{sggCd} + , #{taskSeCd} + , #{cvlcptRcptSeCd} + , #{crdnId} - - , #{cvlcptDscsn.vhrno} - , NULL + + , #{vhrno} + , NULL - - , NULL - , #{cvlcptDscsn.rtpyrNo} + + , NULL + , #{rtpyrNo} - , NULL - , NULL + , NULL + , NULL , @@ -187,55 +189,64 @@ WHEN '5' THEN '목' WHEN '6' THEN '금' WHEN '7' THEN '토' - END ) - , #{cvlcptDscsn.cvlprNm} - , #{cvlcptDscsn.cvlprCttpc} - , #{cvlcptDscsn.dscsnCn} - , 'N' + END ) + , #{cvlprNm} + , #{cvlprCttpc} + , #{dscsnCn} + , 'N' , - , #{cvlcptDscsn.createdBy} + , #{createdBy} , - , #{cvlcptDscsn.modifiedBy} + , #{modifiedBy} ) - /* 민원 상담 내용 수정(cvlcptDscsnMapper.updateCvlcptDscsn) */ + /* 민원 상담 내용 수정(cvlcptDscsnMapper.updateCvlcptDscsn) */ UPDATE TB_CVLCPT_DSCSN - SET CVLPR_NM = #{cvlcptDscsn.cvlprNm} - , CVLPR_CTTPC = #{cvlcptDscsn.cvlprCttpc} - , DSCSN_CN = #{cvlcptDscsn.dscsnCn} - , MDFCN_DT = - , MDFR = #{cvlcptDscsn.modifiedBy} - WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsn.cvlcptDscsnId} - AND DEL_YN = 'N' + SET CVLPR_NM = #{cvlprNm} + , CVLPR_CTTPC = #{cvlprCttpc} + , DSCSN_CN = #{dscsnCn} + , MDFCN_DT = + , MDFR = #{modifiedBy} + WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsnId} + AND DEL_YN = 'N' - /* 민원 상담 내용 삭제(cvlcptDscsnMapper.deleteCvlcptDscsn) */ + /* 민원 상담 내용 삭제(cvlcptDscsnMapper.deleteCvlcptDscsn) */ UPDATE TB_CVLCPT_DSCSN - SET DEL_YN = 'Y' - , DEL_DT = - , DLTR = #{cvlcptDscsn.modifiedBy} - , DEL_RSN = #{cvlcptDscsn.delRsn} - WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsn.cvlcptDscsnId} - AND DEL_YN = 'N' + SET DEL_YN = 'Y' + , DEL_DT = + , DLTR = #{modifiedBy} + , DEL_RSN = #{delRsn} + + + WHERE CVLCPT_DSCSN_ID IN ( + #{cvlcptDscsnId} + ) + + + WHERE CVLCPT_DSCSN_ID = #{cvlcptDscsnId} + + + AND DEL_YN = 'N' diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp index f0ddc0c2..8e646264 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02010-main.jsp @@ -122,13 +122,13 @@ diff --git a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02050-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02050-main.jsp index a970bd6d..ada01071 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/epst/epst02050-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/epst/epst02050-main.jsp @@ -467,7 +467,7 @@ $P.control.load(1); // 합계금액 검색 - 검색시 log에 등록할때 MAX+1 오류 발생으로 인한 타이머 동작 - setTimeout(() => $P.getSumAmtInfo($P.control.query), 250); + setTimeout(() => $P.getSumAmtInfo($P.control.query), 500); //$P.getSumAmtInfo($P.control.query); } diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp index 8b23c931..1497460f 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04010-main.jsp @@ -1,14 +1,15 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> +민원상담 관리 +
- 민원상담 관리 -
+
@@ -36,12 +37,12 @@
- 업무구분 + 업무구분 @@ -49,7 +50,7 @@
- 상담일자 + @@ -60,31 +61,23 @@
- -
-
- +
- -
- - -
- +
- + - + + +
-
- - - +
+
@@ -144,11 +133,11 @@
- - @@ -231,10 +220,8 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; - // URL - $P.PrefixUrl = "/sprt/sprt04"; // FormFields $P.formFields = new FimsFormFields("#frmSearch--${pageName}"); @@ -242,45 +229,45 @@ * DatasetControl **************************************************************************/ $P.control = new DatasetControl({ - prefix : "cvlcptDscsn" - , prefixName : "민원상담" - , infoSize : "lg" - , keymapper : info => info ? info.CVLCPT_DSCSN_ID : "" - , dataGetter : obj => obj.cvlcptDscsnList - , appendData : true - , formats : { - DSCSN_YMD : dateFormat - , REG_DT : datetimeFormat - , MDFCN_DT : datetimeFormat + prefix: "cvlcptDscsn" + , prefixName: "민원상담" + , keymapper: info => info ? info.CVLCPT_DSCSN_ID : "" + , dataGetter: obj => obj.${infoPrefix}List + , appendData: true + , infoSize: "lg" + , formats: { + DSCSN_YMD: dateFormat + , 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.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30 + $P.control.untilPageNum = 0; // 현재 페이지 번호 $P.control.beforeCurrent = null; + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 /************************************************************************** * DatasetControl 이벤트 **************************************************************************/ // Dataset 변경 이벤트 - $P.control.onDatasetChange = obj => { + $P.control.onDatasetChange = (obj) => { $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: "pageObject['${pageName}'].control.load({index})" }); - $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 + $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 }; // 현재 선택 자료 변경 이벤트 - $P.control.onCurrentChange = item => { + $P.control.onCurrentChange = (item) => { if (!item) return; let key = item.data.CVLCPT_DSCSN_ID; @@ -295,19 +282,26 @@ $("#tbody--${pageName} input[type='checkbox']").each(function() { let checkbox = $(this); - checkbox.prop("checked", keys.includes(checkbox.val())); }); $("#btnRemove--${pageName}").prop("disabled", keys.length < 1); + + // DataTables(그리드) 전체 선택(checkbox) + if (keys.length < 1) { + $("th input[type='checkbox']").prop("checked", false); // 체크 해제 + } else if (keys.length == ${infoPrefix}List.length) { + $("th input[type='checkbox']").prop("checked", true); // 체크 설정 + } else { + $("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") { @@ -317,15 +311,15 @@ } ajax.get({ - url : $P.control.urls.getInfo - , data : params || {} - , success : resp => { + url: wctx.url("/" + params.taskSeCd + "${infoPrefixUrl}" + "/020/info.do") + "?openerPageName=${pageName}" + , 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--${pageName}") + , title: dialogTitle + , content: resp + , size: $P.control.infoSize + , onClose: () => { $P.fnRefreshList(); } // 자료 재조회 }); } }); @@ -338,13 +332,11 @@ // 메시지 출력 dialog.alert({ - content : showMessage - , onOK : () => { } + content: showMessage + , onOK: () => { } }); - if (resp.saved) { - $P.refreshList(); // 자료 재조회 - } + if (resp.saved) { $P.fnRefreshList(); } // 자료 재조회 } // 삭제 @@ -352,9 +344,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) }); } @@ -372,7 +364,7 @@ document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> (str, dataItem) => str .replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');") - .replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnUpdateCvlcptDscsn('민원상담 수정');") + .replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnUpdate('민원상담 수정');") ); let noMore = (totalSize == ${infoPrefix}List.length); @@ -395,7 +387,7 @@ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 $P.scrollDataList = () => { - $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false + $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.control.load($P.control.query.pageNum + 1); } @@ -403,47 +395,30 @@ /************************************************************************** * 사용자 함수(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" - }); - } - }); - } - // 검색 자료 재조회 - $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); } - // 사유 callback + // 사용자검색 callback + $P.callbackFindUser = (userId, userNm) => { + $("#schRgtrCd--${pageName}").val(userId); // 사용자 ID + $("#schRgtrNm--${pageName}").val(userNm); // 사용자 명 + } + + // 삭제사유 callback $P.callbackRsn = (obj) => { // 서버에 전송할 data(파라미터) 생성 let params = {}; - params[$P.control.prefixed("Ids")] = selected.join(","); // Ids - params.delRsn = obj.reason; // 삭제 사유 + 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); } @@ -459,9 +434,7 @@ } // 초기 기본 설정 - $P.initForm(); - // 기본 데이터 설정 - $P.initData(taskSeCd); + $P.initForm(taskSeCd); // 업무 구분별 설정 $P.setTask(taskSeCd); @@ -469,12 +442,34 @@ $P.control.dataset.clear(); } + // 사용자검색 버튼 클릭 이벤트 + $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" + , init: () => { setDialogZindex(); } + }); + } + }); + } + // 검색 버튼 이벤트 $P.fnSearchList = () => { // 검색조건 - $P.control.query = $P.formFields.get(); - $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 - $P.control.query.delYn = "N"; // 삭제 여부 + $P.control.query = $P.formFields.get(); // 검색 조건 + $P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 + $P.control.query.delYn = "N"; // 삭제 여부 $P.control.load(1); } @@ -483,10 +478,9 @@ $P.fnExcel = () => { if ($P.control.dataset.empty) { dialog.alert({ - content : "검색된 자료가 없습니다." - , onOK : () => { } + content: "검색된 자료가 없습니다." + , onOK: () => { } }); - return; } @@ -498,53 +492,52 @@ $P.control.download(); } - // 사용자 조회 버튼 이벤트 - $P.fnFindUser = () => { - $P.getFindUser(); - } - // 수정 버튼 이벤트 - $P.fnUpdateCvlcptDscsn = (title) => { + $P.fnUpdate = (title) => { // 민원상담 ID let cvlcptDscsnId = $P.control.dataset.getValue("CVLCPT_DSCSN_ID"); // 민원상담 ID 가 없다면.. 입력 if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") return; let params = { - title : title - , callPurpose : "update" - , cvlcptDscsnId : cvlcptDscsnId // 민원상담 ID - , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드 - , taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + title: title + , callPurpose: "update" + , sggCd: $P.control.dataset.getValue("SGG_CD") // 시군구 코드 + , taskSeCd: $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 + , cvlcptDscsnId: cvlcptDscsnId // 민원상담 ID }; $P.control.getInfo(params); } // 삭제 버튼 이벤트 - $P.fnRemoveCvlcptDscsn = (title) => { + $P.fnRemove = (title) => { // 선택 자료 let selected = $P.control.dataset.getKeys("selected"); - if (selected.length < 1) return; + if (selected.length < 1) { + dialog.alert({ + content: "선택하신 " + $P.control.prefixName + " 정보가 없습니다." + , onOK: () => { } + }); + return; + } // 삭제 메세지 확인 dialog.alert({ 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() }); } }); @@ -561,7 +554,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) { @@ -583,13 +576,12 @@ }); }); - // 민원상담 수정 버튼 이벤트 - $("#btnUpdateCvlcptDscsn--${pageName}").on("click", function() { - $P.fnUpdateCvlcptDscsn($(this).attr("title")); + // 버튼 이벤트 + $("#btnUpdate--${pageName}").on("click", function() { + $P.fnUpdate($(this).attr("title")); // 민원상담 수정 }); - // 민원상담 삭제 버튼 이벤트 - $("#btnRemoveCvlcptDscsn--${pageName}").on("click", function() { - $P.fnRemoveCvlcptDscsn($(this).attr("title")); + $("#btnRemove--${pageName}").on("click", function() { + $P.fnRemove($(this).attr("title")); // 민원상담 삭제 }); // DataTables width 변경 조정 @@ -600,7 +592,7 @@ } // 초기 화면 설정 - $P.initForm = () => { + $P.initForm = (taskSeCd) => { // 화면 초기화 $("#frmSearch--${pageName}")[0].reset(); @@ -617,41 +609,20 @@ $(this).prop("disabled", "true"); }); - // 달력 초기화 - initDatepicker("frmSearch--${pageName}"); - $("#schDscsnYmdFrom--${pageName}").datepicker("setDate", new Date()); - $("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date()); - - // 동적 검색 - $("#byOutput--${pageName}").val("동적 검색"); - - // 사용자 이름 - $("#schRgtrNm--${pageName}").prop("readonly", true); - } - - // 기본 데이터 설정 - $P.initData = (taskSeCd) => { - // 시군구 코드 - $("#sggCd--${pageName}").val("${sggCd}"); - // 업무 구분 코드 - $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); - - // 일자 + // 기본 데이터 설정 + $("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 + $("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 코드 + initDatepicker("frmSearch--${pageName}"); // 달력 초기화 $("#schDscsnYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); $("#schDscsnYmdTo--${pageName}").datepicker("setDate", new Date()); + $("#byOutput--${pageName}").val("동적 검색"); // 동적 검색 + $("#schRgtrNm--${pageName}").prop("readonly", true); // 사용자 이름 } // 업무 구분별 설정 $P.setTask = (taskSeCd) => { - // 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/removes.do"); // 삭제 - $P.control.urls.getInfo = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/020/info.do"); // 정보 + // 업무구분에 따른 URL 설정 + $P.control.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/010/list.do"); // 조회 } /************************************************************************** diff --git a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp index 732a4597..b830cc7a 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sprt/sprt04020-info.jsp @@ -1,20 +1,21 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> +민원 상담 내용 정보 +
- 민원 상담 내용 정보 -
+
- + @@ -76,10 +77,8 @@ **************************************************************************/ $(document).ready(function() { // pageObject - var $P = pageObject["${pageName}"]; + let $P = pageObject["${pageName}"]; - // URL - $P.PrefixUrl = "/sprt/sprt04"; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) $P.callPurpose = "${callPurpose}"; // FormFields @@ -89,10 +88,10 @@ * DatasetControl **************************************************************************/ $P.control = new DatasetControl({ - prefix : "cvlcptDscsn" - , prefixName : "민원상담" - , keymapper : info => info ? info.CVLCPT_DSCSN_ID : "" - , dataGetter : obj => obj.cvlcptDscsnInfo + prefix: "cvlcptDscsn" + , prefixName: "민원상담" + , keymapper: info => info ? info.CVLCPT_DSCSN_ID : "" + , dataGetter: obj => obj.${infoPrefix}Info }); /************************************************************************** @@ -106,22 +105,23 @@ $P.formFields.set($P.control,item); // 업무구분에 따른 URL 변경 - $P.setURL(item.data.TASK_SE_CD); + $P.fnSetURL(item.data.TASK_SE_CD); } // 저장 callback $P.control.onSave = (resp) => { - let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html(); + let dialogTitle = $("#" + $P.control.prefix + "Dialog--${openerPageName}").find("h5.modal-title").html(); let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); // 메시지 출력 dialog.alert({ - content : showMessage - , onOK : () => { } + content: showMessage + , init: () => { setDialogZindex(); } + , onOK: () => { } }); if (resp.saved) { - dialog.close($P.control.prefix + "Dialog"); + dialog.close($P.control.prefix + "Dialog--${openerPageName}"); } } @@ -132,16 +132,20 @@ let create = ($P.callPurpose == "create"); ajax.post({ - url : !create ? $P.control.urls.update : $P.control.urls.create - , data : info - , success : resp => $P.control.onSave(resp) + url: !create ? $P.control.urls.update : $P.control.urls.create + , data: info + , success: resp => $P.control.onSave(resp) }); } /************************************************************************** * 사용자 함수(function) **************************************************************************/ - + // 업무구분에 따른 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"); // 수정 + } /************************************************************************** * 버튼 clickEvent @@ -153,12 +157,9 @@ dialog.alert({ content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" - , onOK : () => { - // 파리미터 설정 - let params = $P.formFields.get(); // formFields - params.title = title; // 타이틀 - - $P.control.save(params); + , init: () => { setDialogZindex(); } + , onOK: () => { + $P.control.save($P.formFields.get()); // formFields } }); } @@ -181,38 +182,26 @@ }); }); - // 저장 버튼 이벤트 - $("#btnSave--${pageName}").on("click", function() { - $P.fnSave($(this).attr("title")); - }); + // 버튼 이벤트 + $("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장 } // 초기 화면 설정 $P.initForm = () => { - // Dialog 마우스로 드래그 할 수 있도록 설정. - fnMakeDraggableDialog(document.getElementById($P.control.prefix + "Dialog")); - // 달력 초기화 initDatepicker("frmEdit--${pageName}"); - if ($P.callPurpose == "view") { // view + // View로 호출 + if ($P.callPurpose == "view") { // input 요소들을 disabled $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); // button 요소들을 disabled $("btnSave--${pageName}").prop("disabled", true); - } else if ($P.callPurpose == "create") { // create - // - } else if ($P.callPurpose == "update") { // update + } else if ($P.callPurpose == "update") { $("#cvlcptRcptSeCd--${pageName}").prop("disabled", true); } } - // 업무구분에 따른 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"); // 수정 - } - /************************************************************************** * 최초 실행 함수 **************************************************************************/