개별총정보 - 개별 반송 등록, 수정, 삭제 추가.

main
jjh 1 year ago
parent 93f69d9340
commit 2e45abe2b2

@ -140,8 +140,35 @@ public interface SndngMapper extends AbstractMapper {
return !sndbkInfo.isEmpty() ? sndbkInfo.get(0) : null;
}
/** .
* @param sndngDtl
* @return
*/
int createSndbk(Map<String, Object> params);
default boolean createSndbk(SndngDtl sndngDtl) {
return sndngDtl != null && createSndbk(params().set("sndngDtl", sndngDtl)) == 1;
}
/** .
* @param sndngDtl
* @return
*/
int updateSndbk(Map<String, Object> params);
default boolean updateSndbk(SndngDtl sndngDtl) {
return sndngDtl != null && updateSndbk(params().set("sndngDtl", sndngDtl)) == 1;
}
/** .
* @param sndngDtl
* @return
*/
int deleteSndbk(Map<String, Object> params);
default boolean deleteSndbk(SndngDtl sndngDtl) {
return sndngDtl != null && deleteSndbk(params().set("sndngDtl", sndngDtl)) == 1;
}

@ -100,12 +100,38 @@ public interface SndngService {
*/
String createSndngLink(Sndng sndng);
/** ID .<br />
/** ID .<br />
* @param sndngDtlId ID
* @return
*/
DataObject getSndbkInfo(SndbQuery req);
/** .
* @param sndngDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String createSndbk(SndngDtl sndngDtl);
/** .
* @param sndngDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String updateSndbk(SndngDtl sndngDtl);
/** .
* @param sndngDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String deleteSndbk(SndngDtl sndngDtl);

@ -1,7 +1,5 @@
package cokr.xit.fims.sndb.service.bean;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model;
import java.util.List;
import javax.annotation.Resource;
@ -24,7 +22,6 @@ import cokr.xit.fims.enis.service.bean.EnisMtchgBean;
import cokr.xit.fims.epst.EpostRcptDtl;
import cokr.xit.fims.epst.EpostRcptReg;
import cokr.xit.fims.epst.service.bean.EpostRcptRegBean;
import cokr.xit.fims.excl.LevyExclQuery;
import cokr.xit.fims.levy.Levy;
import cokr.xit.fims.levy.service.bean.LevyBean;
import cokr.xit.fims.sndb.SndbQuery;
@ -972,13 +969,81 @@ public class SndngBean extends AbstractComponent {
* @param sndngDtlId ID
* @return
*/
public DataObject getSndbkInfo(SndbQuery req) {
return sndngMapper.selectSndbkInfo(req);
}
/** .
* @param sndngDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String createSndbk(SndngDtl sndngDtl) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다.
retSuccess = sndngMapper.createSndbk(sndngDtl);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("발송상세의 반송 정보 등록에 실패하였습니다.");
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
}
/** .
* @param sndngDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String updateSndbk(SndngDtl sndngDtl) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다.
retSuccess = sndngMapper.updateSndbk(sndngDtl);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("발송상세의 반송 정보 수정에 실패하였습니다.");
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
}
/** .
* @param sndngDtl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String deleteSndbk(SndngDtl sndngDtl) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
// 발송 상세(TB_SNDNG_DTL) 대장에 반송 정보를 등록 한다.
retSuccess = sndngMapper.deleteSndbk(sndngDtl);
if (!retSuccess) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("발송상세의 반송 정보 삭제에 실패하였습니다.");
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
}

@ -95,6 +95,20 @@ public class SndngServiceBean extends AbstractServiceBean implements SndngServic
return sndngBean.getSndbkInfo(req);
}
@Override
public String createSndbk(SndngDtl sndngDtl) {
return sndngBean.createSndbk(sndngDtl);
}
@Override
public String updateSndbk(SndngDtl sndngDtl) {
return sndngBean.updateSndbk(sndngDtl);
}
@Override
public String deleteSndbk(SndngDtl sndngDtl) {
return sndngBean.deleteSndbk(sndngDtl);
}

@ -13,6 +13,7 @@ import cokr.xit.base.user.service.UserService;
import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.Sndng;
import cokr.xit.fims.sndb.SndngDtl;
import cokr.xit.fims.sndb.service.SndngService;
import cokr.xit.foundation.data.DataObject;
@ -44,9 +45,14 @@ public class Sndb01Controller extends ApplicationController {
, advanceNoticeSendingMain = "/070/main.do" // 사전통지 발송 현황 메인 화면
, getAdvntceSndngList = "/070/list.do" // 사전통지 발송 대상 목록 조회
, getAdvntceSndngDltInfo = "/080/info.do" // 사전통지 발송 상세 대장 조회
, getSndbkInfo = "/220/info.do" //
, createSndng = "/020/createSndng.do" // 발송 대상 등록
, createSndngLink = "/080/createSndngLink.do" // 우편 통합 발송 연계 등록
, getSndbkInfo = "/220/info.do" // 발송 상세의 반송 정보 조회
, createSndbk = "/220/create.do" // 발송 상세의 반송 정보 등록
, updateSndbk = "/220/update.do" // 발송 상세의 반송 정보 수정
, deleteSndbk = "/220/delete.do" // 발송 상세의 반송 정보 삭제
;
}
@ -380,19 +386,72 @@ public class Sndb01Controller extends ApplicationController {
;
}
}
//with qrySet do begin
// ParamByName('GP_SEND_DATE').AsString := aDate;
// ParamByName('GP_RETURN_CD').AsString := aCause;
// ParamByName('GP_STATE').AsString := GOJI_PRT_GUBUN_RETURN; //반송
// ParamByName('GP_CODE').AsInteger := DataSource1.DataSet.FieldByName('GP_CODE').AsInteger;
// ExecSQL;
//end;
//with DataSource1.DataSet do begin
// Edit;
// FieldByName('GP_SEND_DATE').AsString := aDate;
// FieldByName('GP_RETURN_CD').AsString := aCause;
// FieldByName('GP_STATE').AsString := GOJI_PRT_GUBUN_RETURN; //반송
// Post;
//end;
/** .
* @param sndngDtl
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView createSndbk(SndngDtl sndngDtl) {
boolean saved = false;
String retMessage = sndngService.createSndbk(sndngDtl);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
}
/** .
* @param sndngDtl
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView updateSndbk(SndngDtl sndngDtl) {
boolean saved = false;
String retMessage = sndngService.updateSndbk(sndngDtl);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
}
/** .
* @param sndngDtl
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
public ModelAndView deleteSndbk(SndngDtl sndngDtl) {
boolean saved = false;
String retMessage = sndngService.deleteSndbk(sndngDtl);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
}
}

@ -20,6 +20,7 @@ import cokr.xit.fims.payer.Payer;
import cokr.xit.fims.payer.PayerQuery;
import cokr.xit.fims.sndb.SndbQuery;
import cokr.xit.fims.sndb.Sndng;
import cokr.xit.fims.sndb.SndngDtl;
import cokr.xit.fims.sprt.CvlcptDscsnCn;
import cokr.xit.fims.sprt.SprtQuery;
@ -567,12 +568,28 @@ public class DpvController {
}
@Override
@RequestMapping(name="장애인과태료업무 우편통합 발송 연계 등록", value=METHOD_URL.getSndbkInfo)
@RequestMapping(name="장애인과태료업무 발송상세의 반송(미배달) 정보 조회", value=METHOD_URL.getSndbkInfo)
public ModelAndView getSndbkInfo(SndbQuery req) {
return super.getSndbkInfo(req);
}
@Override
@RequestMapping(name="장애인과태료업무 발송상세의 반송(미배달) 정보 등록", value=METHOD_URL.createSndbk)
public ModelAndView createSndbk(SndngDtl sndngDtl) {
return super.createSndbk(sndngDtl);
}
@Override
@RequestMapping(name="장애인과태료업무 발송상세의 반송(미배달) 정보 수정", value=METHOD_URL.updateSndbk)
public ModelAndView updateSndbk(SndngDtl sndngDtl) {
return super.updateSndbk(sndngDtl);
}
@Override
@RequestMapping(name="장애인과태료업무 발송상세의 반송(미배달) 정보 삭제", value=METHOD_URL.deleteSndbk)
public ModelAndView deleteSndbk(SndngDtl sndngDtl) {
return super.deleteSndbk(sndngDtl);
}
}

@ -845,6 +845,7 @@
, SD.RG_NO <!-- 등기 번호 -->
, SD.DLVR_YMD <!-- 배달 일자 -->
, SD.DLVR_TM <!-- 배달 시각 -->
, GET_CODE('EGP010', SD.UNDLVR_RSN_NM) AS UNDLVR_RSN_CD <!-- 미배달 사유 코드 -->
, SD.UNDLVR_RSN_NM <!-- 미배달 사유 명 -->
, SD.RCPN_NM <!-- 수령인 명 -->
, SD.RCPN_REL_NM <!-- 수령인 관계 명 -->
@ -938,6 +939,46 @@
<include refid="utility.orderBy" />
</select>
<update id="createSndbk" parameterType="map">/* 발송상세의 반송 정보 수정(sndngMapper.createSndbk) */
UPDATE TB_SNDNG_DTL
SET BFR_SNDNG_DTL_STTS_CD = SNDNG_DTL_STTS_CD <!-- 전 발송 상세 상태 코드 -->
, DLVR_YMD = #{sndngDtl.dlvrYmd} <!-- 배달 일자 -->
, DLVR_TM = #{sndngDtl.dlvrTm} <!-- 배달 시각 -->
, UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm} <!-- 미배달 사유 명 -->
, SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd} <!-- 발송 상세 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{sndngDtl.modifiedBy} <!-- 수정자 -->
WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} <!-- 발송 상세 ID -->
AND DEL_YN = 'N'
</update>
<update id="updateSndbk" parameterType="map">/* 발송상세의 반송 정보 수정(sndngMapper.updateSndbk) */
UPDATE TB_SNDNG_DTL
SET DLVR_YMD = #{sndngDtl.dlvrYmd} <!-- 배달 일자 -->
, DLVR_TM = #{sndngDtl.dlvrTm} <!-- 배달 시각 -->
, UNDLVR_RSN_NM = #{sndngDtl.undlvrRsnNm} <!-- 미배달 사유 명 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{sndngDtl.modifiedBy} <!-- 수정자 -->
WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} <!-- 발송 상세 ID -->
AND DEL_YN = 'N'
</update>
<update id="deleteSndbk" parameterType="map">/* 발송상세의 반송 정보 삭제(sndngMapper.deleteSndbk) */
UPDATE TB_SNDNG_DTL
SET BFR_SNDNG_DTL_STTS_CD = SNDNG_DTL_STTS_CD <!-- 전 발송 상세 상태 코드 -->
, UNDLVR_RSN_NM = NULL <!-- 미배달 사유 명 -->
, SNDNG_DTL_STTS_CD = #{sndngDtl.sndngDtlSttsCd} <!-- 발송 상세 상태 코드 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{sndngDtl.modifiedBy} <!-- 수정자 -->
WHERE SNDNG_DTL_ID = #{sndngDtl.sndngDtlId} <!-- 발송 상세 ID -->
AND DEL_YN = 'N'
</update>
<select id="selectSndngDtlLevyInfo" parameterType="string" resultType="dataobject">/* 발송 상세 및 부과 객체 가져오기(sndngMapper.selectSndngDtlLevyInfo) */
SELECT SD.SNDNG_DTL_ID <!-- 발송 상세 ID -->
, SD.SNDNG_ID <!-- 발송 ID -->

