의견제출 등록시 단속상태 변경 추가 및 단속상태이력 수정.

main
jjh 1 year ago
parent 216b40b97d
commit 93be2418d3

@ -78,5 +78,10 @@ public class CrdnSttsHstry extends AbstractEntity {
*/ */
private String mdfr; private String mdfr;
/**
* - TB_CRDN()
*/
private String crdnSttsChgDt;
} }

@ -103,4 +103,25 @@ public interface CrdnSttsHstryMapper extends AbstractMapper {
default boolean delete(CrdnSttsHstry crdnSttsHstry) { default boolean delete(CrdnSttsHstry crdnSttsHstry) {
return crdnSttsHstry != null && deleteCrdnSttsHstry(params().set("crdnSttsHstry", crdnSttsHstry)) == 1; return crdnSttsHstry != null && deleteCrdnSttsHstry(params().set("crdnSttsHstry", crdnSttsHstry)) == 1;
} }
/**(TB_CRDN) .
* @param params
* <ul><li>"excl01" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateCrdnSttsCd(Map<String, Object> params);
/**(TB_CRDN) .
* @param excl01
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean updateCrdn(CrdnSttsHstry crdnSttsHstry) {
return crdnSttsHstry != null && updateCrdnSttsCd(params().set("crdnSttsHstry", crdnSttsHstry)) == 1;
}
} }

@ -53,7 +53,6 @@ public class CrdnSttsHstryBean extends AbstractComponent {
return crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId); return crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId);
} }
/** . /** .
* @param crdnSttsHstry * @param crdnSttsHstry
* @return * @return
@ -87,4 +86,14 @@ public class CrdnSttsHstryBean extends AbstractComponent {
return crdnSttsHstryMapper.delete(crdnSttsHstry); return crdnSttsHstryMapper.delete(crdnSttsHstry);
} }
/** .
* @param excl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateCrdn(CrdnSttsHstry crdnSttsHstry) {
return crdnSttsHstryMapper.updateCrdn(crdnSttsHstry);
}
} }

@ -125,14 +125,4 @@ public class Excl01 extends AbstractEntity {
*/ */
private String vhrno; private String vhrno;
/**
*
*/
private String crdnSttsCd;
/**
*
*/
private String crdnSttsChgDt;
} }

