임대차계약 관리 수정.

main
xitpc\xituser 4 weeks ago
parent 25b8c2c939
commit 259e1c8d0e

@ -1,8 +1,5 @@
package cokr.xit.fims.rent.service.bean;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import javax.annotation.Resource;
@ -592,15 +589,6 @@ public class LsctMpngBean extends AbstractBean {
lsctAprv.setRentEntDtlAddr(lsctMpngInfo.string("ENT_DTL_ADDR")); // 임대 기업 상세 주소
lsctAprv.setAtchFileCnt(lsctMpngInfo.number("ATCH_FILE_CNT").intValue()); // 첨부 파일 수
// 서버 IP Address
InetAddress localIP = null;
try {
localIP = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
String serverIP = localIP.getHostAddress();
// 임차인 ID로 파일(TB_FILE) 정보 조회
List<DataObject> fileList = fileBean.getFileList(new FileQuery().setInfoType(Lsct.INF_TYPE)
.setInfoKeys(lsctMpngInfo.string("LSCT_ID"))
@ -687,12 +675,16 @@ public class LsctMpngBean extends AbstractBean {
req.setOrderBy("LM.LSCT_MPNG_ID DESC"); // 정렬
DataObject lsctMpngInfo = lsctMpngMapper.selectLsctMpngInfo(req);
// 임대차계약 자료가 없다면 종료..
// 임대차계약매핑 정보가 없다면 종료..
if (lsctMpngInfo == null) {
rtnMsg = "[F] 작업 중 임대차계약 자료가 존재하지 않습니다.";
rtnMsg = "[F] 작업 중 임대차계약 정보가 존재하지 않습니다.";
return rtnMsg;
}
// 임대차계약매핑 변경 승인 상태(CHG_APRV_STTS)가 '요청'이 아니라면 종료..
if (!lsctMpngInfo.string("CHG_APRV_STTS").equals("RQ")) {
rtnMsg = "[F] 작업 중 임대차계약 승인상태가 '요청' 이 아닙니다.";
return rtnMsg;
}
// 연계 테이블명
if (lsctMpngInfo.string("SGG_CD").equals("50110") && lsctMpngInfo.string("TASK_SE_CD").equals("ECA")) {
req.setLsctLinkTblNm("TB_LSCT_APRV_50110_ECA");
@ -707,18 +699,19 @@ public class LsctMpngBean extends AbstractBean {
// 임대차계약 승인(TB_LSCT_APRV) 대장 조회
req.setOrderBy("LA.LSCT_MPNG_ID DESC"); // WHERE에 있는 컬럼만 정렬이 가능하다..
DataObject lsctAprvInfo = lsctAprvMapper.selectLsctAprvInfo(req);
// 임대차계약 승인 자료가 없다면 종료..
// 임대차계약 승인 정보가 없다면 종료..
if (lsctAprvInfo == null) {
rtnMsg = "[F] 작업 중 임대차계약 승인 자료가 존재하지 않습니다.";
rtnMsg = "[F] 작업 중 임대차계약 승인 요청 정보가 존재하지 않습니다.";
return rtnMsg;
}
// 임대차계약 승인 정보의 변경 승인 상태(CHG_APRV_STTS)가 '요청'이 아니라면 종료..
if (!lsctAprvInfo.string("CHG_APRV_STTS").equals("RQ")) {
rtnMsg = "[F] 작업 중 임대차계약 승인 요청 정보의 승인상태가 '요청' 이 아닙니다.";
return rtnMsg;
}
lsctAprv.setAprvId(lsctAprvInfo.string("APRV_ID"));
// DB Link는 트랜잭션이 안된다. update 건수도 확인이 안된다.
// 임대차계약 승인(TB_LSCT_APRV) 대장을 삭제한다.
lsctAprvMapper.deleteLsctAprv(lsctAprv);
// 사용자 정보
FimsUser fimsUser = (FimsUser)currentUser().getUser();
@ -728,7 +721,7 @@ public class LsctMpngBean extends AbstractBean {
lsctMpng.setLsctMpngId(lsctAprv.getLsctMpngId()); // 임대차계약 매핑 ID
lsctMpng.setChgDmndYn("N"); // 변경 요청 여부
lsctMpng.setChgDmndMdfr(fimsUser.getId()); // 변경 요청 수정자
lsctMpng.setChgDmndIp(lsctAprv.getChgDmndIp()); // 변경 요청 IP
lsctMpng.setChgDmndRtrcnIp(lsctAprv.getChgDmndIp()); // 변경 요청 취소 IP
lsctMpng.setChgAprvStts(null); // 변경 승인 상태
lsctMpng.setLsctLinkTblNm(null); // 임대차계약 연계 테이블 명
lsctMpng.setLsctAprvId(null); // 임대차계약 승인 ID
@ -738,6 +731,13 @@ public class LsctMpngBean extends AbstractBean {
throw new RuntimeException("[F] 삭제 작업중 임대차계약 수정에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// DB Link는 트랜잭션이 안된다. update 건수도 확인이 안된다.
// 임대차계약 승인(TB_LSCT_APRV) 대장을 삭제한다.
lsctAprv.setAprvId(lsctAprvInfo.string("APRV_ID")); // 승인 ID
lsctAprv.setChgAprvStts("RT"); // 변경 승인 상태
lsctAprvMapper.deleteLsctAprv(lsctAprv);
return "[S] 삭제 작업이 정상 처리 되었습니다.";
}

@ -655,6 +655,7 @@ public class Rent02Controller extends ApplicationController {
for (String lsctMpngId : lsctAprv.getLsctMpngIds()) {
LsctAprv removeAprv = new LsctAprv();
removeAprv.setLsctMpngId(lsctMpngId);
removeAprv.setChgDmndIp(remoteAddr);
rtnMsg = lsctMpngService.removeLsctAprv(removeAprv); // 삭제
if (!rtnMsg.contains("[S]")) { // 오류가 발생하였으면 종료..

@ -311,7 +311,8 @@
<update id="deleteLsctAprv" parameterType="cokr.xit.fims.rent.LsctAprv">/* 임대차계약 승인 대장 삭제(lsctAprvMapper.deleteLsctAprv) */
UPDATE ${lsctLinkTblNm}
SET DEL_YN = 'Y'
SET CHG_APRV_STTS = #{chgAprvStts} <!-- 변경 승인 상태 -->
, DEL_YN = 'Y'
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{delRsn} <!-- 삭제 사유 -->

@ -537,6 +537,7 @@
, LM.MDFR <!-- 수정자 -->
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = LM.MDFR) AS MDFR_NM <!-- 수정자 명 -->
, (CASE WHEN LM.CHG_DMND_YN = 'N' AND LM.CHG_APRV_STTS IS NULL AND C.NXRP_CRDN_LINK_YN = 'N' THEN '대상'
WHEN LM.CHG_DMND_YN = 'N' AND LM.CHG_APRV_STTS = 'RT' AND C.NXRP_CRDN_LINK_YN = 'N' THEN '요청취소'
WHEN LM.CHG_DMND_YN = 'Y' AND LM.CHG_APRV_STTS = 'RQ' AND C.NXRP_CRDN_LINK_YN = 'N' THEN '요청중'
WHEN LM.CHG_DMND_YN = 'Y' AND LM.CHG_APRV_STTS = 'AP' AND C.NXRP_CRDN_LINK_YN = 'N' THEN '승인'
WHEN LM.CHG_DMND_YN = 'Y' AND LM.CHG_APRV_STTS = 'UA' AND C.NXRP_CRDN_LINK_YN = 'N' THEN '미승인'
@ -618,6 +619,11 @@
<when test='trgtSttsNm == "대상"'>
AND LM.CHG_DMND_YN = 'N' <!-- 변경 요청 여부 -->
AND LM.CHG_APRV_STTS IS NULL <!-- 변경 승인 상태 -->
AND C.NXRP_CRDN_LINK_YN = 'N' <!-- 세외수입 단속 연계 여부 -->
</when>
<when test='trgtSttsNm == "요청취소"'>
AND LM.CHG_DMND_YN = 'N' <!-- 변경 요청 여부 -->
AND LM.CHG_APRV_STTS = 'RT' <!-- 변경 승인 상태 -->
AND C.NXRP_CRDN_LINK_YN = 'N' <!-- 세외수입 단속 연계 여부 -->
</when>
<when test='trgtSttsNm == "요청중"'>
@ -787,6 +793,7 @@
, CHG_DMND_RTRCN_DT = NULL <!-- 변경 요청 취소 일시 -->
, CHG_DMND_MDFR = NULL <!-- 변경 요청 수정자 -->
, CHG_DMND_RTRCN_IP = NULL <!-- 변경 요청 취소 IP -->
, CHG_APRV_STTS = #{chgAprvStts} <!-- 변경 승인 상태 -->
, LSCT_LINK_TBL_NM = #{lsctLinkTblNm} <!-- 임대차계약 연계 테이블 명 -->
, LSCT_APRV_ID = #{lsctAprvId} <!-- 임대차계약 승인 ID -->
</if>
@ -797,6 +804,7 @@
, CHG_DMND_RTRCN_DT = <include refid="utility.now" /> <!-- 변경 요청 취소 일시 -->
, CHG_DMND_MDFR = #{chgDmndMdfr} <!-- 변경 요청 수정자 -->
, CHG_DMND_RTRCN_IP = #{chgDmndRtrcnIp} <!-- 변경 요청 취소 IP -->
, CHG_APRV_STTS = NULL <!-- 변경 승인 상태 -->
, LSCT_LINK_TBL_NM = NULL <!-- 임대차계약 연계 테이블 명 -->
, LSCT_APRV_ID = NULL <!-- 임대차계약 승인 ID -->
</if>

Loading…
Cancel
Save