1. 부서 테이블 자바소스 추가.

main
jjh 11 months ago
parent 3a5755107f
commit 7c68db06dc

@ -12,7 +12,11 @@ public class CmmnQuery extends QueryRequest {
private String thisDay; private String thisDay;
private String sggCd; // 시군구 코드 private String sggCd; // 시군구 코드
private String deptCd; // 부서 코드
private String taskSeCd; // 업무 구분 코드 private String taskSeCd; // 업무 구분 코드
private String instCd; // 기관 코드
private String useYN; // 사용 여부
private String delYN; // 삭제 여부
private String schDateOpt; // 검색 일자 구분 private String schDateOpt; // 검색 일자 구분
private String schDateFrom; // 검색 일자 시작 private String schDateFrom; // 검색 일자 시작
@ -64,6 +68,15 @@ public class CmmnQuery extends QueryRequest {
return self(); return self();
} }
public String getDeptCd() {
return ifEmpty(deptCd, () -> null);
}
public <T extends CmmnQuery> T setDeptCd(String deptCd) {
this.deptCd = deptCd;
return self();
}
public String getTaskSeCd() { public String getTaskSeCd() {
return ifEmpty(taskSeCd, () -> null); return ifEmpty(taskSeCd, () -> null);
} }
@ -73,6 +86,33 @@ public class CmmnQuery extends QueryRequest {
return self(); return self();
} }
public String getInstCd() {
return ifEmpty(instCd, () -> null);
}
public <T extends CmmnQuery> T setInstCd(String instCd) {
this.instCd = instCd;
return self();
}
public String getUseYN() {
return ifEmpty(useYN, () -> null);
}
public <T extends CmmnQuery> T setUseYN(String useYN) {
this.useYN = useYN;
return self();
}
public String getDelYN() {
return ifEmpty(delYN, () -> null);
}
public <T extends CmmnQuery> T setDelYN(String delYN) {
this.delYN = delYN;
return self();
}
public String getSchDateOpt() { public String getSchDateOpt() {
return ifEmpty(schDateOpt, () -> null); return ifEmpty(schDateOpt, () -> null);
} }

@ -18,7 +18,6 @@ public class CrdnSttsHstryQuery extends CmmnQuery {
private String crdnId; // 단속 ID private String crdnId; // 단속 ID
private String crdnSttsCd; // 단속 상태 코드 private String crdnSttsCd; // 단속 상태 코드
private String taskDtlId; // 업무 상세 ID private String taskDtlId; // 업무 상세 ID
private String useYN; // 사용 여부
public String getSttsHstryId() { public String getSttsHstryId() {
return ifEmpty(sttsHstryId, () -> null); return ifEmpty(sttsHstryId, () -> null);
@ -60,14 +59,4 @@ public class CrdnSttsHstryQuery extends CmmnQuery {
return self(); return self();
} }
public String getUseYN() {
return ifEmpty(useYN, () -> null);
}
public <T extends CrdnSttsHstryQuery> T setUseYN(String useYN) {
this.useYN = useYN;
return self();
}
} }

@ -0,0 +1,124 @@
package cokr.xit.fims.cmmn;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author JoJH
*/
@Getter
@Setter
public class Dept extends AbstractEntity {
/**
*
*/
private String deptCd;
/**
*
*/
private String sggCd;
/**
*
*/
private String instCd;
/**
*
*/
private String deptNm;
/**
*
*/
private String deptTelno;
/**
*
*/
private String deptFxno;
/**
*
*/
private String vrbacntLinkSeCd;
/**
*
*/
private String pstofcNm;
/**
*
*/
private String rgNoHeader;
/**
*
*/
private String sndngLinkSeCd;
/**
* E
*/
private String egpConOrg;
/**
* E
*/
private String egpRceptId;
/**
* E
*/
private String egpApvlNb;
/**
* E ESB
*/
private String egpEsbPath;
/**
* E CN
*/
private String egpCertCn;
/**
* ID
*/
private String ensInterfaceId;
/**
*
*/
private String ensSourceCd;
/**
*
*/
private String ensTargetCd;
/**
* URL
*/
private String ensUrl;
/**
*
*/
private String dtbnBankNm;
/**
*
*/
private String dtbnActno;
/**
* OS
*/
private String srvrOs;
}

@ -0,0 +1,118 @@
package cokr.xit.fims.cmmn.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.cmmn.CmmnQuery;
import cokr.xit.fims.cmmn.Dept;
/** DAO
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
@Mapper("deptMapper")
public interface DeptMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectDeptList(CmmnQuery req);
/** .
* @param req
* @return
*/
List<DataObject> selectDepts(CmmnQuery req);
/** .
* @param req
* @return
*/
default DataObject selectDeptInfo(CmmnQuery req) {
// 삭제 여부 확인
if (req.getUseYN() == null) {
req.setUseYN("Y");
}
// 기본 정렬
if (req.getOrderBy() == null) {
req.setOrderBy("D.DEPT_CD DESC");
}
List<DataObject> depts = selectDepts(req);
return !depts.isEmpty() ? depts.get(0) : null;
}
/** .
* @param params
* <ul><li>"deptInfo" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int insertDept(Map<String, Object> params);
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(Dept dept) {
return dept != null && insertDept(params().set("dept", dept)) == 1;
}
/** .
* @param params
* <ul><li>"deptInfo" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateDept(Map<String, Object> params);
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean update(Dept dept) {
return dept != null && updateDept(params().set("dept", dept)) == 1;
}
/** .
* @param params
* <ul><li>"deptInfo" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int deleteDept(Map<String, ?> params);
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean delete(Dept dept) {
return dept != null && deleteDept(params().set("dept", dept)) == 1;
}
}

@ -0,0 +1,67 @@
package cokr.xit.fims.cmmn.service;
import java.util.List;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.cmmn.CmmnQuery;
import cokr.xit.fims.cmmn.Dept;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
public interface DeptService {
/** .
* @param req
* @return
*/
List<DataObject> getDeptList(CmmnQuery req);
/** .
* @param req
* @return
*/
List<DataObject> getDepts(CmmnQuery req);
/** .
* @param req
* @return
*/
DataObject getDeptInfo(CmmnQuery req);
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean create(Dept dept);
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean update(Dept dept);
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean remove(Dept dept);
}

@ -0,0 +1,90 @@
package cokr.xit.fims.cmmn.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.cmmn.CmmnQuery;
import cokr.xit.fims.cmmn.Dept;
import cokr.xit.fims.cmmn.dao.DeptMapper;
/** Bean
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
@Component("deptBean")
public class DeptBean extends AbstractComponent {
/** 부서 정보 DAO */
@Resource(name = "deptMapper")
private DeptMapper deptMapper;
/** .
* @param req
* @return
*/
public List<DataObject> getDeptList(CmmnQuery req) {
return deptMapper.selectDeptList(req);
}
/** .
* @param req
* @return
*/
public List<DataObject> getDepts(CmmnQuery req) {
return deptMapper.selectDepts(req);
}
/** .
* @param req
* @return
*/
public DataObject getDeptInfo(CmmnQuery req) {
return deptMapper.selectDeptInfo(req);
}
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean create(Dept dept) {
return deptMapper.insert(dept);
}
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean update(Dept dept) {
return deptMapper.update(dept);
}
/** .
* @param dept
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean remove(Dept dept) {
return deptMapper.delete(dept);
}
}

@ -0,0 +1,62 @@
package cokr.xit.fims.cmmn.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.cmmn.CmmnQuery;
import cokr.xit.fims.cmmn.Dept;
import cokr.xit.fims.cmmn.service.DeptService;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
@Service("deptService")
public class DeptServiceBean extends AbstractServiceBean implements DeptService {
/** 부서 정보 정보 Bean */
@Resource(name = "deptBean")
private DeptBean deptBean;
@Override
public List<DataObject> getDeptList(CmmnQuery req) {
return deptBean.getDeptList(req);
}
@Override
public List<DataObject> getDepts(CmmnQuery req) {
return deptBean.getDepts(req);
}
@Override
public DataObject getDeptInfo(CmmnQuery req) {
return deptBean.getDeptInfo(req);
}
@Override
public boolean create(Dept dept) {
return deptBean.create(dept);
}
@Override
public boolean update(Dept dept) {
return deptBean.update(dept);
}
@Override
public boolean remove(Dept dept) {
return deptBean.remove(dept);
}
}

@ -0,0 +1,105 @@
package cokr.xit.fims.cmmn.web;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import cokr.xit.foundation.web.AbstractController;
import cokr.xit.fims.cmmn.CmmnQuery;
import cokr.xit.fims.cmmn.Dept;
import cokr.xit.fims.cmmn.service.DeptService;
/**
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
@RequestMapping(name = "부서 정보", value = "/deptInfo")
public class DeptController extends AbstractController {
/**부서 정보 서비스*/
@Resource(name = "deptService")
private DeptService deptService;
/** (deptInfo/deptInfo-main) .
* {@link #getDeptInfoList(DeptInfoQuery) } .
* @return /deptInfo/deptInfo-main
*/
@RequestMapping(name = "부서 정보 메인", value = "/main.do")
public ModelAndView main() {
ModelAndView mav = getDeptList(new CmmnQuery().setPageNum(1));
mav.setViewName("/deptInfo/deptInfo-main");
return mav.addObject("deptInfoList", toJson(mav.getModel().get("deptInfoList")));
}
/** .<br />
* {@link DeptService#getDeptInfoList(DeptInfoQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "deptInfoList": [ ]
* "deptInfoStart":
* "deptInfoFetch":
* "deptInfoTotal":
* }</code></pre>
*/
@RequestMapping(name = "부서 정보 조회", value = "/list.do")
public ModelAndView getDeptList(CmmnQuery req) {
List<?> result = deptService.getDeptList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "deptInfo");
}
/** .
* @param deptInfo
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "부서 정보 등록", value = "/create.do")
public ModelAndView create(Dept deptInfo) {
boolean saved = deptService.create(deptInfo);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param deptInfo
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "부서 정보 수정", value = "/update.do")
public ModelAndView update(Dept deptInfo) {
boolean saved = deptService.update(deptInfo);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param deptInfoIDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
@PostMapping(name = "부서 정보 제거", value = "/remove.do")
public ModelAndView remove(Dept deptInfo) {
boolean saved = deptService.remove(deptInfo);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
}

@ -56,8 +56,6 @@ public class CrdnQuery extends CmmnQuery {
private String crdnSttsCd; private String crdnSttsCd;
private String ansSeCd; private String ansSeCd;
private String ansRsnCd; private String ansRsnCd;
private String instCd;
private String deptCd;
//포함, 제외, 특정 자료 //포함, 제외, 특정 자료
private String schOnlySamePlace; private String schOnlySamePlace;
@ -372,24 +370,6 @@ public class CrdnQuery extends CmmnQuery {
return self(); return self();
} }
public String getInstCd() {
return ifEmpty(instCd, () -> null);
}
public <T extends CrdnQuery> T setInstCd(String instCd) {
this.instCd = instCd;
return self();
}
public String getDeptCd() {
return ifEmpty(deptCd, () -> null);
}
public <T extends CrdnQuery> T setDeptCd(String deptCd) {
this.deptCd = deptCd;
return self();
}
public String getAplcnYmd() { public String getAplcnYmd() {
return ifEmpty(aplcnYmd, () -> null); return ifEmpty(aplcnYmd, () -> null);
} }

@ -61,7 +61,6 @@ public class EpostQuery extends CmmnQuery {
// ETC // ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String useYN; // 사용 여부
private String delYn; // 삭제 여부 private String delYn; // 삭제 여부
private String delRsn; // 삭제 사유 private String delRsn; // 삭제 사유
private String crdnDelYn; // 단속 삭제 여부 private String crdnDelYn; // 단속 삭제 여부
@ -426,15 +425,6 @@ public class EpostQuery extends CmmnQuery {
return self(); return self();
} }
public String getUseYN() {
return ifEmpty(useYN, () -> null);
}
public <T extends EpostQuery> T setUseYN(String useYN) {
this.useYN = useYN;
return self();
}
public String getDelYn() { public String getDelYn() {
return ifEmpty(delYn, () -> null); return ifEmpty(delYn, () -> null);
} }

@ -0,0 +1,81 @@
package cokr.xit.fims.epst;
import cokr.xit.foundation.AbstractEntity;
import lombok.Getter;
import lombok.Setter;
/**
*
* @author JoJH
*/
@Getter
@Setter
public class EpostRcptRslt extends AbstractEntity {
/**
* ID
*/
private String rcptRsltId;
/**
*
*/
private String conOrg;
/**
*
*/
private String relorsectCd;
/**
*
*/
private String reletcdata;
/**
*
*/
private String extriRegymd;
/**
*
*/
private String rceptYmd;
/**
*
*/
private String rceptId;
/**
*
*/
private String divKb;
/**
*
*/
private Integer rceptCnt;
/**
*
*/
private Integer rceptAmt;
/**
*
*/
private Integer usefeeAmt;
/**
*
*/
private Integer totpostPrc;
/**
*
*/
private String jobCd;
}

