From 15a8c272f6d2a2e36e18a611d3af730cc1c1dfe1 Mon Sep 17 00:00:00 2001 From: jjh Date: Thu, 8 Feb 2024 14:54:29 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=B5=EC=8B=9C=EC=86=A1=EB=8B=AC=20?= =?UTF-8?q?=ED=98=84=ED=99=A9=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/sndb/dao/SndngDtlMapper.java | 9 +- .../fims/sndb/service/SndngDtlService.java | 8 - .../xit/fims/sndb/service/SvbtcService.java | 11 +- .../fims/sndb/service/bean/SndngDtlBean.java | 50 ---- .../service/bean/SndngDtlServiceBean.java | 5 - .../xit/fims/sndb/service/bean/SvbtcBean.java | 68 ++++- .../sndb/service/bean/SvbtcServiceBean.java | 5 + .../xit/fims/sndb/web/Sndb01Controller.java | 16 +- .../sql/mapper/fims/sndb/sndngDtl-mapper.xml | 22 +- .../sql/mapper/fims/sndb/svbtc-mapper.xml | 8 + .../template/hwp/svbtcList_inner.hwp | Bin 18432 -> 18944 bytes .../resources/template/hwp/svbtcList_root.hwp | Bin 47616 -> 47616 bytes .../WEB-INF/jsp/fims/sndb/sndb01220-main.jsp | 19 +- .../WEB-INF/jsp/fims/sndb/sndb01230-info.jsp | 1 - .../WEB-INF/jsp/fims/sndb/sndb01250-info.jsp | 10 +- .../WEB-INF/jsp/fims/sndb/sndb01260-info.jsp | 262 ++++++++++-------- 16 files changed, 268 insertions(+), 226 deletions(-) diff --git a/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java b/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java index 946cd652..194f5cd4 100644 --- a/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java +++ b/src/main/java/cokr/xit/fims/sndb/dao/SndngDtlMapper.java @@ -148,9 +148,6 @@ public interface SndngDtlMapper extends AbstractMapper { return sndngDtl != null && deleteSndngDtl(params().set("sndngDtl", sndngDtl)) == 1; } - - - /**지정한 조건에 따라 발송 상세 목록을 조회하여 반환한다. * @param req 발송 조회 조건 * @return 발송 상세 반송 정보 @@ -163,6 +160,12 @@ public interface SndngDtlMapper extends AbstractMapper { */ List selectSndbks(SndbQuery req); + /**지정한 조건에 따라 공시송달 대상 발송 상세 객체들을 반환한다. + * @param req 발송 조회 조건 + * @return 발송 상세 반송 정보 + */ + List selectSvbtcsTrgtSndngDtlIDs(SndbQuery req); + /**지정한 조건에 따라 발송 상세 객체의 마지막 1개를 반환한다. * @param req 발송 조회 조건 * @return 발송 상세 반송 정보 diff --git a/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java b/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java index 143104d1..0f2ba0fc 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java +++ b/src/main/java/cokr/xit/fims/sndb/service/SndngDtlService.java @@ -129,14 +129,6 @@ public interface SndngDtlService { - /**공시송달 대장 정보를 등록한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - String createSvbtc(Svbtc svbtc); /**공시송달 대장 정보를 삭제한다. * @param svbtc 공시송달 대장 diff --git a/src/main/java/cokr/xit/fims/sndb/service/SvbtcService.java b/src/main/java/cokr/xit/fims/sndb/service/SvbtcService.java index 1f98e929..750f12c6 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/SvbtcService.java +++ b/src/main/java/cokr/xit/fims/sndb/service/SvbtcService.java @@ -15,7 +15,7 @@ import cokr.xit.fims.sndb.SndbQuery; * *
  * ============ 변경 이력 ============
- * 2024-01-09	mjkhan 최초 작성
+ * 2024-01-09	JoJH 최초 작성
  * ================================
  * 
*/ @@ -57,6 +57,15 @@ public interface SvbtcService { */ Map makeSvbtcFileFromHwpFormat(String formatType, String formatName, PrintOption printOption, SndbQuery req); + /**공시송달 대장 정보를 등록한다. + * @param svbtc 공시송달 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + String createSvbtc(SndbQuery req, Svbtc svbtc); + /**공시송달 대장 정보를 등록한다. * @param svbtc 공시송달 대장 * @return 저장 여부 diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java index 3947fb28..8791aa14 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlBean.java @@ -10,7 +10,6 @@ import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.data.DataObject; import cokr.xit.fims.sndb.SndngDtl; -import cokr.xit.fims.sndb.Svbtc; import cokr.xit.fims.cmmn.CmmnUtil; import cokr.xit.fims.epst.EpostQuery; import cokr.xit.fims.epst.dao.EpostDlvrRsltMapper; @@ -320,55 +319,6 @@ public class SndngDtlBean extends AbstractComponent { return rtnMsg; } - - - - - - - - - /**공시송달 대장 정보를 등록한다. - * @param svbtc 공시송달 대장 - * @return 저장 여부 - *
  • 저장됐으면 true
  • - *
  • 그렇지 않으면 false
  • - *
- */ - public String createSvbtc(Svbtc svbtc) { - // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 - - // 공시송달(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록 한다. - rtnScs = svbtcMapper.insert(svbtc); - if (!rtnScs) { - // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback - throw new RuntimeException("공시송달 정보 등록에 실패하였습니다."); - } - - // 발송 상세 대장에 공시송달 정보 수정 - for (int iLoop = 0; iLoop < svbtc.getSndngDtlIDs().length; iLoop++) { - // 발송 상세 - SndngDtl sndngDtl = new SndngDtl(); - - sndngDtl.setSvbtcId(svbtc.getSvbtcId()); - sndngDtl.setSndngDtlSttsCd("06"); - sndngDtl.setSndngDtlId(svbtc.getSndngDtlIDs()[iLoop]); - - rtnScs = sndngDtlMapper.updateSndngDtlSvbtc(sndngDtl); - if (!rtnScs) { - throw new RuntimeException("발송상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback - } - } - - rtnMsg = "[S] 작업이 정상 처리 되었습니다."; - - return rtnMsg; - } - - - /**공시송달ID 조건에 따라 발송상세 대장의 총 건수를 조회한다. * @param req 발송 대장 조회 조건 * @return 계도장 발송 대상 목록 diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java index d2af319a..8efbce91 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SndngDtlServiceBean.java @@ -107,11 +107,6 @@ public class SndngDtlServiceBean extends AbstractServiceBean implements SndngDtl - @Override - public String createSvbtc(Svbtc svbtc) { - return sndngDtlBean.createSvbtc(svbtc); - } - @Override public String removeSvbtcEach(Svbtc svbtc) { // 변수 선언 diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java index 6e54842d..21d57947 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcBean.java @@ -1,5 +1,6 @@ package cokr.xit.fims.sndb.service.bean; +import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; @@ -125,12 +126,65 @@ public class SvbtcBean extends AbstractComponent { *
  • 그렇지 않으면 false
  • * */ + public String createSvbtc(SndbQuery req, Svbtc svbtc) { + // 변수 선언 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 + + // 공시송달(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록 한다. + rtnScs = svbtcMapper.insert(svbtc); + if (!rtnScs) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("공시송달 정보 등록에 실패하였습니다."); + } + + List sndngDtlList = new ArrayList(); + if (svbtc.getSndngDtlIDs() == null || svbtc.getSndngDtlIDs().length < 1) { + req.setOrderBy("SD.SNDNG_DTL_ID"); + + sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIDs(req); + } else { + SndbQuery query = new SndbQuery(); + + query.setSndngDtlIDs(svbtc.getSndngDtlIDs()); + query.setOrderBy("SD.SNDNG_DTL_ID"); + + sndngDtlList = sndngDtlMapper.selectSvbtcsTrgtSndngDtlIDs(query); + } + + // 발송 상세 대장에 공시송달 정보 수정 + for (int iLoop = 0; iLoop < sndngDtlList.size(); iLoop++) { + // 발송 상세 + SndngDtl sndngDtl = new SndngDtl(); + + sndngDtl.setSvbtcId(svbtc.getSvbtcId()); + sndngDtl.setSndngDtlSttsCd("06"); + sndngDtl.setSndngDtlId(sndngDtlList.get(iLoop).string("SNDNG_DTL_ID")); + + rtnScs = sndngDtlMapper.updateSndngDtlSvbtc(sndngDtl); + if (!rtnScs) { + throw new RuntimeException("발송상세 대장에 공시송달 정보 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback + } + } + + rtnMsg = "[S] 작업이 정상 처리 되었습니다."; + + return rtnMsg; + } + + /**공시송달 대장 정보를 수정한다. + * @param svbtc 공시송달 대장 + * @return 저장 여부 + *
    • 저장됐으면 true
    • + *
    • 그렇지 않으면 false
    • + *
    + */ public String create(Svbtc svbtc) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 - // 공시송달(TB_SVBTC) 정보를 등록 한다. + // 공시송달(TB_SNDNG_DTL) 대장에 공시송달 정보를 등록 한다. rtnScs = svbtcMapper.insert(svbtc); if (!rtnScs) { // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback @@ -151,8 +205,8 @@ public class SvbtcBean extends AbstractComponent { */ public String update(Svbtc svbtc) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 // 공시송달(TB_SVBTC) 정보를 수정 한다. rtnScs = svbtcMapper.update(svbtc); @@ -175,8 +229,8 @@ public class SvbtcBean extends AbstractComponent { */ public String removeSvbtc(Svbtc svbtc) { // 변수 선언 - boolean rtnScs = false; // DB 처리 결과 - String rtnMsg = "[F] "; // 처리 결과 메시지 + boolean rtnScs = false; // DB 처리 결과 + String rtnMsg = "[F] "; // 처리 결과 메시지 // 공시송달(TB_SVBTC) 대장을 삭제 한다. rtnScs = svbtcMapper.delete(svbtc); diff --git a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcServiceBean.java b/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcServiceBean.java index df6e5fb6..e641493c 100644 --- a/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcServiceBean.java +++ b/src/main/java/cokr/xit/fims/sndb/service/bean/SvbtcServiceBean.java @@ -171,6 +171,11 @@ public class SvbtcServiceBean extends AbstractServiceBean implements SvbtcServic return result; } + @Override + public String createSvbtc(SndbQuery req, Svbtc svbtc) { + return svbtcBean.createSvbtc(req, svbtc); + } + @Override public String create(Svbtc svbtc) { return svbtcBean.create(svbtc); diff --git a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java index 2f7faff9..e8c09f6a 100644 --- a/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java +++ b/src/main/java/cokr/xit/fims/sndb/web/Sndb01Controller.java @@ -1364,9 +1364,11 @@ public class Sndb01Controller extends ApplicationController { mav.setViewName("fims/sndb/sndb01250-info"); return mav - .addObject("pageName", "sndb01250") - .addObject("query", toJson(req)) - .addObject("svbtcDtlList", toJson(mav.getModel().get("svbtcDtlList"))) + .addObject("pageName", "sndb01250") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "svbtcDtl") // prefix + .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 + .addObject("mainQuery", toJson(req)) // 검색 조건 + .addObject("svbtcDtlList", toJson(mav.getModel().get("svbtcDtlList"))) // 자료 ; } @@ -1494,10 +1496,10 @@ public class Sndb01Controller extends ApplicationController { addCodes(commonCodes, mav, "FIM047", "FIM054"); return mav - .addObject("pageName", "sndb01260") + .addObject("pageName", "sndb01260") // View(jsp)에서 사용할 id 뒤에 붙일 suffix + .addObject("infoPrefix", "svbtc") // prefix .addObject("callPurpose", req.getCallPurpose()) // 호출 용도 - .addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD) - .addObject("sndbkQuery", json ? req : toJson(req)) // Query + .addObject("mainQuery", json ? req : toJson(req)) // Query .addObject("svbtcInfo", json ? svbtcInfo : toJson(svbtcInfo)) // 공시송달 정보 ; } @@ -1512,7 +1514,7 @@ public class Sndb01Controller extends ApplicationController { */ public ModelAndView createServiceByPublicNotice(SndbQuery req, Svbtc svbtc) { boolean saved = false; - String rtnMsg = sndngDtlService.createSvbtc(svbtc); + String rtnMsg = svbtcService.createSvbtc(req, svbtc); if (rtnMsg.contains("[S]")) { saved = true; diff --git a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml index a7021ee5..5a589ecf 100644 --- a/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/sndngDtl-mapper.xml @@ -838,6 +838,12 @@ , P.ADDR , P.DTL_ADDR , (SELECT GET_CODE_NM('FIM011', P.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM + + + + + + FROM TB_SNDNG_DTL SD INNER JOIN TB_CRDN C ON (SD.CRDN_ID = C.CRDN_ID) LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID) @@ -848,6 +854,11 @@ AND (SD.SVBTC_ID IS NULL OR SD.SVBTC_ID = '') AND (SD.SNDNG_RCVMT_CD IS NULL OR SD.SNDNG_RCVMT_CD = '') AND (S.RESND_YN IS NULL OR S.RESND_YN = 'N') + + AND SD.SNDNG_DTL_ID IN ( + #{sndngDtlId} + ) + AND ( (SD.SNDNG_DTL_STTS_CD = #{sndngDtlSttsCd}) @@ -956,8 +967,12 @@ + + + @@ -994,11 +1009,6 @@ AND SD.SNDNG_DTL_ID = #{sndngDtlId} - - AND SD.SNDNG_ID IN ( - #{sndngId} - ) - AND SD.SNDNG_ID = #{sndngId} diff --git a/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml b/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml index 9d2cdca5..cf598d15 100644 --- a/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml +++ b/src/main/resources/sql/mapper/fims/sndb/svbtc-mapper.xml @@ -325,6 +325,14 @@ + + /* 공시송달 대장 등록(svbtcMapper.insertSvbtc) */ SELECT CONCAT(DATE_FORMAT(CURRENT_DATE, '%Y'), LPAD(CAST(IFNULL(MAX(SUBSTRING(SVBTC_ID, 5)) + 1, 1) AS INT), 16, '0')) AS NEW_ID diff --git a/src/main/resources/template/hwp/svbtcList_inner.hwp b/src/main/resources/template/hwp/svbtcList_inner.hwp index bb479c4d8de4a453c6edaae108e57df50df5c886..b4e18a2c08fe831b12e4e9e956f1f72db9576132 100644 GIT binary patch delta 2412 zcmZ8hc|4T+7k)=$D9bQoElWcS4dN!mkfmg46qW2m_Q^7&A&jlDq_|C&B9|0}WTvrH zhMAZ_sZ2hMeJS}RE|KivzOQco{LcG%zRx+&S>E&4NyvsJ+=kHz2r*tYq4$(aKTHS! z08?r-ViPvPh!#S^1XV#{gKi%IyS3w@ctS$pR@E6?iW|{Q$RNa13K%h+mVambiE_yU?ye1;f}E=jDgwcqL_IWKhDb_nc?d zN%2dkFY3;v+nTILykA-}TFM!?>S|+#f6&D;e_1nR0Sh#qztqbv|KKpW_-g2O;}CYt zf7DObE)4SYHR&!vemT<+rdv1}HWX43;eL!lbVQCD^c3q;W#tLE zL`P4XvYaFQVdom-s(H7dzKXiW%eD6o895K+M3lPS@_H5$^&=cpz-^cnm`N!hKTkw` zC1S@q;gu(tXZRN;Ub}1ND(3C+4+v{H-pxJSt@Urxl-5Bq_@SGE+i$)VkwJaut3E$NhCfi6#Iand-A@VeZtH!b8r}Xi2!ppXon64J_rhT}H2CEK7yy>i=Zr7t6o&s(vFSTY;ww z?4o)2WV|pu^Eie{>D_*YOtMqC`bH{Q8)1AZuW9MFx+J6N%u( zX7)N?*NAM!H7b1^<6vp94Z}}?cPdXPAsX5WOvS+od&0ZXPGoe`XwTuOe|na`$LZ~R zbfdyclz(B4cB39kP@r_$?7AA8k%~c7K9Uylg1y`+mC7D|ObWE3uZeL@ChCiq2lLyS z#U97m(v@>4(kF%;nXpMkuI&84RNAM&G>eYZ z4EF~UMrFM^*DMs4RWp)L$4IXUz_JSugd}2V0`EJtWzG$XtBx+ag`GfMG%4@NML?dMdQi@$dFCo5;0T^ zT#Eer4npE?5J*5BFf9+4JquzPEFNnhjb=1Eby%d(xQ{|4&NtW&`qW{U98o)$yOW08jcB1>+H69FOjUmE!d!x_T$AGQI;+Q;(~%A z+B~T2L2skm2U{i+_QYS#qh+)<`A^Fc_45nTUrriWx31xRt!%%Cv^Z5nJ6q~vBZI^6 zRjvg@t8+64I?T(T$=J9gSUWYLtzEiaz-5f0Y_3!*A07=ZULi-O9yM;PjOkg3woDYZ zyTfcV*wdQX_nlI`%>G=>=x? zbhu-%fos8v+C%>M6IAE;W8#rL?l)_rqI(^?$6k*I>{VIviwy3OShY7*a?TvX5J~2h zvS%VSJHH(-Z;&e@N0<3qxBH;b4~A9tA7jWHdIFgVpyyb^JNtxKytTh`#wP#<8* z#AB68P%mUQ0Q99Ep&tXX94%w)yHwtnxZ`FQXZnY0p-zZqFq$U2+1tQ@qq z(Xq+hkJA3CetQJP259+Cf%1V#(~9*Gf^niCaHERfKcJ-$c!&{$pO~ ze7sTWf;~~JZ{+UDx0?m8Ik9eEWkk{or$VgC@XY~sI{zzm3iMP>37eI=>VsIX|2ivW y8%p&?*+pdN=yUVpgztHaU|Tl-@?Kw9RNseO6T0WDK9C_wrJHq7*=B4IzW)NscPXC$ delta 2386 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 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp index 669edb30..4ff8c48c 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01220-main.jsp @@ -179,14 +179,14 @@ - - - @@ -507,8 +507,6 @@ , title : "개별총정보" , content : resp , size : "xxl" - , init : () => { } - , onClose : () => { } }); } }); @@ -533,7 +531,7 @@ , success : resp => { dialog.open({ id : "svbtcDialog" - , title : params.btnTitle + , title : params.title , content : resp , size : "md" , onClose : () => { $P.refreshList(); } @@ -642,11 +640,10 @@ params.taskSeCd = $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드 params.sndngSeCd = $P.control.dataset.getValue("SNDNG_SE_CD") // 발송 구분 코드 params.tnocs = $P.control.dataset.getValue("TOT_CNT") // 총건수 - } // 공시송달 등록 버튼 이벤트 - $P.fnCreateSvbtc = (title) => { + $P.fnCreateWholSvbtc = (title) => { if ($P.control.dataset.empty) { dialog.alert({ content : "검색된 자료가 없습니다." @@ -708,8 +705,8 @@ $P.fnCreateWholSndngLink($(this).attr("title")); }); // 전체 공시송달 등록 버튼 이벤트 - $("#btnCreateSvbtc--${pageName}").on("click", function() { - $P.fnCreateSvbtc($(this).attr("title")); + $("#btnCreateWholSvbtc--${pageName}").on("click", function() { + $P.fnCreateWholSvbtc($(this).attr("title")); }); // DataTables width 변경 조정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01230-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01230-info.jsp index 9faae141..3feedeeb 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01230-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01230-info.jsp @@ -186,7 +186,6 @@ $("#btnSave--${pageName}").on("click", function() { $P.fnSave($(this).attr("title")); }); - } // 초기 화면 설정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01250-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01250-info.jsp index ccf0f807..782a057a 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01250-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01250-info.jsp @@ -487,15 +487,15 @@ fnMakeResizableTable($("#table-responsive--${pageName}")[0]); // DataTables 스크롤 이벤트 생성 - fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName}); + fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList); // DataTables 스크롤을 위해서 다이얼로그 화면이 생성된 후 Dataset을 설정한다. $("#${infoPrefix}Dialog").on("shown.bs.modal", function (e) { $P.control.setData({ - ${infoPrefix}List : ${advntceSndngDtlList} - , ${infoPrefix}Start : ${advntceSndngDtlStart} - , ${infoPrefix}Fetch : ${advntceSndngDtlFetch} - , ${infoPrefix}Total : ${advntceSndngDtlTotal} + ${infoPrefix}List : ${svbtcDtlList} + , ${infoPrefix}Start : ${svbtcDtlStart} + , ${infoPrefix}Fetch : ${svbtcDtlFetch} + , ${infoPrefix}Total : ${svbtcDtlTotal} }); // 초기 데이터 설정 diff --git a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01260-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01260-info.jsp index 9e1718e9..700adf9c 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01260-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/sndb/sndb01260-info.jsp @@ -12,8 +12,6 @@

    - -
    @@ -53,7 +51,7 @@ - @@ -68,155 +66,175 @@ /************************************************************************** * Global Variable **************************************************************************/ - // URL - var ${pageName}PrefixUrl = "/sndb/sndb01"; - // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) - var ${pageName}CallPurpose = "${callPurpose}"; - // FormFields - var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}"); - // main 의 검색 조건을 그대로 유지 - var ${pageName}Query = ${sndbkQuery}; + pageObject["${pageName}"] = {}; + // 공통 코드 var FIM047 = new CommonCodes(${FIM047}, true); var FIM054 = new CommonCodes(${FIM054}, true); /************************************************************************** - * DatasetControl + * script 진입 **************************************************************************/ - var ${pageName}Control = new DatasetControl({ - prefix : "svbtc" - , prefixName : "공시송달" - , keymapper : info => info ? info.SVBTC_ID : "" - , dataGetter : obj => obj.svbtcInfo - }); + $(document).ready(function() { + // pageObject + var $P = pageObject["${pageName}"]; + + // URL + $P.PrefixUrl = "/sndb/sndb01"; + // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) + $P.callPurpose = "${callPurpose}"; + // FormFields + $P.formFields = new FimsFormFields("#frmEdit--${pageName}"); + // main 의 검색 조건을 그대로 유지 + $P.mainQuery = ${mainQuery}; + + /************************************************************************** + * DatasetControl + **************************************************************************/ + $P.control = new DatasetControl({ + prefix : "svbtc" + , prefixName : "공시송달" + , keymapper : info => info ? info.SVBTC_ID : "" + , dataGetter : obj => obj.svbtcInfo + }); - ${pageName}Control.onCurrentChange = item => { - if (!item) return; + /************************************************************************** + * DatasetControl 이벤트 + **************************************************************************/ + $P.control.onCurrentChange = (item) => { + if (!item) return; - // Dataset 셋팅 - ${pageName}Fields.set(item); + // Dataset 셋팅 + $P.formFields.set(item); - // 호출용도가 등록이라면.. - if (${pageName}CallPurpose == "create") { - $("#svbtcYmd--${pageName}").datepicker("setDate", new Date()); + // 업무구분에 따른 URL 변경 + $P.setURL(item.data.TASK_SE_CD); - let taskSeCd = item.data.TASK_SE_CD; - let sndngSeCd = item.data.SNDNG_SE_CD; + // 호출용도가 등록이라면.. + if (${pageName}CallPurpose == "create") { + $("#svbtcYmd--${pageName}").datepicker("setDate", new Date()); - if (sndngSeCd == "") { - $("#ttlNm--${pageName}").val(FIM054[taskSeCd].value + " " + "공시송달"); - } else { - $("#ttlNm--${pageName}").val(FIM054[taskSeCd].value + " " + FIM047[sndngSeCd].value.replace("(개별)", "") + " " + "공시송달"); + let taskSeCd = item.data.TASK_SE_CD; + let sndngSeCd = item.data.SNDNG_SE_CD; + + if (sndngSeCd == "") { + $("#ttlNm--${pageName}").val(FIM054[taskSeCd].value + " " + "공시송달"); + } else { + $("#ttlNm--${pageName}").val(FIM047[sndngSeCd].value.replace("(개별)", "") + " " + "공시송달"); + } } } - // 업무구분에 따른 url 변경 - setURL${pageName}(item.data.TASK_SE_CD); - } - - /************************************************************************** - * DatasetControl 이벤트 - **************************************************************************/ - // 저장 callback - ${pageName}Control.onSave = (resp) => { - let dialogTitle = $("#" + ${pageName}Control.prefix + "Dialog").find("h5.modal-title").html(); - let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); + // 저장 callback + $P.control.onSave = (resp) => { + let dialogTitle = $("#" + $P.control.prefix + "Dialog").find("h5.modal-title").html(); + let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, dialogTitle); - dialog.alert(showMessage); + // 메시지 출력 + dialog.alert({ + content : showMessage + , onOK : () => { } + }); - if (resp.saved) { - dialog.close(${pageName}Control.prefix + "Dialog"); + if (resp.saved) { + dialog.close($P.control.prefix + "Dialog"); + } } - } - // 저장 - ${pageName}Control.save = (info) => { - if (!info) return; + // 저장 + $P.control.save = (info) => { + if (!info) return; - let create = (${pageName}CallPurpose == "create"); - let params = $.extend({}, ${pageName}Query, info); // 객체를 합친다. + let create = ($P.callPurpose == "create"); - ajax.post({ - url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create - , data : params - , success : resp => ${pageName}Control.onSave(resp) - }); - } + ajax.post({ + url : !create ? $P.control.urls.update : $P.control.urls.create + , data : info + , success : resp => $P.control.onSave(resp) + }); + } - /************************************************************************** - * 사용자 함수 - **************************************************************************/ - // URL 설정 - setURL${pageName} = (taskSeCd) => { - ${pageName}Control.urls.create = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/260/create.do"); // 등록 - ${pageName}Control.urls.update = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/260/update.do"); // 수정 - } + /************************************************************************** + * 사용자 함수(function) + **************************************************************************/ - /************************************************************************** - * 버튼 clickEvent - **************************************************************************/ - // 저장 버튼 클릭 이벤트 - fnSave${pageName} = () => { - // validate 확인 - if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; - - dialog.alert({ - content : "현재 " + ${pageName}Control.prefixName + " 정보를 저장하시겠습니까?" - , onOK : () => { - ${pageName}Control.save(${pageName}Fields.get()); - } - }); - } - /************************************************************************** - * 초기 셋팅 - **************************************************************************/ - // 이벤트 설정 - setEvent${pageName} = () => { - // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 - $("#frmEdit--${pageName}").find(".form-date").each(function() { - $(this).on("input", function() { - let value = this.value.replaceAll("-",""); - - if (value.length > 7) { - this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); - } else if(value.length > 5) { - this.value = value.substring(0, 4) + "-" + value.substring(4); + /************************************************************************** + * 버튼 clickEvent + **************************************************************************/ + // 저장 버튼 클릭 이벤트 + $P.fnSave = (title) => { + // validate 확인 + if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return; + + // 파리미터 설정 + let params = $.extend({}, $P.mainQuery, $P.formFields.get()); // 객체를 합친다. + params.title = title; // 타이틀 + + dialog.alert({ + content : "현재 " + $P.control.prefixName + " 정보를 저장하시겠습니까?" + , onOK : () => { + $P.control.save(params); } }); - }); - } - - // 화면 초기 설정 - initForm${pageName} = () => { - // 화면 초기화 - $("#frmEdit--${pageName}")[0].reset(); - - // 달력 초기화 - initDatepicker("frmEdit--${pageName}"); - $("#svbtcYmd--${pageName}").datepicker("setDate", new Date()); - - if (${pageName}CallPurpose == "view") { - // input 요소들을 disabled - $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); - // button 요소들을 disabled - $("#btnSvbtcYmd--${pageName}").prop("disabled", true); // 부과제외 일자 달력 버튼 - $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 } - } - /************************************************************************** - * script 진입 - **************************************************************************/ - $(document).ready(function() { + /************************************************************************** + * 초기 셋팅 + **************************************************************************/ // 이벤트 설정 - setEvent${pageName}(); + $P.setEvent = () => { + // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 + $("#frmEdit--${pageName}").find(".form-date").each(function() { + $(this).on("input", function() { + let value = this.value.replaceAll("-",""); + + if (value.length > 7) { + this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6); + } else if(value.length > 5) { + this.value = value.substring(0, 4) + "-" + value.substring(4); + } + }); + }); + + // 저장 버튼 이벤트 + $("#btnSave--${pageName}").on("click", function() { + $P.fnSave($(this).attr("title")); + }); + } + + // 초기 화면 설정 + $P.initForm = () => { + // 달력 초기화 + initDatepicker("frmEdit--${pageName}"); + $("#svbtcYmd--${pageName}").datepicker("setDate", new Date()); + + if ($P.callPurpose == "view") { // view + // input 요소들을 disabled + $("#frmEdit--${pageName}").find("input,textarea,select").prop("disabled", true); + // button 요소들을 disabled + $("#btnSvbtcYmd--${pageName}").prop("disabled", true); // 부과제외 일자 달력 버튼 + $("#btnSave--${pageName}").prop("disabled", true); // 저장 버튼 + } + } + + // 업무구분에 따른 URL 설정 + $P.setURL = (taskSeCd) => { + $P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/260/create.do"); // 등록 + $P.control.urls.update = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/260/update.do"); // 수정 + } + + /************************************************************************** + * 최초 실행 함수 + **************************************************************************/ + // 1. 이벤트 설정 + $P.setEvent(); - // 화면 초기 설정 - initForm${pageName}(); + // 2. 초기 화면 설정 + $P.initForm(); - // Dataset 설정 - ${pageName}Control.setData([${svbtcInfo}]); + // 3. Dataset 설정 + $P.control.setData([${svbtcInfo}]); });