1. 개별총정보 수정

2. 소스 정리
main
jjh 1 year ago
parent 9231554820
commit d06e851f77

@ -28,7 +28,6 @@ public class ExclQuery extends QueryRequest {
private String opnnId; // 의견제출 ID private String opnnId; // 의견제출 ID
private String[] reRegIDs; // 재등록 IDs private String[] reRegIDs; // 재등록 IDs
private String reRegId; // 재등록 ID private String reRegId; // 재등록 ID
// 공통 조건 // 공통 조건
private String schDateOpt; // 검색 일자 구분 private String schDateOpt; // 검색 일자 구분
private String schDateFrom; // 검색 일자 시작 private String schDateFrom; // 검색 일자 시작
@ -102,6 +101,16 @@ public class ExclQuery extends QueryRequest {
return self(); return self();
} }
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
}
public <T extends ExclQuery> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
public String[] getLevyExclIDs() { public String[] getLevyExclIDs() {
return ifEmpty(levyExclIDs, () -> null); return ifEmpty(levyExclIDs, () -> null);
} }
@ -162,16 +171,6 @@ public class ExclQuery extends QueryRequest {
return self(); return self();
} }
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
}
public <T extends ExclQuery> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
public String getSchDateOpt() { public String getSchDateOpt() {
return ifEmpty(schDateOpt, () -> null); return ifEmpty(schDateOpt, () -> null);
} }