@ -0,0 +1,99 @@
package cokr.xit.fims.epst.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.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptRslt;
/** DAO
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
@Mapper("epostRcptRsltMapper")
public interface EpostRcptRsltMapper extends AbstractMapper {
/** .<br />
* @param req
* @return
*/
List<DataObject> selectEpostRcptRsltList(EpostQuery req);
/** .
* @param req
* @return
*/
List<EpostRcptRslt> selectEpostRcptRslts(EpostQuery req);
/** .
* @param params
* <ul><li>"epostRcptRslt" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int insertEpostRcptRslt(Map<String, Object> params);
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(EpostRcptRslt epostRcptRslt) {
return epostRcptRslt != null && insertEpostRcptRslt(params().set("epostRcptRslt", epostRcptRslt)) == 1;
}
/** .
* @param params
* <ul><li>"epostRcptRslt" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateEpostRcptRslt(Map<String, Object> params);
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean update(EpostRcptRslt epostRcptRslt) {
return epostRcptRslt != null && updateEpostRcptRslt(params().set("epostRcptRslt", epostRcptRslt)) == 1;
}
/** .
* @param params
* <ul><li>"epostRcptRslt" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int deleteEpostRcptRslt(Map<String, ?> params);
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean delete(EpostRcptRslt epostRcptRslt) {
return epostRcptRslt != null && deleteEpostRcptRslt(params().set("epostRcptRslt", epostRcptRslt)) == 1;
}
}

@ -0,0 +1,61 @@
package cokr.xit.fims.epst.service;
import java.util.List;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptRslt;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
public interface EpostRcptRsltService {
/** .
* @param req
* @return
*/
List<DataObject> getEpostRcptRsltList(EpostQuery req);
/** .
* @param req
* @return
*/
List<EpostRcptRslt> getEpostRcptRslts(EpostQuery req);
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean create(EpostRcptRslt epostRcptRslt);
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean update(EpostRcptRslt epostRcptRslt);
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean remove(EpostRcptRslt epostRcptRslt);
}

@ -0,0 +1,82 @@
package cokr.xit.fims.epst.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptRslt;
import cokr.xit.fims.epst.dao.EpostRcptRsltMapper;
/** Bean
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
@Component("epostRcptRsltBean")
public class EpostRcptRsltBean extends AbstractComponent {
/** 전자우편 접수 결과 정보 DAO */
@Resource(name = "epostRcptRsltMapper")
private EpostRcptRsltMapper epostRcptRsltMapper;
/** .
* @param req
* @return
*/
public List<DataObject> getEpostRcptRsltList(EpostQuery req) {
return epostRcptRsltMapper.selectEpostRcptRsltList(req);
}
/** .
* @param req
* @return
*/
public List<EpostRcptRslt> getEpostRcptRslts(EpostQuery req) {
return epostRcptRsltMapper.selectEpostRcptRslts(req);
}
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean create(EpostRcptRslt epostRcptRslt) {
return epostRcptRsltMapper.insert(epostRcptRslt);
}
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean update(EpostRcptRslt epostRcptRslt) {
return epostRcptRsltMapper.update(epostRcptRslt);
}
/** .
* @param epostRcptRslt
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean remove(EpostRcptRslt epostRcptRslt) {
return epostRcptRsltMapper.delete(epostRcptRslt);
}
}

@ -0,0 +1,58 @@
package cokr.xit.fims.epst.service.bean;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptRslt;
import cokr.xit.fims.epst.service.EpostRcptRsltService;
/** .
*
* <p> :
*
* <pre>
* ============ ============
* 2023-12-12 JoJH
* ================================
* </pre>
*/
@Service("epostRcptRsltService")
public class EpostRcptRsltServiceBean extends AbstractServiceBean implements EpostRcptRsltService {
/** 전자우편 접수 결과 정보 Bean */
@Resource(name = "epostRcptRsltBean")
private EpostRcptRsltBean epostRcptRsltBean;
@Override
public List<DataObject> getEpostRcptRsltList(EpostQuery req) {
return epostRcptRsltBean.getEpostRcptRsltList(req);
}
@Override
public List<EpostRcptRslt> getEpostRcptRslts(EpostQuery req) {
return epostRcptRsltBean.getEpostRcptRslts(req);
}
@Override
public boolean create(EpostRcptRslt epostRcptRslt) {
return epostRcptRsltBean.create(epostRcptRslt);
}
@Override
public boolean update(EpostRcptRslt epostRcptRslt) {
return epostRcptRsltBean.update(epostRcptRslt);
}
@Override
public boolean remove(EpostRcptRslt epostRcptRslt) {
return epostRcptRsltBean.remove(epostRcptRslt);
}
}

