부과제외 삭제 기능 수정.

main
jjh 1 year ago
parent 66468dbbfb
commit c7b4e7a631

@ -16,4 +16,79 @@ public class CrdnSttsHstryQuery extends QueryRequest {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String sttsHstryId;
/**
* ID
*/
private String crdnId;
/**
*
*/
private String crdnSttsCd;
/**
* ID
*/
private String taskDtlId;
/**
*
*/
private String useYn;
public String getSttsHstryId() {
return ifEmpty(sttsHstryId, () -> null);
}
public <T extends CrdnSttsHstryQuery> T setSttsHstryId(String sttsHstryId) {
this.sttsHstryId = sttsHstryId;
return self();
}
public String getCrdnId() {
return ifEmpty(crdnId, () -> null);
}
public <T extends CrdnSttsHstryQuery> T setCrdnId(String crdnId) {
this.crdnId = crdnId;
return self();
}
public String getCrdnSttsCd() {
return ifEmpty(crdnSttsCd, () -> null);
}
public <T extends CrdnSttsHstryQuery> T setCrdnSttsCd(String crdnSttsCd) {
this.crdnSttsCd = crdnSttsCd;
return self();
}
public String getTaskDtlId() {
return ifEmpty(taskDtlId, () -> null);
}
public <T extends CrdnSttsHstryQuery> T setTaskDtlId(String taskDtlId) {
this.taskDtlId = taskDtlId;
return self();
}
public String getUseYn() {
return ifEmpty(useYn, () -> null);
}
public <T extends CrdnSttsHstryQuery> T setUseYn(String useYn) {
this.useYn = useYn;
return self();
}
}