@ -100,24 +100,4 @@ public interface Excl01Mapper extends AbstractMapper {
return excl01 != null && deleteLevyExcl(params().set("excl01", excl01)) >= 1; return excl01 != null && deleteLevyExcl(params().set("excl01", excl01)) >= 1;
} }
/**(TB_CRDN) .
* @param params
* <ul><li>"excl01" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int updateCrdnSttsCd(Map<String, Object> params);
/**(TB_CRDN) .
* @param excl01
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean updateCrdnSttsCd(Excl01 excl01) {
return excl01 != null && updateCrdnSttsCd(params().set("excl01", excl01)) == 1;
}
} }

@ -90,23 +90,12 @@ public class Excl01Bean extends AbstractComponent {
return excl01Mapper.delete(excl01); return excl01Mapper.delete(excl01);
} }
/** . /** .
* @param req * @param crdnId ID
* @return * @return ,
*/ */
public DataObject getCrdnLevyExclusion(String crdnId) { public DataObject getCrdnLevyExclusion(String crdnId) {
return excl01Mapper.selectCrdnInfo(crdnId); return excl01Mapper.selectCrdnInfo(crdnId);
} }
/** .
* @param excl
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean updateCrackdownStatus(Excl01 excl01) {
return excl01Mapper.updateCrdnSttsCd(excl01);
}
} }

@ -60,13 +60,14 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
@Override @Override
public Map<String, String> create(Excl01 excl01) { public Map<String, String> create(Excl01 excl01) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과
Map<String, String> retMap = new HashMap<String, String>(); // 결과 return Map<String, String> retMap = new HashMap<String, String>(); // 결과 return
boolean retSuccess = false; // DB 처리 결과
String newCrdnSttsCd = ""; // 신규 단속 상태 코드
// 단속 ID로 부과제외 정보 조회 // 단속 ID로 단속, 부과제외 정보 조회
DataObject infoCrdnLevyExcl = excl01Bean.getCrdnLevyExclusion(excl01.getCrdnId()); DataObject infoCrdnLevyExcl = excl01Bean.getCrdnLevyExclusion(excl01.getCrdnId());
// 부과제외 ID가 있다면 이미 부과제외 자료가 존재. 종료.. // 부과제외 ID가 있다면 이미 부과제외 자료가 존재하므로 종료..
if (!infoCrdnLevyExcl.string("LEVY_EXCL_ID").equals("")) { if (!infoCrdnLevyExcl.string("LEVY_EXCL_ID").equals("")) {
retMap.put("retSaved", "false"); retMap.put("retSaved", "false");
retMap.put("retMessage", "부과제외 정보가 이미 존재합니다."); retMap.put("retMessage", "부과제외 정보가 이미 존재합니다.");
@ -92,11 +93,11 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
// 단속 상태 코드 설정. // 단속 상태 코드 설정.
if (excl01.getLevyExclSeCd().equals("1")) { // 비부과 if (excl01.getLevyExclSeCd().equals("1")) { // 비부과
excl01.setCrdnSttsCd("81"); // 비부과(서손) newCrdnSttsCd = "81"; // 비부과(서손)
} else if (excl01.getLevyExclSeCd().equals("2")) { // 계고 } else if (excl01.getLevyExclSeCd().equals("2")) { // 계고
excl01.setCrdnSttsCd("83"); // 계고 newCrdnSttsCd = "83"; // 계고
} else if (excl01.getLevyExclSeCd().equals("5")) { // 전액감액 } else if (excl01.getLevyExclSeCd().equals("5")) { // 전액감액
excl01.setCrdnSttsCd("80"); // 부과취소 newCrdnSttsCd = "80"; // 부과취소
} }
// 부과제외(TB_LEVY_EXCL) 대장 등록 // 부과제외(TB_LEVY_EXCL) 대장 등록
@ -112,10 +113,10 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록 // 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry(); CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(excl01.getCrdnId()); crdnSttsHstry.setCrdnId(infoCrdnLevyExcl.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(infoCrdnLevyExcl.string("CRDN_STTS_CD")); crdnSttsHstry.setBfrSttsCd(infoCrdnLevyExcl.string("CRDN_STTS_CD"));
crdnSttsHstry.setBfrSttsChgDt(infoCrdnLevyExcl.string("CRDN_STTS_CHG_DT")); crdnSttsHstry.setBfrSttsChgDt(infoCrdnLevyExcl.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setCrdnSttsCd(excl01.getCrdnSttsCd()); crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
crdnSttsHstry.setTaskDtlId(excl01.getLevyExclId()); crdnSttsHstry.setTaskDtlId(excl01.getLevyExclId());
crdnSttsHstry.setEtcCn("부과제외 등록"); crdnSttsHstry.setEtcCn("부과제외 등록");
@ -129,7 +130,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
} }
// 단속(TB_CRDN) 대장 상태 코드 수정 // 단속(TB_CRDN) 대장 상태 코드 수정
retSuccess = excl01Bean.updateCrackdownStatus(excl01); retSuccess = crdnSttsHstryBean.updateCrdn(crdnSttsHstry);
if (!retSuccess) { if (!retSuccess) {
retMap.put("retSaved", "false"); retMap.put("retSaved", "false");
retMap.put("retMessage", "단속 대장에 단속상태 수정에 실패하였습니다."); retMap.put("retMessage", "단속 대장에 단속상태 수정에 실패하였습니다.");
@ -176,8 +177,8 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
DataObject infoCrdnSttsCd = new DataObject(); // 단속(TB_CRDN) 조회 DataObject infoCrdnSttsCd = new DataObject(); // 단속(TB_CRDN) 조회
DataObject infoCrdnSttsHstry = new DataObject(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 조회 DataObject infoCrdnSttsHstry = new DataObject(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 조회
Excl01 updtCrdnSttsCd = new Excl01(); // 단속(TB_CRDN) 수정
CrdnSttsHstry deltCrdnSttsHstry = new CrdnSttsHstry(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 삭제 CrdnSttsHstry deltCrdnSttsHstry = new CrdnSttsHstry(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 삭제
CrdnSttsHstry updtCrdnSttsCd = new CrdnSttsHstry(); // 단속(TB_CRDN) 수정
// 부과제외(TB_LEVY_EXCL) + 단속(TB_CRDN) 자료 조회 // 부과제외(TB_LEVY_EXCL) + 단속(TB_CRDN) 자료 조회
infoCrdnSttsCd = excl01Bean.getInfo(new Excl01Query().setLevyExclId(excl01.getLevyExclId())); infoCrdnSttsCd = excl01Bean.getInfo(new Excl01Query().setLevyExclId(excl01.getLevyExclId()));
@ -219,7 +220,7 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
updtCrdnSttsCd.setCrdnSttsCd(infoCrdnSttsHstry.string("BFR_STTS_CD")); updtCrdnSttsCd.setCrdnSttsCd(infoCrdnSttsHstry.string("BFR_STTS_CD"));
updtCrdnSttsCd.setCrdnSttsChgDt(infoCrdnSttsHstry.string("BFR_STTS_CHG_DT")); updtCrdnSttsCd.setCrdnSttsChgDt(infoCrdnSttsHstry.string("BFR_STTS_CHG_DT"));
retSuccess = excl01Bean.updateCrackdownStatus(updtCrdnSttsCd); retSuccess = crdnSttsHstryBean.updateCrdn(updtCrdnSttsCd);
if (!retSuccess) { if (!retSuccess) {
retMessage = retMessage + "단속 자료 수정에서 오류가 발생 되었습니다."; retMessage = retMessage + "단속 자료 수정에서 오류가 발생 되었습니다.";

@ -98,4 +98,12 @@ public class Excl02Bean extends AbstractComponent {
return excl02Mapper.delete(excl02); return excl02Mapper.delete(excl02);
} }
/** .
* @param crdnId ID
* @return ,
*/
public DataObject getCrdnOpinionSubmission(String crdnId) {
return excl02Mapper.selectCrdnInfo(crdnId);
}
} }