@ -1,19 +1,12 @@
package cokr.xit.fims.epst.web; package cokr.xit.fims.epst.web;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode;
import cokr.xit.base.user.ManagedUser;
import cokr.xit.base.web.ApplicationController; import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptReg; import cokr.xit.fims.epst.EpostRcptReg;
import cokr.xit.fims.epst.service.EpostRcptRegService; import cokr.xit.fims.epst.service.EpostRcptRegService;
import cokr.xit.foundation.data.DataObject;
/** /**
* *
@ -31,10 +24,7 @@ public class Epst01Controller extends ApplicationController {
public class METHOD_URL { public class METHOD_URL {
public static final String public static final String
epostReceiptRegistrationMain = "/010/main.do" // 전자우편 접수 메인 화면 createEpostReceiptRegistration = "/010/create.do" // 전자우편 접수 정보 등록
, getEpostReceiptRegistrationList = "/010/list.do" // 전자우편 접수 대장 목록 조회
, getEpostReceiptRegistrationInfo = "/020/info.do" // 전자우편 접수 정보 조회
, createEpostReceiptRegistration = "/010/create.do" // 전자우편 접수 정보 등록
, updateEpostReceiptRegistration = "/010/update.do" // 전자우편 접수 정보 수정 , updateEpostReceiptRegistration = "/010/update.do" // 전자우편 접수 정보 수정
, deleteEpostReceiptRegistration = "/010/delete.do" // 전자우편 접수 정보 삭제 , deleteEpostReceiptRegistration = "/010/delete.do" // 전자우편 접수 정보 삭제
; ;
@ -44,75 +34,6 @@ public class Epst01Controller extends ApplicationController {
@Resource(name = "epostRcptRegService") @Resource(name = "epostRcptRegService")
private EpostRcptRegService epostRcptRegService; private EpostRcptRegService epostRcptRegService;
/** (epostRcptReg/epostRcptReg-main) .
* {@link #getEpostRcptRegList(EpostRcptRegQuery) } .
* @return /epostRcptReg/epostRcptReg-main
*/
public ModelAndView epostReceiptRegistrationMain() {
ModelAndView mav = new ModelAndView("fims/epst/epst01010-main");
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// 부서 코드 7자리
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "epst01010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "epostRcptReg") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}
/** .<br />
* {@link EpostRcptRegService#getEpostRcptRegList(EpostRcptRegQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "epostRcptRegList": [ ]
* "epostRcptRegStart":
* "epostRcptRegFetch":
* "epostRcptRegTotal":
* }</code></pre>
*/
public ModelAndView getEpostReceiptRegistrationList(EpostQuery req) {
List<?> result = epostRcptRegService.getEpostRcptRegList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptReg");
}
/** (info) .
* @param req
* @return fims/epst/epst01020-info jsonView
* <pre>{
* "epostRcptReg":
* }</pre>
*/
public ModelAndView getEpostGuidanceDocumentInfo(EpostQuery req) {
//
DataObject epostRcptRegInfo = epostRcptRegService.getEpostRcptRegInfo(req);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/epst/epst02020-info");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM047", "FIM054");
addCodes(commonCodes, mav, "FIM047", "FIM054");
return mav
.addObject("pageName", "epst01020") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("epostRcptRegInfo", json ? epostRcptRegInfo : toJson(epostRcptRegInfo))
;
}
/** . /** .
* @param epostRcptReg * @param epostRcptReg
* @return jsonView * @return jsonView

@ -10,9 +10,14 @@ import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode; import cokr.xit.base.code.CommonCode;
import cokr.xit.base.user.ManagedUser; import cokr.xit.base.user.ManagedUser;
import cokr.xit.base.web.ApplicationController; import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.cmmn.CmmnQuery;
import cokr.xit.fims.cmmn.service.DeptService;
import cokr.xit.fims.epst.EpostGdcc; import cokr.xit.fims.epst.EpostGdcc;
import cokr.xit.fims.epst.EpostQuery; import cokr.xit.fims.epst.EpostQuery;
import cokr.xit.fims.epst.EpostRcptRslt;
import cokr.xit.fims.epst.service.EpostGdccService; import cokr.xit.fims.epst.service.EpostGdccService;
import cokr.xit.fims.epst.service.EpostRcptRegService;
import cokr.xit.fims.epst.service.EpostRcptRsltService;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
/** /**
@ -31,12 +36,17 @@ public class Epst02Controller extends ApplicationController {
public class METHOD_URL { public class METHOD_URL {
public static final String public static final String
epostGuidanceDocumentMain = "/010/main.do" // 전자우편 안내문 메인 화면 epostGuidanceDocumentMain = "/010/main.do" // 전자우편 안내문 메인
, getEpostGuidanceDocumentList = "/010/list.do" // 전자우편 안내문 대장 목록 조회 , getEpostGuidanceDocumentList = "/010/list.do" // 전자우편 안내문 목록 조회
, getEpostGuidanceDocumentInfo = "/020/info.do" // 전자우편 안내문 정보 조회 , getEpostGuidanceDocumentInfo = "/020/info.do" // 전자우편 안내문 정보 조회
, createEpostGuidanceDocument = "/020/create.do" // 전자우편 안내문 정보 등록 , createEpostGuidanceDocument = "/020/create.do" // 전자우편 안내문 등록
, updateEpostGuidanceDocument = "/020/update.do" // 전자우편 안내문 정보 수정 , updateEpostGuidanceDocument = "/020/update.do" // 전자우편 안내문 수정
, removeEpostGuidanceDocument = "/010/remove.do" // 전자우편 안내문 정보 삭제 , removeEpostGuidanceDocument = "/010/remove.do" // 전자우편 안내문 삭제
, epostReceiptRegistrationMain = "/030/main.do" // 전자우편 발송 상태 메인
, getEpostReceiptRegistrationList = "/030/list.do" // 전자우편 발송 상태 목록 조회
, getEpostReceiptRegistrationInfo = "/040/info.do" // 전자우편 발송 상태 정보 조회
, epostReceiptResultMain = "/050/main.do" // 전자우편 접수 결과 메인
, getEpostReceiptResultList = "/050/list.do" // 전자우편 접수 결과 목록 조회
; ;
} }
@ -44,6 +54,18 @@ public class Epst02Controller extends ApplicationController {
@Resource(name = "epostGdccService") @Resource(name = "epostGdccService")
private EpostGdccService epostGdccService; private EpostGdccService epostGdccService;
/**전자우편 접수 등록 서비스*/
@Resource(name = "epostRcptRegService")
private EpostRcptRegService epostRcptRegService;
/**전자우편 접수 결과 서비스*/
@Resource(name = "epostRcptRsltService")
private EpostRcptRsltService epostRcptRsltService;
/**부서 정보 서비스*/
@Resource(name = "deptService")
private DeptService deptService;
/** (epostGdcc/epostGdcc-main) . /** (epostGdcc/epostGdcc-main) .
* {@link #getEpostGdccList(EpostGdccQuery) } . * {@link #getEpostGdccList(EpostGdccQuery) } .
* @return /epostGdcc/epostGdcc-main * @return /epostGdcc/epostGdcc-main
@ -219,4 +241,157 @@ public class Epst02Controller extends ApplicationController {
.addObject("saved", saved); .addObject("saved", saved);
} }
/** (epostRcptReg/epostRcptReg-main) .
* {@link #getEpostRcptRegList(EpostRcptRegQuery) } .
* @return /epostRcptReg/epostRcptReg-main
*/
public ModelAndView epostReceiptRegistrationMain() {
ModelAndView mav = new ModelAndView("fims/epst/epst02030-main");
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM054");
return mav.addObject("pageName", "epst02030") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "epostRcptReg") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("deptCd", managedUser.getDeptCode()) // 부서 코드(DEPT_CD) 7자리
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}
/** .<br />
* {@link EpostRcptRegService#getEpostRcptRegList(EpostRcptRegQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "epostRcptRegList": [ ]
* "epostRcptRegStart":
* "epostRcptRegFetch":
* "epostRcptRegTotal":
* }</code></pre>
*/
public ModelAndView getEpostReceiptRegistrationList(EpostQuery req) {
List<?> result = epostRcptRegService.getEpostRcptRegList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptReg");
}
/** (info) .
* @param req
* @return fims/epst/epst01020-info jsonView
* <pre>{
* "epostRcptReg":
* }</pre>
*/
public ModelAndView getEpostReceiptRegistrationInfo(EpostQuery req) {
//
DataObject epostRcptRegInfo = epostRcptRegService.getEpostRcptRegInfo(req);
boolean json = jsonResponse();
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/epst/epst02040-info");
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM047", "FIM054");
addCodes(commonCodes, mav, "FIM047", "FIM054");
return mav
.addObject("pageName", "epst02040") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM047List", commonCodes.get("FIM047")) // 발송 구분 코드(SNDNG_SE_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("epostRcptRegInfo", json ? epostRcptRegInfo : toJson(epostRcptRegInfo))
;
}
/** (epostRcptRslt/epostRcptRslt-main) .
* {@link #getEpostRcptRsltList(EpostRcptRsltQuery) } .
* @return /epostRcptRslt/epostRcptRslt-main
*/
public ModelAndView epostReceiptResultMain() {
ModelAndView mav = new ModelAndView("fims/epst/epst02050-main");
// 사용자 정보
ManagedUser managedUser = (ManagedUser)currentUser().getUser();
// 부서 정보
DataObject deptInfo = deptService.getDeptInfo(new CmmnQuery().setDeptCd(managedUser.getDeptCode()));
// View(jsp)에서 사용할 공통코드를 조회
Map<String, List<CommonCode>> commonCodes = getCodesOf("EGP002", "FIM054", "FIM082");
return mav.addObject("pageName", "epst02050") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "epostRcptRslt") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("EGP002List", commonCodes.get("EGP002")) // 취급 구분(DIV_KB)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("FIM082List", commonCodes.get("FIM082")) // 작업 코드 3(JOB_CD)
.addObject("deptInfo", deptInfo) // 부서
;
}
/** .<br />
* {@link EpostRcptRsltService#getEpostRcptRsltList(EpostRcptRsltQuery)}
* @param req
* @return jsonView
* <pre><code> {
* "epostRcptRsltList": [ ]
* "epostRcptRsltStart":
* "epostRcptRsltFetch":
* "epostRcptRsltTotal":
* }</code></pre>
*/
public ModelAndView getEpostReceiptResultList(EpostQuery req) {
List<?> result = epostRcptRsltService.getEpostRcptRsltList(setFetchSize(req));
return setCollectionInfo(new ModelAndView("jsonView"), result, "epostRcptRslt");
}
/** .
* @param epostRcptRslt
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
// @PostMapping(name = "전자우편 접수 결과 등록", value = "/create.do")
public ModelAndView create(EpostRcptRslt epostRcptRslt) {
boolean saved = epostRcptRsltService.create(epostRcptRslt);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param epostRcptRslt
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
// @PostMapping(name = "전자우편 접수 결과 수정", value = "/update.do")
public ModelAndView update(EpostRcptRslt epostRcptRslt) {
boolean saved = epostRcptRsltService.update(epostRcptRslt);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
/** .
* @param epostRcptRsltIDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
// @PostMapping(name = "전자우편 접수 결과 제거", value = "/remove.do")
public ModelAndView remove(EpostRcptRslt epostRcptRslt) {
boolean saved = epostRcptRsltService.remove(epostRcptRslt);
return new ModelAndView("jsonView")
.addObject("saved", saved);
}
} }

@ -1,6 +1,7 @@
package cokr.xit.fims.excl; package cokr.xit.fims.excl;
import cokr.xit.fims.cmmn.CmmnQuery; import cokr.xit.fims.cmmn.CmmnQuery;
import cokr.xit.fims.levy.LevyQuery;
/** /**
* *
@ -54,12 +55,28 @@ public class LevyExclQuery extends CmmnQuery {
private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명 private String rtpyrNm; // 납부자(TB_PAYER)_납부자 명
// ETC // ETC
private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회). private String callPurpose; // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정, refresh 재조회).
private String delYn; // 삭제 여부
private String delRsn; // 삭제 사유 private String delRsn; // 삭제 사유
private String crdnDelYn; // 단속 삭제 여부 private String crdnDelYn; // 단속 삭제 여부
private String ansRsnCd; // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) - 답변 사유 코드 private String ansRsnCd; // 민원 답변 문구(TB_CVLCPT_ANS_WORDS) - 답변 사유 코드
private String sndngRcvmtCd; // 발송 수납 코드 private String sndngRcvmtCd; // 발송 수납 코드
private String delYn; // 삭제 여부
public String getDelYn() {
return ifEmpty(delYn, () -> null);
}
public <T extends LevyQuery> T setDelYn(String delYn) {
this.delYn = delYn;
return self();
}
public String getCrdnId() { public String getCrdnId() {
return ifEmpty(crdnId, () -> null); return ifEmpty(crdnId, () -> null);
} }
@ -389,16 +406,6 @@ public class LevyExclQuery extends CmmnQuery {
return self(); return self();
} }
public String getDelYn() {
return ifEmpty(delYn, () -> null);
}
public <T extends LevyExclQuery> T setDelYn(String delYn) {
this.delYn = delYn;
return self();
}
public String getDelRsn() { public String getDelRsn() {
return ifEmpty(delRsn, () -> null); return ifEmpty(delRsn, () -> null);
} }

@ -44,8 +44,8 @@ public interface LevyExclMapper extends AbstractMapper {
*/ */
default DataObject selectLevyExclInfo(LevyExclQuery req) { default DataObject selectLevyExclInfo(LevyExclQuery req) {
// 삭제 여부 확인 // 삭제 여부 확인
if (req.getDelYn() == null) { if (req.getDelYN() == null) {
req.setDelYn("N"); req.setDelYN("N");
} }
// 기본 정렬 // 기본 정렬
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {

@ -42,8 +42,8 @@ public interface OpnnSbmsnMapper extends AbstractMapper {
*/ */
default DataObject selectOpnnSbmsnInfo(LevyExclQuery req) { default DataObject selectOpnnSbmsnInfo(LevyExclQuery req) {
// 삭제 여부 확인 // 삭제 여부 확인
if (req.getDelYn() == null) { if (req.getDelYN() == null) {
req.setDelYn("N"); req.setDelYN("N");
} }
// 기본 정렬 // 기본 정렬
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {

@ -51,8 +51,8 @@ public class CrdnReRegBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getCrdnReRegList(LevyExclQuery req) { public List<DataObject> getCrdnReRegList(LevyExclQuery req) {
if (req.getDelYn() == null) { if (req.getDelYN() == null) {
req.setDelYn("N"); req.setDelYN("N");
} }
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("REG_DT"); req.setOrderBy("REG_DT");
@ -66,6 +66,9 @@ public class CrdnReRegBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getCrdnReRegs(LevyExclQuery req) { public List<DataObject> getCrdnReRegs(LevyExclQuery req) {
if (req.getDelYN() == null) {
req.setDelYN("N");
}
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("CRR.RE_REG_ID DESC"); req.setOrderBy("CRR.RE_REG_ID DESC");
} }

@ -43,8 +43,8 @@ public class LevyExclBean extends AbstractComponent {
*/ */
public List<DataObject> getLevyExclList(LevyExclQuery req) { public List<DataObject> getLevyExclList(LevyExclQuery req) {
// 삭제 여부 확인 // 삭제 여부 확인
if (req.getDelYn() == null) { if (req.getDelYN() == null) {
req.setDelYn("N"); req.setDelYN("N");
} }
// 정렬 확인 // 정렬 확인
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
@ -64,8 +64,8 @@ public class LevyExclBean extends AbstractComponent {
*/ */
public List<DataObject> getLevyExcls(LevyExclQuery req) { public List<DataObject> getLevyExcls(LevyExclQuery req) {
// 삭제 여부 확인 // 삭제 여부 확인
if (req.getDelYn() == null) { if (req.getDelYN() == null) {
req.setDelYn("N"); req.setDelYN("N");
} }
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("LE.LEVY_EXCL_ID DESC"); req.setOrderBy("LE.LEVY_EXCL_ID DESC");
@ -208,7 +208,7 @@ public class LevyExclBean extends AbstractComponent {
// 부과제외(TB_LEVY_EXCL) 정보 조회 // 부과제외(TB_LEVY_EXCL) 정보 조회
DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(new LevyExclQuery().setLevyExclId(levyExcl.getLevyExclId()) DataObject levyExclInfo = levyExclMapper.selectLevyExclInfo(new LevyExclQuery().setLevyExclId(levyExcl.getLevyExclId())
.setDelYn("N")); .setDelYN("N"));
// 부과제외 ID가 조회되지 않았다면 종료.. // 부과제외 ID가 조회되지 않았다면 종료..
if (levyExclInfo.string("LEVY_EXCL_ID").equals("")) { if (levyExclInfo.string("LEVY_EXCL_ID").equals("")) {

@ -55,8 +55,8 @@ public class OpnnSbmsnBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getOpnnSbmsnList(LevyExclQuery req) { public List<DataObject> getOpnnSbmsnList(LevyExclQuery req) {
if (req.getDelYn() == null) { if (req.getDelYN() == null) {
req.setDelYn("N"); req.setDelYN("N");
} }
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("REG_DT"); req.setOrderBy("REG_DT");
@ -70,6 +70,9 @@ public class OpnnSbmsnBean extends AbstractComponent {
* @return * @return
*/ */
public List<DataObject> getOpnnSbmsns(LevyExclQuery req) { public List<DataObject> getOpnnSbmsns(LevyExclQuery req) {
if (req.getDelYN() == null) {
req.setDelYN("N");
}
if (req.getOrderBy() == null) { if (req.getOrderBy() == null) {
req.setOrderBy("OS.OPNN_ID DESC"); req.setOrderBy("OS.OPNN_ID DESC");
} }
@ -344,7 +347,7 @@ public class OpnnSbmsnBean extends AbstractComponent {
// 의견제출(TB_OPNN_SBMSN) 정보 조회 // 의견제출(TB_OPNN_SBMSN) 정보 조회
DataObject opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId()) DataObject opnnSbmsnInfo = opnnSbmsnMapper.selectOpnnSbmsnInfo(new LevyExclQuery().setOpnnId(opnnSbmsn.getOpnnId())
.setDelYn("N")); .setDelYN("N"));
// 의견제출 ID가 조회되지 않았다면 종료.. // 의견제출 ID가 조회되지 않았다면 종료..
if (opnnSbmsnInfo.string("OPNN_ID").equals("")) { if (opnnSbmsnInfo.string("OPNN_ID").equals("")) {

@ -249,7 +249,7 @@ public class Sprt02Controller extends ApplicationController {
exclQuery.setCallPurpose(req.getCallPurpose()); exclQuery.setCallPurpose(req.getCallPurpose());
} }
exclQuery.setCrdnId(req.getCrdnId()); exclQuery.setCrdnId(req.getCrdnId());
exclQuery.setDelYn(req.getDelYn()); exclQuery.setDelYN(req.getDelYn());
// 의견 제출(TB_OPNN_SBMSN) 대장 조회 // 의견 제출(TB_OPNN_SBMSN) 대장 조회
DataObject opnnSbmsn = opnnSbmsnService.getOpnnSbmsnInfo(exclQuery); DataObject opnnSbmsn = opnnSbmsnService.getOpnnSbmsnInfo(exclQuery);
@ -353,7 +353,7 @@ public class Sprt02Controller extends ApplicationController {
exclQuery.setCallPurpose(req.getCallPurpose()); exclQuery.setCallPurpose(req.getCallPurpose());
} }
exclQuery.setCrdnId(req.getCrdnId()); exclQuery.setCrdnId(req.getCrdnId());
exclQuery.setDelYn(req.getDelYn()); exclQuery.setDelYN(req.getDelYn());
exclQuery.setOrderBy("LEVY_EXCL_ID DESC"); // 정렬 exclQuery.setOrderBy("LEVY_EXCL_ID DESC"); // 정렬
DataObject levyExcl = levyExclService.getLevyExclInfo(exclQuery); DataObject levyExcl = levyExclService.getLevyExclInfo(exclQuery);

@ -567,30 +567,30 @@ public class CmnController {
@RequestMapping(name="우편통합", value=Epst01Controller.CLASS_URL) @RequestMapping(name="우편통합", value=Epst01Controller.CLASS_URL)
class Epst01Controller extends cokr.xit.fims.epst.web.Epst01Controller { class Epst01Controller extends cokr.xit.fims.epst.web.Epst01Controller {
@Override
@RequestMapping(name="발송상태", value=METHOD_URL.epostReceiptRegistrationMain)
public ModelAndView epostReceiptRegistrationMain() {
return super.epostReceiptRegistrationMain();
}
// @Override
// @RequestMapping(name="정산결과", value=METHOD_URL.epostGuidanceDocumentMain)
// public ModelAndView epostGuidanceDocumentMain() {
// return super.epostGuidanceDocumentMain();
// }
} }
@Controller @Controller
@RequestMapping(name="우편통합_안내문 관리", value=Epst02Controller.CLASS_URL) @RequestMapping(name="우편통합", value=Epst02Controller.CLASS_URL)
class Epst02Controller extends cokr.xit.fims.epst.web.Epst02Controller { class Epst02Controller extends cokr.xit.fims.epst.web.Epst02Controller {
@Override @Override
@RequestMapping(name="전자우편 안내문 메인", value=METHOD_URL.epostGuidanceDocumentMain) @RequestMapping(name="안내문관리", value=METHOD_URL.epostGuidanceDocumentMain)
public ModelAndView epostGuidanceDocumentMain() { public ModelAndView epostGuidanceDocumentMain() {
return super.epostGuidanceDocumentMain(); return super.epostGuidanceDocumentMain();
} }
@Override
@RequestMapping(name="발송상태", value=METHOD_URL.epostReceiptRegistrationMain)
public ModelAndView epostReceiptRegistrationMain() {
return super.epostReceiptRegistrationMain();
}
@Override
@RequestMapping(name="접수결과", value=METHOD_URL.epostReceiptResultMain)
public ModelAndView epostReceiptResultMain() {
return super.epostReceiptResultMain();
}
} }
@Controller @Controller

@ -898,11 +898,6 @@ public class DpvController {
@RequestMapping(name="우편통합", value=CLASS_URL+Epst01Controller.CLASS_URL) @RequestMapping(name="우편통합", value=CLASS_URL+Epst01Controller.CLASS_URL)
class Epst01Controller extends cokr.xit.fims.epst.web.Epst01Controller { class Epst01Controller extends cokr.xit.fims.epst.web.Epst01Controller {
@Override
@RequestMapping(name="전자우편안내문 대장 목록 조회", value=METHOD_URL.getEpostReceiptRegistrationList)
public ModelAndView getEpostReceiptRegistrationList(EpostQuery req) {
return super.getEpostReceiptRegistrationList(req);
}
} }
@ -940,6 +935,12 @@ public class DpvController {
return super.removeEpostGuidanceDocument(epostGdcc); return super.removeEpostGuidanceDocument(epostGdcc);
} }
@Override
@RequestMapping(name="전자우편 접수 대장 목록 조회", value=METHOD_URL.getEpostReceiptRegistrationList)
public ModelAndView getEpostReceiptRegistrationList(EpostQuery req) {
return super.getEpostReceiptRegistrationList(req);
}
} }
@Controller @Controller

@ -64,7 +64,7 @@ SELECT USER_ID
, (CASE , (CASE
WHEN A.DEPT_CD = 'default' WHEN A.DEPT_CD = 'default'
THEN '기본 부서' THEN '기본 부서'
ELSE (SELECT DEPT_NM FROM TB_DEPT_INFO WHERE DEPT_CD = A.DEPT_CD) ELSE (SELECT DEPT_NM FROM TB_DEPT WHERE DEPT_CD = A.DEPT_CD)
END END
) AS DEPT_NM ) AS DEPT_NM
, NSTT_CD , NSTT_CD

@ -0,0 +1,204 @@
<?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">
<mapper namespace="cokr.xit.fims.cmmn.dao.DeptMapper">
<!-- 부서 정보 정보 매퍼
========== 변경 이력 ==========
2023-12-12 JoJH 최초 작성
============================ -->
<resultMap id="deptRow" type="cokr.xit.fims.cmmn.Dept"> <!-- 부서 정보 -->
<result property="deptCd" column="DEPT_CD" /> <!-- 부서 코드 -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="instCd" column="INST_CD" /> <!-- 기관 코드 -->
<result property="deptNm" column="DEPT_NM" /> <!-- 부서 명 -->
<result property="deptTelno" column="DEPT_TELNO" /> <!-- 부서 전화번호 -->
<result property="deptFxno" column="DEPT_FXNO" /> <!-- 부서 팩스번호 -->
<result property="vrbacntLinkSeCd" column="VRBACNT_LINK_SE_CD" /> <!-- 가상계좌 연계 구분 코드 -->
<result property="pstofcNm" column="PSTOFC_NM" /> <!-- 우체국 명 -->
<result property="rgNoHeader" column="RG_NO_HEADER" /> <!-- 등기 번호 헤더 -->
<result property="sndngLinkSeCd" column="SNDNG_LINK_SE_CD" /> <!-- 발송 연계 구분 코드 -->
<result property="egpConOrg" column="EGP_CON_ORG" /> <!-- E그린 외부기관구분코드 -->
<result property="egpRceptId" column="EGP_RCEPT_ID" /> <!-- E그린 접수우체국국기호 -->
<result property="egpApvlNb" column="EGP_APVL_NB" /> <!-- E그린 후납계약승인번호 -->
<result property="egpEsbPath" column="EGP_ESB_PATH" /> <!-- E그린 ESB경로 -->
<result property="egpCertCn" column="EGP_CERT_CN" /> <!-- E그린 인증서CN -->
<result property="ensInterfaceId" column="ENS_INTERFACE_ID" /> <!-- 세외수입 인터페이스ID -->
<result property="ensSourceCd" column="ENS_SOURCE_CD" /> <!-- 세외수입 소스코드 -->
<result property="ensTargetCd" column="ENS_TARGET_CD" /> <!-- 세외수입 타겟코드 -->
<result property="ensUrl" column="ENS_URL" /> <!-- 세외수입 URL -->
<result property="dtbnBankNm" column="DTBN_BANK_NM" /> <!-- 교부 은행 명 -->
<result property="dtbnActno" column="DTBN_ACTNO" /> <!-- 교부 계좌번호 -->
<result property="srvrOs" column="SRVR_OS" /> <!-- 서버 OS -->
<result property="useYN" column="USE_YN" /> <!-- 사용 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
<result property="lastModified" column="MDFCN_DT" /> <!-- 수정 일시 -->
<result property="modifiedBy" column="MDFR" /> <!-- 수정자 -->
</resultMap>
<sql id="select">
SELECT DI.DEPT_CD <!-- 부서 코드 -->
, DI.SGG_CD <!-- 시군구 코드 -->
, DI.INST_CD <!-- 기관 코드 -->
, DI.DEPT_NM <!-- 부서 명 -->
, DI.DEPT_TELNO <!-- 부서 전화번호 -->
, DI.DEPT_FXNO <!-- 부서 팩스번호 -->
, DI.VRBACNT_LINK_SE_CD <!-- 가상계좌 연계 구분 코드 -->
, DI.PSTOFC_NM <!-- 우체국 명 -->
, DI.RG_NO_HEADER <!-- 등기 번호 헤더 -->
, DI.SNDNG_LINK_SE_CD <!-- 발송 연계 구분 코드 -->
, DI.EGP_CON_ORG <!-- E그린 외부기관구분코드 -->
, DI.EGP_RCEPT_ID <!-- E그린 접수우체국국기호 -->
, DI.EGP_APVL_NB <!-- E그린 후납계약승인번호 -->
, DI.EGP_ESB_PATH <!-- E그린 ESB경로 -->
, DI.EGP_CERT_CN <!-- E그린 인증서CN -->
, DI.ENS_INTERFACE_ID <!-- 세외수입 인터페이스ID -->
, DI.ENS_SOURCE_CD <!-- 세외수입 소스코드 -->
, DI.ENS_TARGET_CD <!-- 세외수입 타겟코드 -->
, DI.ENS_URL <!-- 세외수입 URL -->
, DI.DTBN_BANK_NM <!-- 교부 은행 명 -->
, DI.DTBN_ACTNO <!-- 교부 계좌번호 -->
, DI.SRVR_OS <!-- 서버 OS -->
, DI.USE_YN <!-- 사용 여부 -->
, DI.REG_DT <!-- 등록 일시 -->
, DI.RGTR <!-- 등록자 -->
, DI.MDFCN_DT <!-- 수정 일시 -->
, DI.MDFR <!-- 수정자 -->
FROM TB_DEPT D
</sql>
<select id="selectDeptList" parameterType="map" resultType="dataobject">/* 부서 목록 조회(deptMapper.selectDeptList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
WHERE DI.SGG_CD = #{sggCd} /* 시군구 코드 */
<if test="deptCd != null">
AND DI.DEPT_CD = #{deptCd} /* 부서 코드 */
</if>
<if test="instCd != null">
AND DI.INST_CD = #{instCd} /* 기관 코드 */
</if>
AND DI.USE_YN = 'N' /* 사용 여부 */
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectDepts" parameterType="map" resultType="dataobject">/* 부서 객체 가져오기(deptMapper.selectDepts) */
<include refid="select" />
<where>
<if test="deptCd != null">
AND DI.SGG_CD = #{sggCd} /* 시군구 코드 */
</if>
<if test="deptCd != null">
AND DI.DEPT_CD = #{deptCd} /* 부서 코드 */
</if>
<if test="instCd != null">
AND DI.INST_CD = #{instCd} /* 기관 코드 */
</if>
<if test="useYN != null">
AND DI.USE_YN = 'N' /* 사용 여부 */
</if>
</where>
<include refid="utility.orderBy" />
</select>
<insert id="insertDept" parameterType="map">/* 부서 등록(deptMapper.insertDept) */
INSERT
INTO TB_DEPT (
DEPT_CD <!-- 부서 코드 -->
, SGG_CD <!-- 시군구 코드 -->
, INST_CD <!-- 기관 코드 -->
, DEPT_NM <!-- 부서 명 -->
, DEPT_TELNO <!-- 부서 전화번호 -->
, DEPT_FXNO <!-- 부서 팩스번호 -->
, VRBACNT_LINK_SE_CD <!-- 가상계좌 연계 구분 코드 -->
, PSTOFC_NM <!-- 우체국 명 -->
, RG_NO_HEADER <!-- 등기 번호 헤더 -->
, SNDNG_LINK_SE_CD <!-- 발송 연계 구분 코드 -->
, EGP_CON_ORG <!-- E그린 외부기관구분코드 -->
, EGP_RCEPT_ID <!-- E그린 접수우체국국기호 -->
, EGP_APVL_NB <!-- E그린 후납계약승인번호 -->
, EGP_ESB_PATH <!-- E그린 ESB경로 -->
, EGP_CERT_CN <!-- E그린 인증서CN -->
, ENS_INTERFACE_ID <!-- 세외수입 인터페이스ID -->
, ENS_SOURCE_CD <!-- 세외수입 소스코드 -->
, ENS_TARGET_CD <!-- 세외수입 타겟코드 -->
, ENS_URL <!-- 세외수입 URL -->
, DTBN_BANK_NM <!-- 교부 은행 명 -->
, DTBN_ACTNO <!-- 교부 계좌번호 -->
, SRVR_OS <!-- 서버 OS -->
, USE_YN <!-- 사용 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
) VALUES (
#{deptInfo.deptCd} <!-- 부서 코드 -->
, #{deptInfo.sggCd} <!-- 시군구 코드 -->
, #{deptInfo.instCd} <!-- 기관 코드 -->
, #{deptInfo.deptNm} <!-- 부서 명 -->
, #{deptInfo.deptTelno} <!-- 부서 전화번호 -->
, #{deptInfo.deptFxno} <!-- 부서 팩스번호 -->
, #{deptInfo.vrbacntLinkSeCd} <!-- 가상계좌 연계 구분 코드 -->
, #{deptInfo.pstofcNm} <!-- 우체국 명 -->
, #{deptInfo.rgNoHeader} <!-- 등기 번호 헤더 -->
, #{deptInfo.sndngLinkSeCd} <!-- 발송 연계 구분 코드 -->
, #{deptInfo.egpConOrg} <!-- E그린 외부기관구분코드 -->
, #{deptInfo.egpRceptId} <!-- E그린 접수우체국국기호 -->
, #{deptInfo.egpApvlNb} <!-- E그린 후납계약승인번호 -->
, #{deptInfo.egpEsbPath} <!-- E그린 ESB경로 -->
, #{deptInfo.egpCertCn} <!-- E그린 인증서CN -->
, #{deptInfo.ensInterfaceId} <!-- 세외수입 인터페이스ID -->
, #{deptInfo.ensSourceCd} <!-- 세외수입 소스코드 -->
, #{deptInfo.ensTargetCd} <!-- 세외수입 타겟코드 -->
, #{deptInfo.ensUrl} <!-- 세외수입 URL -->
, #{deptInfo.dtbnBankNm} <!-- 교부 은행 명 -->
, #{deptInfo.dtbnActno} <!-- 교부 계좌번호 -->
, #{deptInfo.srvrOs} <!-- 서버 OS -->
, 'Y' <!-- 사용 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{deptInfo.createdBy} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{deptInfo.modifiedBy} <!-- 수정자 -->
)
</insert>
<update id="updateDept" parameterType="map">/* 부서 수정(deptMapper.updateDept) */
UPDATE TB_DEPT
SET SGG_CD = #{deptInfo.sggCd} <!-- 시군구 코드 -->
, INST_CD = #{deptInfo.instCd} <!-- 기관 코드 -->
, DEPT_NM = #{deptInfo.deptNm} <!-- 부서 명 -->
, DEPT_TELNO = #{deptInfo.deptTelno} <!-- 부서 전화번호 -->
, DEPT_FXNO = #{deptInfo.deptFxno} <!-- 부서 팩스번호 -->
, VRBACNT_LINK_SE_CD = #{deptInfo.vrbacntLinkSeCd} <!-- 가상계좌 연계 구분 코드 -->
, PSTOFC_NM = #{deptInfo.pstofcNm} <!-- 우체국 명 -->
, RG_NO_HEADER = #{deptInfo.rgNoHeader} <!-- 등기 번호 헤더 -->
, SNDNG_LINK_SE_CD = #{deptInfo.sndngLinkSeCd} <!-- 발송 연계 구분 코드 -->
, EGP_CON_ORG = #{deptInfo.egpConOrg} <!-- E그린 외부기관구분코드 -->
, EGP_RCEPT_ID = #{deptInfo.egpRceptId} <!-- E그린 접수우체국국기호 -->
, EGP_APVL_NB = #{deptInfo.egpApvlNb} <!-- E그린 후납계약승인번호 -->
, EGP_ESB_PATH = #{deptInfo.egpEsbPath} <!-- E그린 ESB경로 -->
, EGP_CERT_CN = #{deptInfo.egpCertCn} <!-- E그린 인증서CN -->
, ENS_INTERFACE_ID = #{deptInfo.ensInterfaceId} <!-- 세외수입 인터페이스ID -->
, ENS_SOURCE_CD = #{deptInfo.ensSourceCd} <!-- 세외수입 소스코드 -->
, ENS_TARGET_CD = #{deptInfo.ensTargetCd} <!-- 세외수입 타겟코드 -->
, ENS_URL = #{deptInfo.ensUrl} <!-- 세외수입 URL -->
, DTBN_BANK_NM = #{deptInfo.dtbnBankNm} <!-- 교부 은행 명 -->
, DTBN_ACTNO = #{deptInfo.dtbnActno} <!-- 교부 계좌번호 -->
, SRVR_OS = #{deptInfo.srvrOs} <!-- 서버 OS -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{deptInfo.modifiedBy} <!-- 수정자 -->
WHERE DEPT_CD = #{deptInfo.deptCd}
AND USE_YN = 'Y'
</update>
<update id="deleteDept" parameterType="map">/* 부서 삭제(deptMapper.deleteDept) */
UPDATE TB_DEPT
SET USE_YN = 'N'
, MDFCN_DT = <include refid="utility.now" />
, MDFR = #{currentUser.id}
WHERE DEPT_CD = #{deptInfo.deptCd}
AND USE_YN = 'Y'
</update>
</mapper>

@ -11,7 +11,7 @@ SELECT CONCAT(A.INST_CD,'/',B.DEPT_CD) AS FACTION_CD
, B.DEPT_CD , B.DEPT_CD
, B.DEPT_NM , B.DEPT_NM
FROM TB_SGG_INFO A FROM TB_SGG_INFO A
LEFT OUTER JOIN TB_DEPT_INFO B ON (A.INST_CD = B.INST_CD) LEFT OUTER JOIN TB_DEPT B ON (A.INST_CD = B.INST_CD)
UNION UNION
SELECT 'default/default' AS FACTION_CD SELECT 'default/default' AS FACTION_CD
, CONCAT('기본 기관',' / ','기본 부서') AS FACTION_NM , CONCAT('기본 기관',' / ','기본 부서') AS FACTION_NM
@ -31,7 +31,7 @@ SELECT CONCAT(A.INST_CD,'/',B.DEPT_CD) AS FACTION_CD
, B.DEPT_CD , B.DEPT_CD
, B.DEPT_NM , B.DEPT_NM
FROM TB_SGG_INFO A FROM TB_SGG_INFO A
LEFT OUTER JOIN TB_DEPT_INFO B ON (A.INST_CD = B.INST_CD) LEFT OUTER JOIN TB_DEPT B ON (A.INST_CD = B.INST_CD)
<if test="currentUser.institute != 'default'"> <if test="currentUser.institute != 'default'">
WHERE A.INST_CD = #{currentUser.institute} WHERE A.INST_CD = #{currentUser.institute}
</if> </if>
@ -57,7 +57,7 @@ SELECT S.SGG_CD
, D.DEPT_NM , D.DEPT_NM
FROM TB_USER U FROM TB_USER U
INNER JOIN TB_SGG_INFO S ON (U.ORG_ID = S.SGG_CD) INNER JOIN TB_SGG_INFO S ON (U.ORG_ID = S.SGG_CD)
LEFT OUTER JOIN TB_DEPT_INFO D ON (U.DEPT_CD = D.DEPT_CD) LEFT OUTER JOIN TB_DEPT D ON (U.DEPT_CD = D.DEPT_CD)
WHERE U.USER_ID = #{userId} WHERE U.USER_ID = #{userId}
</select> </select>

@ -17,7 +17,7 @@ SELECT DEPT_CD
, DEPT_FXNO <!-- 부서 팩스번호 --> , DEPT_FXNO <!-- 부서 팩스번호 -->
, DTBN_BANK_NM <!-- 교부 은행 명 --> , DTBN_BANK_NM <!-- 교부 은행 명 -->
, DTBN_ACTNO <!-- 교부 계좌번호 --> , DTBN_ACTNO <!-- 교부 계좌번호 -->
FROM TB_DEPT_INFO FROM TB_DEPT
WHERE DEPT_CD = #{deptCd} WHERE DEPT_CD = #{deptCd}
</select> </select>
@ -44,7 +44,7 @@ SELECT SGG_CD
<update id="updateDtbnActno" parameterType="map"> <update id="updateDtbnActno" parameterType="map">
/* 교부 계좌번호 변경 (stngMapper.updateDtbnActno) */ /* 교부 계좌번호 변경 (stngMapper.updateDtbnActno) */
UPDATE TB_DEPT_INFO UPDATE TB_DEPT
SET MDFR = #{mdfr} SET MDFR = #{mdfr}
, MDFCN_DT = <include refid="utility.now" /> , MDFCN_DT = <include refid="utility.now" />
, DTBN_BANK_NM = #{dtbnBankNm} , DTBN_BANK_NM = #{dtbnBankNm}

@ -46,7 +46,7 @@ SELECT AMT
<select id="selectSggCd" parameterType="string" resultType="string"> <select id="selectSggCd" parameterType="string" resultType="string">
/* 부서에 따른 시군구코드 조회(globalStngMapper.selectSggCd) */ /* 부서에 따른 시군구코드 조회(globalStngMapper.selectSggCd) */
SELECT SGG_CD SELECT SGG_CD
FROM TB_DEPT_INFO FROM TB_DEPT
WHERE DEPT_CD = #{deptCode} WHERE DEPT_CD = #{deptCode}
</select> </select>

@ -13,7 +13,7 @@ SELECT CASE WHEN A.SGG_CD = B.SGG_CD THEN A.SGG_CD ELSE 'DIFF' END SGG_CD
WHERE INST_CD IN (<foreach collection="institutes" item="institute" separator=",">#{institute}</foreach>) WHERE INST_CD IN (<foreach collection="institutes" item="institute" separator=",">#{institute}</foreach>)
) A ) A
LEFT OUTER JOIN (SELECT SGG_CD, DEPT_CD LEFT OUTER JOIN (SELECT SGG_CD, DEPT_CD
FROM TB_DEPT_INFO FROM TB_DEPT
WHERE DEPT_CD IN (<foreach collection="depts" item="dept" separator=",">#{dept}</foreach>) WHERE DEPT_CD IN (<foreach collection="depts" item="dept" separator=",">#{dept}</foreach>)
) B ) B
ON A.SGG_CD = B.SGG_CD</select> ON A.SGG_CD = B.SGG_CD</select>

@ -549,10 +549,10 @@ SELECT CC.CVLCPT_LINK_ID /* 민원 연계 ID */
, U.TELNO AS CVLCPT_PRCS_PIC_TELNO /* 민원 처리 담당자 전화번호 */ , U.TELNO AS CVLCPT_PRCS_PIC_TELNO /* 민원 처리 담당자 전화번호 */
, U.DEPT_CD AS CVLCPT_PRCS_DEPT_CD /* 민원 처리 부서 코드, 실 처리 기관 코드 */ , U.DEPT_CD AS CVLCPT_PRCS_DEPT_CD /* 민원 처리 부서 코드, 실 처리 기관 코드 */
, (SELECT DEPT_NM , (SELECT DEPT_NM
FROM TB_DEPT_INFO DI FROM TB_DEPT D
WHERE DI.DEPT_CD = U.DEPT_CD WHERE D.DEPT_CD = U.DEPT_CD
AND DI.SGG_CD = SI.SGG_CD AND D.SGG_CD = SI.SGG_CD
AND DI.USE_YN = 'Y' AND D.USE_YN = 'Y'
LIMIT 1 LIMIT 1
) AS CVLCPT_PRCS_DEPT_NM /* 민원 처리 부서 명 */ ) AS CVLCPT_PRCS_DEPT_NM /* 민원 처리 부서 명 */
, U.NSTT_CD AS CVLCPT_PRCS_NSTT_CD /* 민원 처리 기관 코드 */ , U.NSTT_CD AS CVLCPT_PRCS_NSTT_CD /* 민원 처리 기관 코드 */

@ -707,45 +707,45 @@ UPDATE TB_EPOST_RCPT_DTL SET
</select> </select>
<select id="selectDeptSggInfo" parameterType="String" resultType="dataobject">/* 시군구 및 부서 정보 조회(epostRcptRegMapper.selectDeptSggInfo) */ <select id="selectDeptSggInfo" parameterType="String" resultType="dataobject">/* 시군구 및 부서 정보 조회(epostRcptRegMapper.selectDeptSggInfo) */
SELECT DI.DEPT_CD <!-- 부서 코드 --> SELECT D.DEPT_CD <!-- 부서 코드 -->
, DI.DEPT_NM <!-- 부서 명 --> , D.DEPT_NM <!-- 부서 명 -->
, DI.DEPT_TELNO <!-- 부서 전화번호 --> , D.DEPT_TELNO <!-- 부서 전화번호 -->
, DI.DEPT_FXNO <!-- 부서 팩스번호 --> , D.DEPT_FXNO <!-- 부서 팩스번호 -->
, DI.VRBACNT_LINK_SE_CD <!-- 가상계좌 연계 구분 코드 --> , D.VRBACNT_LINK_SE_CD <!-- 가상계좌 연계 구분 코드 -->
, DI.PSTOFC_NM <!-- 우체국 명 --> , D.PSTOFC_NM <!-- 우체국 명 -->
, DI.RG_NO_HEADER <!-- 등기 번호 헤더 --> , D.RG_NO_HEADER <!-- 등기 번호 헤더 -->
, DI.SNDNG_LINK_SE_CD <!-- 발송 연계 구분 코드 --> , D.SNDNG_LINK_SE_CD <!-- 발송 연계 구분 코드 -->
, DI.EGP_CON_ORG <!-- E그린 외부기관구분코드 --> , D.EGP_CON_ORG <!-- E그린 외부기관구분코드 -->
, DI.EGP_RCEPT_ID <!-- E그린 접수우체국국기호 --> , D.EGP_RCEPT_ID <!-- E그린 접수우체국국기호 -->
, DI.EGP_APVL_NB <!-- E그린 후납계약승인번호 --> , D.EGP_APVL_NB <!-- E그린 후납계약승인번호 -->
, DI.EGP_ESB_PATH <!-- E그린 ESB경로 --> , D.EGP_ESB_PATH <!-- E그린 ESB경로 -->
, DI.EGP_CERT_CN <!-- E그린 인증서CN --> , D.EGP_CERT_CN <!-- E그린 인증서CN -->
, DI.ENS_INTERFACE_ID <!-- 세외수입 인터페이스ID --> , D.ENS_INTERFACE_ID <!-- 세외수입 인터페이스ID -->
, DI.ENS_SOURCE_CD <!-- 세외수입 소스코드 --> , D.ENS_SOURCE_CD <!-- 세외수입 소스코드 -->
, DI.ENS_TARGET_CD <!-- 세외수입 타겟코드 --> , D.ENS_TARGET_CD <!-- 세외수입 타겟코드 -->
, DI.ENS_URL <!-- 세외수입 URL --> , D.ENS_URL <!-- 세외수입 URL -->
, DI.SRVR_OS <!-- 서버 OS --> , D.SRVR_OS <!-- 서버 OS -->
, SI.SGG_CD <!-- 시군구 코드 --> , S.SGG_CD <!-- 시군구 코드 -->
, SI.SGG_NM <!-- 시군구 명 --> , S.SGG_NM <!-- 시군구 명 -->
, SI.INST_SE_CD <!-- 기관 구분 코드 --> , S.INST_SE_CD <!-- 기관 구분 코드 -->
, SI.INST_CD <!-- 기관 코드 --> , S.INST_CD <!-- 기관 코드 -->
, SI.INST_NM <!-- 기관 명 --> , S.INST_NM <!-- 기관 명 -->
, SI.INST_ADDR <!-- 기관 주소 --> , S.INST_ADDR <!-- 기관 주소 -->
, SI.INST_DADDR <!-- 기관 상세주소 --> , S.INST_DADDR <!-- 기관 상세주소 -->
, SI.INST_ZIP <!-- 기관 우편번호 --> , S.INST_ZIP <!-- 기관 우편번호 -->
, SI.UP_INST_CD <!-- 상위 기관 코드 --> , S.UP_INST_CD <!-- 상위 기관 코드 -->
, SI.UP_INST_NM <!-- 상위 기관 명 --> , S.UP_INST_NM <!-- 상위 기관 명 -->
, CASE WHEN SI.INST_SE_CD = '01' THEN CONCAT(SI.SGG_NM, '장') , CASE WHEN S.INST_SE_CD = '01' THEN CONCAT(S.SGG_NM, '장')
WHEN SI.INST_SE_CD = '02' THEN CONCAT(SI.SGG_NM, '청장') WHEN S.INST_SE_CD = '02' THEN CONCAT(S.SGG_NM, '청장')
WHEN SI.INST_SE_CD = '03' THEN CONCAT(SI.SGG_NM, '수') WHEN S.INST_SE_CD = '03' THEN CONCAT(S.SGG_NM, '수')
WHEN SI.INST_SE_CD = '04' THEN CONCAT(SI.SGG_NM, '지사') WHEN S.INST_SE_CD = '04' THEN CONCAT(S.SGG_NM, '지사')
WHEN SI.INST_SE_CD = '05' THEN CONCAT(SI.SGG_NM, '장') WHEN S.INST_SE_CD = '05' THEN CONCAT(S.SGG_NM, '장')
ELSE SI.SGG_NM ELSE S.SGG_NM
END AS INST_CHIEF_NM <!-- 기관 장 명 --> END AS INST_CHIEF_NM <!-- 기관 장 명 -->
FROM TB_DEPT_INFO DI FROM TB_DEPT D
INNER JOIN TB_SGG_INFO SI ON (DI.SGG_CD = SI.SGG_CD AND DI.INST_CD = SI.INST_CD) INNER JOIN TB_SGG_INFO S ON (DI.SGG_CD = SI.SGG_CD AND DI.INST_CD = SI.INST_CD)
WHERE DI.DEPT_CD = #{deptCd} WHERE D.DEPT_CD = #{deptCd}
AND DI.USE_YN = 'Y' AND D.USE_YN = 'Y'
</select> </select>
</mapper> </mapper>

@ -0,0 +1,140 @@
<?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">
<mapper namespace="cokr.xit.fims.epst.dao.EpostRcptRsltMapper">
<!-- 전자우편 접수 결과 정보 매퍼
========== 변경 이력 ==========
2023-12-12 JoJH 최초 작성
============================ -->
<resultMap id="epostRcptRsltRow" type="cokr.xit.fims.epst.EpostRcptRslt"> <!-- 전자우편 접수 결과 -->
<result property="rcptRsltId" column="RCPT_RSLT_ID" /> <!-- 접수 결과 ID -->
<result property="sggCd" column="SGG_CD" /> <!-- 시군구 코드 -->
<result property="conOrg" column="CON_ORG" /> <!-- 외부기관구분코드 -->
<result property="relorsectCd" column="RELORSECT_CD" /> <!-- 결제부서코드 -->
<result property="reletcdata" column="RELETCDATA" /> <!-- 발송인별추가데이터 -->
<result property="extriRegymd" column="EXTRI_REGYMD" /> <!-- 기관발송일자 -->
<result property="rceptYmd" column="RCEPT_YMD" /> <!-- 접수일자 -->
<result property="rceptId" column="RCEPT_ID" /> <!-- 접수우체국국기호 -->
<result property="divKb" column="DIV_KB" /> <!-- 취급구분 -->
<result property="rceptCnt" column="RCEPT_CNT" /> <!-- 발송수량 -->
<result property="rceptAmt" column="RCEPT_AMT" /> <!-- 결제금액 -->
<result property="usefeeAmt" column="USEFEE_AMT" /> <!-- 제작수수료 -->
<result property="totpostPrc" column="TOTPOST_PRC" /> <!-- 우편요금 -->
<result property="jobCd" column="JOB_CD" /> <!-- 작업 코드 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
</resultMap>
<sql id="select">
SELECT RCPT_RSLT_ID /* 접수 결과 ID */
, SGG_CD /* 시군구 코드 */
, CON_ORG /* 외부기관구분코드 */
, RELORSECT_CD /* 결제부서코드 */
, RELETCDATA /* 발송인별추가데이터 */
, EXTRI_REGYMD /* 기관발송일자 */
, RCEPT_YMD /* 접수일자 */
, RCEPT_ID /* 접수우체국국기호 */
, DIV_KB /* 취급구분 */
, RCEPT_CNT /* 발송수량 */
, RCEPT_AMT /* 결제금액 */
, USEFEE_AMT /* 제작수수료 */
, TOTPOST_PRC /* 우편요금 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, JOB_CD /* 작업 코드 */
FROM TB_EPOST_RCPT_RSLT ERR
</sql>
<select id="selectEpostRcptRsltList" parameterType="map" resultType="dataobject">/* 전자우편 접수 결과 목록 조회(epostRcptRsltMapper.selectEpostRcptRsltList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where>
<if test="schLevyExclYmdFrom != null">
AND ERR.EXTRI_REGYMD <![CDATA[>=]]> #{schExtriRegymdFrom} /* 부과제외 일자 시작 */
</if>
<if test="schLevyExclYmdTo != null">
AND ERR.EXTRI_REGYMD <![CDATA[<=]]> #{schExtriRegymdTo} /* 부과제외 일자 종료 */
</if>
<if test="schLevyExclYmdFrom != null">
AND LE.LEVY_EXCL_YMD <![CDATA[>=]]> #{schLevyExclYmdFrom} /* 부과제외 일자 시작 */
</if>
<if test="schLevyExclYmdTo != null">
AND LE.LEVY_EXCL_YMD <![CDATA[<=]]> #{schLevyExclYmdTo} /* 부과제외 일자 종료 */
</if>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectEpostRcptRslts" parameterType="map" resultType="dataobject">/* 전자우편 접수 결과 객체 가져오기(epostRcptRsltMapper.selectEpostRcptRslts) */
<include refid="select" />
<where>
</where>
<include refid="utility.orderBy" />
</select>
<insert id="insertEpostRcptRslt" parameterType="map">/* 전자우편 접수 결과 등록(epostRcptRsltMapper.insertEpostRcptRslt) */
INSERT
INTO TB_EPOST_RCPT_RSLT (
RCPT_RSLT_ID /* 접수 결과 ID */
, CON_ORG /* 외부기관구분코드 */
, RELORSECT_CD /* 결제부서코드 */
, RELETCDATA /* 발송인별추가데이터 */
, EXTRI_REGYMD /* 기관발송일자 */
, RCEPT_YMD /* 접수일자 */
, RCEPT_ID /* 접수우체국국기호 */
, DIV_KB /* 취급구분 */
, RCEPT_CNT /* 발송수량 */
, RCEPT_AMT /* 결제금액 */
, USEFEE_AMT /* 제작수수료 */
, TOTPOST_PRC /* 우편요금 */
, JOB_CD /* 작업 코드 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
) VALUES (
#{epostRcptRslt.rcptRsltId} /* 접수 결과 ID */
, #{epostRcptRslt.conOrg} /* 외부기관구분코드 */
, #{epostRcptRslt.relorsectCd} /* 결제부서코드 */
, #{epostRcptRslt.reletcdata} /* 발송인별추가데이터 */
, #{epostRcptRslt.extriRegymd} /* 기관발송일자 */
, #{epostRcptRslt.rceptYmd} /* 접수일자 */
, #{epostRcptRslt.rceptId} /* 접수우체국국기호 */
, #{epostRcptRslt.divKb} /* 취급구분 */
, #{epostRcptRslt.rceptCnt} /* 발송수량 */
, #{epostRcptRslt.rceptAmt} /* 결제금액 */
, #{epostRcptRslt.usefeeAmt} /* 제작수수료 */
, #{epostRcptRslt.totpostPrc} /* 우편요금 */
, #{epostRcptRslt.jobCd} /* 작업 코드 */
, <include refid="utility.now" /> /* 등록 일시 */
, #{epostRcptRslt.createdBy} /* 등록자 */
)
</insert>
<update id="updateEpostRcptRslt" parameterType="map">/* 전자우편 접수 결과 수정(epostRcptRsltMapper.updateEpostRcptRslt) */
UPDATE TB_EPOST_RCPT_RSLT
SET CON_ORG = #{epostRcptRslt.conOrg} /* 외부기관구분코드 */
, RELORSECT_CD = #{epostRcptRslt.relorsectCd} /* 결제부서코드 */
, RELETCDATA = #{epostRcptRslt.reletcdata} /* 발송인별추가데이터 */
, EXTRI_REGYMD = #{epostRcptRslt.extriRegymd} /* 기관발송일자 */
, RCEPT_YMD = #{epostRcptRslt.rceptYmd} /* 접수일자 */
, RCEPT_ID = #{epostRcptRslt.rceptId} /* 접수우체국국기호 */
, DIV_KB = #{epostRcptRslt.divKb} /* 취급구분 */
, RCEPT_CNT = #{epostRcptRslt.rceptCnt} /* 발송수량 */
, RCEPT_AMT = #{epostRcptRslt.rceptAmt} /* 결제금액 */
, USEFEE_AMT = #{epostRcptRslt.usefeeAmt} /* 제작수수료 */
, TOTPOST_PRC = #{epostRcptRslt.totpostPrc} /* 우편요금 */
, JOB_CD = #{epostRcptRslt.jobCd} /* 작업 코드 */
WHERE RCPT_RSLT_ID = #{epostRcptRslt.rcptRsltId}
</update>
<update id="deleteEpostRcptRslt" parameterType="map">/* 전자우편 접수 결과 삭제(epostRcptRsltMapper.deleteEpostRcptRslt) */
UPDATE TB_EPOST_RCPT_RSLT
SET USE_YN = 'N'
, MDFCN_DT = <include refid="utility.now" />
, MDFR = #{epostRcptRslt.modifiedBy}
WHERE RCPT_RSLT_ID = #{epostRcptRslt.rcptRsltId}
</update>
</mapper>

@ -18,7 +18,7 @@
<result property="levyExclRsnCd" column="LEVY_EXCL_RSN_CD" /> <!-- 부과제외 사유 코드 --> <result property="levyExclRsnCd" column="LEVY_EXCL_RSN_CD" /> <!-- 부과제외 사유 코드 -->
<result property="levyExclRsnNm" column="LEVY_EXCL_RSN_NM" /> <!-- 부과제외 사유 명 --> <result property="levyExclRsnNm" column="LEVY_EXCL_RSN_NM" /> <!-- 부과제외 사유 명 -->
<result property="etcCn" column="ETC_CN" /> <!-- 기타 내용 --> <result property="etcCn" column="ETC_CN" /> <!-- 기타 내용 -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 --> <result property="delYN" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="regDt" column="REG_DT" /> <!-- 등록 일시 --> <result property="regDt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="rgtr" column="RGTR" /> <!-- 등록자 --> <result property="rgtr" column="RGTR" /> <!-- 등록자 -->
<result property="mdfcnDt" column="MDFCN_DT" /> <!-- 수정 일시 --> <result property="mdfcnDt" column="MDFCN_DT" /> <!-- 수정 일시 -->
@ -123,8 +123,8 @@
<if test="schRtpyrNm != null"> <if test="schRtpyrNm != null">
AND P.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */ AND P.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */
</if> </if>
<if test="delYn != null"> <if test="delYN != null">
AND LE.DEL_YN = #{delYn} /* 삭제 여부 */ AND LE.DEL_YN = #{delYN} /* 삭제 여부 */
</if> </if>
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */ AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
<choose> <choose>

@ -19,7 +19,7 @@ WHERE SGG_CD = #{sggCd}
<select id="selectDeptByCode" parameterType="string" resultType="dataobject"> <select id="selectDeptByCode" parameterType="string" resultType="dataobject">
SELECT DEPT_CD SELECT DEPT_CD
, DEPT_NM AS NAME , DEPT_NM AS NAME
FROM TB_DEPT_INFO FROM TB_DEPT
WHERE DEPT_CD = #{deptCd} WHERE DEPT_CD = #{deptCd}
</select> </select>

@ -272,10 +272,10 @@
}; };
// 전자우편 안내문 dialog // 전자우편 안내문 dialog
${pageName}Control.getInfo = (params) => { ${pageName}Control.getInfo = (gdccId) => {
if (!params) return; //
let dialogTitle = ""; let dialogTitle = "";
let params = {};
if (params.callPurpose == "create") { if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록"; dialogTitle = ${pageName}Control.prefixName + " 등록";
@ -285,6 +285,21 @@
dialogTitle = ${pageName}Control.prefixName + " 정보"; dialogTitle = ${pageName}Control.prefixName + " 정보";
} }
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") { // 등록
params = {
callPurpose : "create"
, sggCd : $("#sggCd--${pageName}").val() // 시군구 코드
, taskSeCd : $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
};
} else { // 수정
params = {
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, gdccId : gdccId // 안내문 ID
};
}
ajax.get({ ajax.get({
url : ${pageName}Control.urls.getInfo url : ${pageName}Control.urls.getInfo
, data : params || {} , data : params || {}
@ -344,7 +359,7 @@
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%> document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str (str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("GDCC_ID") + "');") .replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("GDCC_ID") + "');")
.replace(/{ondblclick}/gi, "fnUpdate${pageName}('" + dataItem.getValue("GDCC_ID") + "');") .replace(/{ondblclick}/gi, "${pageName}Control.getInfo('" + dataItem.getValue("GDCC_ID") + "');")
); );
let noMore = (totalSize == ${infoPrefix}List.length); let noMore = (totalSize == ${infoPrefix}List.length);
@ -426,30 +441,14 @@
// 전자우편 안내문 등록 버튼 이벤트 // 전자우편 안내문 등록 버튼 이벤트
fnCreate${pageName} = () => { fnCreate${pageName} = () => {
let params = { ${pageName}Control.getInfo();
callPurpose : "create"
, sggCd : $("#sggCd--${pageName}").val() // 시군구 코드
, taskSeCd : $("input[name=taskSeCd]:checked").val() // 업무 구분 코드
};
${pageName}Control.getInfo(params);
} }
// 전자우편 안내문 수정 버튼 이벤트 // 전자우편 안내문 수정 버튼 이벤트
fnUpdate${pageName} = (gdccId) => { fnUpdate${pageName} = () => {
// 안내문 ID 가 없다면.. 입력 let gdccId = ${pageName}Control.dataset.getValue("GDCC_ID");
if (typeof gdccId == "undefined" || gdccId == null || gdccId == "") {
gdccId = ${pageName}Control.dataset.getValue("GDCC_ID");
}
let params = {
callPurpose : "update"
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, gdccId : gdccId // 안내문 ID
};
${pageName}Control.getInfo(params); ${pageName}Control.getInfo(gdccId);
} }
// 전자우편 안내문 삭제 버튼 이벤트 // 전자우편 안내문 삭제 버튼 이벤트

@ -294,7 +294,7 @@
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL // URL
var ${pageName}PrefixUrl = "/epst/epst01"; var ${pageName}PrefixUrl = "/epst/epst02";
// FormFields // FormFields
var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}"); var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
@ -673,9 +673,9 @@
// URL 설정 // URL 설정
setURL${pageName} = (taskSeCd) => { setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회 ${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/030/list.do"); // 조회
${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/remove.do"); // 삭제 ${pageName}Control.urls.remove = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/030/remove.do"); // 삭제
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/020/info.do"); // 정보 ${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/040/info.do"); // 정보
} }
// 기본 데이터 설정 // 기본 데이터 설정

@ -0,0 +1,440 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<!-- inner page html -->
<div class="content-wrapper">
<!-- Content -->
<div class="container-xxl flex-grow-1 px-0">
<c:set var="prefixName" scope="request">단속 재등록</c:set>
<!-- Page Body -->
<div class="card">
<div class="wrapper-list">
<div>
<!-- 상단 버튼 -->
<div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnResetAndChangeBiz${pageName}();">
초기화
</button>
<span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();">
검색
</button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();">
엑셀
</button>
</span>
</div>
<!-- / 상단 버튼 -->
<!-- 검색 조건 영역 -->
<form id="frmSearch--${pageName}" name="frmSearch">
<!-- hidden -->
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<!-- 메인 조건 -->
<div class="container-search">
<div class="row g-1">
<!-- 업무구분 -->
<div class="col-12">
<label class="form-label fw-bold form-search-title text-end">업무구분</label>
<span class="form-search-linebox">
<c:forEach items="${FIM054List}" var="item">
<label>
<input type="radio" class="form-check-input" name="taskSeCd" alt="업무구분"
value="${item.code}" onchange="fnResetAndChangeBiz${pageName}(this.value);">
${item.value}
</label>
</c:forEach>
</span>
</div>
<!-- 기관발송일자 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">발송일자</label>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schExtriRegymdFrom--${pageName}" name="schExtriRegymdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schExtriRegymdTo--${pageName}" name="schExtriRegymdTo"
data-fmt-type="day" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 동적검색 -->
<div class="col-6">
<input type="hidden" id="by--${pageName}" name="by" />
<input type="text" class="form-control" id="byOutput--${pageName}" value="동적 검색" readonly />
<input type="hidden" id="mainOption--${pageName}" name="mainOption" />
<input type="hidden" id="subOption--${pageName}" name="subOption" />
<input type="text" class="form-control w-px-300" id="term--${pageName}" name="term" autocomplete="off" />
<!-- 상세 검색조건 버튼 -->
<span class="flr">
<button type="button" class="btn btn-open-detail" data-bs-toggle="collapse" data-bs-target="#searchDetail--${pageName}">
<i class="bx bx-chevron-down"></i>
상세검색
</button>
</span>
</div>
</div>
</div>
<!-- / 메인 조건 -->
<!-- 상세 조건 -->
<div id="searchDetail--${pageName}" class="container-search container-search-detail collapse">
<div class="row g-1">
<!-- 등록일자, 수정일자 -->
<div class="col-6">
<select class="form-select text-center" id="schDetailRegDtOpt--${pageName}" name="schDetailRegDtOpt">
<option value="regDt">등록일자</option>
<option value="mdfcnDt">수정일자</option>
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schDetailRegDtFrom--${pageName}" name="schDetailRegDtFrom"
data-fmt-type="day" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schDetailRegDtTo--${pageName}" name="schDetailRegDtTo"
data-fmt-type="day" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
<!-- 등록자명, 수정자명 -->
<div class="col-6">
<select class="form-select text-center" id="schDetailRgtrOpt--${pageName}" name="schDetailRgtrOpt">
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="text" class="form-control" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();">
검색
</button>
</div>
</div>
</div>
<!-- / 상세 조건 -->
</form>
<!-- / 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
<span class="container-page-btn">
<!-- 건수, 페이지 표시 -->
<div class="d-flex flex-row justify-content-between">
<label class="dataTables_info" id="paging--${pageName}PagingInfo" role="status" aria-live="polite"></label>
<ul class="pagination pagination-primary" id="paging--${pageName}">
</ul>
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
</span>
</span>
</div>
<!-- / 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive" id="table-responsive--${pageName}" style="overflow-x:scroll; height:400px; overflow-y:scroll;">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead class="sticky-thead">
<tr id="theadTr--${pageName}"
data-by="by--${pageName}" data-by-output="byOutput--${pageName}" data-main-option="mainOption--${pageName}" data-sub-option="subOption--${pageName}">
<th class="cmn" style="width: 72px;">NO.</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('RELETCDATA', this.innerText, 'match', 'part');">발송자료키</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('JOB_CD', this.innerText, 'codeValue', 'FIM082');">우편물종류</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('EXTRI_REGYMD', this.innerText, 'ymd', '');">발송일자</th>
<th class="cmn" style="width: 180px;" onclick="searchFromGridTitle('RCEPT_YMD', this.innerText, 'ymd', '');">접수일자</th>
<th class="cmn" style="width: 140px;" onclick="searchFromGridTitle('DIV_KB', this.innerText, 'codeValue', 'EGP002');">취급구분</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCEPT_CNT', this.innerText, 'match', 'part');">발송건수</th>
<th class="cmn" style="width: 160px;" onclick="searchFromGridTitle('RCEPT_AMT', this.innerText, 'match', 'part');">결제금액</th>
<th class="cmn" style="width: 280px;" onclick="searchFromGridTitle('USEFEE_AMT', this.innerText, 'match', 'part');">제작수수료</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('TOTPOST_PRC', this.innerText, 'match', 'part');">우편요금</th>
<th class="cmn" style="width: 120px;" onclick="searchFromGridTitle('JOB_CD', this.innerText, 'match', 'part');">우편물종류</th>
<th class="cmn" style="width: 180px;">등록일시</th>
<th class="cmn" style="width: 140px;">등록사용자</th>
<th class="cmn dummy-th"></th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{RCPT_RSLT_ID}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{ROW_NUM}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RELETCDATA}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{JOB_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{EXTRI_REGYMD}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCEPT_YMD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{DIV_KB}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{RCEPT_CNT}</td>
<td class="cmn text-end" onclick="{onclick}" ondblclick="{ondblclick}">{RCEPT_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{USEFEE_AMT}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{TOTPOST_PRC}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{JOB_CD}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{REG_DT}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{RGTR_NM}</td>
<td class="cmn dummy-td"></td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="14" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div>
</div>
<!-- / DataTables(그리드) -->
</div>
</div> <!-- / Wrapper-list -->
</div> <!-- / Card -->
</div>
<!-- / Content -->
<jsp:include page="/WEB-INF/jsp/include/bottom.jsp" />
<div class="content-backdrop fade"></div>
</div>
<!-- / inner page html <div class="content-wrapper"> -->
<script>
/**************************************************************************
* Global Variable
**************************************************************************/
// URL
var ${pageName}PrefixUrl = "/epst/epst02";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "epostRcptRslt"
, prefixName : "전자우편 접수 결과"
, infoSize : "lg"
, keymapper : info => info ? info.RCPT_RSLT_ID : ""
, dataGetter : obj => obj.epostRcptRsltList
, appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
EXTRI_REGYMD : dateFormat
, RCEPT_YMD : dateFormat
, RCEPT_CNT : numberFormat
, RCEPT_AMT : numberFormat
, USEFEE_AMT : numberFormat
, TOTPOST_PRC : numberFormat
, REG_DT : datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => {
renderList${pageName}(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({
list : ${pageName}Control.dataset
, prefix : "paging--${pageName}"
, start : obj.${infoPrefix}Start
, totalSize : obj.${infoPrefix}Total
, fetchSize : obj.${infoPrefix}Fetch
, func : "${pageName}Control.load({index})"
});
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
};
// 현재 선택 자료 변경 이벤트
${pageName}Control.onCurrentChange = item => {
if (!item) return;
let key = item.data.RCPT_RSLT_ID;
$("#tbody--${pageName}").setCurrentRow(key);
};
/**************************************************************************
* DataTables 이벤트
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("RCPT_RSLT_ID") + "');")
.replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');")
);
let noMore = (totalSize == ${infoPrefix}List.length);
let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0);
$("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
if (${pageName}Control.untilPageNum != 0) {
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize;
${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum;
${pageName}Control.untilPageNum = 0;
}
// checkbox 체크 해제
$("th input[type='checkbox']").prop("checked", false);
//보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
scrollDataList${pageName} = () => {
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false
${pageName}Control.load(${pageName}Control.query.pageNum + 1);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 검색 자료 재조회
refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
}
/**************************************************************************
* 버튼 clickEvent
**************************************************************************/
// 업무 구분 변경
fnResetAndChangeBiz${pageName} = (taskSeCd) => {
// 업무 구분 코드
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
// 초기 기본 설정
initForm${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
// 기본 데이터 설정
setFormData${pageName}();
}
// 검색 버튼 이벤트
fnSearchList${pageName} = () => {
// 검색조건
${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부
${pageName}Control.load(1);
}
// 엑셀 버튼 이벤트
fnExcel${pageName} = () => {
}
// 사용자 조회 버튼 이벤트
fnFindUser${pageName} = () => {
}
/**************************************************************************
* 초기 설정
**************************************************************************/
// 이벤트
setEvent${pageName} = () => {
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}    
});
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${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);
}
});
});
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// DataTables 스크롤 이벤트 생성
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName});
}
// 화면 초기 설정
initForm${pageName} = (taskSeCd) => {
// 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schExtriRegymdFrom--${pageName}").datepicker("setDate", new Date());
$("#schExtriRegymdTo--${pageName}").datepicker("setDate", new Date());
// dataset 초기화
${pageName}Control.dataset.clear();
}
// URL 설정
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url(taskSeCd + ${pageName}PrefixUrl + "/050/list.do"); // 검색
}
// 기본 데이터 설정
setFormData${pageName} = () => {
// ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
}
/**************************************************************************
* script 진입
**************************************************************************/
$(document).ready(function() {
// 이벤트 설정
setEvent${pageName}();
// 시군구 코드 설정
$("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 설정
let defaultBizValue = $("#layout-navbar input[name='taskSeCd']:checked").val();
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + defaultBizValue + "']").prop("checked", true);
// 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}(defaultBizValue);
});
</script>

@ -527,7 +527,7 @@
${pageName}Control.query = ${pageName}Fields.get(); ${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부 ${pageName}Control.query.delYN = "N"; // 삭제 여부
${pageName}Control.load(1); ${pageName}Control.load(1);
} }

@ -552,7 +552,7 @@
${pageName}Control.query = ${pageName}Fields.get(); ${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부 ${pageName}Control.query.delYN = "N"; // 삭제 여부
${pageName}Control.load(1); ${pageName}Control.load(1);
} }

@ -391,7 +391,7 @@
${pageName}Control.query = ${pageName}Fields.get(); ${pageName}Control.query = ${pageName}Fields.get();
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 ${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
${pageName}Control.query.delYn = "N"; // 삭제 여부 ${pageName}Control.query.delYN = "N"; // 삭제 여부
${pageName}Control.load(1); ${pageName}Control.load(1);
} }

Loading…
Cancel
Save