임차인 등록 수정.

main
xitpc\xituser 2 months ago
parent 4340c5fb44
commit d0e4b346f5

@ -12,6 +12,8 @@ import lombok.Setter;
@Setter @Setter
public class Hirer extends AbstractEntity { public class Hirer extends AbstractEntity {
public static String INF_TYPE = "120"; // 임대차계약 첨부파일
/** /**
* ID * ID
*/ */
@ -57,6 +59,11 @@ public class Hirer extends AbstractEntity {
*/ */
private String hirerNm; private String hirerNm;
/**
*
*/
private String hirerTelno;
/** /**
* *
*/ */

@ -38,6 +38,7 @@ public class RentQuery extends CmmnQuery {
private String schCtrtEndYmd; // 계약 종료 일자 private String schCtrtEndYmd; // 계약 종료 일자
private String schVhrno; // 차량번호 private String schVhrno; // 차량번호
private String schHirerRegNo; // 임차인 등록 번호 private String schHirerRegNo; // 임차인 등록 번호
private String schHirerNm; // 임차인 명
private String[] omJnos; // 소유주 번호s private String[] omJnos; // 소유주 번호s
private String omJno; // 소유주 번호 private String omJno; // 소유주 번호
@ -210,6 +211,14 @@ public class RentQuery extends CmmnQuery {
this.schHirerRegNo = schHirerRegNo; this.schHirerRegNo = schHirerRegNo;
} }
public String getSchHirerNm() {
return ifEmpty(schHirerNm, () -> null);
}
public void setSchHirerNm(String schHirerNm) {
this.schHirerNm = schHirerNm;
}
public String[] getOmJnos() { public String[] getOmJnos() {
return ifEmpty(omJnos, () -> null); return ifEmpty(omJnos, () -> null);
} }

@ -3,7 +3,7 @@ package cokr.xit.fims.rent.service;
import java.util.List; import java.util.List;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.base.file.FileInfo;
import cokr.xit.fims.rent.Hirer; import cokr.xit.fims.rent.Hirer;
import cokr.xit.fims.rent.RentQuery; import cokr.xit.fims.rent.RentQuery;
@ -44,7 +44,7 @@ public interface HirerService {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
String createHirer(Hirer hirer); String createHirer(Hirer hirer, List<FileInfo> fileInfoList);
/** . /** .
* @param hirer * @param hirer
@ -53,7 +53,7 @@ public interface HirerService {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
String updateHirer(Hirer hirer); String updateHirer(Hirer hirer, List<FileInfo> fileInfoList);
/** . /** .
* @param hirer * @param hirer

@ -8,7 +8,9 @@ import org.springframework.stereotype.Component;
import cokr.xit.foundation.component.AbstractBean; import cokr.xit.foundation.component.AbstractBean;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.FileQuery;
import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.fims.rent.Hirer; import cokr.xit.fims.rent.Hirer;
import cokr.xit.fims.rent.RentQuery; import cokr.xit.fims.rent.RentQuery;
import cokr.xit.fims.rent.dao.HirerMapper; import cokr.xit.fims.rent.dao.HirerMapper;
@ -30,6 +32,10 @@ public class HirerBean extends AbstractBean {
@Resource(name = "hirerMapper") @Resource(name = "hirerMapper")
private HirerMapper hirerMapper; private HirerMapper hirerMapper;
/** 첨부파일 Bean */
@Resource(name="fileBean")
private FileBean fileBean;
/** . /** .
* @param req * @param req
* @return * @return
@ -61,13 +67,30 @@ public class HirerBean extends AbstractBean {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public String createHirer(Hirer hirer) { public String createHirer(Hirer hirer, List<FileInfo> fileInfoList) {
// 변수 선언
int rtnNocs = -1; // 처리 결과 건수
// 첨부파일 갯수
if (fileInfoList != null && !fileInfoList.isEmpty()) {
hirer.setAtchFileCnt(fileInfoList.size());
} else {
hirer.setAtchFileCnt(0);
}
// 임차인(TB_HIRER) 대장을 등록한다. // 임차인(TB_HIRER) 대장을 등록한다.
int rtnNocs = hirerMapper.insertHirer(hirer); rtnNocs = hirerMapper.insertHirer(hirer);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("[F] 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("[F] 등록 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 파일 첨부하기
if (fileInfoList != null && !fileInfoList.isEmpty()) {
fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(Hirer.INF_TYPE).setInfoKey(hirer.getHirerId()));
fileBean.create(fileInfoList);
}
return "[S] 작업이 정상 처리 되었습니다."; return "[S] 작업이 정상 처리 되었습니다.";
} }
@ -78,13 +101,36 @@ public class HirerBean extends AbstractBean {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
public String updateHirer(Hirer hirer) { public String updateHirer(Hirer hirer, List<FileInfo> fileInfoList) {
// 임차인(TB_HIRER) 대장을 수정한다. // 임차인(TB_HIRER) 대장을 수정한다.
int rtnNocs = hirerMapper.updateHirer(hirer); int rtnNocs = hirerMapper.updateHirer(hirer);
if (rtnNocs != 1) { if (rtnNocs != 1) {
throw new RuntimeException("[F] 수정 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback throw new RuntimeException("[F] 수정 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
} }
// 첨부파일 수정
if (fileInfoList != null && !fileInfoList.isEmpty()) {
fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(Hirer.INF_TYPE)
.setInfoKey(hirer.getHirerId()));
fileBean.create(fileInfoList); // 파일 등록
// 의견제출 ID로 파일(TB_FILE) 정보 조회
List<DataObject> infoFileList = fileBean.getFileList(new FileQuery().setInfoType(Hirer.INF_TYPE)
.setInfoKeys(hirer.getHirerId())
.setOrderBy("FILE_ID"));
if (infoFileList != null && infoFileList.size() > 0) {
String[] fileIDs = new String[infoFileList.size()];
for (int iLoop = 0; iLoop < infoFileList.size(); iLoop++) {
fileIDs[iLoop] = infoFileList.get(iLoop).string("FILE_ID");
}
fileBean.reorder(fileIDs); // 첨부파일 재 정렬
}
}
return "[S] 작업이 정상 처리 되었습니다."; return "[S] 작업이 정상 처리 되었습니다.";
} }

@ -8,7 +8,7 @@ import org.springframework.stereotype.Service;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.base.file.FileInfo;
import cokr.xit.fims.rent.Hirer; import cokr.xit.fims.rent.Hirer;
import cokr.xit.fims.rent.RentQuery; import cokr.xit.fims.rent.RentQuery;
import cokr.xit.fims.rent.service.HirerService; import cokr.xit.fims.rent.service.HirerService;
@ -46,13 +46,13 @@ public class HirerServiceBean extends AbstractServiceBean implements HirerServic
} }
@Override @Override
public String createHirer(Hirer hirer) { public String createHirer(Hirer hirer, List<FileInfo> fileInfoList) {
return hirerBean.createHirer(hirer); return hirerBean.createHirer(hirer, fileInfoList);
} }
@Override @Override
public String updateHirer(Hirer hirer) { public String updateHirer(Hirer hirer, List<FileInfo> fileInfoList) {
return hirerBean.updateHirer(hirer); return hirerBean.updateHirer(hirer, fileInfoList);
} }
@Override @Override

@ -1,6 +1,7 @@
package cokr.xit.fims.rent.web; package cokr.xit.fims.rent.web;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -11,6 +12,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.CellStyle;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import cokr.xit.base.code.CommonCode; import cokr.xit.base.code.CommonCode;
@ -18,6 +20,8 @@ import cokr.xit.base.docs.xls.CellDef;
import cokr.xit.base.docs.xls.Format; import cokr.xit.base.docs.xls.Format;
import cokr.xit.base.docs.xls.Style; import cokr.xit.base.docs.xls.Style;
import cokr.xit.base.docs.xls.XLSWriter; import cokr.xit.base.docs.xls.XLSWriter;
import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.web.FileInfoFactory;
import cokr.xit.base.web.ApplicationController; import cokr.xit.base.web.ApplicationController;
import cokr.xit.fims.base.FimsUser; import cokr.xit.fims.base.FimsUser;
import cokr.xit.fims.cmmn.service.bean.StngBean; import cokr.xit.fims.cmmn.service.bean.StngBean;
@ -374,9 +378,16 @@ public class Rent02Controller extends ApplicationController {
*/ */
@Task("CMN") @Task("CMN")
@RequestMapping(name = "임차인 대장 등록", value=METHOD_URL.createHirer) @RequestMapping(name = "임차인 대장 등록", value=METHOD_URL.createHirer)
public ModelAndView createHirer(Hirer hirer) { public ModelAndView createHirer(Hirer hirer, MultipartFile[] uploadFiles) {
boolean saved = false; boolean saved = false;
String rtnMsg = hirerService.createHirer(hirer);
// 첨부 파일
List<FileInfo> fileInfoList = new ArrayList<FileInfo>();
if (uploadFiles != null && uploadFiles.length > 0) {
fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles);
}
String rtnMsg = hirerService.createHirer(hirer, fileInfoList);
if (rtnMsg.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;
@ -398,9 +409,16 @@ public class Rent02Controller extends ApplicationController {
*/ */
@Task("CMN") @Task("CMN")
@RequestMapping(name = "임차인 대장 수정", value=METHOD_URL.updateHirer) @RequestMapping(name = "임차인 대장 수정", value=METHOD_URL.updateHirer)
public ModelAndView updateHirer(Hirer hirer) { public ModelAndView updateHirer(Hirer hirer, MultipartFile[] uploadFiles) {
boolean saved = false; boolean saved = false;
String rtnMsg = hirerService.updateHirer(hirer);
// 첨부 파일
List<FileInfo> fileInfoList = new ArrayList<FileInfo>();
if (uploadFiles != null && uploadFiles.length > 0) {
fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFiles);
}
String rtnMsg = hirerService.updateHirer(hirer, fileInfoList);
if (rtnMsg.contains("[S]")) { if (rtnMsg.contains("[S]")) {
saved = true; saved = true;

@ -17,6 +17,7 @@
<result property="hirerSeCd" column="HIRER_SE_CD" /> <!-- 임차인 구분 코드 --> <result property="hirerSeCd" column="HIRER_SE_CD" /> <!-- 임차인 구분 코드 -->
<result property="hirerRegNo" column="HIRER_REG_NO" /> <!-- 임차인 등록 번호 --> <result property="hirerRegNo" column="HIRER_REG_NO" /> <!-- 임차인 등록 번호 -->
<result property="hirerNm" column="HIRER_NM" /> <!-- 임차인 명 --> <result property="hirerNm" column="HIRER_NM" /> <!-- 임차인 명 -->
<result property="hirerTelno" column="HIRER_TELNO" /> <!-- 임차인 전화번호 -->
<result property="hirerMblTelno" column="HIRER_MBL_TELNO" /> <!-- 임차인 휴대 전화번호 --> <result property="hirerMblTelno" column="HIRER_MBL_TELNO" /> <!-- 임차인 휴대 전화번호 -->
<result property="hirerEmlAddr" column="HIRER_EML_ADDR" /> <!-- 임차인 이메일 --> <result property="hirerEmlAddr" column="HIRER_EML_ADDR" /> <!-- 임차인 이메일 -->
<result property="hirerZip" column="HIRER_ZIP" /> <!-- 임차인 우편번호 --> <result property="hirerZip" column="HIRER_ZIP" /> <!-- 임차인 우편번호 -->
@ -45,11 +46,15 @@
, H.VHRNO <!-- 자동차등록번호 --> , H.VHRNO <!-- 자동차등록번호 -->
, H.CTRT_BGNG_YMD <!-- 계약 시작 일자 --> , H.CTRT_BGNG_YMD <!-- 계약 시작 일자 -->
, H.CTRT_BGNG_TM <!-- 계약 시작 시각 --> , H.CTRT_BGNG_TM <!-- 계약 시작 시각 -->
, (CONCAT(H.CTRT_BGNG_YMD, H.CTRT_BGNG_TM)) AS CTRT_BGNG_DT <!-- 계약 시작 일시 -->
, H.CTRT_END_YMD <!-- 계약 종료 시각 --> , H.CTRT_END_YMD <!-- 계약 종료 시각 -->
, H.CTRT_END_TM <!-- 임차 종료 일시 --> , H.CTRT_END_TM <!-- 계약 종료 일시 -->
, (CONCAT(H.CTRT_END_YMD, H.CTRT_END_TM)) AS CTRT_END_DT <!-- 계약 종료 일시 -->
, H.HIRER_SE_CD <!-- 임차인 구분 코드 --> , H.HIRER_SE_CD <!-- 임차인 구분 코드 -->
, (SELECT GET_CODE_NM('FIM089', H.HIRER_SE_CD) FROM DUAL) AS HIRER_SE_NM <!-- 임차인 구분 명 -->
, H.HIRER_REG_NO <!-- 임차인 등록 번호 --> , H.HIRER_REG_NO <!-- 임차인 등록 번호 -->
, H.HIRER_NM <!-- 임차인 명 --> , H.HIRER_NM <!-- 임차인 명 -->
, H.HIRER_TELNO <!-- 임차인 전화번호 -->
, H.HIRER_MBL_TELNO <!-- 임차인 휴대 전화번호 --> , H.HIRER_MBL_TELNO <!-- 임차인 휴대 전화번호 -->
, H.HIRER_EML_ADDR <!-- 임차인 이메일 --> , H.HIRER_EML_ADDR <!-- 임차인 이메일 -->
, H.HIRER_ZIP <!-- 임차인 우편번호 --> , H.HIRER_ZIP <!-- 임차인 우편번호 -->
@ -82,8 +87,8 @@
<include refid="select" /> <include refid="select" />
<where> <where>
<if test="schCtrtYmd != null"> <if test="schCtrtYmd != null">
AND H.CTRT_BGNG_YMD <![CDATA[>=]]> #{schCtrtYmd} <!-- 계약 시작 시작 --> AND H.CTRT_BGNG_YMD <![CDATA[<=]]> #{schCtrtYmd} <!-- 계약 시작 시작 -->
AND H.CTRT_END_YMD <![CDATA[<=]]> #{schCtrtYmd} <!-- 계약 종료 종료 --> AND H.CTRT_END_YMD <![CDATA[>=]]> #{schCtrtYmd} <!-- 계약 종료 종료 -->
</if> </if>
<if test="schCtrtBgngYmd != null"> <if test="schCtrtBgngYmd != null">
AND H.CTRT_BGNG_YMD = #{schCtrtBgngYmd} <!-- 계약 시작 일자 --> AND H.CTRT_BGNG_YMD = #{schCtrtBgngYmd} <!-- 계약 시작 일자 -->
@ -118,6 +123,13 @@
</select> </select>
<insert id="insertHirer" parameterType="cokr.xit.fims.rent.Hirer">/* 임차인 정보 등록(hirerMapper.insertHirer) */ <insert id="insertHirer" parameterType="cokr.xit.fims.rent.Hirer">/* 임차인 정보 등록(hirerMapper.insertHirer) */
<selectKey resultType="string" keyProperty="hirerId" keyColumn="NEW_ID" order="BEFORE">
<include refid="numbering.key">
<property name="TABLE_NAME" value="TB_HIRER" />
<property name="TABLE_KEY" value="HIRER_ID" />
<property name="pad" value="10" />
</include>
</selectKey>
INSERT INTO TB_HIRER ( INSERT INTO TB_HIRER (
HIRER_ID <!-- 임차인 ID --> HIRER_ID <!-- 임차인 ID -->
, VHRNO <!-- 자동차등록번호 --> , VHRNO <!-- 자동차등록번호 -->
@ -128,6 +140,7 @@
, HIRER_SE_CD <!-- 임차인 구분 코드 --> , HIRER_SE_CD <!-- 임차인 구분 코드 -->
, HIRER_REG_NO <!-- 임차인 등록 번호 --> , HIRER_REG_NO <!-- 임차인 등록 번호 -->
, HIRER_NM <!-- 임차인 명 --> , HIRER_NM <!-- 임차인 명 -->
, HIRER_TELNO <!-- 임차인 전화번호 -->
, HIRER_MBL_TELNO <!-- 임차인 휴대 전화번호 --> , HIRER_MBL_TELNO <!-- 임차인 휴대 전화번호 -->
, HIRER_EML_ADDR <!-- 임차인 이메일 --> , HIRER_EML_ADDR <!-- 임차인 이메일 -->
, HIRER_ZIP <!-- 임차인 우편번호 --> , HIRER_ZIP <!-- 임차인 우편번호 -->
@ -157,19 +170,20 @@
, #{hirerSeCd} <!-- 임차인 구분 코드 --> , #{hirerSeCd} <!-- 임차인 구분 코드 -->
, #{hirerRegNo} <!-- 임차인 등록 번호 --> , #{hirerRegNo} <!-- 임차인 등록 번호 -->
, #{hirerNm} <!-- 임차인 명 --> , #{hirerNm} <!-- 임차인 명 -->
, #{hirerTelno} <!-- 임차인 전화번호 -->
, #{hirerMblTelno} <!-- 임차인 휴대 전화번호 --> , #{hirerMblTelno} <!-- 임차인 휴대 전화번호 -->
, #{hirerEmlAddr} <!-- 임차인 이메일 --> , #{hirerEmlAddr} <!-- 임차인 이메일 -->
, #{hirerZip} <!-- 임차인 우편번호 --> , #{hirerZip} <!-- 임차인 우편번호 -->
, #{hirerAddr} <!-- 임차인 주소 --> , #{hirerAddr} <!-- 임차인 주소 -->
, #{hirerDtlAddr} <!-- 임차인 상세 주소 --> , #{hirerDtlAddr} <!-- 임차인 상세 주소 -->
, #{atchFileCnt} <!-- 첨부 파일 수 --> , #{atchFileCnt} <!-- 첨부 파일 수 -->
, #{atchFileDelYn} <!-- 첨부 파일 삭제 여부 --> , 'N' <!-- 첨부 파일 삭제 여부 -->
, #{atchFileRegDt} <!-- 첨부 파일 등록 일시 --> , #{atchFileRegDt} <!-- 첨부 파일 등록 일시 -->
, #{atchFileRgtr} <!-- 첨부 파일 등록자 --> , #{atchFileRgtr} <!-- 첨부 파일 등록자 -->
, #{atchFileRegIp} <!-- 첨부 파일 등록 IP --> , #{atchFileRegIp} <!-- 첨부 파일 등록 IP -->
, #{atchFileDelDt} <!-- 첨부 파일 삭제 일시 --> , #{atchFileDelDt} <!-- 첨부 파일 삭제 일시 -->
, #{atchFileDltr} <!-- 첨부 파일 삭제자 --> , #{atchFileDltr} <!-- 첨부 파일 삭제자 -->
, #{tchFileDelIp} <!-- 첨부 파일 삭제 IP --> , #{atchFileDelIp} <!-- 첨부 파일 삭제 IP -->
, 'N' <!-- 삭제 여부 --> , 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 --> , <include refid="utility.now" /> <!-- 등록 일시 -->
, #{createdBy} <!-- 등록자 --> , #{createdBy} <!-- 등록자 -->
@ -186,6 +200,7 @@
, HIRER_SE_CD = #{hirerSeCd} <!-- 임차인 구분 코드 --> , HIRER_SE_CD = #{hirerSeCd} <!-- 임차인 구분 코드 -->
, HIRER_REG_NO = #{hirerRegNo} <!-- 임차인 등록 번호 --> , HIRER_REG_NO = #{hirerRegNo} <!-- 임차인 등록 번호 -->
, HIRER_NM = #{hirerNm} <!-- 임차인 명 --> , HIRER_NM = #{hirerNm} <!-- 임차인 명 -->
, HIRER_TELNO = #{hirerTelno} <!-- 임차인 전화번호 -->
, HIRER_MBL_TELNO = #{hirerMblTelno} <!-- 임차인 휴대 전화번호 --> , HIRER_MBL_TELNO = #{hirerMblTelno} <!-- 임차인 휴대 전화번호 -->
, HIRER_EML_ADDR = #{hirerEmlAddr} <!-- 임차인 이메일 --> , HIRER_EML_ADDR = #{hirerEmlAddr} <!-- 임차인 이메일 -->
, HIRER_ZIP = #{hirerZip} <!-- 임차인 우편번호 --> , HIRER_ZIP = #{hirerZip} <!-- 임차인 우편번호 -->

Loading…
Cancel
Save