@ -53,11 +53,11 @@
<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="schLevyExclYmdFrom--${pageName}" name="schLevyExclYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schLevyExclYmdTo--${pageName}" name="schLevyExclYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
@ -91,23 +91,23 @@
<!-- 차량번호 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">차량번호</label>
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" />
<input type="text" class="form-control w-px-150" id="schVhrno--${pageName}" name="schVhrno" autocomplete="off" />
</div>
<!-- 납부자명 -->
<div class="col-6">
<label class="form-label fw-bold form-search-title text-end">납부자명</label>
<input type="text" class="form-control w-px-150" id="schRtpyrNm--${pageName}" name="schRtpyrNm" />
<input type="text" class="form-control w-px-160" id="schRtpyrNm--${pageName}" name="schRtpyrNm"autocomplete="off" />
</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="schCrdnYmdFrom--${pageName}" name="schCrdnYmdFrom"
data-fmt-type="day" title="시작 날짜 선택" />
data-fmt-type="day" autocomplete="off" title="시작 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
~
<input type="text" class="form-control form-date" id="schCrdnYmdTo--${pageName}" name="schCrdnYmdTo"
data-fmt-type="day" title="종료 날짜 선택" />
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택" />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
@ -117,7 +117,7 @@
<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" />
<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}">
@ -139,11 +139,11 @@
</select>
<span class="form-search-linebox">
<input type="text" class="form-control form-date" id="schDetailRegDtFrom--${pageName}" name="schDetailRegDtFrom"
data-fmt-type="day" title="시작 날짜 선택" />
data-fmt-type="day" autocomplete="off" 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="종료 날짜 선택">
data-fmt-type="day" autocomplete="off" title="종료 날짜 선택">
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</span>
</div>
@ -153,7 +153,10 @@
<option value="rgtr">등록자</option>
<option value="mdfr">수정자</option>
</select>
<input type="text" class="form-control" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" />
<input type="text" class="form-control w-px-160" id="schDetailRgtrNm--${pageName}" name="schDetailRgtrNm" autocomplete="off" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnUser--${pageName}" title="사용자 검색" onclick="fnUser${pageName}();">
검색
</button>
</div>
</div>
</div>
@ -172,10 +175,10 @@
</div>
<span class="container-window-btn-right">
<!-- 업무 버튼 -->
<button type="button" class="btn btn-primary" id="btnUpdate--${pageName}" title="수정" onclick="fnUpdate${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnUpdate--${pageName}" title="수정" onclick="fnUpdate${pageName}();">
수정
</button>
<button type="button" class="btn btn-primary" id="btnRemove--${pageName}" title="삭제" onclick="fnRemove${pageName}();">
<button type="button" class="btn btn-primary w-px-120" id="btnRemove--${pageName}" title="삭제" onclick="fnRemove${pageName}();">
삭제
</button>
</span>
@ -505,7 +508,7 @@
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-30).date);
$("#schLevyExclYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schLevyExclYmdTo--${pageName}").datepicker("setDate", new Date());
// DataTables width 변경 조정
@ -566,6 +569,11 @@
// $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); // style="width" 변경 조정
}
// 사용자 조회 버튼 이벤트
fnUser${pageName} = () => {
}
// 수정 버튼 이벤트
fnUpdate${pageName} = () => {
let levyExclId = ${pageName}Control.dataset.getValue("LEVY_EXCL_ID");

@ -21,19 +21,19 @@
<!-- 차량번호 -->
<div class="col-md-12">
<label for="vhrno--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">차량번호</label>
<input type="text" class="form-control w-px-120" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" readonly />
<input type="text" class="form-control w-px-120" id="vhrno--${pageName}" name="vhrno" data-map="VHRNO" autocomplete="off" readonly />
</div>
<!-- 부과 제외 구분 -->
<div class="col-md-12">
<label for="levyExclSeNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과제외구분</label>
<input type="text" class="form-control w-px-120" id="levyExclSeNm--${pageName}" readonly />
<input type="text" class="form-control w-px-120" id="levyExclSeNm--${pageName}" autocomplete="off" readonly />
<input type="hidden" id="levyExclSeCd--${pageName}" name="levyExclSeCd" data-map="LEVY_EXCL_SE_CD" />
</div>
<!-- 부과 제외 일자 -->
<div class="col-md-12">
<label for="levyExclYmd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">부과제외일자</label>
<input type="text" class="form-control form-date" id="levyExclYmd--${pageName}" name="levyExclYmd" data-map="LEVY_EXCL_YMD"
data-fmt-type="day" title="날짜 선택" maxlength="10" required />
data-fmt-type="day" autocomplete="off" title="날짜 선택" maxlength="10" required />
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</div>
<!-- 부과 제외 사유 -->
@ -49,7 +49,7 @@
<!-- 기타 내용 -->
<div class="col-md-12">
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타 내용</label>
<textarea type="text" class="form-control w-80" id="etcCn--${pageName}" name="etcCn" data-map="ETC_CN" rows="3" data-maxlengthb="1000"></textarea>
<textarea type="text" class="form-control w-80" id="etcCn--${pageName}" name="etcCn" data-map="ETC_CN" autocomplete="off" rows="3" data-maxlengthb="1000"></textarea>
</div>
</div>
</form> <!-- /입력 영역 -->

@ -527,7 +527,7 @@
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schRcptYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-30).date);
$("#schRcptYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-365).date);
$("#schRcptYmdTo--${pageName}").datepicker("setDate", new Date());
// DataTables width 변경 조정

@ -15,7 +15,7 @@
<input type="hidden" id="crdnId--${pageName}" name="crdnId" data-map="CRDN_ID" />
<input type="hidden" id="sggCd--${pageName}" name="sggCd" data-map="SGG_CD" />
<input type="hidden" id="taskSeCd--${pageName}" name="taskSeCd" data-map="TASK_SE_CD" />
<input type="hidden" id="levyExclId--${pageName}" name="levyExclId" data-map="LEVY_EXCL_ID" />
<input type="hidden" id="sndngDtlId--${pageName}" name="sndngDtlId" data-map="SNDNG_DTL_ID" />
<div class="row g-1">
<!-- 배달 일자 -->
@ -28,12 +28,13 @@
<!-- 미배달 사유 -->
<div class="col-md-12">
<label for="undlvrRsnCd--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end required">미배달 사유</label>
<select class="form-select" id="undlvrRsnCd--${pageName}" name="undlvrRsnCd" data-map="UNDLVR_RSN_CD" required>
<select class="form-select" id="undlvrRsnCd--${pageName}" name="undlvrRsnCd" data-map="UNDLVR_RSN_CD" onchange="changeUndlvrRsnCd(this.value);" required>
<option value="">선택하세요</option>
<c:forEach items="${EGP010List}" var="item">
<option value="${item.code}">${item.value}</option>
</c:forEach>
</select>
<input type="text" class="form-control w-px-150" id="undlvrRsnNm--${pageName}" name="undlvrRsnNm" data-map="UNDLVR_RSN_NM" autocomplete="off" />
</div>
</div>
</form> <!-- /입력 영역 -->
@ -89,9 +90,12 @@
if (item.data.DLVR_YMD == "") {
$("#dlvrYmd--${pageName}").datepicker("setDate", new Date());
}
// 미배달 사유
if (item.data.UNDLVR_RSN_NM != "") {
$("#undlvrRsnCd--${pageName}").val(item.data.UNDLVR_RSN_NM).prop("selected", true);
if (item.data.UNDLVR_RSN_CD != null && item.data.UNDLVR_RSN_CD != "") {
$("#undlvrRsnCd--${pageName}").val(item.data.UNDLVR_RSN_CD).prop("selected", true);
} else {
$("#undlvrRsnCd--${pageName}").val("7").prop("selected", true);
}
}
@ -107,10 +111,6 @@
if (resp.saved) {
dialog.close(${pageName}Control.prefix + "Dialog");
if ("${savedCallbackFuncName}" != "") {
${savedCallbackFuncName}(resp.saved);
}
}
}
@ -118,18 +118,24 @@
${pageName}Control.save = (info) => {
if (!info) return;
let create = isEmpty(info.levyExclId);
info.sndngDtlSttsCd = "10"; // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 10 반송(개별등록)
// 민원 접수 관리에서 호출했다면..
if (create && "${saveCallbackFuncName}" != "") {
${saveCallbackFuncName}(info);
} else {
ajax.post({
url : !create ? ${pageName}Control.urls.update : ${pageName}Control.urls.create
url : ${pageName}CallPurpose == "create" ? ${pageName}Control.urls.create : ${pageName}Control.urls.update
, data : info
, success : resp => ${pageName}Control.onSave(resp)
});
}
// 미배달사유 변경 이벤트
changeUndlvrRsnCd = (obj) => {
if (obj == "7") {
$("#undlvrRsnNm--${pageName}").prop("readonly", false);
$("#undlvrRsnNm--${pageName}").val(${pageName}Control.dataset.getValue("UNDLVR_RSN_NM"));
} else {
$("#undlvrRsnNm--${pageName}").prop("readonly", true);
$("#undlvrRsnNm--${pageName}").val($("#undlvrRsnCd--${pageName} option:selected").text());
}
}
/**************************************************************************
@ -167,6 +173,7 @@
initDatepicker("frmEdit--${pageName}");
$("#dlvrYmd--${pageName}").datepicker("setDate", new Date());
}
/**************************************************************************
* function
**************************************************************************/

@ -331,7 +331,7 @@
, data : params || {}
, success : resp => {
dialog.open({
id : "payerDialog"
id : "sndbkInfoDialog"
, title : "개별반송 수정"
, content : resp
, size : "md"
@ -341,10 +341,29 @@
});
}
// 삭제 callback
${pageName}CallbackRemoveSndbk = (resp) => {
let btnTitle = $("#btnRemoveSndbk--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage);
if (resp.saved) {
${pageName}RefreshDataInfo();
}
}
// 개별 반송 삭제
${pageName}RemoveSndbk = (params) => {
if (!params) return;
params.sndngDtlSttsCd = "03"; // 발송 상세 상태 코드(SNDNG_DTL_STTS_CD) FIM050 - 03 발송
ajax.post({
url : wctx.url(params.taskSeCd + "/sndb/sndb01/220/delete.do")
, data : params
, success : resp => ${pageName}CallbackRemoveSndbk(resp)
});
}
// 자료 재조회
@ -409,6 +428,8 @@
fnCreateSndbk${pageName} = () => {
let sndngDtlId = ${pageName}Dataset.getValue("SNDNG_DTL_ID"); // 발송 상세 ID
let undlvrRsnNm = ${pageName}Dataset.getValue("UNDLVR_RSN_NM"); // 미배달 사유 명
let sndngDtlSttsCd = ${pageName}Dataset.getValue("SNDNG_DTL_STTS_CD"); // 발송 상세 상태 코드
// 발송상세ID 가 없다면.. return
if (sndngDtlId == null || sndngDtlId == "") {
@ -417,7 +438,16 @@
// 미배달 사유 확인
if (undlvrRsnNm != "" ) {
dialog.alert({
content : "미배달 사유가 " + ${pageName}Dataset.getValue("UNDLVR_RSN_NM") + " 로 이미 등록 되어 있습니다."
content : "미배달 사유가 " + ${pageName}Dataset.getValue("UNDLVR_RSN_NM") + " 로 이미 반송 등록이 되어 있습니다."
, onOK : () => {}
});
return;
}
// 발송상세 상태코드 확인
if (sndngDtlSttsCd == "06") {
dialog.alert({
content : "발송상세 상태가 " + ${pageName}Dataset.getValue("SNDNG_DTL_STTS_NM") + " 로 개별 반송을 등록할 수 없습니다."
, onOK : () => {}
});
@ -485,16 +515,19 @@
}
let params = {
callPurpose : "update"
callPurpose : "delete"
, sggCd : ${pageName}Dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, sndngDtlId : sndngDtlId // 발송 상세 ID
, sndngDtlSttsCd : ${pageName}Dataset.getValue("SNDNG_DTL_STTS_CD") // 발송 상세 상태 코드
, undlvrRsnNm : ${pageName}Dataset.getValue("UNDLVR_RSN_NM") // 미배달 사유 명
};
dialog.alert({
content : "선택한 반송 정보(을)를 삭제하시겠습니까?"
, onOK : () => {
${pageName}RemoveSndbk(params);
}
});
}
// 우편 종적 보기 참고 https://www.data.go.kr/dataset/15000390/openapi.do
fnViewPostTrace${pageName} = () => {

Loading…
Cancel
Save