@ -7,7 +7,6 @@ import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.foundation.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.CrdnSttsHstryQuery;
@ -33,7 +32,16 @@ public interface CrdnSttsHstryMapper extends AbstractMapper {
* @param req
* @return
*/
List<CrdnSttsHstry> selectCrdnSttsHstrys(CrdnSttsHstryQuery req);
List<DataObject> selectCrdnSttsHstrys(CrdnSttsHstryQuery req);
/** .
* @param crdnId ID
* @return
*/
default DataObject selectCrdnSttsHstryInfo(String crdnId) {
List<DataObject> crdnSttsHstryList = selectCrdnSttsHstrys(new CrdnSttsHstryQuery().setCrdnId(crdnId));
return !crdnSttsHstryList.isEmpty() ? crdnSttsHstryList.get(0) : null;
}
/** .
* @param params

@ -28,7 +28,7 @@ public interface CrdnSttsHstryService {
* @param req
* @return
*/
List<CrdnSttsHstry> getCrdnSttsHstrys(CrdnSttsHstryQuery req);
List<DataObject> getCrdnSttsHstrys(CrdnSttsHstryQuery req);
/** .
* @param crdnSttsHstry

@ -41,10 +41,19 @@ public class CrdnSttsHstryBean extends AbstractComponent {
* @param req
* @return
*/
public List<CrdnSttsHstry> getCrdnSttsHstrys(CrdnSttsHstryQuery req) {
public List<DataObject> getCrdnSttsHstrys(CrdnSttsHstryQuery req) {
return crdnSttsHstryMapper.selectCrdnSttsHstrys(req);
}
/** ID .
* @param crdnId ID
* @return
*/
public DataObject getCrdnSttsHstryInfo(String crdnId) {
return crdnSttsHstryMapper.selectCrdnSttsHstryInfo(crdnId);
}
/** .
* @param crdnSttsHstry
* @return

@ -35,7 +35,7 @@ public class CrdnSttsHstryServiceBean extends AbstractServiceBean implements Crd
}
@Override
public List<CrdnSttsHstry> getCrdnSttsHstrys(CrdnSttsHstryQuery req) {
public List<DataObject> getCrdnSttsHstrys(CrdnSttsHstryQuery req) {
return crdnSttsHstryBean.getCrdnSttsHstrys(req);
}

@ -98,12 +98,32 @@ public class Excl01 extends AbstractEntity {
*/
private String delRsn;
// 필요해서 추가 /////////////////////////////////////////////////////////////////////
/**
* IDs
*/
private String[] levyExclIDs;
/* 단속(TB_CRDN) */
/**
*
*/
private String crdnRegSeCd;
/**
*
*/
private String crdnYmd;
/**
*
*/
private String crdnTm;
/**
*
*/
private String vhrno;
/**
*
*/

@ -36,9 +36,7 @@ public interface Excl01Mapper extends AbstractMapper {
DataObject selectLevyExcl(Excl01Query req);
default DataObject selectLevyExclInfo(String levyExclId) {
DataObject levyExclInfo = selectLevyExcl(new Excl01Query().setLevyExclId(levyExclId));
return levyExclInfo;
return selectLevyExcl(new Excl01Query().setLevyExclId(levyExclId));
}
/** .
@ -48,7 +46,7 @@ public interface Excl01Mapper extends AbstractMapper {
* </ul>
* @return
*/
int insert(Map<String, Object> params);
int insertLevyExcl(Map<String, Object> params);
/** .
* @param excl01
@ -57,18 +55,18 @@ public interface Excl01Mapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
default boolean insertLevyExcl(Excl01 excl01) {
return excl01 != null && insert(params().set("excl01", excl01)) == 1;
default boolean insert(Excl01 excl01) {
return excl01 != null && insertLevyExcl(params().set("excl01", excl01)) == 1;
}
/** .
* @param excl
* @return
*/
int update(Map<String, Object> params);
int updateLevyExcl(Map<String, Object> params);
default boolean updateLevyExcl(Excl01 excl01) {
return excl01 != null && update(params().set("excl01", excl01)) == 1;
default boolean update(Excl01 excl01) {
return excl01 != null && updateLevyExcl(params().set("excl01", excl01)) == 1;
}
/** .
@ -78,23 +76,22 @@ public interface Excl01Mapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
int delete(Map<String, Object> params);
int deleteLevyExcl(Map<String, Object> params);
default boolean deleteLevyExcl(Excl01 excl01) {
return excl01 != null && delete(params().set("excl01", excl01)) >= 1;
default boolean delete(Excl01 excl01) {
return excl01 != null && deleteLevyExcl(params().set("excl01", excl01)) >= 1;
}
/** ID .
* @param crdnId ID
* @return
*/
DataObject selectCrdn(Excl01Query req);
default DataObject selectCrdn(String crdnId) {
DataObject levyExclInfo = selectCrdn(new Excl01Query().setCrdnId(crdnId));
default DataObject selectCrdnInfo(String crdnId) {
DataObject crdnInfo = selectCrdn(new Excl01Query().setCrdnId(crdnId));
return levyExclInfo;
return crdnInfo;
}
/** ID , .

@ -63,7 +63,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul>
*/
public boolean createLevyExclusion(Excl01 excl01) {
return excl01Mapper.insertLevyExcl(excl01);
return excl01Mapper.insert(excl01);
}
/** .
@ -74,7 +74,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul>
*/
public boolean updateLevyExclusion(Excl01 excl01) {
return excl01Mapper.updateLevyExcl(excl01);
return excl01Mapper.update(excl01);
}
/** .
@ -85,7 +85,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul>
*/
public boolean removeLevyExclusion(Excl01 excl01) {
return excl01Mapper.deleteLevyExcl(excl01);
return excl01Mapper.delete(excl01);
}
/** .

@ -160,15 +160,136 @@ public class Excl01ServiceBean extends AbstractServiceBean implements Excl01Serv
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String levyExclID = "";
DataObject infoCrdnSttsCd = new DataObject(); // 단속(TB_CRDN) 조회
Excl01 updtCrdnSttsCd = new Excl01(); // 단속(TB_CRDN) 수정
DataObject infoCrdnSttsHstry = new DataObject(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 조회
CrdnSttsHstry deltCrdnSttsHstry = new CrdnSttsHstry(); // 단속상태이력(TB_CRDN_STTS_HSTRY) 삭제
// 부과제외 삭제
retSuccess = excl01Bean.removeLevyExclusion(excl01);
if (!retSuccess) {
return retSuccess;
}
for (int iLoop = 0; iLoop < excl01.getLevyExclIDs().length; iLoop++) {
levyExclID = excl01.getLevyExclIDs()[iLoop];
// 부과제외(TB_LEVY_EXCL) 자료 조회
infoCrdnSttsCd = excl01Bean.getLevyExclusionInfo(new Excl01Query().setLevyExclId(levyExclID));
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 대장에서 부과제외 자료 조회
infoCrdnSttsHstry = crdnSttsHstryBean.getCrdnSttsHstryInfo(infoCrdnSttsCd.string("CRDN_ID"));
// 단속 상태 비교..
if (!infoCrdnSttsHstry.string("CRDN_STTS_CD").equals(infoCrdnSttsCd.string("CRDN_STTS_CD"))) {
return retSuccess;
}
// 단속 상태 이력(TB_CRDN_STTS_HSTRY) 삭제
deltCrdnSttsHstry.setSttsHstryId(infoCrdnSttsHstry.string("STTS_HSTRY_ID"));
retSuccess = crdnSttsHstryBean.remove(deltCrdnSttsHstry);
if (!retSuccess) {
return retSuccess;
}
// 단속(TB_CRDN) 대장 상태 코드 수정
retSuccess = excl01Bean.updateCrackdownStatus(excl01);
updtCrdnSttsCd.setCrdnId(infoCrdnSttsHstry.string("CRDN_ID"));
updtCrdnSttsCd.setCrdnSttsCd(infoCrdnSttsHstry.string("BFR_STTS_CD"));
updtCrdnSttsCd.setCrdnSttsChgDt(infoCrdnSttsHstry.string("BFR_STTS_CHG_DT"));
retSuccess = excl01Bean.updateCrackdownStatus(updtCrdnSttsCd);
if (!retSuccess) {
return retSuccess;
}
/*
if GB <> 3 then
begin
//서손 취소하는데, cp_answer의 처리상태가 답변대상 또는 서손의 답변 미대상 자료이면 원래 초기상태로 되돌린다
with qryAnswer_Get do begin
Close;
ParamByName('AS_MMCODE').AsString :=MainInfo.mm_code;
Open;
if (not IsEmpty) then
begin
{
old_state := FieldByName('AS_STATE').AsString;
if (FieldByName('AS_STATE').AsString = ANSWER_STATE_ANSWER_FOR_CANCEL) or
(FieldByName('AS_STATE').AsString = ANSWER_STATE_CANCEL_IGNORE) then
begin
qryAnswer_SetState.ParamByName('AS_STATE').AsString := ANSWER_STATE_FIRST;
qryAnswer_SetState.ParamByName('AS_STATE_DT').AsString := sDateTime;
qryAnswer_SetState.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code;
qryAnswer_SetState.ExecSQL;
end;
}
//2017.01.17 서손취소를 하면 무조건 초기상태로 되게
{
qryAnswer_SetState.ParamByName('AS_STATE').AsString := ANSWER_STATE_FIRST;
qryAnswer_SetState.ParamByName('AS_STATE_DT').AsString := sDateTime;
qryAnswer_SetState.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code;
qryAnswer_SetState.ExecSQL;
}
//20201203 UIJIN 재등록 자료가 서손>취소>차적조회 시에 사전통보 대상에 올라오지 않아서 추가..
if (MainInfo.MM_DLGB = '3') or
(MainInfo.MM_DLGB = '4') then
as_state := ANSWER_STATE_CANCEL_COPY
else
as_state := ANSWER_STATE_FIRST;
qryAnswer_Set.ParamByName('AS_POST_DT').AsString := '';
qryAnswer_Set.ParamByName('AS_STATE').AsString := as_state;
qryAnswer_Set.ParamByName('AS_TEXT').AsString := '';
qryAnswer_Set.ParamByName('AS_REUSER').AsInteger := 0;
qryAnswer_Set.ParamByName('AS_MMCODE').AsString := MainInfo.mm_code;
qryAnswer_Set.ExecSQL;
end;
end;
// 답변내용을 초기화,
// 답변대상이었다가 답변내용보기를 했다가 서손처리하면 답변내용이 이미 세팅되어 있으므로 초기화해야 한다.
// 서손사유 수정시도 답변내용보기를 했을 수 있으므로 초기화해야 한다.
// 서손취소시도 답변내용이 부과 기본 내용으로 바꾸이야 하므로 초기화해야 한다.
with qryAnswer_SetTextNull do begin
ParamByName('AS_MMCODE').AsString := MainInfo.mm_code;
ExecSQL;
end;
//표지정보 확인여부가 조회미대상이면 -> 미확인 으로
//혹시 차적조회가 안되었으면? 놔두자 차적조회되면 그 때 표지정보 BJ_Send가 처리할테니
if MainInfo.mm_carcheck = CARCHECK_STATE_IGNORE then
begin
with qryMain_SetCarCheck do begin
ParamByName('MM_CARCHECK').AsString := CARCHECK_STATE_BEFORE;
ParamByName('MM_CODE').AsString := MainInfo.mm_code;
ExecSQL;
end;
if MainCD <> nil then
begin
if MainCD.FindField('MM_CARCHECK') <> nil then
begin
MainCD.Edit;
MainCD.FieldByName('MM_CARCHECK').AsString := CARCHECK_STATE_BEFORE;
MainCD.Post;
end;
end;
end;
end;
*/
}
// 처리 성공
retSuccess = true;

@ -42,34 +42,22 @@
<include refid="utility.paging-prefix" />
<include refid="select" />
<where>
<if test="sttsHstryId != null">
AND STTS_HSTRY_ID = #{sttsHstryId}
</if>
<if test="crdnId != null">
AND CRDN_ID = #{crdnId}
</if>
<if test="useYn != null">
AND USE_YN = #{useYn}
</if>
</where>
<include refid="utility.orderBy" />
<include refid="utility.paging-suffix" />
</select>
<select id="selectCrdnSttsHstrys" parameterType="map" resultMap="crdnSttsHstryRow">/* 단속 상태 이력 객체 가져오기(crdnSttsHstryMapper.selectCrdnSttsHstrys) */
<select id="selectCrdnSttsHstrys" parameterType="map" resultType="dataobject">/* 단속 상태 이력 객체 가져오기(crdnSttsHstryMapper.selectCrdnSttsHstrys) */
<include refid="select" />
<where>
<if test="sttsHstryId != null">
AND STTS_HSTRY_ID = #{sttsHstryId}
</if>
<if test="crdnId != null">
AND CRDN_ID = #{crdnId}
</if>
<if test="crdnSttsCd != null">
AND CRDN_STTS_CD = #{crdnSttsCd}
</if>
<if test="taskDtlId != null">
AND TASK_DTL_ID = #{taskDtlId}
</if>
</where>
<include refid="utility.orderBy" />
WHERE CRDN_ID = #{crdnId}
AND USE_YN = 'Y'
ORDER BY CRDN_ID, REG_DT DESC
</select>
<insert id="insertCrdnSttsHstry" parameterType="map">/* 단속 상태 이력 등록(crdnSttsHstryMapper.insertCrdnSttsHstry) */

@ -31,6 +31,8 @@
<sql id="selectList">
SELECT A.LEVY_EXCL_ID /* 부과제외 ID */
, A.SGG_CD /* 시군구 코드 */
, A.TASK_SE_CD /* 업무 구분 코드 */
, A.CRDN_ID /* 단속 ID */
, A.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM021', A.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM /* 부과 제외 구분 명 */
@ -46,8 +48,8 @@
, A.DEL_DT /* 삭제 일시 */
, A.DLTR /* 삭제자 */
, A.DEL_RSN /* 삭제 사유 */
, C.SGG_CD /* 시군구 코드 */
, C.TASK_SE_CD /* 업무 구분 코드 */
, C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM026', C.CRDN_REG_SE_CD) FROM DUAL) AS CRDN_REG_SE_NM /* 단속 등록 구분 명 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, C.CRDN_SE_CD /* 단속 구분 코드 */
@ -163,6 +165,8 @@
<sql id="select">
SELECT A.LEVY_EXCL_ID /* 부과제외 ID */
, A.SGG_CD /* 시군구 코드 */
, A.TASK_SE_CD /* 업무 구분 코드 */
, A.CRDN_ID /* 단속 ID */
, A.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */
, A.LEVY_EXCL_YMD /* 부과제외 일자 */
@ -176,22 +180,34 @@
, A.DEL_DT /* 삭제 일시 */
, A.DLTR /* 삭제자 */
, A.DEL_RSN /* 삭제 사유 */
, C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, C.CRDN_SE_CD /* 단속 구분 코드 */
, C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */
, C.VHRNO /* 차량번호 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
FROM TB_LEVY_EXCL A
INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID)
</sql>
<select id="selectLevyExcl" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(excl01Mapper.selectLevyExcl) */
<include refid="select" />
WHERE A.DEL_YN = 'N' /* 삭제 여부 */
<where>
<if test="levyExclId != null">
AND A.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */
</if>
<if test="crdnId != null">
AND A.CRDN_ID = #{crdnId} /* 단속 ID */
</if>
<include refid="utility.orderBy" />
<if test="delYn != null">
AND A.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</where>
</select>
<insert id="insert" parameterType="map">/* 부과제외 대장 등록(excl01Mapper.insertLevyExcl) */
<insert id="insertLevyExcl" parameterType="map">/* 부과제외 대장 등록(excl01Mapper.insertLevyExcl) */
<selectKey resultType="string" keyProperty="excl01.levyExclId" keyColumn="NEW_ID" order="BEFORE">
SELECT LPAD(IFNULL(MAX(LEVY_EXCL_ID) + 1, 1), 20, '0') NEW_ID FROM TB_LEVY_EXCL
</selectKey>
@ -228,7 +244,7 @@
)
</insert>
<update id="update" parameterType="map">/* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */
<update id="updateLevyExcl" parameterType="map">/* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */
UPDATE TB_LEVY_EXCL
SET LEVY_EXCL_YMD = #{excl01.levyExclYmd} /* 부과 제외 일자 */
, LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */
@ -240,7 +256,7 @@
AND DEL_YN = 'N' /* 삭제 여부 */
</update>
<update id="delete" parameterType="map">/* 부과제외 대장 삭제(excl01Mapper.deleteLevyExcl) */
<update id="deleteLevyExcl" parameterType="map">/* 부과제외 대장 삭제(excl01Mapper.deleteLevyExcl) */
UPDATE TB_LEVY_EXCL
SET DEL_YN = 'Y' /* 삭제 여부 */
, DEL_DT = #{excl01.lastModified} /* 삭제 일시 */
@ -291,6 +307,7 @@
, B.LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */
, B.LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */
, B.ETC_CN /* 기타 내용 */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
FROM TB_CRDN A
LEFT OUTER JOIN TB_LEVY_EXCL B ON (A.CRDN_ID = B.CRDN_ID AND B.DEL_YN = 'N')
WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
@ -299,7 +316,14 @@
<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 */

Loading…
Cancel
Save