임대차계약서 등록 수정.

main
xitpc\xituser 2 months ago
parent ea4d4b54b7
commit cb43b59a80

@ -44,7 +44,7 @@ public class RentQuery extends CmmnQuery {
private String omJno; // 소유주 번호 private String omJno; // 소유주 번호
private String[] rtpyrNos; // 납부자 번호s private String[] rtpyrNos; // 납부자 번호s
private String rtpyrNo; // 납부자 번호 private String rtpyrNo; // 납부자 번호
private String regTrgtYn; // 임대차계약 등록 대상 여부 private String trgtSttsNm; // 등록 대상 여부
private String nxrpCrdnLinkYn; // 세외수입 단속 연계 여부 private String nxrpCrdnLinkYn; // 세외수입 단속 연계 여부
// ETC // ETC
@ -251,12 +251,12 @@ public class RentQuery extends CmmnQuery {
this.rtpyrNo = rtpyrNo; this.rtpyrNo = rtpyrNo;
} }
public String getRegTrgtYn() { public String getTrgtSttsNm() {
return ifEmpty(regTrgtYn, () -> null); return ifEmpty(trgtSttsNm, () -> null);
} }
public void setRegTrgtYn(String regTrgtYn) { public void setTrgtSttsNm(String trgtSttsNm) {
this.regTrgtYn = regTrgtYn; this.trgtSttsNm = trgtSttsNm;
} }
public String getNxrpCrdnLinkYn() { public String getNxrpCrdnLinkYn() {

@ -30,8 +30,8 @@ public interface LsctMapper extends AbstractMapper {
List<DataObject> selectMainList(RentQuery req); List<DataObject> selectMainList(RentQuery req);
/** /**
* @param req * @param req ID
* @return * @return
*/ */
DataObject selectCrdnInfo(String crndId); DataObject selectCrdnInfo(String crndId);

@ -25,7 +25,9 @@ import cokr.xit.fims.payer.service.bean.PayerBean;
import cokr.xit.fims.rent.Lsct; import cokr.xit.fims.rent.Lsct;
import cokr.xit.fims.rent.RentQuery; import cokr.xit.fims.rent.RentQuery;
import cokr.xit.fims.rent.dao.FinSysFtpMapper; import cokr.xit.fims.rent.dao.FinSysFtpMapper;
import cokr.xit.fims.rent.dao.HirerMapper;
import cokr.xit.fims.rent.dao.LsctMapper; import cokr.xit.fims.rent.dao.LsctMapper;
import cokr.xit.fims.rent.dao.RentEntMapper;
import cokr.xit.foundation.component.AbstractBean; import cokr.xit.foundation.component.AbstractBean;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
@ -46,6 +48,14 @@ public class LsctBean extends AbstractBean {
@Resource(name = "lsctMapper") @Resource(name = "lsctMapper")
private LsctMapper lsctMapper; private LsctMapper lsctMapper;
/** 임대 기업 대장 정보 DAO */
@Resource(name = "rentEntMapper")
private RentEntMapper rentEntMapper;
/** 임차인 정보 정보 DAO */
@Resource(name = "hirerMapper")
private HirerMapper hirerMapper;
/** 파일 정보 Bean */ /** 파일 정보 Bean */
@Resource(name = "fileBean") @Resource(name = "fileBean")
private FileBean fileBean; private FileBean fileBean;
@ -599,8 +609,71 @@ public class LsctBean extends AbstractBean {
* </ul> * </ul>
*/ */
public String createLsct(Lsct lsct) { public String createLsct(Lsct lsct) {
// 사용자 임대 기업 매핑(TB_USER_RENT_ENT_MPNG) 대장을 등록한다. // 변수 선언
int rtnNocs = lsctMapper.insertLsct(lsct); int rtnNocs = -1; // 처리 결과 건수
String rtnMsg = ""; // 처리 결과 메시지
RentQuery req = new RentQuery();
req.setCrdnId(lsct.getCrdnId()); // 단속 ID
req.setEntId(lsct.getEntId()); // 기업 ID
req.setHirerId(lsct.getHirerId()); // 임차인 ID
req.setDelYn("N");
// 단속(TB_CRDN) 대장 조회
DataObject crdnInfo = lsctMapper.selectCrdnInfo(lsct.getCrdnId());
// 단속 자료가 없다면 종료..
if (crdnInfo == null) {
rtnMsg = "[F] 작업 중 단속 자료가 존재하지 않습니다.";
return rtnMsg;
}
// 단속 자료가 삭제 되었다면 종료..
if (crdnInfo.string("DEL_YN").equals("Y")) {
rtnMsg = "[F] 작업 중 단속 자료가 삭제되었습니다.";
return rtnMsg;
}
// 임대 기업(TB_RENT_ENT) 대장 조회
req.setOrderBy("RE.ENT_ID DESC");
DataObject rentEntInfo = rentEntMapper.selectRentEntInfo(req);
// 임대 기업 자료가 없다면 종료..
if (rentEntInfo == null) {
rtnMsg = "[F] 작업 중 임대 기업 자료가 존재하지 않습니다.";
return rtnMsg;
}
// 임대 기업 자료가 삭제 되었다면 종료..
if (rentEntInfo.string("DEL_YN").equals("Y")) {
rtnMsg = "[F] 작업 중 임대 기업 자료가 삭제되었습니다.";
return rtnMsg;
}
// 임차인(TB_HIRER) 대장 조회
req.setOrderBy("H.HIRER_ID DESC");
DataObject hirerInfo = hirerMapper.selectHirerInfo(req);
// 임차인 자료가 없다면 종료..
if (hirerInfo == null) {
rtnMsg = "[F] 작업 중 임차인 자료가 존재하지 않습니다.";
return rtnMsg;
}
// 임차인 자료가 삭제 되었다면 종료..
if (hirerInfo.string("DEL_YN").equals("Y")) {
rtnMsg = "[F] 작업 중 임차인 자료가 삭제되었습니다.";
return rtnMsg;
}
// 임대차계약(TB_LSCT) 대장에 등록할 기초 정보 입력
lsct.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드
lsct.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드
lsct.setCrdnYmd(crdnInfo.string("CRDN_YMD")); // 단속 일자
lsct.setCrdnTm(crdnInfo.string("CRDN_TM")); // 단속 시각
lsct.setVhrno(crdnInfo.string("VHRNO")); // 자동차등록번호
lsct.setRtpyrNo(crdnInfo.string("RTPYR_NO")); // 납부자 번호
lsct.setRtpyrNm(crdnInfo.string("RTPYR_NM")); // 납부자 명
// 임대차계약(TB_LSCT) 대장을 등록한다.
rtnNocs = lsctMapper.insertLsct(lsct);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("[F] 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("[F] 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }

@ -272,6 +272,7 @@ public class Rent02Controller extends ApplicationController {
return mav return mav
.addObject("pageName", "rent02030") // jsp pageName .addObject("pageName", "rent02030") // jsp pageName
.addObject("prefixUrl", CLASS_URL) // prefixUrl .addObject("prefixUrl", CLASS_URL) // prefixUrl
.addObject("crdnId", req.getCrdnId()) // 단속 ID
.addObject("entId", req.getEntId()) // 기업 ID .addObject("entId", req.getEntId()) // 기업 ID
.addObject("schCtrtYmd", req.getSchCtrtYmd()) // 계약일자 - 단속일자 .addObject("schCtrtYmd", req.getSchCtrtYmd()) // 계약일자 - 단속일자
.addObject("schVhrno", req.getSchVhrno()) // 자동차등록번호 .addObject("schVhrno", req.getSchVhrno()) // 자동차등록번호

@ -149,11 +149,25 @@
</select> </select>
<select id="selectCrdnInfo" parameterType="string" resultType="dataobject">/* 단속 객체 가져오기(lsctMapper.selectCrdnInfo) */ <select id="selectCrdnInfo" parameterType="string" resultType="dataobject">/* 단속 객체 가져오기(lsctMapper.selectCrdnInfo) */
SELECT CRDN_ID <!-- 단속 ID --> SELECT C.CRDN_ID <!-- 단속 ID -->
, VHRNO <!-- 차량번호 --> , C.SGG_CD <!-- 시군구 코드 -->
, CRDN_STTS_CD <!-- 단속 상태 코드 --> , C.TASK_SE_CD <!-- 업무 구분 코드 -->
, (SELECT GET_CODE_NM('FIM010', CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 --> , C.CRDN_YMD <!-- 단속 일자 -->
FROM TB_CRDN , C.CRDN_TM <!-- 단속 시각 -->
, C.VHRNO <!-- 자동차등록번호 -->
, C.CRDN_STTS_CD <!-- 단속 상태 코드 -->
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM <!-- 단속 상태 명 -->
, C.RTPYR_ID <!-- 납부자 ID -->
, C.ADDR_SN <!-- 주소 일련번호 -->
, P.RTPYR_SE_CD <!-- 납부자 구분 코드 -->
, P.RTPYR_NO <!-- 납부자 번호 -->
, P.RTPYR_NM <!-- 납부자 명 -->
, PA.ZIP <!-- 우편번호 -->
, PA.ADDR <!-- 주소 -->
, PA.DTL_ADDR <!-- 상세 주소 -->
FROM TB_CRDN C
INNER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_PAYER_ADDR PA ON (C.RTPYR_ID = PA.RTPYR_ID AND C.ADDR_SN = PA.ADDR_SN)
WHERE CRDN_ID = #{crdnId} WHERE CRDN_ID = #{crdnId}
</select> </select>
@ -337,9 +351,14 @@
, PA.ADDR <!-- 주소 --> , PA.ADDR <!-- 주소 -->
, PA.DTL_ADDR <!-- 상세 주소 --> , PA.DTL_ADDR <!-- 상세 주소 -->
, L.LSCT_ID <!-- 임대차계약 ID --> , L.LSCT_ID <!-- 임대차계약 ID -->
, (CASE WHEN L.LSCT_ID IS NULL THEN 'Y' ELSE 'N' END) AS TRGT_YN <!-- 계약서 등록 대상 --> , (CASE WHEN L.CHG_APRV_YN = 'Y' AND L.CHG_DMND_YN = 'Y' THEN '승인완료'
WHEN L.CHG_APRV_YN = 'N' AND L.CHG_DMND_YN = 'Y' THEN '승인요청'
WHEN L.CHG_APRV_YN = 'N' AND L.CHG_DMND_YN = 'N' THEN '계약서등록'
ELSE '대상'
END) AS TRGT_STTS_NM <!-- 계약서 등록 대상 -->
, (CASE WHEN L.ENT_ID IS NULL THEN (SELECT RE.ENT_ID FROM TB_RENT_ENT RE WHERE RE.ENT_NO = P.RTPYR_NO) , (CASE WHEN L.ENT_ID IS NULL THEN (SELECT RE.ENT_ID FROM TB_RENT_ENT RE WHERE RE.ENT_NO = P.RTPYR_NO)
ELSE L.ENT_ID END) AS ENT_ID <!-- 계약서 등록 대상 --> ELSE L.ENT_ID
END) AS ENT_ID <!-- 계약서 등록 대상 -->
, L.HIRER_ID <!-- 임차인 ID --> , L.HIRER_ID <!-- 임차인 ID -->
, L.CHG_DMND_YN <!-- 변경 요청 여부 --> , L.CHG_DMND_YN <!-- 변경 요청 여부 -->
, L.CHG_DMND_DT <!-- 변경 요청 일시 --> , L.CHG_DMND_DT <!-- 변경 요청 일시 -->
@ -375,13 +394,22 @@
<if test="schVhrno != null"> <if test="schVhrno != null">
AND C.VHRNO = #{schVhrno} <!-- 차량번호 --> AND C.VHRNO = #{schVhrno} <!-- 차량번호 -->
</if> </if>
<if test="regTrgtYn != null"> <if test='trgtSttsNm != null and trgtSttsNm != "전체"'>
<choose> <choose>
<when test='regTrgtYn == "Y"'> <when test='trgtSttsNm == "승인완료"'>
AND L.LSCT_ID IS NULL AND L.CHG_APRV_YN = 'Y'
AND L.CHG_DMND_YN = 'Y'
</when>
<when test='trgtSttsNm == "승인요청"'>
AND L.CHG_APRV_YN = 'N'
AND L.CHG_DMND_YN = 'Y'
</when>
<when test='trgtSttsNm == "계약서등록"'>
AND L.CHG_APRV_YN = 'N'
AND L.CHG_DMND_YN = 'N'
</when> </when>
<otherwise> <otherwise>
AND L.LSCT_ID IS NOT NULL AND L.LSCT_ID IS NULL
</otherwise> </otherwise>
</choose> </choose>
</if> </if>
@ -529,6 +557,13 @@
</select> </select>
<insert id="insertLsct" parameterType="cokr.xit.fims.rent.Lsct">/* 임대차계약 대장 등록(lsctMapper.insertLsct) */ <insert id="insertLsct" parameterType="cokr.xit.fims.rent.Lsct">/* 임대차계약 대장 등록(lsctMapper.insertLsct) */
<selectKey resultType="string" keyProperty="lsctId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.keyByYear">
<property name="TABLE_NAME" value="TB_LSCT" />
<property name="TABLE_KEY" value="LSCT_ID" />
<property name="pad" value="20" />
</include>
</selectKey>
INSERT INTO TB_LSCT ( INSERT INTO TB_LSCT (
LSCT_ID <!-- 임대차계약 ID --> LSCT_ID <!-- 임대차계약 ID -->
, CRDN_ID <!-- 단속 ID --> , CRDN_ID <!-- 단속 ID -->
@ -572,14 +607,14 @@
, #{rtpyrNm} <!-- 납부자 명 --> , #{rtpyrNm} <!-- 납부자 명 -->
, #{entId} <!-- 기업 ID --> , #{entId} <!-- 기업 ID -->
, #{hirerId} <!-- 임차인 ID --> , #{hirerId} <!-- 임차인 ID -->
, #{chgDmndYn} <!-- 변경 요청 여부 --> , 'N' <!-- 변경 요청 여부 -->
, #{chgDmndDt} <!-- 변경 요청 일시 --> , #{chgDmndDt} <!-- 변경 요청 일시 -->
, #{chgDmndRgtr} <!-- 변경 요청 등록자 --> , #{chgDmndRgtr} <!-- 변경 요청 등록자 -->
, #{chgDmndIp} <!-- 변경 요청 IP --> , #{chgDmndIp} <!-- 변경 요청 IP -->
, #{chgDmndMdfcnDt} <!-- 변경 요청 수정 일시 --> , #{chgDmndMdfcnDt} <!-- 변경 요청 수정 일시 -->
, #{chgDmndMdfr} <!-- 변경 요청 수정자 --> , #{chgDmndMdfr} <!-- 변경 요청 수정자 -->
, #{chgDmndMdfcnIp} <!-- 변경 요청 수정 IP --> , #{chgDmndMdfcnIp} <!-- 변경 요청 수정 IP -->
, #{chgAprvYn} <!-- 변경 승인 여부 --> , 'N' <!-- 변경 승인 여부 -->
, #{chgAprvDt} <!-- 변경 승인 일시 --> , #{chgAprvDt} <!-- 변경 승인 일시 -->
, #{chgAutzr} <!-- 변경 승인자 --> , #{chgAutzr} <!-- 변경 승인자 -->
, #{chgAprvRsn} <!-- 변경 승인 사유 --> , #{chgAprvRsn} <!-- 변경 승인 사유 -->

Loading…
Cancel
Save