@ -12,6 +12,8 @@ import org.springframework.web.multipart.MultipartFile;
import cokr.xit.base.file.FileInfo; import cokr.xit.base.file.FileInfo;
import cokr.xit.base.file.service.bean.FileBean; import cokr.xit.base.file.service.bean.FileBean;
import cokr.xit.base.file.web.FileInfoFactory; import cokr.xit.base.file.web.FileInfoFactory;
import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.service.bean.CrdnSttsHstryBean;
import cokr.xit.fims.excl.Excl02; import cokr.xit.fims.excl.Excl02;
import cokr.xit.fims.excl.Excl02Query; import cokr.xit.fims.excl.Excl02Query;
import cokr.xit.fims.excl.service.Excl02Service; import cokr.xit.fims.excl.service.Excl02Service;
@ -39,6 +41,10 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
@Resource(name="fileBean") @Resource(name="fileBean")
private FileBean fileBean; private FileBean fileBean;
/** 단속 상태 이력 정보 관리 Bean */
@Resource(name = "crdnSttsHstryBean")
protected CrdnSttsHstryBean crdnSttsHstryBean;
@Override @Override
public List<DataObject> getOpinionSubmissionList(Excl02Query req) { public List<DataObject> getOpinionSubmissionList(Excl02Query req) {
return excl02Bean.getOpinionSubmissionList(req); return excl02Bean.getOpinionSubmissionList(req);
@ -67,8 +73,20 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
@Override @Override
public Map<String, String> create(Excl02 excl02, MultipartFile[] uploadFileList) { public Map<String, String> create(Excl02 excl02, MultipartFile[] uploadFileList) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과
Map<String, String> retMap = new HashMap<String, String>(); // 결과 return Map<String, String> retMap = new HashMap<String, String>(); // 결과 return
boolean retSuccess = false; // DB 처리 결과
String newCrdnSttsCd = ""; // 신규 단속 상태 코드
// 단속 ID로 단속, 의견제출 정보 조회
DataObject infoCrdnOpnnSbmsn = excl02Bean.getCrdnOpinionSubmission(excl02.getCrdnId());
// 부과제외 ID가 있다면 이미 의견제출 자료가 존재하므로 종료..
if (!infoCrdnOpnnSbmsn.string("OPNN_ID").equals("")) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "의견제출 정보가 이미 존재합니다.");
return retMap;
}
// 파일 갯수 입력 // 파일 갯수 입력
if (uploadFileList != null) { if (uploadFileList != null) {
@ -88,7 +106,7 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
throw new RuntimeException(retMap.get("retMessage")); throw new RuntimeException(retMap.get("retMessage"));
} }
// 파일 첨부하기 // 의견제출 파일 첨부하기
if (uploadFileList != null) { if (uploadFileList != null) {
List<FileInfo> fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFileList); List<FileInfo> fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFileList);
@ -97,6 +115,40 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
fileBean.create(fileInfoList); fileBean.create(fileInfoList);
} }
// 단속 상태 코드가 사전통보중 이전일때만 단속의 상태를 의견진술중으로 수정
if (Integer.parseInt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD")) <= 42) {
newCrdnSttsCd = "31"; // 신규 단속상태 코드 = 의견진술접수
// 단속상태이력(TB_CRDN_STTS_HSTRY) 대장 등록
CrdnSttsHstry crdnSttsHstry = new CrdnSttsHstry();
crdnSttsHstry.setCrdnId(infoCrdnOpnnSbmsn.string("CRDN_ID"));
crdnSttsHstry.setBfrSttsCd(infoCrdnOpnnSbmsn.string("CRDN_STTS_CD"));
crdnSttsHstry.setBfrSttsChgDt(infoCrdnOpnnSbmsn.string("CRDN_STTS_CHG_DT"));
crdnSttsHstry.setCrdnSttsCd(newCrdnSttsCd);
crdnSttsHstry.setTaskDtlId(excl02.getOpnnId());
crdnSttsHstry.setEtcCn("의견제출 등록");
retSuccess = crdnSttsHstryBean.create(crdnSttsHstry);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "단속상태이력 대장 등록에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException(retMap.get("retMessage"));
}
// 단속(TB_CRDN) 대장 상태 코드 수정
retSuccess = crdnSttsHstryBean.updateCrdn(crdnSttsHstry);
if (!retSuccess) {
retMap.put("retSaved", "false");
retMap.put("retMessage", "단속 대장에 단속상태 수정에 실패하였습니다.");
// 예외를 발생시켜서 오류메세지를 보내고 Database 롤백..
throw new RuntimeException(retMap.get("retMessage"));
}
}
// 처리 성공 // 처리 성공
retMap.put("retSaved", "true"); retMap.put("retSaved", "true");
retMap.put("retMessage", "저장 되었습니다."); retMap.put("retMessage", "저장 되었습니다.");
@ -107,8 +159,8 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
@Override @Override
public Map<String, String> update(Excl02 excl02, MultipartFile[] uploadFileList) { public Map<String, String> update(Excl02 excl02, MultipartFile[] uploadFileList) {
// 변수 선언 // 변수 선언
boolean retSuccess = false; // DB 처리 결과
Map<String, String> retMap = new HashMap<String, String>(); // 결과 return Map<String, String> retMap = new HashMap<String, String>(); // 결과 return
boolean retSuccess = false; // DB 처리 결과
// 의견제출 수정 // 의견제출 수정
retSuccess = excl02Bean.update(excl02); retSuccess = excl02Bean.update(excl02);

@ -102,7 +102,7 @@
SET USE_YN = #{crdnSttsHstry.useYn} /* 사용 여부 */ SET USE_YN = #{crdnSttsHstry.useYn} /* 사용 여부 */
, MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */ , MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */
, MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */ , MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */
WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId} WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId} /* 상태 이력 ID */
</update> </update>
<update id="deleteCrdnSttsHstry" parameterType="map">/* 단속 상태 이력 삭제(crdnSttsHstryMapper.deleteCrdnSttsHstry) */ <update id="deleteCrdnSttsHstry" parameterType="map">/* 단속 상태 이력 삭제(crdnSttsHstryMapper.deleteCrdnSttsHstry) */
@ -110,7 +110,23 @@
SET USE_YN = 'N' /* 사용 여부 */ SET USE_YN = 'N' /* 사용 여부 */
, MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */ , MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */
, MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */ , MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */
WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId} WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId} /* 상태 이력 ID */
</update>
<update id="updateCrdnSttsCd" parameterType="map">/* 단속 대장 수정(crdnSttsHstryMapper.updateCrdnSttsCd) */
UPDATE TB_CRDN
SET CRDN_STTS_CD = #{crdnSttsHstry.crdnSttsCd} /* 단속 상태 코드 */
<choose>
<when test="crdnSttsHstry.crdnSttsChgDt != null">
, CRDN_STTS_CHG_DT = #{crdnSttsHstry.crdnSttsChgDt} /* 단속 상태 변경 일시 */
</when>
<otherwise>
, CRDN_STTS_CHG_DT = <include refid="utility.now" /> /* 단속 상태 변경 일시 */
</otherwise>
</choose>
, MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */
, MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */
WHERE CRDN_ID = #{crdnSttsHstry.crdnId} /* 단속 ID */
</update> </update>
</mapper> </mapper>

@ -319,20 +319,4 @@
</choose> </choose>
</update> </update>
<update id="updateCrdnSttsCd" parameterType="map">/* 단속 대장 수정(excl01Mapper.updateCrdnSttsCd) */
UPDATE TB_CRDN
SET CRDN_STTS_CD = #{excl01.crdnSttsCd} /* 단속 상태 코드 */
<choose>
<when test="excl01.crdnSttsChgDt != null">
, CRDN_STTS_CHG_DT = #{excl01.crdnSttsChgDt} /* 단속 상태 변경 일시 */
</when>
<otherwise>
, CRDN_STTS_CHG_DT = <include refid="utility.now" /> /* 단속 상태 변경 일시 */
</otherwise>
</choose>
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CRDN_ID = #{excl01.crdnId} /* 부과 제외 ID */
</update>
</mapper> </mapper>

@ -476,7 +476,7 @@
// 등록 // 등록
function fnCreate${pageName}() { function fnCreate${pageName}() {
let params = { let params = {
crdnId : "00004148020220007320" crdnId : "00004148020220007304"
// crdnId : "20234148020230000071" // crdnId : "20234148020230000071"
}; };

Loading…
Cancel
Save