@ -20,8 +20,8 @@ import cokr.xit.foundation.data.DataObject;
* ================================ * ================================
* </pre> * </pre>
*/ */
@Mapper("excl03Mapper") @Mapper("crdnReRegMapper")
public interface Excl03Mapper extends AbstractMapper { public interface CrdnReRegMapper extends AbstractMapper {
/** .<br /> /** .<br />
* @param req * @param req

@ -20,8 +20,8 @@ import cokr.xit.foundation.data.DataObject;
* ================================ * ================================
* </pre> * </pre>
*/ */
@Mapper("excl01Mapper") @Mapper("levyExclMapper")
public interface Excl01Mapper extends AbstractMapper { public interface LevyExclMapper extends AbstractMapper {
/** .<br /> /** .<br />
* @param req * @param req

@ -20,8 +20,8 @@ import cokr.xit.foundation.data.DataObject;
* ================================ * ================================
* </pre> * </pre>
*/ */
@Mapper("excl02Mapper") @Mapper("opnnSbmsnMapper")
public interface Excl02Mapper extends AbstractMapper { public interface OpnnSbmsnMapper extends AbstractMapper {
/** .<br /> /** .<br />
* @param req * @param req

@ -8,7 +8,7 @@ import org.springframework.stereotype.Component;
import cokr.xit.fims.excl.LevyExcl; import cokr.xit.fims.excl.LevyExcl;
import cokr.xit.fims.excl.ExclQuery; import cokr.xit.fims.excl.ExclQuery;
import cokr.xit.fims.excl.dao.Excl01Mapper; import cokr.xit.fims.excl.dao.LevyExclMapper;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
@ -26,8 +26,8 @@ import cokr.xit.foundation.data.DataObject;
public class Excl01Bean extends AbstractComponent { public class Excl01Bean extends AbstractComponent {
/** 부과제외 대장 정보 DAO */ /** 부과제외 대장 정보 DAO */
@Resource(name = "excl01Mapper") @Resource(name = "levyExclMapper")
private Excl01Mapper excl01Mapper; private LevyExclMapper levyExclMapper;
/** . /** .
* @param req * @param req
@ -36,7 +36,7 @@ public class Excl01Bean extends AbstractComponent {
public List<DataObject> getLevyExclList(ExclQuery req) { public List<DataObject> getLevyExclList(ExclQuery req) {
req.setOrderBy("LEVY_EXCL_ID"); // 정렬 req.setOrderBy("LEVY_EXCL_ID"); // 정렬
return excl01Mapper.selectLevyExclList(req); return levyExclMapper.selectLevyExclList(req);
} }
/** ID .<br /> /** ID .<br />
@ -45,9 +45,9 @@ public class Excl01Bean extends AbstractComponent {
*/ */
public DataObject getLevyExclInfo(ExclQuery req) { public DataObject getLevyExclInfo(ExclQuery req) {
if (req.getLevyExclId() != null) { if (req.getLevyExclId() != null) {
return excl01Mapper.selectLevyExclInfo(req.getLevyExclId()); // 수정(부과제외 조회) return levyExclMapper.selectLevyExclInfo(req.getLevyExclId()); // 수정(부과제외 조회)
} else { } else {
DataObject dataCrdn = excl01Mapper.selectCrdn(req); // 등록(단속 조회) DataObject dataCrdn = levyExclMapper.selectCrdn(req); // 등록(단속 조회)
// 초기 데이터 설정 // 초기 데이터 설정
dataCrdn.set("LEVY_EXCL_YMD", dataCrdn.get("TODAY")); // 부과 제외 일자 dataCrdn.set("LEVY_EXCL_YMD", dataCrdn.get("TODAY")); // 부과 제외 일자
@ -65,7 +65,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean createLevyExcl(LevyExcl excl01) { public boolean createLevyExcl(LevyExcl excl01) {
return excl01Mapper.insert(excl01); return levyExclMapper.insert(excl01);
} }
/** . /** .
@ -76,7 +76,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateLevyExcl(LevyExcl excl01) { public boolean updateLevyExcl(LevyExcl excl01) {
return excl01Mapper.update(excl01); return levyExclMapper.update(excl01);
} }
/** . /** .
@ -87,7 +87,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean removeLevyExcl(LevyExcl excl01) { public boolean removeLevyExcl(LevyExcl excl01) {
return excl01Mapper.delete(excl01); return levyExclMapper.delete(excl01);
} }
/** . /** .
@ -95,7 +95,7 @@ public class Excl01Bean extends AbstractComponent {
* @return , * @return ,
*/ */
public DataObject getCrdnLevyExcl(String crdnId) { public DataObject getCrdnLevyExcl(String crdnId) {
return excl01Mapper.selectCrdnInfo(crdnId); return levyExclMapper.selectCrdnInfo(crdnId);
} }
/** . /** .
@ -103,7 +103,7 @@ public class Excl01Bean extends AbstractComponent {
* @return , * @return ,
*/ */
public DataObject selectCvlcptAnsWordsInfo(String ansRsnCd) { public DataObject selectCvlcptAnsWordsInfo(String ansRsnCd) {
return excl01Mapper.selectCvlcptAnsWordsInfo(ansRsnCd); return levyExclMapper.selectCvlcptAnsWordsInfo(ansRsnCd);
} }
/**(TB_CRDN_CVLCPT) , . /**(TB_CRDN_CVLCPT) , .
@ -114,7 +114,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateCrdnCvlcptPrcs(LevyExcl excl01) { public boolean updateCrdnCvlcptPrcs(LevyExcl excl01) {
return excl01Mapper.updateCrdnCvlcptPrcs(excl01); return levyExclMapper.updateCrdnCvlcptPrcs(excl01);
} }
/**(TB_CRDN_CVLCPT) (CVLCPT_PRCS_RSLT_CN) . /**(TB_CRDN_CVLCPT) (CVLCPT_PRCS_RSLT_CN) .
@ -125,7 +125,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateCvlcptPrcsRsltCn(LevyExcl excl01) { public boolean updateCvlcptPrcsRsltCn(LevyExcl excl01) {
return excl01Mapper.updateCvlcptPrcsRsltCn(excl01); return levyExclMapper.updateCvlcptPrcsRsltCn(excl01);
} }
/**(TB_CRDN_CVLCPT) . /**(TB_CRDN_CVLCPT) .
@ -136,7 +136,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateCrdnCvlcpt(LevyExcl excl01) { public boolean updateCrdnCvlcpt(LevyExcl excl01) {
return excl01Mapper.updateCrdnCvlcpt(excl01); return levyExclMapper.updateCrdnCvlcpt(excl01);
} }
/**(TB_CRDN) . /**(TB_CRDN) .
@ -147,7 +147,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateParkngPsbltyRsltCd(LevyExcl excl01) { public boolean updateParkngPsbltyRsltCd(LevyExcl excl01) {
return excl01Mapper.updateParkngPsbltyRsltCd(excl01); return levyExclMapper.updateParkngPsbltyRsltCd(excl01);
} }
/** . /** .
@ -155,7 +155,7 @@ public class Excl01Bean extends AbstractComponent {
* @return , * @return ,
*/ */
public DataObject selectSndngDtlInfo(String crdnId, String sndngRcvmtCd) { public DataObject selectSndngDtlInfo(String crdnId, String sndngRcvmtCd) {
return excl01Mapper.selectSndngDtlInfo(crdnId, sndngRcvmtCd); return levyExclMapper.selectSndngDtlInfo(crdnId, sndngRcvmtCd);
} }
/**(TB_SNDNG_DTL) . /**(TB_SNDNG_DTL) .
@ -166,7 +166,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateRcvmtCd(LevyExcl excl01) { public boolean updateRcvmtCd(LevyExcl excl01) {
return excl01Mapper.updateRcvmtCd(excl01); return levyExclMapper.updateRcvmtCd(excl01);
} }
} }

@ -8,7 +8,7 @@ import org.springframework.stereotype.Component;
import cokr.xit.fims.excl.OpnnSbmsn; import cokr.xit.fims.excl.OpnnSbmsn;
import cokr.xit.fims.excl.ExclQuery; import cokr.xit.fims.excl.ExclQuery;
import cokr.xit.fims.excl.dao.Excl02Mapper; import cokr.xit.fims.excl.dao.OpnnSbmsnMapper;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
@ -26,8 +26,8 @@ import cokr.xit.foundation.data.DataObject;
public class Excl02Bean extends AbstractComponent { public class Excl02Bean extends AbstractComponent {
/** 의견제출 대장 정보 DAO */ /** 의견제출 대장 정보 DAO */
@Resource(name = "excl02Mapper") @Resource(name = "opnnSbmsnMapper")
private Excl02Mapper excl02Mapper; private OpnnSbmsnMapper opnnSbmsnMapper;
/** . /** .
* @param req * @param req
@ -36,7 +36,7 @@ public class Excl02Bean extends AbstractComponent {
public List<DataObject> getOpnnSbmsnList(ExclQuery req) { public List<DataObject> getOpnnSbmsnList(ExclQuery req) {
req.setOrderBy("OPNN_ID"); // 정렬 req.setOrderBy("OPNN_ID"); // 정렬
return excl02Mapper.selectOpnnSbmsnList(req); return opnnSbmsnMapper.selectOpnnSbmsnList(req);
} }
/** . /** .
@ -44,7 +44,7 @@ public class Excl02Bean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getOpnnSbmsns(ExclQuery req) { public List<DataObject> getOpnnSbmsns(ExclQuery req) {
return excl02Mapper.selectOpnnSbmsns(req); return opnnSbmsnMapper.selectOpnnSbmsns(req);
} }
/** ID .<br /> /** ID .<br />
@ -53,9 +53,9 @@ public class Excl02Bean extends AbstractComponent {
*/ */
public DataObject getOpnnSbmsnInfo(ExclQuery req) { public DataObject getOpnnSbmsnInfo(ExclQuery req) {
if (req.getOpnnId() != null) { if (req.getOpnnId() != null) {
return excl02Mapper.selectOpnnSbmsnInfo(req.getOpnnId()); // 의견ID로 의견제출 조회 return opnnSbmsnMapper.selectOpnnSbmsnInfo(req.getOpnnId()); // 의견ID로 의견제출 조회
} else { } else {
DataObject dataCrdn = excl02Mapper.selectCrdn(req); // 단속ID로 단속, 의견제출 조회 DataObject dataCrdn = opnnSbmsnMapper.selectCrdn(req); // 단속ID로 단속, 의견제출 조회
// 등록 호출시.. // 등록 호출시..
if (req.getCallPurpose() != null && req.getCallPurpose().equals("create")) { // 의견제출 등록시 기본값 셋팅 if (req.getCallPurpose() != null && req.getCallPurpose().equals("create")) { // 의견제출 등록시 기본값 셋팅
@ -75,7 +75,7 @@ public class Excl02Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean createOpnnSbmsn(OpnnSbmsn excl02) { public boolean createOpnnSbmsn(OpnnSbmsn excl02) {
return excl02Mapper.insert(excl02); return opnnSbmsnMapper.insert(excl02);
} }
/** . /** .
@ -86,7 +86,7 @@ public class Excl02Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateOpnnSbmsn(OpnnSbmsn excl02) { public boolean updateOpnnSbmsn(OpnnSbmsn excl02) {
return excl02Mapper.update(excl02); return opnnSbmsnMapper.update(excl02);
} }
/** . /** .
@ -97,7 +97,7 @@ public class Excl02Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean removeOpnnSbmsn(OpnnSbmsn excl02) { public boolean removeOpnnSbmsn(OpnnSbmsn excl02) {
return excl02Mapper.delete(excl02); return opnnSbmsnMapper.delete(excl02);
} }
/** . /** .
@ -105,7 +105,7 @@ public class Excl02Bean extends AbstractComponent {
* @return , * @return ,
*/ */
public DataObject getCrdnOpnnSbmsn(String crdnId) { public DataObject getCrdnOpnnSbmsn(String crdnId) {
return excl02Mapper.selectCrdnInfo(crdnId); return opnnSbmsnMapper.selectCrdnInfo(crdnId);
} }
/** (OPNN_SBMSN_YN) . /** (OPNN_SBMSN_YN) .
@ -116,7 +116,7 @@ public class Excl02Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateCrdn(OpnnSbmsn excl02) { public boolean updateCrdn(OpnnSbmsn excl02) {
return excl02Mapper.updateCrdn(excl02); return opnnSbmsnMapper.updateCrdn(excl02);
} }
/** () . /** () .
@ -127,7 +127,7 @@ public class Excl02Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateOpnnSbmsnAnswer(OpnnSbmsn excl02) { public boolean updateOpnnSbmsnAnswer(OpnnSbmsn excl02) {
return excl02Mapper.updateOpnnSbmsnAnswer(excl02); return opnnSbmsnMapper.updateOpnnSbmsnAnswer(excl02);
} }
} }

@ -8,7 +8,7 @@ import org.springframework.stereotype.Component;
import cokr.xit.fims.excl.CrdnReReg; import cokr.xit.fims.excl.CrdnReReg;
import cokr.xit.fims.excl.ExclQuery; import cokr.xit.fims.excl.ExclQuery;
import cokr.xit.fims.excl.dao.Excl03Mapper; import cokr.xit.fims.excl.dao.CrdnReRegMapper;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
@ -26,8 +26,8 @@ import cokr.xit.foundation.data.DataObject;
public class Excl03Bean extends AbstractComponent { public class Excl03Bean extends AbstractComponent {
/** 단속 재등록 정보 DAO */ /** 단속 재등록 정보 DAO */
@Resource(name = "excl03Mapper") @Resource(name = "crdnReRegMapper")
private Excl03Mapper excl03Mapper; private CrdnReRegMapper crdnReRegMapper;
/** . /** .
* @param req * @param req
@ -36,7 +36,7 @@ public class Excl03Bean extends AbstractComponent {
public List<DataObject> getCrackdownReRegistrationList(ExclQuery req) { public List<DataObject> getCrackdownReRegistrationList(ExclQuery req) {
req.setOrderBy("RE_REG_ID"); // 정렬 req.setOrderBy("RE_REG_ID"); // 정렬
return excl03Mapper.selectCrdnReRegList(req); return crdnReRegMapper.selectCrdnReRegList(req);
} }
/** . /** .
@ -44,7 +44,7 @@ public class Excl03Bean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getCrackdownReRegistrations(ExclQuery req) { public List<DataObject> getCrackdownReRegistrations(ExclQuery req) {
return excl03Mapper.selectCrdnReRegs(req); return crdnReRegMapper.selectCrdnReRegs(req);
} }
/** . /** .
@ -55,7 +55,7 @@ public class Excl03Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean create(CrdnReReg excl03) { public boolean create(CrdnReReg excl03) {
return excl03Mapper.insert(excl03); return crdnReRegMapper.insert(excl03);
} }
/** . /** .
@ -66,7 +66,7 @@ public class Excl03Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean remove(CrdnReReg excl03) { public boolean remove(CrdnReReg excl03) {
return excl03Mapper.delete(excl03); return crdnReRegMapper.delete(excl03);
} }
/** . /** .
@ -74,7 +74,7 @@ public class Excl03Bean extends AbstractComponent {
* @return * @return
*/ */
public DataObject getCrackdown(String crdnId) { public DataObject getCrackdown(String crdnId) {
return excl03Mapper.selectCrdnInfo(crdnId); return crdnReRegMapper.selectCrdnInfo(crdnId);
} }
} }

@ -25,7 +25,6 @@ import cokr.xit.fims.excl.service.Excl03Service;
* ================================ * ================================
* </pre> * </pre>
*/ */
@RequestMapping(name = "단속 재등록", value = "/excl/excl03")
public class Excl03Controller extends ApplicationController { public class Excl03Controller extends ApplicationController {
/**단속 재등록 서비스*/ /**단속 재등록 서비스*/

@ -10,21 +10,27 @@ import cokr.xit.foundation.data.DataObject;
public interface Sprt02Service { public interface Sprt02Service {
/** ID . /** ID .
* @param crdnId ID * @param crdnId ID
* @return * @return
*/ */
DataObject getCrdnInfo(String crdnId); DataObject getCrdnInfo(String crdnId);
/** ID , , . /** ID , , .
* @param crdnId ID * @param crdnId ID
* @return , , * @return , ,
*/ */
DataObject getCrdnPayerInfo(String crdnId); DataObject getCrdnPayerInfo(String crdnId);
/** ID . /** ID .
* @param crdnId ID * @param crdnId ID
* @return * @return
*/ */
DataObject getOpnnSbmsnInfo(String crdnId); DataObject getOpnnSbmsnInfo(String crdnId);
/** ID .
* @param crdnId ID
* @return
*/
DataObject getSndngInfo(String crdnId);
} }

@ -6,6 +6,8 @@ import org.springframework.stereotype.Service;
import cokr.xit.fims.excl.ExclQuery; import cokr.xit.fims.excl.ExclQuery;
import cokr.xit.fims.excl.service.bean.Excl02Bean; import cokr.xit.fims.excl.service.bean.Excl02Bean;
import cokr.xit.fims.sndb.Sndb01Query;
import cokr.xit.fims.sndb.service.bean.Sndb01Bean;
import cokr.xit.fims.sprt.service.Sprt02Service; import cokr.xit.fims.sprt.service.Sprt02Service;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
@ -24,6 +26,10 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv
@Resource(name = "excl02Bean") @Resource(name = "excl02Bean")
protected Excl02Bean excl02Bean; protected Excl02Bean excl02Bean;
/** 발송 대장 정보 Bean */
@Resource(name = "sndb01Bean")
private Sndb01Bean sndb01Bean;
@Override @Override
public DataObject getCrdnInfo(String crdnId) { public DataObject getCrdnInfo(String crdnId) {
return sprt02Bean.getCrdnInfo(crdnId); return sprt02Bean.getCrdnInfo(crdnId);
@ -44,6 +50,8 @@ public class Sprt02ServiceBean extends AbstractServiceBean implements Sprt02Serv
public DataObject getSndngInfo(String crdnId) { public DataObject getSndngInfo(String crdnId) {
return excl02Bean.getOpnnSbmsnInfo(new ExclQuery().setCallPurpose("select") return excl02Bean.getOpnnSbmsnInfo(new ExclQuery().setCallPurpose("select")
.setCrdnId(crdnId)); .setCrdnId(crdnId));
// return sndb01Bean.getSndngInfo(new SndbQuery().setCrdnId(crdnId));
} }
} }

@ -40,7 +40,7 @@ public class Sprt02Controller extends ApplicationController {
} }
/** ID , . /** ID , .
* @param crdnId * @param crdnId ID
* @return fims/sprt/sprt02020-main jsonView * @return fims/sprt/sprt02020-main jsonView
* <pre><code> { * <pre><code> {
* "crdnPayerInfo": {...} * "crdnPayerInfo": {...}
@ -61,7 +61,7 @@ public class Sprt02Controller extends ApplicationController {
} }
/** ID . /** ID .
* @param crdnId * @param crdnId ID
* @return fims/sprt/sprt02030-main jsonView * @return fims/sprt/sprt02030-main jsonView
* <pre><code> { * <pre><code> {
* "crdnPayerInfo": {...} * "crdnPayerInfo": {...}
@ -81,4 +81,25 @@ public class Sprt02Controller extends ApplicationController {
; ;
} }
/** ID .
* @param crdnId ID
* @return fims/sprt/sprt02030-main jsonView
* <pre><code> {
* "crdnPayerInfo": {...}
* }</code></pre>
*/
@RequestMapping(name="발송 정보 조회", value="/040/info.do")
public ModelAndView getSndngInfo(String crdnId) {
DataObject sndngInfo = sprt02Service.getSndngInfo(crdnId);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02040-info");
return mav
.addObject("pageName", "sprt02040")
.addObject("sndngInfo", json ? sndngInfo : toJson(sndngInfo)) // 발송 정보
;
}
} }

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.excl.dao.Excl03Mapper"> <mapper namespace="cokr.xit.fims.excl.dao.CrdnReRegMapper">
<!-- 단속 재등록 정보 매퍼 <!-- 단속 재등록 정보 매퍼
========== 변경 이력 ========== ========== 변경 이력 ==========
2023-07-03 JoJH 최초 작성 2023-07-03 JoJH 최초 작성
============================ --> ============================ -->
<resultMap id="excl03Row" type="cokr.xit.fims.excl.CrdnReReg"> <resultMap id="crdnReRegRow" type="cokr.xit.fims.excl.CrdnReReg">
<!-- TB_CRDN_RE_REG 단속 재등록 대장 --> <!-- TB_CRDN_RE_REG 단속 재등록 대장 -->
<result property="reRegId" column="RE_REG_ID" /> <!-- 재등록 ID --> <result property="reRegId" column="RE_REG_ID" /> <!-- 재등록 ID -->
<result property="bfrCrdnId" column="BFR_CRDN_ID" /> <!-- 이전 단속 ID --> <result property="bfrCrdnId" column="BFR_CRDN_ID" /> <!-- 이전 단속 ID -->

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.excl.dao.Excl01Mapper"> <mapper namespace="cokr.xit.fims.excl.dao.LevyExclMapper">
<!-- 부과제외 대장 정보 매퍼 <!-- 부과제외 대장 정보 매퍼
========== 변경 이력 ========== ========== 변경 이력 ==========
2023-06-23 JoJH 최초 작성 2023-06-23 JoJH 최초 작성
============================ --> ============================ -->
<resultMap id="excl01Row" type="cokr.xit.fims.excl.LevyExcl"> <resultMap id="levyExclRow" type="cokr.xit.fims.excl.LevyExcl">
<!-- TB_LEVY_EXCL 부과제외 대장 --> <!-- TB_LEVY_EXCL 부과제외 대장 -->
<result property="levyExclId" column="LEVY_EXCL_ID" /> <!-- 부과 제외 ID --> <result property="levyExclId" column="LEVY_EXCL_ID" /> <!-- 부과 제외 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 --> <result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.excl.dao.Excl02Mapper"> <mapper namespace="cokr.xit.fims.excl.dao.OpnnSbmsnMapper">
<!-- 의견제출 대장 정보 매퍼 <!-- 의견제출 대장 정보 매퍼
========== 변경 이력 ========== ========== 변경 이력 ==========
2023-06-27 JoJH 최초 작성 2023-06-27 JoJH 최초 작성
============================ --> ============================ -->
<resultMap id="excl02Row" type="cokr.xit.fims.excl.OpnnSbmsn"> <resultMap id="opnnSbmsnRow" type="cokr.xit.fims.excl.OpnnSbmsn">
<!-- TB_OPNN_SBMSN 의견제출 대장 --> <!-- TB_OPNN_SBMSN 의견제출 대장 -->
<result property="opnnId" column="OPNN_ID" /> <!-- 의견 ID --> <result property="opnnId" column="OPNN_ID" /> <!-- 의견 ID -->
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID --> <result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->

@ -349,15 +349,6 @@
return; return;
} }
// let dataItems = ${pageName}Control.dataset.getDataset("item");
// let crdnIDs = {};
// for (let iLoop = 0; iLoop < dataItems.length; iLoop++) {
// let key = dataItems[iLoop].data.CRDN_ID;
// crdnIDs[iLoop] = key;
// }
ajax.get({ ajax.get({
url : wctx.url("/sprt/sprt02/010/main.do") url : wctx.url("/sprt/sprt02/010/main.do")
, data : { crdnId : crdnId } , data : { crdnId : crdnId }
@ -370,7 +361,7 @@
, content : resp , content : resp
, size : "xxl" , size : "xxl"
, init : () => { , init : () => {
sprt02010CrdnIDs = crdnIDs;
} }
}); });
} }

@ -7,6 +7,9 @@
<div> <div>
<!-- 입력 영역 --> <!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit"> <form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<div class="row g-1"> <div class="row g-1">
<!-- 차량번호 --> <!-- 차량번호 -->
<div class="col-md-3"> <div class="col-md-3">
@ -37,21 +40,22 @@
<div class="nav-align-top"> <div class="nav-align-top">
<ul class="nav nav-tabs" role="tablist"> <ul class="nav nav-tabs" role="tablist">
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link active" role="tab" <button type="button" class="nav-link active" role="tab" data-bs-toggle="tab" data-bs-target="#crdnPayerInfo"
data-bs-toggle="tab" data-bs-target="#crdnPayerInfo" aria-controls="crdnPayerInfo" aria-selected="true" aria-controls="crdnPayerInfo" aria-selected="true" onClick="fnBtnCrdnPayerInfo${pageName}();">
onClick="fnBtnCrdnPayerInfo${pageName}();">
단속 정보 단속 정보
</button> </button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link" role="tab" <button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#opnnSbmsnInfo"
data-bs-toggle="tab" data-bs-target="#opnnSbmsnInfo" aria-controls="opnnSbmsnInfo" aria-selected="false" aria-controls="opnnSbmsnInfo" aria-selected="false" onClick="fnBtnOpnnSbmsnInfo${pageName}();">
onClick="fnBtnOpnnSbmsnInfo${pageName}();">
의견제출 정보 의견제출 정보
</button> </button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#sndngInfo" aria-controls="sndngInfo" aria-selected="false">발송반송 정보</button> <button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#sndngInfo"
aria-controls="sndngInfo" aria-selected="false" onClick="fnBtnSndngInfo${pageName}();">
발송반송 정보
</button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#prcsDtlInfo" aria-controls="prcsDtlInfo" aria-selected="false">처리 상세정보</button> <button type="button" class="nav-link" role="tab" data-bs-toggle="tab" data-bs-target="#prcsDtlInfo" aria-controls="prcsDtlInfo" aria-selected="false">처리 상세정보</button>
@ -76,10 +80,10 @@
의견제출 정보 의견제출 정보
</div> </div>
<div class="tab-pane fade" id="sndngInfo" role="tabpanel"> <div class="tab-pane fade" id="sndngInfo" role="tabpanel">
발송반송 정보 발송 정보
</div> </div>
<div class="tab-pane fade" id="prcsDtlInfo" role="tabpanel"> <div class="tab-pane fade" id="prcsDtlInfo" role="tabpanel">
처리 상세정보 처리상세 정보
</div> </div>
<div class="tab-pane fade" id="levyAfterInfo" role="tabpanel"> <div class="tab-pane fade" id="levyAfterInfo" role="tabpanel">
부과이후 정보 부과이후 정보
@ -191,6 +195,24 @@
}); });
} }
// 발송 정보
fnBtnSndngInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (crdnId == undefined || crdnId == "") {
return;
}
ajax.get({
url : wctx.url("/sprt/sprt02/040/info.do")
, data : { crdnId : crdnId }
, success : resp => {
$("#sndngInfo").html(resp);
}
});
}
/************************************************************************** /**************************************************************************
* script 진입 * script 진입
**************************************************************************/ **************************************************************************/

@ -108,7 +108,7 @@
<div class="col-md-4"> <div class="col-md-4">
<label for="cvlcptAplyCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end align-top">민원 신청 내용</label> <label for="cvlcptAplyCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end align-top">민원 신청 내용</label>
<div class="btn-group"> <div class="btn-group">
<button class="btn btn-primary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <button class="btn btn-info dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
민원신청 내용보기 민원신청 내용보기
</button> </button>
<div class="dropdown-menu p-4 text-muted" style="max-width: 1000px;"> <div class="dropdown-menu p-4 text-muted" style="max-width: 1000px;">

@ -28,7 +28,7 @@
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnRemove--${pageName}" title="의견제출 삭제" onclick="fnBtnOpnnSbmsnRemove${pageName}();"> <button type="button" class="btn btn-primary" id="btnOpnnSbmsnRemove--${pageName}" title="의견제출 삭제" onclick="fnBtnOpnnSbmsnRemove${pageName}();">
의견제출 삭제 의견제출 삭제
</button> </button>
<button type="button" class="btn btn-primary" id="btnDlbrtLtfrOtpt --${pageName}" title="심의의결서 출력" onclick="fnBtnDlbrtLtfrOtpt${pageName}();"> <button type="button" class="btn btn-primary" id="btnDlbrtLtfrPrint--${pageName}" title="심의의결서 출력" onclick="fnBtnDlbrtLtfrPrint${pageName}();">
심의의결서 출력 심의의결서 출력
</button> </button>
</span> <!-- <span class="container-window-btn-right"> --> </span> <!-- <span class="container-window-btn-right"> -->
@ -103,7 +103,6 @@
<textarea class="form-control w-87" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="3" data-maxlengthb="1000" readonly> <textarea class="form-control w-87" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="3" data-maxlengthb="1000" readonly>
</textarea> </textarea>
</div> </div>
<!-- 첨부 파일 테이블 --> <!-- 첨부 파일 테이블 -->
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-bordered table-hover table-striped" id="fileList--${pageName}"> <table class="table table-bordered table-hover table-striped" id="fileList--${pageName}">
@ -118,7 +117,7 @@
</table> </table>
</div> <!-- 첨부 파일 테이블 <div class="table-responsive"> --> </div> <!-- 첨부 파일 테이블 <div class="table-responsive"> -->
</div> <!-- <div class="row g-1"> --> </div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> --> </div> <!-- 의견제출 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-9 mx-1"> --> </div> <!-- <div class="col-xl-9 mx-1"> -->
<!-- 화면 오른쪽 --> <!-- 화면 오른쪽 -->
@ -161,7 +160,7 @@
</textarea> </textarea>
</div> </div>
</div> </div>
</div> <!-- 의견제출 심의 정보 <div class="card" title="심의 정보"> --> </div> <!-- 심의 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-3 mx-0"> --> </div> <!-- <div class="col-xl-3 mx-0"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> --> </div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</form> </form>
@ -367,7 +366,7 @@
} }
// 심의의결서 출력 // 심의의결서 출력
function fnBtnDlbrtLtfrOtpt${pageName}() { function fnBtnDlbrtLtfrPrint${pageName}() {
} }

