SmgInBean -> SmgReceiverBean, SmgOutBean -> SmgSenderBean

master
mjkhan21 1 year ago
parent 0a35cb3f7b
commit 2b62b36e96

@ -15,16 +15,16 @@ import org.springframework.stereotype.Component;
import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.foundation.data.XML;
import cokr.xit.foundation.web.Http;
import cokr.xit.foundation.web.WebClient;
import cokr.xit.interfaces.filejob.service.bean.FileJobBean;
import cokr.xit.interfaces.smg.Petition;
import cokr.xit.interfaces.smg.dao.SmgMapper;
/** Bean
/** Bean
* @author mjkhan
*/
@Component("smgInBean")
public class SmgInBean extends FileJobBean {
@Component("smgReceiverBean")
public class SmgReceiverBean extends FileJobBean {
@Resource(name = "smgMapper")
private SmgMapper smgMapper;
@Resource(name = "fileBean")
@ -36,7 +36,7 @@ public class SmgInBean extends FileJobBean {
*/
@Override
public String jobName() {
return "smg-in";
return "smg-receive";
}
/** .
@ -147,9 +147,11 @@ public class SmgInBean extends FileJobBean {
String alert = config("alert");
if (isEmpty(alert)) return;
new Http().post(new Http.Conf()
.url(alert)
.param("interfaceSequences", String.join(",", interfaceSequences))
new WebClient().post(req ->
req.uri(alert)
.data("interfaceSequences", interfaceSequences)
.json(true)
.async(true)
);
}
}

@ -17,16 +17,16 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import cokr.xit.foundation.data.XML;
import cokr.xit.foundation.web.Http;
import cokr.xit.foundation.web.WebClient;
import cokr.xit.interfaces.filejob.service.bean.FileJobBean;
import cokr.xit.interfaces.smg.Petition;
import cokr.xit.interfaces.smg.dao.SmgMapper;
/** / Bean
/** / Bean
* @author mjkhan
*/
@Component("smgOutBean")
public class SmgOutBean extends FileJobBean {
@Component("smgSenderBean")
public class SmgSenderBean extends FileJobBean {
private static final SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyyMMddhhmmss");
@Resource(name = "smgMapper")
@ -37,7 +37,7 @@ public class SmgOutBean extends FileJobBean {
*/
@Override
public String jobName() {
return "smg-out";
return "smg-send";
}
/** / .
@ -154,15 +154,17 @@ public class SmgOutBean extends FileJobBean {
if (isEmpty(alert)) return;
Map<String, List<Petition>> processed = replies.stream().collect(Collectors.groupingBy(Petition::getSendStatus));
List<Petition> list = processed.get("Y");
String success = list != null ? list.stream().map(Petition::getInterfaceSeqN).collect(Collectors.joining(",")) : "";
list = processed.get("N");
String fail = list != null ? list.stream().map(Petition::getInterfaceSeqN).collect(Collectors.joining(",")) : "";
new Http().post(new Http.Conf()
.url(alert)
.param("success", success)
.param("fail", fail)
List<Petition> list = ifEmpty(processed.get("Y"), Collections::emptyList);
List<String> success = list.stream().map(Petition::getInterfaceSeqN).toList();
list = ifEmpty(processed.get("N"), Collections::emptyList);
List<String> fail = list.stream().map(Petition::getInterfaceSeqN).toList();
new WebClient().post(req ->
req.uri(alert)
.data("success", success)
.data("fail", fail)
.json(true)
.async(true)
);
}
}

@ -11,41 +11,41 @@ import cokr.xit.interfaces.smg.Petition;
import cokr.xit.interfaces.smg.service.SmgService;
/**
* <ul><li> {@link SmgInBean}</li>
* <li> / {@link SmgOutBean}</li>
* <ul><li> {@link SmgReceiverBean}</li>
* <li> / {@link SmgSenderBean}</li>
* </ul>
* .
* @author mjkhan
*/
@Service("smgService")
public class SmgServiceBean extends FileJobServiceBean implements SmgService {
@Resource(name = "smgInBean")
private SmgInBean smgIn;
@Resource(name = "smgOutBean")
private SmgOutBean smgOut;
@Resource(name = "smgReceiverBean")
private SmgReceiverBean smgReceiver;
@Resource(name = "smgSenderBean")
private SmgSenderBean smgSender;
@Override
public List<Petition> getPetitions(List<String> interfaceSequences) {
return smgIn.getPetitions(interfaceSequences);
return smgReceiver.getPetitions(interfaceSequences);
}
@Override
public List<String> receivePetitions() {
return execute(smgIn, smgIn::receivePetitions);
return execute(smgReceiver, smgReceiver::receivePetitions);
}
@Override
public List<Petition> getReplies(List<String> interfaceSequences) {
return smgOut.getReplies(interfaceSequences);
return smgSender.getReplies(interfaceSequences);
}
@Override
public boolean createReply(Petition reply) {
return smgOut.createReply(reply);
return smgSender.createReply(reply);
}
@Override
public List<String> sendReplies() {
return execute(smgOut, smgOut::sendReplies);
return execute(smgSender, smgSender::sendReplies);
}
}

@ -0,0 +1,386 @@
<?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.interfaces.smg.dao.SmgMapper">
<resultMap id="petitionRow" type="cokr.xit.interfaces.smg.Petition">
<result column="INTERFACE_SEQ_N" property="interfaceSeqN" /> <!-- 인터페이스 키 -->
<result column="SYS_GUBUN_C" property="sysGubunC" /> <!-- 시스템 구분 -->
<result column="ANC_CODE_V" property="ancCodeV" /> <!-- 기관 코드 -->
<result column="PETI_GUBUN_C" property="petiGubunC" /> <!-- 민원 구분 -->
<result column="PETI_ANC_CODE_V" property="petiAncCodeV" /> <!-- 민원 기관 코드 -->
<result column="PETI_NO_C" property="petiNoC" /> <!-- 민원 신청 번호 -->
<result column="CIVIL_NO_C" property="civilNoC" /> <!-- 민원 접수 번호 -->
<result column="PETER_NAME_V" property="peterNameV" /> <!-- 민원 신청인 명 -->
<result column="ZIP_CODE_C" property="zipCodeC" /> <!-- 민원 신청인 우편번호 -->
<result column="ADDRESS_V" property="addressV" /> <!-- 민원 신청인 주소 -->
<result column="EMAIL_V" property="emailV" /> <!-- 민원 신청인 이메일 -->
<result column="CEL_NO_V" property="celNoV" /> <!-- 민원 신청인 핸드폰번호 -->
<result column="TEL_NO_V" property="telNoV" /> <!-- 민원 신청인 전화번호 -->
<result column="PETI_TITLE_V" property="petiTitleV" /> <!-- 민원 신청 제목 -->
<result column="PETI_REASON_L" property="petiReasonL" /> <!-- 민원 신청 내용 -->
<result column="OPEN_YN_C" property="openYnC" /> <!-- 민원 공개 여부 -->
<result column="PETI_REG_D" property="petiRegD" /> <!-- 민원 신청 일자 -->
<result column="PETI_REASON_ATTACH_YN_C" property="petiReasonAttachYnC" /> <!-- 민원 신청 내용 첨부 여부 -->
<result column="CIVIL_GIST_V" property="civilGistV" /> <!-- 민원 요지 -->
<result column="CIVIL_ABSTRACT_L" property="civilAbstractL" /> <!-- 민원 처리 요약 -->
<result column="PCD_DEPT_V" property="pcdDeptV" /> <!-- 처리 부서 코드 -->
<result column="PCD_DEPT_NM_V" property="pcdDeptNmV" /> <!-- 민원 처리 부서명 -->
<result column="DUTY_ID_V" property="dutyIdV" /> <!-- 민원 처리 담당자 명 -->
<result column="PCD_EMAIL_V" property="pcdEmailV" /> <!-- 담당자 이메일 -->
<result column="PCD_TEL_V" property="pcdTelV" /> <!-- 담당자 전화번호 -->
<result column="PCD_RST_CONT_L" property="pcdRstContL" /> <!-- 민원 처리 결과 -->
<result column="DO_REG_D" property="doRegD" /> <!-- 민원 처리 완료 일자 -->
<result column="PCD_RST_CONT_ATTACH_YN_C" property="pcdRstContAttachYnC" /> <!-- 민원 처리 결과 첨부 여부 -->
<result column="PCD_ANC_CODE_V" property="pcdAncCodeV" /> <!-- 민원 실 처리 기관 코드 -->
<result column="PETI_PROC_DUR_N" property="petiProcDurN" /> <!-- 민원 처리 기간'column="-->
<result column="PETI_END_D" property="petiEndD" /> <!-- 처리 예정 일자 -->
<result column="ANC_REG_D" property="ancRegD" /> <!-- 접수 일자 -->
<result column="MORE_AGAIN_V" property="moreAgainV" /> <!-- 한마디더 -->
<result column="SATISFY_C" property="satisfyC" /> <!-- 만족도 항목1 -->
<result column="SATISFY2_C" property="satisfy2C" /> <!-- 만족도 항목2 -->
<result column="SATISFY3_C" property="satisfy3C" /> <!-- 만족도 항목3 -->
<result column="SATISFY_REG_D" property="satisfyRegD" /> <!-- 만족도 입력일 -->
<result column="REG_D" property="regD" /> <!-- 등록 일자 -->
<result column="SEND_YN_C" property="sendYnC" /> <!-- 송신 여부 -->
<result column="SEND_D" property="sendD" /> <!-- 송신 일자 -->
<result column="APPLY_D" property="applyD" /> <!-- 적용 일자 -->
<result column="APPLY_GUBUN_C" property="applyGubunC" /> <!-- 완료 구분 -->
<result column="PCD_GUBUN_V" property="pcdGubunV" /> <!-- 처리 구분1 -->
<result column="PCD_GUBUN2_V" property="pcdGubun2V" /> <!-- 처리 구분2 -->
<result column="PCD_GUBUN3_V" property="pcdGubun3V" /> <!-- 처리 구분3 -->
<result column="PETI_PATH_GUBUN_C" property="petiPathGubunC" /> <!-- 신청 경로 코드 -->
<result column="ORGNL_FILE_NM" property="originalFilename" /> <!-- 원본 파일 명 -->
<result column="REG_DT" property="createdAt" /> <!-- 등록 일시 -->
<result column="RGTR" property="createdBy" /> <!-- 등록자 -->
<result column="PETI_FILE_SIZE_N" property="petiFileSizeN" /> <!-- 민원 신청 첨부파일 크기 -->
<result column="PETI_FILE_PATH1_V" property="petiFilePath1V" /> <!-- 민원 신청 첨부파일명 1 -->
<result column="PETI_FILE_PATH2_V" property="petiFilePath2V" /> <!-- 민원 신청 첨부파일명 2 -->
<result column="PETI_FILE_PATH3_V" property="petiFilePath3V" /> <!-- 민원 신청 첨부파일명 3 -->
<result column="PETI_FILE_PATH4_V" property="petiFilePath4V" /> <!-- 민원 신청 첨부파일명 4 -->
<result column="PETI_FILE_PATH5_V" property="petiFilePath5V" /> <!-- 민원 신청 첨부파일명 5 -->
<result column="PCD_FILE_SIZE_N" property="pcdFileSizeN" /> <!-- 민원 처리 첨부파일 크기 -->
<result column="PCD_FILE_PATH1_V" property="pcdFilePath1V" /> <!-- 민원 처리 첨부파일명 1 -->
<result column="PCD_FILE_PATH2_V" property="pcdFilePath1V" /> <!-- 민원 처리 첨부파일명 2 -->
<result column="PCD_FILE_PATH3_V" property="pcdFilePath1V" /> <!-- 민원 처리 첨부파일명 3 -->
<result column="PCD_FILE_PATH4_V" property="pcdFilePath1V" /> <!-- 민원 처리 첨부파일명 4 -->
<result column="PCD_FILE_PATH5_V" property="pcdFilePath1V" /> <!-- 민원 처리 첨부파일명 5 -->
<result column="STRG_ATCHFILE_NM1" property="attachmentPath1" /> <!-- 저장 첨부파일명 1 -->
<result column="STRG_ATCHFILE_NM2" property="attachmentPath2" /> <!-- 저장 첨부파일명 2 -->
<result column="STRG_ATCHFILE_NM3" property="attachmentPath3" /> <!-- 저장 첨부파일명 3 -->
<result column="STRG_ATCHFILE_NM4" property="attachmentPath4" /> <!-- 저장 첨부파일명 4 -->
<result column="STRG_ATCHFILE_NM5" property="attachmentPath5" /> <!-- 저장 첨부파일명 5 -->
<result column="TRSM_INTERFACE_SEQ_N" property="sendInterfaceSeqN" /> <!-- 전송 인터페이스 키 -->
<result column="TRSM_STTS_CD" property="sendStatus" /> <!-- 전송 상태 -->
<result column="TRSM_STTS_MSG" property="sendStatusMsg" /> <!-- 전송 상태 메시지 -->
</resultMap>
<select id="selectPetitions" parameterType="list" resultMap="petitionRow">/* smgMapper.selectPetitions(국민신문고 수신 민원 조회) */
SELECT A.*
, PETI_FILE_SIZE_N
, PETI_FILE_PATH1_V
, PETI_FILE_PATH2_V
, PETI_FILE_PATH3_V
, PETI_FILE_PATH4_V
, PETI_FILE_PATH5_V
, PCD_FILE_SIZE_N
, PCD_FILE_PATH1_V
, PCD_FILE_PATH2_V
, PCD_FILE_PATH3_V
, PCD_FILE_PATH4_V
, PCD_FILE_PATH5_V
, STRG_ATCHFILE_NM1
, STRG_ATCHFILE_NM2
, STRG_ATCHFILE_NM3
, STRG_ATCHFILE_NM4
, STRG_ATCHFILE_NM5
FROM TB_ESB_INTERFACE A
, TB_ESB_INTERFACE_FILE B
WHERE A.INTERFACE_SEQ_N IN (<foreach collection="list" item="item" separator=",">#{item}</foreach>)
AND A.INTERFACE_SEQ_N = B.INTERFACE_SEQ_N
ORDER BY INTERFACE_SEQ_N DESC</select>
<insert id="insertPetition" parameterType="cokr.xit.interfaces.smg.Petition">/* smgMapper.insertPetition(국민신문고 수신 민원 등록) */
INSERT INTO TB_ESB_INTERFACE (
INTERFACE_SEQ_N <!-- 인터페이스 키 -->
, SYS_GUBUN_C <!-- 시스템 구분 -->
, ANC_CODE_V <!-- 기관 코드 -->
, PETI_GUBUN_C <!-- 민원 구분 -->
, PETI_ANC_CODE_V <!-- 민원 기관 코드 -->
, PETI_NO_C <!-- 민원 신청 번호 -->
, CIVIL_NO_C <!-- 민원 접수 번호 -->
, PETER_NAME_V <!-- 민원 신청인 명 -->
, ZIP_CODE_C <!-- 민원 신청인 우편번호 -->
, ADDRESS_V <!-- 민원 신청인 주소 -->
, EMAIL_V <!-- 민원 신청인 이메일 -->
, CEL_NO_V <!-- 민원 신청인 핸드폰번호 -->
, TEL_NO_V <!-- 민원 신청인 전화번호 -->
, PETI_TITLE_V <!-- 민원 신청 제목 -->
, PETI_REASON_L <!-- 민원 신청 내용 -->
, OPEN_YN_C <!-- 민원 공개 여부 -->
, PETI_REG_D <!-- 민원 신청 일자 -->
, PETI_REASON_ATTACH_YN_C <!-- 민원 신청 내용 첨부 여부 -->
, CIVIL_GIST_V <!-- 민원 요지 -->
, CIVIL_ABSTRACT_L <!-- 민원 처리 요약 -->
, PCD_DEPT_V <!-- 처리 부서 코드 -->
, PCD_DEPT_NM_V <!-- 민원 처리 부서명 -->
, DUTY_ID_V <!-- 민원 처리 담당자 명 -->
, PCD_EMAIL_V <!-- 담당자 이메일 -->
, PCD_TEL_V <!-- 담당자 전화번호 -->
, PCD_RST_CONT_L <!-- 민원 처리 결과 -->
, DO_REG_D <!-- 민원 처리 완료 일자 -->
, PCD_RST_CONT_ATTACH_YN_C <!-- 민원 처리 결과 첨부 여부 -->
, PCD_ANC_CODE_V <!-- 민원 실 처리 기관 코드 -->
, PETI_PROC_DUR_N <!-- 민원 처리 기간', -->
, PETI_END_D <!-- 처리 예정 일자 -->
, ANC_REG_D <!-- 접수 일자 -->
, MORE_AGAIN_V <!-- 한마디더 -->
, SATISFY_C <!-- 만족도 항목1 -->
, SATISFY2_C <!-- 만족도 항목2 -->
, SATISFY3_C <!-- 만족도 항목3 -->
, SATISFY_REG_D <!-- 만족도 입력일 -->
, REG_D <!-- 등록 일자 -->
, SEND_YN_C <!-- 송신 여부 -->
, SEND_D <!-- 송신 일자 -->
, APPLY_D <!-- 적용 일자 -->
, APPLY_GUBUN_C <!-- 완료 구분 -->
, PCD_GUBUN_V <!-- 처리 구분1 -->
, PCD_GUBUN2_V <!-- 처리 구분2 -->
, PCD_GUBUN3_V <!-- 처리 구분3 -->
, PETI_PATH_GUBUN_C <!-- 신청 경로 코드 -->
, ORGNL_FILE_NM <!-- 원본 파일 명 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
) VALUES (
#{interfaceSeqN} <!-- 인터페이스 키 -->
, #{sysGubunC} <!-- 시스템 구분 -->
, #{ancCodeV} <!-- 기관 코드 -->
, #{petiGubunC} <!-- 민원 구분 -->
, #{petiAncCodeV} <!-- 민원 기관 코드 -->
, #{petiNoC} <!-- 민원 신청 번호 -->
, #{civilNoC} <!-- 민원 접수 번호 -->
, #{peterNameV} <!-- 민원 신청인 명 -->
, #{zipCodeC} <!-- 민원 신청인 우편번호 -->
, #{addressV} <!-- 민원 신청인 주소 -->
, #{emailV} <!-- 민원 신청인 이메일 -->
, #{celNoV} <!-- 민원 신청인 핸드폰번호 -->
, #{telNoV} <!-- 민원 신청인 전화번호 -->
, #{petiTitleV} <!-- 민원 신청 제목 -->
, #{petiReasonL} <!-- 민원 신청 내용 -->
, #{openYnC} <!-- 민원 공개 여부 -->
, #{petiRegD} <!-- 민원 신청 일자 -->
, #{petiReasonAttachYnC} <!-- 민원 신청 내용 첨부 여부 -->
, #{civilGistV} <!-- 민원 요지 -->
, #{civilAbstractL} <!-- 민원 처리 요약 -->
, #{pcdDeptV} <!-- 처리 부서 코드 -->
, #{pcdDeptNmV} <!-- 민원 처리 부서명 -->
, #{dutyIdV} <!-- 민원 처리 담당자 명 -->
, #{pcdEmailV} <!-- 담당자 이메일 -->
, #{pcdTelV} <!-- 담당자 전화번호 -->
, #{pcdRstContL} <!-- 민원 처리 결과 -->
, #{doRegD} <!-- 민원 처리 완료 일자 -->
, #{pcdRstContAttachYnC} <!-- 민원 처리 결과 첨부 여부 -->
, #{pcdAncCodeV} <!-- 민원 실 처리 기관 코드 -->
, #{petiProcDurN} <!-- 민원 처리 기간', -->
, #{petiEndD} <!-- 처리 예정 일자 -->
, #{ancRegD} <!-- 접수 일자 -->
, #{moreAgainV} <!-- 한마디더 -->
, #{satisfyC} <!-- 만족도 항목1 -->
, #{satisfy2C} <!-- 만족도 항목2 -->
, #{satisfy3C} <!-- 만족도 항목3 -->
, #{satisfyRegD} <!-- 만족도 입력일 -->
, #{regD} <!-- 등록 일자 -->
, #{sendYnC} <!-- 송신 여부 -->
, #{sendD} <!-- 송신 일자 -->
, #{applyD} <!-- 적용 일자 -->
, #{applyGubunC} <!-- 완료 구분 -->
, #{pcdGubunV} <!-- 처리 구분1 -->
, #{pcdGubun2V} <!-- 처리 구분2 -->
, #{pcdGubun3V} <!-- 처리 구분3 -->
, #{petiPathGubunC} <!-- 신청 경로 코드 -->
, #{originalFilename} <!-- 원본 파일 명 -->
,<include refid="utility.now" /><!-- 등록 일시 -->
, #{createdBy} <!-- 등록자 -->
)</insert>
<insert id="insertFile" parameterType="cokr.xit.interfaces.smg.Petition">/* smgMapper.insertFile(국민신문고 수신 민원 첨부파일 등록) */
INSERT INTO TB_ESB_INTERFACE_FILE (
INTERFACE_SEQ_N <!-- 인터페이스 키 -->
, PETI_FILE_SIZE_N <!-- 민원 신청 첨부파일 크기 -->
, PETI_FILE_PATH1_V <!-- 민원 신청 첨부파일명 1 -->
, PETI_FILE_PATH2_V <!-- 민원 신청 첨부파일명 2 -->
, PETI_FILE_PATH3_V <!-- 민원 신청 첨부파일명 3 -->
, PETI_FILE_PATH4_V <!-- 민원 신청 첨부파일명 4 -->
, PETI_FILE_PATH5_V <!-- 민원 신청 첨부파일명 5 -->
, PCD_FILE_SIZE_N <!-- 민원 처리 첨부파일 크기 -->
, PCD_FILE_PATH1_V <!-- 민원 처리 첨부파일명 1 -->
, PCD_FILE_PATH2_V <!-- 민원 처리 첨부파일명 2 -->
, PCD_FILE_PATH3_V <!-- 민원 처리 첨부파일명 3 -->
, PCD_FILE_PATH4_V <!-- 민원 처리 첨부파일명 4 -->
, PCD_FILE_PATH5_V <!-- 민원 처리 첨부파일명 5 -->
, STRG_ATCHFILE_NM1 <!-- 저장 첨부파일명 1 -->
, STRG_ATCHFILE_NM2 <!-- 저장 첨부파일명 2 -->
, STRG_ATCHFILE_NM3 <!-- 저장 첨부파일명 3 -->
, STRG_ATCHFILE_NM4 <!-- 저장 첨부파일명 4 -->
, STRG_ATCHFILE_NM5 <!-- 저장 첨부파일명 5 -->
) VALUES (
#{interfaceSeqN} <!-- 인터페이스 키 -->
, #{petiFileSizeN} <!-- 민원 신청 첨부파일 크기 -->
, #{petiFilePath1V} <!-- 민원 신청 첨부파일명 1 -->
, #{petiFilePath2V} <!-- 민원 신청 첨부파일명 2 -->
, #{petiFilePath3V} <!-- 민원 신청 첨부파일명 3 -->
, #{petiFilePath4V} <!-- 민원 신청 첨부파일명 4 -->
, #{petiFilePath5V} <!-- 민원 신청 첨부파일명 5 -->
, #{pcdFileSizeN} <!-- 민원 처리 첨부파일 크기 -->
, #{pcdFilePath1V} <!-- 민원 처리 첨부파일명 1 -->
, #{pcdFilePath1V} <!-- 민원 처리 첨부파일명 2 -->
, #{pcdFilePath1V} <!-- 민원 처리 첨부파일명 3 -->
, #{pcdFilePath1V} <!-- 민원 처리 첨부파일명 4 -->
, #{pcdFilePath1V} <!-- 민원 처리 첨부파일명 5 -->
, #{attachmentPath1} <!-- 저장 첨부파일명 1 -->
, #{attachmentPath2} <!-- 저장 첨부파일명 2 -->
, #{attachmentPath3} <!-- 저장 첨부파일명 3 -->
, #{attachmentPath4} <!-- 저장 첨부파일명 4 -->
, #{attachmentPath5} <!-- 저장 첨부파일명 5 -->
)</insert>
<select id="selectReplies" parameterType="list" resultMap="petitionRow">/* smgMapper.selectReplies(국민신문고 답변 대상 조회) */
SELECT A.INTERFACE_SEQ_N <!-- 인터페이스키 -->
, A.SYS_GUBUN_C <!-- 시스템구분 -->
, A.ANC_CODE_V <!-- 기관코드 -->
, A.PETI_GUBUN_C <!-- 민원구분 -->
, A.PETI_ANC_CODE_V <!-- 민원기관코드 -->
, A.PETI_NO_C <!-- 민원 신청 번호 -->
, A.CIVIL_NO_C <!-- 민원 접수 번호 -->
, PETER_NAME_V <!-- 민원 신청인 명 -->
, ZIP_CODE_C <!-- 민원 신청인 우편 번호 -->
, ADDRESS_V <!-- 민원 신청인 주소 -->
, PETI_TITLE_V <!-- 민원 신청 제목 -->
, PETI_REASON_L <!-- 민원 신청 내용 -->
, OPEN_YN_C <!-- 민원 공개 여부 -->
, PETI_REG_D <!-- 민원 신청일 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.CIVIL_GIST_V ELSE B.CIVIL_GIST_V END CIVIL_GIST_V <!-- 민원요지 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.CIVIL_ABSTRACT_L ELSE B.CIVIL_ABSTRACT_L END CIVIL_ABSTRACT_L <!-- 민원처리요약 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_DEPT_V ELSE B.PCD_DEPT_V END PCD_DEPT_V <!-- 처리부서코드 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_DEPT_NM_V ELSE B.PCD_DEPT_NM_V END PCD_DEPT_NM_V <!-- 민원 처리 부서명 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.DUTY_ID_V ELSE B.DUTY_ID_V END DUTY_ID_V <!-- 민원 처리 담당자 명 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_EMAIL_V ELSE B.PCD_EMAIL_V END PCD_EMAIL_V <!-- 담당자 이메일 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_TEL_V ELSE B.PCD_TEL_V END PCD_TEL_V <!-- 담당자 전화번호 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_RST_CONT_L ELSE B.PCD_RST_CONT_L END PCD_RST_CONT_L<!-- 민원 처리 결과 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.DO_REG_D ELSE B.DO_REG_D END DO_REG_D <!-- 민원 처리 완료 일자 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_RST_CONT_ATTACH_YN_C ELSE B.PCD_RST_CONT_ATTACH_YN_C END PCD_RST_CONT_ATTACH_YN_C <!-- 민원 처리 결과 첨부 여부 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_ANC_CODE_V ELSE B.PCD_ANC_CODE_V END PCD_ANC_CODE_V<!-- 민원 실 처리 기관 코드 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.REG_D ELSE B.REG_D END REG_D <!-- 등록일자 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.SEND_YN_C ELSE B.SEND_YN_C END SEND_YN_C <!-- 송신여부 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.SEND_D ELSE B.SEND_D END SEND_D <!-- 송신일자 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.APPLY_D ELSE B.APPLY_D END APPLY_D <!-- 적용일자 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.APPLY_GUBUN_C ELSE B.APPLY_GUBUN_C END APPLY_GUBUN_C <!-- 완료구분 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_GUBUN_V ELSE B.PCD_GUBUN_V END PCD_GUBUN_V <!-- 처리구분1 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_GUBUN2_V ELSE B.PCD_GUBUN2_V END PCD_GUBUN2_V <!-- 처리구분2 -->
, CASE A.PETI_GUBUN_C WHEN '180' THEN A.PCD_GUBUN3_V ELSE B.PCD_GUBUN3_V END PCD_GUBUN3_V <!-- 처리구분3 -->
, A.TRSM_INTERFACE_SEQ_N <!-- 전송 인터페이스 키 -->
FROM TB_ESB_INTERFACE_TRSM A
LEFT OUTER JOIN TB_ESB_INTERFACE B ON A.INTERFACE_SEQ_N = B.INTERFACE_SEQ_N
<if test='list == null'>WHERE A.APPLY_GUBUN_C = 'N'</if>
<if test='list != null'>WHERE A.INTERFACE_SEQ_N IN (<foreach collection="list" item="item" separator=",">#{item}</foreach>)</if>
ORDER BY A.INTERFACE_SEQ_N
</select>
<insert id="insertReply" parameterType="map">/* smgMapper.insertReply(답변/반송 등록)*/
INSERT INTO TB_ESB_INTERFACE_TRSM (
INTERFACE_SEQ_N <!--인터페이스 키 -->
, SYS_GUBUN_C <!--시스템 구분 -->
, ANC_CODE_V <!--기관 코드 -->
, PETI_GUBUN_C <!--민원 구분 -->
, PETI_ANC_CODE_V <!--민원 기관 코드 -->
, PETI_NO_C <!--민원 신청 번호 -->
, CIVIL_NO_C <!--민원 접수 번호 -->
, CIVIL_GIST_V <!--민원 요지 -->
, CIVIL_ABSTRACT_L <!--민원 처리 요약 -->
, PCD_DEPT_V <!--처리 부서 코드 -->
, PCD_DEPT_NM_V <!--민원 처리 부서명 -->
, DUTY_ID_V <!--민원 처리 담당자 명 -->
, PCD_EMAIL_V <!--담당자 이메일 -->
, PCD_TEL_V <!--담당자 전화번호 -->
, PCD_RST_CONT_L <!--민원 처리 결과 -->
, DO_REG_D <!--민원 처리 완료 일자 -->
, PCD_RST_CONT_ATTACH_YN_C <!--민원 처리 결과 첨부 여부 -->
, PCD_ANC_CODE_V <!--민원 실 처리 기관 코드 -->
, REG_D <!--등록 일자 -->
, SEND_YN_C <!--송신 여부 -->
, SEND_D <!--송신 일자 -->
, APPLY_D <!--적용 일자 -->
, APPLY_GUBUN_C <!--완료 구분 -->
, PCD_GUBUN_V <!--처리 구분1 -->
, PCD_GUBUN2_V <!--처리 구분2 -->
, PCD_GUBUN3_V <!--처리 구분3 -->
, TRSM_INTERFACE_SEQ_N <!--전송 인터페이스 키 -->
, TRSM_STTS_CD <!--전송 상태 -->
, TRSM_STTS_MSG <!--전송 상태 메시지 -->
, REG_DT <!--등록 일시 -->
, RGTR <!--등록자 -->
, MDFCN_DT <!--수정 일시 -->
, MDFR <!--수정자 -->
) VALUES (
#{reply.interfaceSeqN} <!--인터페이스 키 -->
, #{reply.sysGubunC} <!--시스템 구분 -->
, #{reply.ancCodeV} <!--기관 코드 -->
, #{reply.petiGubunC} <!--민원 구분 -->
, #{reply.petiAncCodeV} <!--민원 기관 코드 -->
, #{reply.petiNoC} <!--민원 신청 번호 -->
, #{reply.civilNoC} <!--민원 접수 번호 -->
, #{reply.civilGistV} <!--민원 요지 -->
, #{reply.civilAbstractL} <!--민원 처리 요약 -->
, #{reply.pcdDeptV} <!--처리 부서 코드 -->
, #{reply.pcdDeptNmV} <!--민원 처리 부서명 -->
, #{reply.dutyIdV} <!--민원 처리 담당자 명 -->
, #{reply.pcdEmailV} <!--담당자 이메일 -->
, #{reply.pcdTelV} <!--담당자 전화번호 -->
, #{reply.pcdRstContL} <!--민원 처리 결과 -->
, #{reply.doRegD} <!--민원 처리 완료 일자 -->
, #{reply.pcdRstContAttachYnC} <!--민원 처리 결과 첨부 여부 -->
, #{reply.pcdAncCodeV} <!--민원 실 처리 기관 코드 -->
, #{reply.regD} <!--등록 일자 -->
, #{reply.sendYnC} <!--송신 여부 -->
, #{reply.sendD} <!--송신 일자 -->
, #{reply.applyD} <!--적용 일자 -->
, #{reply.applyGubunC} <!--완료 구분 -->
, #{reply.pcdGubunV} <!--처리 구분1 -->
, #{reply.pcdGubun2V} <!--처리 구분2 -->
, #{reply.pcdGubun3V} <!--처리 구분3 -->
, #{reply.sendInterfaceSeqN} <!--전송 인터페이스 키 -->
, #{reply.sendStatus} <!--전송 상태 -->
, #{reply.sendStatusMsg} <!--전송 상태 메시지 -->
,<include refid="utility.now" />
, #{currentUser.id} <!--등록자 -->
,<include refid="utility.now" />
, #{currentUser.id} <!--수정자 -->
)</insert>
<update id="updateSendStatus" parameterType="map">/* smgMapper.updateSendStatus(답변/반송 전송상태 업데이트) */
UPDATE TB_ESB_INTERFACE_TRSM A
, (<foreach collection="replies" item="reply" separator="UNION">
SELECT #{reply.interfaceSeqN} INTERFACE_SEQ_N, #{reply.sendInterfaceSeqN} TRSM_INTERFACE_SEQ_N, #{reply.sendD} SEND_D, #{reply.applyD} APPLY_D, #{reply.applyGubunC} APPLY_GUBUN_C, #{reply.sendStatus} TRSM_STTS_CD, #{reply.sendStatusMsg} TRSM_STTS_MSG</foreach>
) B
SET A.TRSM_INTERFACE_SEQ_N = B.TRSM_INTERFACE_SEQ_N
, A.SEND_D = B.SEND_D
, A.APPLY_D = B.APPLY_D
, A.APPLY_GUBUN_C = B.APPLY_GUBUN_C
, A.TRSM_STTS_CD = B.TRSM_STTS_CD
, A.TRSM_STTS_MSG = B.TRSM_STTS_MSG
, A.MDFCN_DT = #{now}
, A.MDFR = #{currentUser.id}
WHERE A.INTERFACE_SEQ_N = B.INTERFACE_SEQ_N</update>
</mapper>
Loading…
Cancel
Save