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

main
jjh 1 year ago
parent 216b40b97d
commit 93be2418d3

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

@ -103,4 +103,25 @@ public interface CrdnSttsHstryMapper extends AbstractMapper {
default boolean delete(CrdnSttsHstry crdnSttsHstry) {
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);
}
/** .
* @param crdnSttsHstry
* @return
@ -87,4 +86,14 @@ public class CrdnSttsHstryBean extends AbstractComponent {
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 crdnSttsCd;
/**
*
*/
private String crdnSttsChgDt;
}

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

@ -98,4 +98,12 @@ public class Excl02Bean extends AbstractComponent {
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.service.bean.FileBean;
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.Excl02Query;
import cokr.xit.fims.excl.service.Excl02Service;
@ -39,6 +41,10 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
@Resource(name="fileBean")
private FileBean fileBean;
/** 단속 상태 이력 정보 관리 Bean */
@Resource(name = "crdnSttsHstryBean")
protected CrdnSttsHstryBean crdnSttsHstryBean;
@Override
public List<DataObject> getOpinionSubmissionList(Excl02Query req) {
return excl02Bean.getOpinionSubmissionList(req);
@ -67,8 +73,20 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
@Override
public Map<String, String> create(Excl02 excl02, MultipartFile[] uploadFileList) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
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) {
@ -88,7 +106,7 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
throw new RuntimeException(retMap.get("retMessage"));
}
// 파일 첨부하기
// 의견제출 파일 첨부하기
if (uploadFileList != null) {
List<FileInfo> fileInfoList = new FileInfoFactory().makeFileInfos(null, uploadFileList);
@ -97,6 +115,40 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
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("retMessage", "저장 되었습니다.");
@ -107,8 +159,8 @@ public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Serv
@Override
public Map<String, String> update(Excl02 excl02, MultipartFile[] uploadFileList) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
Map<String, String> retMap = new HashMap<String, String>(); // 결과 return
boolean retSuccess = false; // DB 처리 결과
// 의견제출 수정
retSuccess = excl02Bean.update(excl02);

@ -23,18 +23,18 @@
</resultMap>
<sql id="select">
SELECT STTS_HSTRY_ID /* 상태 이력 ID */
, CRDN_ID /* 단속 ID */
, BFR_STTS_CD /* 이전 상태 코드 */
, BFR_STTS_CHG_DT /* 이전 상태 변경 일시 */
, CRDN_STTS_CD /* 단속 상태 코드 */
, TASK_DTL_ID /* 업무 상세 ID */
, USE_YN /* 사용 여부 */
, ETC_CN /* 기타 내용 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
SELECT STTS_HSTRY_ID /* 상태 이력 ID */
, CRDN_ID /* 단속 ID */
, BFR_STTS_CD /* 이전 상태 코드 */
, BFR_STTS_CHG_DT /* 이전 상태 변경 일시 */
, CRDN_STTS_CD /* 단속 상태 코드 */
, TASK_DTL_ID /* 업무 상세 ID */
, USE_YN /* 사용 여부 */
, ETC_CN /* 기타 내용 */
, REG_DT /* 등록 일시 */
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
FROM TB_CRDN_STTS_HSTRY
</sql>
@ -68,49 +68,65 @@
</selectKey>
INSERT
INTO TB_CRDN_STTS_HSTRY (
STTS_HSTRY_ID /* 상태 이력 ID */
, CRDN_ID /* 단속 ID */
, BFR_STTS_CD /* 이전 상태 코드 */
, BFR_STTS_CHG_DT /* 이전 상태 변경 일시 */
, CRDN_STTS_CD /* 단속 상태 코드 */
, TASK_DTL_ID /* 업무 상세 ID */
, ETC_CN /* 기타 내용 */
, USE_YN /* 사용 여부 */
, REG_DT /* 등록 일시*/
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
STTS_HSTRY_ID /* 상태 이력 ID */
, CRDN_ID /* 단속 ID */
, BFR_STTS_CD /* 이전 상태 코드 */
, BFR_STTS_CHG_DT /* 이전 상태 변경 일시 */
, CRDN_STTS_CD /* 단속 상태 코드 */
, TASK_DTL_ID /* 업무 상세 ID */
, ETC_CN /* 기타 내용 */
, USE_YN /* 사용 여부 */
, REG_DT /* 등록 일시*/
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
)
VALUES (
#{crdnSttsHstry.sttsHstryId} /* 상태 이력 ID */
, #{crdnSttsHstry.crdnId} /* 단속 ID */
, #{crdnSttsHstry.bfrSttsCd} /* 이전 상태 코드 */
, #{crdnSttsHstry.bfrSttsChgDt} /* 이전 상태 변경 일시 */
, #{crdnSttsHstry.crdnSttsCd} /* 단속 상태 코드 */
, #{crdnSttsHstry.taskDtlId} /* 업무 상세 ID */
, #{crdnSttsHstry.etcCn} /* 기타 내용 */
, 'Y' /* 삭제 여부 */
, #{crdnSttsHstry.createdAt} /* 등록 일시 */
, #{crdnSttsHstry.createdBy} /* 등록자 */
, #{crdnSttsHstry.lastModified} /* 수정 일시 */
, #{crdnSttsHstry.modifiedBy} /* 수정자 */
#{crdnSttsHstry.sttsHstryId} /* 상태 이력 ID */
, #{crdnSttsHstry.crdnId} /* 단속 ID */
, #{crdnSttsHstry.bfrSttsCd} /* 이전 상태 코드 */
, #{crdnSttsHstry.bfrSttsChgDt} /* 이전 상태 변경 일시 */
, #{crdnSttsHstry.crdnSttsCd} /* 단속 상태 코드 */
, #{crdnSttsHstry.taskDtlId} /* 업무 상세 ID */
, #{crdnSttsHstry.etcCn} /* 기타 내용 */
, 'Y' /* 삭제 여부 */
, #{crdnSttsHstry.createdAt} /* 등록 일시 */
, #{crdnSttsHstry.createdBy} /* 등록자 */
, #{crdnSttsHstry.lastModified} /* 수정 일시 */
, #{crdnSttsHstry.modifiedBy} /* 수정자 */
)
</insert>
<update id="updateCrdnSttsHstry" parameterType="map">/* 단속 상태 이력 수정(crdnSttsHstryMapper.updateCrdnSttsHstry) */
UPDATE TB_CRDN_STTS_HSTRY
SET USE_YN = #{crdnSttsHstry.useYn} /* 사용 여부 */
, MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */
, MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */
WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId}
SET USE_YN = #{crdnSttsHstry.useYn} /* 사용 여부 */
, MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */
, MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */
WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId} /* 상태 이력 ID */
</update>
<update id="deleteCrdnSttsHstry" parameterType="map">/* 단속 상태 이력 삭제(crdnSttsHstryMapper.deleteCrdnSttsHstry) */
UPDATE TB_CRDN_STTS_HSTRY
SET USE_YN = 'N' /* 사용 여부 */
, MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */
, MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */
WHERE STTS_HSTRY_ID = #{crdnSttsHstry.sttsHstryId}
SET USE_YN = 'N' /* 사용 여부 */
, MDFCN_DT = #{crdnSttsHstry.lastModified} /* 수정 일시 */
, MDFR = #{crdnSttsHstry.modifiedBy} /* 수정자 */
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>
</mapper>

@ -319,20 +319,4 @@
</choose>
</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>

@ -438,6 +438,6 @@
, DLTR = #{excl01.modifiedBy} /* 삭제자 */
, DEL_RSN = #{excl02.delRsn} /* 삭제 사유 */
WHERE OPNN_ID = #{excl02.opnnId} /* 의견 ID */
</update>
</update>
</mapper>

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

Loading…
Cancel
Save