첨부파일 삭제 수정.

main
xitpc\xituser 2 months ago
parent 36ef1c7a0d
commit 5b2453d71f

@ -95,48 +95,23 @@ public class Hirer extends AbstractEntity {
private Integer atchFileCnt;
/**
*
*/
private String atchFileDelYn;
/**
*
*/
private String atchFileRegDt;
/**
*
*/
private String atchFileRgtr;
/**
* IP
*/
private String atchFileRegIp;
/**
*
*/
private String atchFileDelDt;
/**
*
*
*/
private String atchFileDltr;
private String delYn;
/**
* IP
*
*/
private String atchFileDelIp;
private String delRsn;
/**
*
* IDs
*/
private String delYn;
private String[] hirerIds;
/**
*
* IDs
*/
private String delRsn;
private String[] fileIDs;
}

@ -50,31 +50,40 @@ public interface HirerMapper extends AbstractMapper {
return !hirers.isEmpty() ? hirers.get(0) : null;
}
/** .
/** .
* @param params
* <ul><li>"hirer" - </li>
* <ul><li>"hirer" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int insertHirer(Hirer hirer);
/** .
/** .
* @param params
* <ul><li>"hirer" - </li>
* <ul><li>"hirer" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateHirer(Hirer hirer);
/** .
/** .
* @param params
* <ul><li>"hirer" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateAtchFileCnt(Hirer hirer);
/** .
* @param params
* <ul><li>"hirer" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int deleteHirer(Hirer hirer);
}

@ -37,8 +37,8 @@ public interface HirerService {
*/
DataObject getHirerInfo(RentQuery req);
/** .
* @param hirer
/** .
* @param hirer
* @return
* <ul><li> true</li>
* <li> false</li>
@ -46,8 +46,8 @@ public interface HirerService {
*/
String createHirer(Hirer hirer, List<FileInfo> fileInfoList);
/** .
* @param hirer
/** .
* @param hirer
* @return
* <ul><li> true</li>
* <li> false</li>
@ -55,8 +55,17 @@ public interface HirerService {
*/
String updateHirer(Hirer hirer, List<FileInfo> fileInfoList);
/** .
* @param hirer
/** .
* @param hirer
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
String removeAtchFile(Hirer hirer);
/** .
* @param hirer
* @return
* <ul><li> true</li>
* <li> false</li>

@ -11,6 +11,7 @@ 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.crdn.Crdn;
import cokr.xit.fims.rent.Hirer;
import cokr.xit.fims.rent.RentQuery;
import cokr.xit.fims.rent.dao.HirerMapper;
@ -60,7 +61,7 @@ public class HirerBean extends AbstractBean {
return hirerMapper.selectHirerInfo(req);
}
/** .
/** .
* @param hirer
* @return
* <ul><li> true</li>
@ -95,19 +96,13 @@ public class HirerBean extends AbstractBean {
}
/** .
* @param hirer
* @param hirer
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String updateHirer(Hirer hirer, List<FileInfo> fileInfoList) {
// 임차인(TB_HIRER) 대장을 수정한다.
int rtnNocs = hirerMapper.updateHirer(hirer);
if (rtnNocs != 1) {
throw new RuntimeException("[F] 수정 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 첨부파일 수정
if (fileInfoList != null && !fileInfoList.isEmpty()) {
fileInfoList.forEach(fileInfo -> fileInfo.setInfoType(Hirer.INF_TYPE)
@ -115,27 +110,64 @@ public class HirerBean extends AbstractBean {
fileBean.create(fileInfoList); // 파일 등록
// 의견제출 ID로 파일(TB_FILE) 정보 조회
List<DataObject> infoFileList = fileBean.getFileList(new FileQuery().setInfoType(Hirer.INF_TYPE)
// 임차인 ID로 파일(TB_FILE) 정보 조회
List<DataObject> fileList = 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()];
if (fileList != null && fileList.size() > 0) {
String[] fileIDs = new String[fileList.size()];
for (int iLoop = 0; iLoop < infoFileList.size(); iLoop++) {
fileIDs[iLoop] = infoFileList.get(iLoop).string("FILE_ID");
for (int iLoop = 0; iLoop < fileList.size(); iLoop++) {
fileIDs[iLoop] = fileList.get(iLoop).string("FILE_ID");
}
fileBean.reorder(fileIDs); // 첨부파일 재 정렬
}
// 첨부파일 갯수
hirer.setAtchFileCnt(fileList.size());
}
// 임차인(TB_HIRER) 대장을 수정한다.
int rtnNocs = hirerMapper.updateHirer(hirer);
if (rtnNocs != 1) {
throw new RuntimeException("[F] 수정 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
* @param hirer
/** .
* @param hirer
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public String removeAtchFile(Hirer hirer) {
// 첨부파일 삭제
fileBean.remove(hirer.getFileIDs());
// 임차인 ID로 파일(TB_FILE) 정보 조회
List<DataObject> fileList = fileBean.getFileList(new FileQuery().setInfoType(Hirer.INF_TYPE)
.setInfoKeys(hirer.getHirerId())
.setOrderBy("FILE_ID"));
// 첨부파일 갯수
hirer.setAtchFileCnt(fileList.size());
// 임차인(TB_HIRER) 대장에 첨부파일수를 수정한다.
int rtnNocs = hirerMapper.updateAtchFileCnt(hirer);
if (rtnNocs != 1) {
throw new RuntimeException("[F] 파일삭제 작업에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
return "[S] 작업이 정상 처리 되었습니다.";
}
/** .
* @param hirer
* @return
* <ul><li> true</li>
* <li> false</li>

@ -55,6 +55,11 @@ public class HirerServiceBean extends AbstractServiceBean implements HirerServic
return hirerBean.updateHirer(hirer, fileInfoList);
}
@Override
public String removeAtchFile(Hirer hirer) {
return hirerBean.removeAtchFile(hirer);
}
@Override
public String removeHirer(Hirer hirer) {
return hirerBean.removeHirer(hirer);

@ -67,6 +67,7 @@ public class Rent02Controller extends ApplicationController {
, getHirer = "/040/list.do" // 임차인 대장 상세 정보 조회
, createHirer = "/040/createHirer.do" // 임차인 대장 등록
, updateHirer = "/040/updateHirer.do" // 임차인 대장 수정
, removeAttachmentFile = "/040/removeAtchFile.do" // 임차인 첨부 파일 수정
, leaseContractMain = "/050/main.do" // 임대차계약 관리 메인 화면
, getLeaseContractList = "/050/list.do" // 임대차계약 관리 대장 목록 조회
;
@ -432,7 +433,31 @@ public class Rent02Controller extends ApplicationController {
.addObject("rtnMsg", rtnMsg);
}
/** .
/** , .
* @param hirer
* @return jsonView
* <pre><code> {
* "saved": true, false
* }</code></pre>
*/
@Task("CMN")
@RequestMapping(name = "임차인 대장 첨부파일 삭제", value=METHOD_URL.removeAttachmentFile)
public ModelAndView removeAttachmentFile(Hirer hirer) {
boolean saved = false;
String rtnMsg = hirerService.removeAtchFile(hirer);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param hirerIDs
* @return jsonView
* <pre><code> {
@ -441,7 +466,7 @@ public class Rent02Controller extends ApplicationController {
* }</code></pre>
*/
@Task("CMN")
@RequestMapping(name = "임차인 대장 ", value=METHOD_URL.removeHirer)
@RequestMapping(name = "임차인 대장 제", value=METHOD_URL.removeHirer)
public ModelAndView removeHirer(Hirer hirer) {
boolean saved = false;
String rtnMsg = hirerService.removeHirer(hirer);

@ -7,7 +7,7 @@
2024-08-27 JoJH 최초 작성
============================ -->
<resultMap id="hirerRow" type="cokr.xit.fims.rent.Hirer"> <!-- 임차인 정보 -->
<resultMap id="hirerRow" type="cokr.xit.fims.rent.Hirer"> <!-- 임차인 대장 -->
<result property="hirerId" column="HIRER_ID" /> <!-- 임차인 ID -->
<result property="vhrno" column="VHRNO" /> <!-- 자동차등록번호 -->
<result property="ctrtBgngYmd" column="CTRT_BGNG_YMD" /> <!-- 계약 시작 일자 -->
@ -24,13 +24,6 @@
<result property="hirerAddr" column="HIRER_ADDR" /> <!-- 임차인 주소 -->
<result property="hirerDtlAddr" column="HIRER_DTL_ADDR" /> <!-- 임차인 상세 주소 -->
<result property="atchFileCnt" column="ATCH_FILE_CNT" /> <!-- 첨부 파일 수 -->
<result property="atchFileDelYn" column="ATCH_FILE_DEL_YN" /> <!-- 첨부 파일 삭제 여부 -->
<result property="atchFileRegDt" column="ATCH_FILE_REG_DT" /> <!-- 첨부 파일 등록 일시 -->
<result property="atchFileRgtr" column="ATCH_FILE_RGTR" /> <!-- 첨부 파일 등록자 -->
<result property="atchFileRegIp" column="ATCH_FILE_REG_IP" /> <!-- 첨부 파일 등록 IP -->
<result property="atchFileDelDt" column="ATCH_FILE_DEL_DT" /> <!-- 첨부 파일 삭제 일시 -->
<result property="atchFileDltr" column="ATCH_FILE_DLTR" /> <!-- 첨부 파일 삭제자 -->
<result property="atchFileDelIp" column="ATCH_FILE_DEL_IP" /> <!-- 첨부 파일 삭제 IP -->
<result property="delYn" column="DEL_YN" /> <!-- 삭제 여부 -->
<result property="createdAt" column="REG_DT" /> <!-- 등록 일시 -->
<result property="createdBy" column="RGTR" /> <!-- 등록자 -->
@ -61,13 +54,6 @@
, H.HIRER_ADDR <!-- 임차인 주소 -->
, H.HIRER_DTL_ADDR <!-- 임차인 상세 주소 -->
, H.ATCH_FILE_CNT <!-- 첨부 파일 수 -->
, H.ATCH_FILE_DEL_YN <!-- 첨부 파일 삭제 여부 -->
, H.ATCH_FILE_REG_DT <!-- 첨부 파일 등록 일시 -->
, H.ATCH_FILE_RGTR <!-- 첨부 파일 등록자 -->
, H.ATCH_FILE_REG_IP <!-- 첨부 파일 등록 IP -->
, H.ATCH_FILE_DEL_DT <!-- 첨부 파일 삭제 일시 -->
, H.ATCH_FILE_DLTR <!-- 첨부 파일 삭제자 -->
, H.ATCH_FILE_DEL_IP <!-- 첨부 파일 삭제 IP -->
, H.DEL_YN <!-- 삭제 여부 -->
, (SELECT GET_CODE_NM('CMN007', H.DEL_YN) FROM DUAL) AS DEL_YN_NM <!-- 삭제 여부 명 -->
, H.REG_DT <!-- 등록 일시 -->
@ -82,7 +68,7 @@
FROM TB_HIRER H
</sql>
<select id="selectHirerList" parameterType="map" resultType="dataobject">/* 임차인 정보 목록 조회(hirerMapper.selectHirerList) */
<select id="selectHirerList" parameterType="map" resultType="dataobject">/* 임차인 대장 목록 조회(hirerMapper.selectHirerList) */
<include refid="utility.paging-prefix" />
<include refid="select" />
<where>
@ -102,12 +88,13 @@
<if test="schHirerRegNo != null">
AND H.HIRER_REG_NO = #{schHirerRegNo} <!-- 임차인 등록 번호 -->
</if>
AND DEL_YN = 'N'
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectHirers" parameterType="map" resultType="dataobject">/* 임차인 정보 객체 가져오기(hirerMapper.selectHirers) */
<select id="selectHirers" parameterType="map" resultType="dataobject">/* 임차인 대장 객체 가져오기(hirerMapper.selectHirers) */
<include refid="select" />
<where>
<if test="hirerIds != null">
@ -118,11 +105,20 @@
<if test="hirerId != null">
AND H.HIRER_ID = #{hirerId} <!-- 임차인 ID -->
</if>
<choose>
<when test="delYn != null">
AND H.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND H.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</if>
</where>
<include refid="utility.orderBy" />
</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" />
@ -147,13 +143,6 @@
, HIRER_ADDR <!-- 임차인 주소 -->
, HIRER_DTL_ADDR <!-- 임차인 상세 주소 -->
, ATCH_FILE_CNT <!-- 첨부 파일 수 -->
, ATCH_FILE_DEL_YN <!-- 첨부 파일 삭제 여부 -->
, ATCH_FILE_REG_DT <!-- 첨부 파일 등록 일시 -->
, ATCH_FILE_RGTR <!-- 첨부 파일 등록자 -->
, ATCH_FILE_REG_IP <!-- 첨부 파일 등록 IP -->
, ATCH_FILE_DEL_DT <!-- 첨부 파일 삭제 일시 -->
, ATCH_FILE_DLTR <!-- 첨부 파일 삭제자 -->
, ATCH_FILE_DEL_IP <!-- 첨부 파일 삭제 IP -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
@ -177,13 +166,6 @@
, #{hirerAddr} <!-- 임차인 주소 -->
, #{hirerDtlAddr} <!-- 임차인 상세 주소 -->
, #{atchFileCnt} <!-- 첨부 파일 수 -->
, 'N' <!-- 첨부 파일 삭제 여부 -->
, #{atchFileRegDt} <!-- 첨부 파일 등록 일시 -->
, #{atchFileRgtr} <!-- 첨부 파일 등록자 -->
, #{atchFileRegIp} <!-- 첨부 파일 등록 IP -->
, #{atchFileDelDt} <!-- 첨부 파일 삭제 일시 -->
, #{atchFileDltr} <!-- 첨부 파일 삭제자 -->
, #{atchFileDelIp} <!-- 첨부 파일 삭제 IP -->
, 'N' <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{createdBy} <!-- 등록자 -->
@ -192,11 +174,13 @@
)
</insert>
<update id="updateHirer" parameterType="cokr.xit.fims.rent.Hirer">/* 임차인 정보 수정(hirerMapper.updateHirer) */
<update id="updateHirer" parameterType="cokr.xit.fims.rent.Hirer">/* 임차인 대장 수정(hirerMapper.updateHirer) */
UPDATE TB_HIRER
SET VHRNO = #{vhrno} <!-- 자동차등록번호 -->
, HIRE_BGNG_DT = #{hireBgngDt} <!-- 임차 시작 일시 -->
, HIRE_END_DT = #{hireEndDt} <!-- 임차 종료 일시 -->
, CTRT_BGNG_YMD = #{ctrtBgngYmd} <!-- 계약 시작 일자 -->
, CTRT_BGNG_TM = #{ctrtBgngTm} <!-- 계약 시작 시각 -->
, CTRT_END_YMD = #{ctrtEndYmd} <!-- 계약 종료 일자 -->
, CTRT_END_TM = #{ctrtEndTm} <!-- 계약 종료 시각 -->
, HIRER_SE_CD = #{hirerSeCd} <!-- 임차인 구분 코드 -->
, HIRER_REG_NO = #{hirerRegNo} <!-- 임차인 등록 번호 -->
, HIRER_NM = #{hirerNm} <!-- 임차인 명 -->
@ -206,27 +190,40 @@
, HIRER_ZIP = #{hirerZip} <!-- 임차인 우편번호 -->
, HIRER_ADDR = #{hirerAddr} <!-- 임차인 주소 -->
, HIRER_DTL_ADDR = #{hirerDtlAddr} <!-- 임차인 상세 주소 -->
<if test="atchFileCnt != null">
, ATCH_FILE_CNT = #{atchFileCnt} <!-- 첨부 파일 수 -->
, ATCH_FILE_DEL_YN = #{atchFileDelYn} <!-- 첨부 파일 삭제 여부 -->
, ATCH_FILE_REG_DT = #{atchFileRegDt} <!-- 첨부 파일 등록 일시 -->
, ATCH_FILE_RGTR = #{atchFileRgtr} <!-- 첨부 파일 등록자 -->
, ATCH_FILE_REG_IP = #{atchFileRegIp} <!-- 첨부 파일 등록 IP -->
, ATCH_FILE_DEL_DT = #{atchFileDelDt} <!-- 첨부 파일 삭제 일시 -->
, ATCH_FILE_DLTR = #{atchFileDltr} <!-- 첨부 파일 삭제자 -->
, ATCH_FILE_DEL_IP = #{atchFileDelIp} <!-- 첨부 파일 삭제 IP -->
</if>
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE HIRER_ID = #{hirerId} <!-- 임차인 ID -->
AND DEL_YN = 'N'
</update>
<update id="updateAtchFileCnt" parameterType="cokr.xit.fims.rent.Hirer">/* 임차인 대장 첨부파일수 수정(hirerMapper.updateHirer) */
UPDATE TB_HIRER
SET ATCH_FILE_CNT = #{atchFileCnt} <!-- 첨부 파일 수 -->
, MDFCN_DT = <include refid="utility.now" /> <!-- 수정 일시 -->
, MDFR = #{modifiedBy} <!-- 수정자 -->
WHERE HIRER_ID = #{hirerId} <!-- 임차인 ID -->
AND DEL_YN = 'N'
</update>
<update id="deleteHirer" parameterType="cokr.xit.fims.rent.Hirer">/* 임차인 정보 삭제(hirerMapper.deleteHirer) */
<update id="deleteHirer" parameterType="cokr.xit.fims.rent.Hirer">/* 임차인 대장 삭제(hirerMapper.deleteHirer) */
UPDATE TB_HIRER
SET DEL_YN = 'Y'
, DEL_DT = <include refid="utility.now" /> <!-- 삭제 일시 -->
, DLTR = #{modifiedBy} <!-- 삭제자 -->
, DEL_RSN = #{delRsn} <!-- 삭제 사유 -->
<choose>
<when test="hirerIds != null">
WHERE HIRER_ID IN ( <!-- 기업 IDs -->
<foreach collection="hirerIds" item="hirerId" separator=","> #{hirerId} </foreach>
)
</when>
<otherwise>
WHERE HIRER_ID = #{hirerId} <!-- 임차인 ID -->
</otherwise>
</choose>
AND DEL_YN = 'N'
</update>

@ -499,9 +499,7 @@
<if test="taskSeCd != null">
AND L.TASK_SE_CD = #{taskSeCd} <!-- 업무 구분 코드 -->
</if>
<if test="delYn != null">
AND L.DEL_YN = 'N' <!-- 삭제 여부 -->
</if>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
@ -518,6 +516,14 @@
<if test="lsctId != null">
AND L.LSCT_ID = #{lsctId} <!-- 임대차계약 ID -->
</if>
<choose>
<when test="delYn != null">
AND L.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND L.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
</select>

@ -68,14 +68,7 @@
<if test="schRprsvNm != null">
AND RE.RPRSV_NM = #{schRprsvNm} <!-- 대표자 명 -->
</if>
<choose>
<when test="delYn != null">
AND RE.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND RE.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />

@ -57,14 +57,7 @@
<if test="entId != null">
AND UREM.ENT_ID = #{entId} <!-- 기업 ID -->
</if>
<choose>
<when test="delYn != null">
AND UREM.DEL_YN = #{delYn} <!-- 삭제 여부 -->
</when>
<otherwise>
AND UREM.DEL_YN = 'N' <!-- 삭제 여부 -->
</otherwise>
</choose>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />

Loading…
Cancel
Save