@ -0,0 +1,194 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="content-wrapper">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 -->
<div class="col-xl-9 mx-1">
<!-- 의견제출 정보 -->
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">발송 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnSndngCreate--${pageName}" title="개별 발송 등록" onclick="fnBtnSndngCreate${pageName}();">
개별 발송 등록
</button>
<button type="button" class="btn btn-primary" id="btnSndngRemove--${pageName}" title="개별 발송 삭제" onclick="fnBtnSndngRemove${pageName}();">
개별 발송 삭제
</button>
<button type="button" class="btn btn-primary" id="btnSndbkCreate--${pageName}" title="개별 반송 등록" onclick="fnBtnSndbkCreate${pageName}();">
개별 반송 등록
</button>
<button type="button" class="btn btn-primary" id="btnSndbkUpdate--${pageName}" title="개별 반송 수정" onclick="fnBtnSndbkUpdate${pageName}();">
개별 반송 수정
</button>
<button type="button" class="btn btn-primary" id="btnSndbkRemove--${pageName}" title="개별 반송 삭제" onclick="fnBtnSndbkRemove${pageName}();">
개별 반송 삭제
</button>
<button type="button" class="btn btn-primary" id="btnPostTraceView--${pageName}" title="우편 종적 보기" onclick="fnBtnPostTraceView${pageName}();">
우편 종적 보기
</button>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
</div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="col-xl-9 mx-1"> -->
<!-- 화면 오른쪽 -->
<div class="col-xl-3 mx-0">
<!-- 가상계좌 정보 -->
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">가상계좌 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
</div>
</div> <!-- 가상계좌 정보 <div class="card"> -->
</div> <!-- <div class="col-xl-3 mx-0"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</form>
</div>
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sprt/sprt02";
// FormFields
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
// 파일 리스트
var $fileListArr = new Array();
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "totalInfoSndng"
, prefixName : "발송 정보"
, keymapper : info => info ? info.SNDNG_ID : ""
, dataGetter : obj => obj.sndngInfo
, formats : {
RCPT_YMD : dateFormat
, ANS_YMD_TM : datetimeFormat
}
});
${pageName}Control.onCurrentChange = item => {
// Dataset 셋팅
${pageName}Fields.set(item);
}
/**************************************************************************
*
**************************************************************************/
// 삭제 후 재조회
${pageName}Control.onRemoveOpnnSbmsn = (resp) => {
if (resp.saved) {
fnDataRefreshInfo();
}
}
// 삭제
${pageName}Control.removeOpnnSbmsn = (opnnId) => {
// ajax.post({
// url : wctx.url("/excl/excl02/010/remove.do")
// , data : {opnnId : opnnId}
// , success : resp => ${pageName}Control.onRemoveOpnnSbmsn(resp)
// });
}
// 재조회
function fnDataRefreshInfo() {
let crdnId = $("#crdnId--${pageName}").val();
ajax.get({
url : wctx.url("/sprt/sprt02/030/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : { crdnId : crdnId }
, success : resp => {
// Dataset 셋팅
${pageName}Control.setData([resp.sndngInfo]);
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 검색조건 초기값 셋팅
function initForm${pageName}() {
}
// 이벤트 설정
function setEvent${pageName}() {
}
/**************************************************************************
* function
**************************************************************************/
// 개별 발송 등록
fnBtnSndngCreate${pageName} = () => {
}
// 개별 발송 삭제
fnBtnSndngRemove${pageName} = () => {
}
// 개별 반송 등록
fnBtnSndbkCreate${pageName} = () => {
}
// 개별 반송 수정
fnBtnSndbkUpdate${pageName} = () => {
}
// 개별 반송 등록
fnBtnSndbkRemove${pageName} = () => {
}
// 우편 종적 보기
fnBtnPostTraceView${pageName} = () => {
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 화면 초기 설정
initForm${pageName}();
// Dataset 셋팅
${pageName}Control.setData([${sndngInfo}]);
});
// #sourceURL=sprt02040-info.jsp
</script>

@ -0,0 +1,432 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- Page Body -->
<div class="content-wrapper">
<!-- 입력 영역 -->
<form id="frmEdit--${pageName}" name="frmEdit">
<!-- hidden -->
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="opnnId--${pageName}" name="opnnId" data-map="OPNN_ID" />
<div class="d-flex flex-row justify-content-evenly">
<!-- 화면 왼쪽 -->
<div class="col-xl-9 mx-1">
<!-- 의견제출 정보 -->
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">의견제출 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnCreate--${pageName}" title="의견제출 등록" onclick="fnBtnOpnnSbmsnCreate${pageName}();">
의견제출 등록
</button>
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnUpdate--${pageName}" title="의견제출 수정" onclick="fnBtnOpnnSbmsnUpdate${pageName}();">
의견제출 수정
</button>
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnRemove--${pageName}" title="의견제출 삭제" onclick="fnBtnOpnnSbmsnRemove${pageName}();">
의견제출 삭제
</button>
<button type="button" class="btn btn-primary" id="btnDlbrtLtfrOtpt --${pageName}" title="심의의결서 출력" onclick="fnBtnDlbrtLtfrOtpt${pageName}();">
심의의결서 출력
</button>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
<!-- 접수 번호 -->
<div class="col-md-4">
<label for="rcptNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수 번호</label>
<input type="text" class="form-control w-30" id="rcptNo--${pageName}" name="rcptNo" data-map="RCPT_NO" readonly />
</div>
<!-- 접수 일자 -->
<div class="col-md-4">
<label for="rcptYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">접수 일자</label>
<input type="text" class="form-control w-30" id="rcptYmd--${pageName}" name="rcptYmd" data-map="RCPT_YMD" readonly />
</div>
<!-- 진술자 이름 -->
<div class="col-md-4">
<label for="sttrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">성명</label>
<input type="text" class="form-control w-40" id="sttrNm--${pageName}" name="sttrNm" data-map="STTR_NM" readonly />
</div>
<!-- 진술자 생년월일 -->
<div class="col-md-4">
<label for="sttrBrdt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">생년월일</label>
<input type="text" class="form-control w-25" id="sttrBrdt--${pageName}" name="sttrBrdt" data-map="STTR_BRDT" placeholder="YY-MM-DD" readonly />
</div>
<!-- 소유주 관계 구분 명 -->
<div class="col-md-4">
<label for="ownrRelNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">소유주 관계 구분</label>
<input type="text" class="form-control w-40" id="ownrRelNm--${pageName}" name="ownrRelNm" data-map="OWNR_REL_NM" readonly />
</div>
<!-- 진술자 주소 --><!-- 진술자 우편번호 -->
<div class="col-md-12">
<label for="sttrAddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">주소</label>
<input type="text" class="form-control w-80" id="sttrAddr--${pageName}" name="sttrAddr" data-map="STTR_ADDR" readonly />
<input type="text" class="form-control w-px-75" id="sttrZip--${pageName}" name="sttrZip" data-map="STTR_ZIP" readonly />
</div>
<!-- 진술자 상세주소 -->
<div class="col-md-12">
<label for="sttrDaddr--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">상세 주소</label>
<input type="text" class="form-control w-87" id="sttrDaddr--${pageName}" name="sttrDaddr" data-map="STTR_DADDR" readonly />
</div>
<!-- 진술자 연락처 -->
<div class="col-md-4">
<label for="sttrCttpc--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">연락처</label>
<input type="text" class="form-control w-35" id="sttrCttpc--${pageName}" name="sttrCttpc" data-map="STTR_CTTPC" readonly />
</div>
<!-- 진술자 이메일 -->
<div class="col-md-8">
<label for="sttrEml--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">이메일</label>
<input type="text" class="form-control w-35" id="sttrEml--${pageName}" name="sttrEml" data-map="STTR_EML" readonly />
</div>
<!-- 의견 제출 내용 -->
<div class="col-md-12">
<label for="opnnSbmsnCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출 내용</label>
<textarea type="text" class="form-control w-87" id="opnnSbmsnCn--${pageName}" name="opnnSbmsnCn" data-map="OPNN_SBMSN_CN" rows="4" data-maxlengthb="4000" readonly>
</textarea>
</div>
<!-- 의견 제출 구분 명 -->
<div class="col-md-4">
<label for="opnnSbmsnSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견 제출 구분</label>
<input type="text" class="form-control w-40" id="opnnSbmsnSeNm--${pageName}" name="opnnSbmsnSeNm" data-map="OPNN_SBMSN_SE_NM" readonly />
</div>
<!-- 의견 제출 요지 -->
<div class="col-md-8">
<label for="opnnSbmsnGist--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">의견제출 요지</label>
<input type="text" class="form-control w-80" id="opnnSbmsnGist--${pageName}" name="opnnSbmsnGist" data-map="OPNN_SBMSN_GIST" data-maxlengthb="300" readonly />
</div>
<!-- 담당자 검토 의견 -->
<div class="col-md-12">
<label for="picRvwOpnn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">검토 의견</label>
<textarea class="form-control w-87" id="picRvwOpnn--${pageName}" name="picRvwOpnn" data-map="PIC_RVW_OPNN" rows="3" data-maxlengthb="1000" readonly>
</textarea>
</div>
<!-- 첨부 파일 테이블 -->
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped" id="fileList--${pageName}">
<thead>
<th class="text-center" style="width: 24px">NO.</th>
<th class="text-center" style="width: 200px">파일 번호</th>
<th class="text-center">파일 이름</th>
<th class="text-center" style="width: 200px">파일 크기</th>
<th class="text-center" style="width: 120px">다운로드</th>
</thead>
<tbody></tbody>
</table>
</div> <!-- 첨부 파일 테이블 <div class="table-responsive"> -->
</div> <!-- <div class="row g-1"> -->
</div> <!-- <div class="card"> -->
</div> <!-- <div class="col-xl-9 mx-1"> -->
<!-- 화면 오른쪽 -->
<div class="col-xl-3 mx-0">
<!-- 심의 정보 -->
<div class="card">
<!-- 업무 버튼 -->
<div class="container-page-btn">
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">심의 정보</label>
<!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right">
<button type="button" class="btn btn-primary" id="btnOpnnSbmsnDlbrt--${pageName}" title="의견제출 심의" onclick="fnBtnOpnnSbmsnDlbrt${pageName}();">
의견제출 심의
</button>
</span> <!-- <span class="container-window-btn-right"> -->
</div> <!-- <div class="container-page-btn"> -->
<div class="row g-1">
<!-- 문서 번호 -->
<div class="col-md-12">
<label for="docNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">문서 번호</label>
<input type="text" class="form-control w-50" id="docNo--${pageName}" name="docNo" data-map="DOC_NO" readonly />
</div>
<!-- 답변일시 -->
<div class="col-md-12">
<label for="ansYmdTm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">처리 일시</label>
<input type="text" class="form-control w-50" id="ansYmdTm--${pageName}" name="ansYmdTm" data-map="ANS_YMD_TM" readonly />
</div>
<!-- 의견 제출 상태 코드 -->
<div class="col-md-12">
<label for="opnnSbmsnSttsNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">처리 결과</label>
<input type="text" class="form-control w-50" id="opnnSbmsnSttsNm--${pageName}" name="opnnSbmsnSttsNm" data-map="OPNN_SBMSN_STTS_NM" readonly />
</div>
<!-- 답변 내용 -->
<div class="col-md-12">
<label for="ansCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">처리 내용</label>
</div>
<div class="col-md-12">
<textarea type="text" class="form-control w-100" id="ansCn--${pageName}" name="ansCn" data-map="ANS_CN" rows="14" data-maxlengthb="4000">
</textarea>
</div>
</div>
</div> <!-- 의견제출 심의 정보 <div class="card" title="심의 정보"> -->
</div> <!-- <div class="col-xl-3 mx-0"> -->
</div> <!-- <div class="d-flex flex-row justify-content-evenly"> -->
</form>
</div>
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/sprt/sprt02";
// FormFields
var ${pageName}Fields = new FormFields("#frmEdit--${pageName}");
// 파일 리스트
var $fileListArr = new Array();
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "totalInfoOpnnSbmsn"
, prefixName : "의견제출 정보"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.opnnSbmsnInfo
, formats : {
RCPT_YMD : dateFormat
, ANS_YMD_TM : datetimeFormat
}
});
${pageName}Control.onCurrentChange = item => {
// Dataset 셋팅
${pageName}Fields.set(item);
if (item.data.OPNN_ID != null) {
// 첨부파일 조회
fnSearchFileList${pageName}(item.data.OPNN_ID);
}
}
/**************************************************************************
*
**************************************************************************/
// 의견제출 dialog
${pageName}Control.getOpnnSbmsnInfo = (params) => {
let dialogTitle = "";
if (params.callPurpose == "create") {
dialogTitle = "의견제출 등록";
} else if (params.callPurpose == "update") {
dialogTitle = "의견제출 수정";
} else {
return;
}
ajax.get({
url : wctx.url("/excl/excl02/020/info.do")
, data : params
, success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
dialog.open({
id : "opnnInfoDialog"
, title : dialogTitle
, content : resp
, size : "xl"
, onClose : () => { fnDataRefreshInfo(); } // callback
});
}
});
}
// 삭제 후 재조회
${pageName}Control.onRemoveOpnnSbmsn = (resp) => {
if (resp.saved) {
fnDataRefreshInfo();
}
}
// 삭제
${pageName}Control.removeOpnnSbmsn = (opnnId) => {
ajax.post({
url : wctx.url("/excl/excl02/010/remove.do")
, data : {opnnId : opnnId}
, success : resp => ${pageName}Control.onRemoveOpnnSbmsn(resp)
});
}
// 심의 dialog
${pageName}Control.getOpnnSbmsnDlbrtInfo = (params) => {
ajax.get({
url : wctx.url("/excl/excl02/030/info.do")
, data : params
, success : resp => {
resp = resp.replace(/infoPrefix/g, this.prefix)
.replace(/prefixName/g, this.prefixName)
dialog.open({
id : "opnnInfoDialog"
, title : "의견제출 답변 처리"
, content : resp
, size : "lg"
});
}
});
}
// 재조회
function fnDataRefreshInfo() {
let crdnId = $("#crdnId--${pageName}").val();
ajax.get({
url : wctx.url("/sprt/sprt02/030/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : { crdnId : crdnId }
, success : resp => {
// Dataset 셋팅
${pageName}Control.setData([resp.opnnSbmsnInfo]);
}
});
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 검색조건 초기값 셋팅
function initForm${pageName}() {
}
// 이벤트 설정
function setEvent${pageName}() {
}
/**************************************************************************
* function
**************************************************************************/
// 의견제출 등록
function fnBtnOpnnSbmsnCreate${pageName}() {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (crdnId == undefined || crdnId == "") {
return;
}
let params = {
callPurpose : "create"
, crdnId : crdnId
};
${pageName}Control.getOpnnSbmsnInfo(params);
}
// 의견제출 수정
function fnBtnOpnnSbmsnUpdate${pageName}() {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID")
// 의견 ID 가 없다면.. return
if (opnnId == undefined || opnnId == "") {
return;
}
let params = {
callPurpose : "update"
, opnnId : opnnId
};
${pageName}Control.getOpnnSbmsnInfo(params);
}
// 의견제출 삭제
function fnBtnOpnnSbmsnRemove${pageName}() {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견 ID 가 없다면.. return
if (opnnId == undefined || opnnId == "") {
return;
}
dialog.alert({
content : "선택한 ${prefixName} 정보를 삭제하시겠습니까?"
, onOK : () => {
${pageName}Control.removeOpnnSbmsn(opnnId);
}
});
}
// 의견제출 심의
function fnBtnOpnnSbmsnDlbrt${pageName}() {
let opnnId = ${pageName}Control.dataset.getValue("OPNN_ID");
// 의견제출 ID 가 없다면.. return
if (opnnId == undefined || opnnId == "") {
return;
}
let params = {
callPurpose : "update"
, opnnId : opnnId
};
${pageName}Control.getOpnnSbmsnDlbrtInfo(params);
}
// 심의의결서 출력
function fnBtnDlbrtLtfrOtpt${pageName}() {
}
// 첨부파일 조회
function fnSearchFileList${pageName}(opnnId) {
// 의견제출 등록일 경우에는 첨부파일을 조회하지 안는다..
if (opnnId == null || opnnId == "") {
return;
}
// 첨부파일 리스트
ajax.get({
url : "file/list.do"
, data : {
infoType : "110"
, infoKeys : opnnId
, fetchSize : 0
}
, success : resp => {
let fileNo = 0;
let fileList = resp.fileList;
fileList.forEach(function (item, index, array) {
fileNo = index + 1;
let innerHtml = "";
innerHtml += "<tr>";
innerHtml += "<td class='text-center'>" + fileNo + "</td>";
innerHtml += "<td class='text-center'>" + item.FILE_ID + "</td>";
innerHtml += "<td class='text-center'>" + item.FILE_NM + "</td>";
innerHtml += "<td class='text-center'>" + item.FILE_SIZE + " byte</td>";
innerHtml += "<td class='text-center'>" + "<button class='btn' onclick='fnBtnFileDownload${pageName}(" + item.FILE_ID + ");'><i class='bx bx-download me-1'></i></button>" + "</td>";
innerHtml += "</tr>";
$("#fileList--${pageName} > tbody:last").append(innerHtml);
});
}
});
}
// 첨부파일 다운로드
function fnBtnFileDownload${pageName}(fileID) {
top.location.href = "/file/download.do?fileID=" + fileID;
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 화면 초기 설정
initForm${pageName}();
// Dataset 셋팅
${pageName}Control.setData([${opnnSbmsnInfo}]);
});
// #sourceURL=sprt02030-info.jsp
</script>
Loading…
Cancel
Save