부과제외 삭제 기능 수정.

main
jjh 1 year ago
parent 66468dbbfb
commit c7b4e7a631

@ -16,4 +16,79 @@ public class CrdnSttsHstryQuery extends QueryRequest {
private static final long serialVersionUID = 1L; 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.component.AbstractMapper;
import cokr.xit.foundation.data.DataObject; import cokr.xit.foundation.data.DataObject;
import cokr.xit.fims.cmmn.CrdnSttsHstry; import cokr.xit.fims.cmmn.CrdnSttsHstry;
import cokr.xit.fims.cmmn.CrdnSttsHstryQuery; import cokr.xit.fims.cmmn.CrdnSttsHstryQuery;
@ -33,7 +32,16 @@ public interface CrdnSttsHstryMapper extends AbstractMapper {
* @param req * @param req
* @return * @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 * @param params

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

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

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

@ -98,12 +98,32 @@ public class Excl01 extends AbstractEntity {
*/ */
private String delRsn; private String delRsn;
// 필요해서 추가 /////////////////////////////////////////////////////////////////////
/** /**
* IDs * IDs
*/ */
private String[] levyExclIDs; 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); DataObject selectLevyExcl(Excl01Query req);
default DataObject selectLevyExclInfo(String levyExclId) { default DataObject selectLevyExclInfo(String levyExclId) {
DataObject levyExclInfo = selectLevyExcl(new Excl01Query().setLevyExclId(levyExclId)); return selectLevyExcl(new Excl01Query().setLevyExclId(levyExclId));
return levyExclInfo;
} }
/** . /** .
@ -48,7 +46,7 @@ public interface Excl01Mapper extends AbstractMapper {
* </ul> * </ul>
* @return * @return
*/ */
int insert(Map<String, Object> params); int insertLevyExcl(Map<String, Object> params);
/** . /** .
* @param excl01 * @param excl01
@ -57,18 +55,18 @@ public interface Excl01Mapper extends AbstractMapper {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
default boolean insertLevyExcl(Excl01 excl01) { default boolean insert(Excl01 excl01) {
return excl01 != null && insert(params().set("excl01", excl01)) == 1; return excl01 != null && insertLevyExcl(params().set("excl01", excl01)) == 1;
} }
/** . /** .
* @param excl * @param excl
* @return * @return
*/ */
int update(Map<String, Object> params); int updateLevyExcl(Map<String, Object> params);
default boolean updateLevyExcl(Excl01 excl01) { default boolean update(Excl01 excl01) {
return excl01 != null && update(params().set("excl01", excl01)) == 1; return excl01 != null && updateLevyExcl(params().set("excl01", excl01)) == 1;
} }
/** . /** .
@ -78,23 +76,22 @@ public interface Excl01Mapper extends AbstractMapper {
* <li> false</li> * <li> false</li>
* </ul> * </ul>
*/ */
int delete(Map<String, Object> params); int deleteLevyExcl(Map<String, Object> params);
default boolean deleteLevyExcl(Excl01 excl01) { default boolean delete(Excl01 excl01) {
return excl01 != null && delete(params().set("excl01", excl01)) >= 1; return excl01 != null && deleteLevyExcl(params().set("excl01", excl01)) >= 1;
} }
/** ID . /** ID .
* @param crdnId ID * @param crdnId ID
* @return * @return
*/ */
DataObject selectCrdn(Excl01Query req); DataObject selectCrdn(Excl01Query req);
default DataObject selectCrdn(String crdnId) { default DataObject selectCrdnInfo(String crdnId) {
DataObject levyExclInfo = selectCrdn(new Excl01Query().setCrdnId(crdnId)); DataObject crdnInfo = selectCrdn(new Excl01Query().setCrdnId(crdnId));
return levyExclInfo; return crdnInfo;
} }
/** ID , . /** ID , .

@ -63,7 +63,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean createLevyExclusion(Excl01 excl01) { public boolean createLevyExclusion(Excl01 excl01) {
return excl01Mapper.insertLevyExcl(excl01); return excl01Mapper.insert(excl01);
} }
/** . /** .
@ -74,7 +74,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean updateLevyExclusion(Excl01 excl01) { public boolean updateLevyExclusion(Excl01 excl01) {
return excl01Mapper.updateLevyExcl(excl01); return excl01Mapper.update(excl01);
} }
/** . /** .
@ -85,7 +85,7 @@ public class Excl01Bean extends AbstractComponent {
* </ul> * </ul>
*/ */
public boolean removeLevyExclusion(Excl01 excl01) { 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 처리 결과 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); retSuccess = excl01Bean.removeLevyExclusion(excl01);
// 단속(TB_CRDN) 대장 상태 코드 수정
retSuccess = excl01Bean.updateCrackdownStatus(excl01);
if (!retSuccess) { if (!retSuccess) {
return 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) 대장 상태 코드 수정
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; retSuccess = true;

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

@ -30,55 +30,57 @@
</resultMap> </resultMap>
<sql id="selectList"> <sql id="selectList">
SELECT A.LEVY_EXCL_ID /* 부과제외 ID */ SELECT A.LEVY_EXCL_ID /* 부과제외 ID */
, A.CRDN_ID /* 단속 ID */ , A.SGG_CD /* 시군구 코드 */
, A.LEVY_EXCL_SE_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 /* 부과 제외 구분 명 */ , (SELECT FN_GET_CODE_NM('FIM021', A.LEVY_EXCL_SE_CD) FROM DUAL) AS LEVY_EXCL_SE_NM /* 부과 제외 구분 명 */
, A.LEVY_EXCL_YMD /* 부과제외 일자 */ , A.LEVY_EXCL_YMD /* 부과제외 일자 */
, A.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */ , A.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */
, (SELECT FN_GET_CODE_NM('FIM022', A.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM /* 부과 제외 사유 명 */ , (SELECT FN_GET_CODE_NM('FIM022', A.LEVY_EXCL_RSN_CD) FROM DUAL) AS LEVY_EXCL_RSN_NM /* 부과 제외 사유 명 */
, A.ETC_CN /* 기타 내용 */ , A.ETC_CN /* 기타 내용 */
, A.DEL_YN /* 삭제 여부 */ , A.DEL_YN /* 삭제 여부 */
, A.REG_DT /* 등록 일시 */ , A.REG_DT /* 등록 일시 */
, A.RGTR /* 등록자 */ , A.RGTR /* 등록자 */
, A.MDFCN_DT /* 수정 일시 */ , A.MDFCN_DT /* 수정 일시 */
, A.MDFR /* 수정자 */ , A.MDFR /* 수정자 */
, A.DEL_DT /* 삭제 일시 */ , A.DEL_DT /* 삭제 일시 */
, A.DLTR /* 삭제자 */ , A.DLTR /* 삭제자 */
, A.DEL_RSN /* 삭제 사유 */ , A.DEL_RSN /* 삭제 사유 */
, C.SGG_CD /* 시군구 코드 */ , C.CRDN_REG_SE_CD /* 단속 등록 구분 코드 */
, C.TASK_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 /* 단속 입력 구분 코드 */ , C.CRDN_INPT_SE_CD /* 단속 입력 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */ , (SELECT FN_GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, C.CRDN_SE_CD /* 단속 구분 코드 */ , C.CRDN_SE_CD /* 단속 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM002', C.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */ , (SELECT FN_GET_CODE_NM('FIM002', C.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 명 */
, C.CRDN_YMD /* 단속 일자 */ , C.CRDN_YMD /* 단속 일자 */
, C.CRDN_TM /* 단속 시각 */ , C.CRDN_TM /* 단속 시각 */
, (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */ , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */
, C.VHRNO /* 차량번호 */ , C.VHRNO /* 차량번호 */
, C.CRDN_STDG_NM /* 단속 법정동 명 */ , C.CRDN_STDG_NM /* 단속 법정동 명 */
, C.CRDN_ROAD_NM /* 단속 도로 명 */ , C.CRDN_ROAD_NM /* 단속 도로 명 */
, C.CRDN_PLC /* 단속 장소 */ , C.CRDN_PLC /* 단속 장소 */
, C.DTL_CRDN_PLC /* 상세 단속 장소 */ , C.DTL_CRDN_PLC /* 상세 단속 장소 */
, C.FFNLG_AMT /* 과태료 금액 */ , C.FFNLG_AMT /* 과태료 금액 */
, C.LEVY_AMT /* 부과 금액 */ , C.LEVY_AMT /* 부과 금액 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */ , C.CRDN_STTS_CD /* 단속 상태 코드 */
, (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ , (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, D.RTPYR_ID /* 납부자 ID */ , D.RTPYR_ID /* 납부자 ID */
, D.RTPYR_SE_CD /* 납부자 구분 코드 */ , D.RTPYR_SE_CD /* 납부자 구분 코드 */
, (SELECT FN_GET_CODE_NM('FIM011', D.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */ , (SELECT FN_GET_CODE_NM('FIM011', D.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */
, D.RTPYR_NO /* 납부자 번호 */ , D.RTPYR_NO /* 납부자 번호 */
, D.RTPYR_NM /* 납부자 명 */ , D.RTPYR_NM /* 납부자 명 */
, (SELECT FN_GET_BRDT_FORMAT(D.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_FORMAT /* 납부자 생년월일 */ , (SELECT FN_GET_BRDT_FORMAT(D.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_FORMAT /* 납부자 생년월일 */
, D.ZIP /* 우편번호 */ , D.ZIP /* 우편번호 */
, D.ADDR /* 주소 */ , D.ADDR /* 주소 */
, D.DTL_ADDR /* 상세 주소 */ , D.DTL_ADDR /* 상세 주소 */
, E.CVLCPT_LINK_ID /* 민원 연계 ID */ , E.CVLCPT_LINK_ID /* 민원 연계 ID */
, E.CVLCPT_RCPT_YMD /* 민원 접수 일자 */ , E.CVLCPT_RCPT_YMD /* 민원 접수 일자 */
, E.CVLCPT_APLY_NO /* 민원 신청 번호 */ , E.CVLCPT_APLY_NO /* 민원 신청 번호 */
, E.CVLCPT_RCPT_NO /* 민원 접수 번호 */ , E.CVLCPT_RCPT_NO /* 민원 접수 번호 */
, E.CVLCPT_APLCNT_NM /* 민원 신청인 명 */ , E.CVLCPT_APLCNT_NM /* 민원 신청인 명 */
, E.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */ , E.CVLCPT_PRCS_PIC_NM /* 민원 처리 담당자 명 */
FROM TB_LEVY_EXCL A FROM TB_LEVY_EXCL A
INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID) INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID)
LEFT OUTER JOIN TB_PAYER D ON (C.RTPYR_ID = D.RTPYR_ID) LEFT OUTER JOIN TB_PAYER D ON (C.RTPYR_ID = D.RTPYR_ID)
@ -88,70 +90,70 @@
<select id="selectLevyExclList" parameterType="map" resultType="dataobject">/* 부과제외 대장 목록 조회(excl01Mapper.selectLevyExclList) */ <select id="selectLevyExclList" parameterType="map" resultType="dataobject">/* 부과제외 대장 목록 조회(excl01Mapper.selectLevyExclList) */
<include refid="utility.paging-prefix" /> <include refid="utility.paging-prefix" />
<include refid="selectList" /> <include refid="selectList" />
WHERE A.DEL_YN = 'N' /* 삭제 여부 */ WHERE A.DEL_YN = 'N' /* 삭제 여부 */
AND C.SGG_CD = #{sggCd} /* 시군구 코드 */ AND C.SGG_CD = #{sggCd} /* 시군구 코드 */
AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */ AND C.TASK_SE_CD = #{taskSeCd} /* 업무 구분 코드 */
<choose> <choose>
<when test="schDateOpt == 'levyExclYmd'"> <when test="schDateOpt == 'levyExclYmd'">
<if test="schDateFrom != null"> <if test="schDateFrom != null">
AND A.LEVY_EXCL_YMD <![CDATA[ >= ]]> #{schDateFrom} /* 부과제외 일자 시작 */ AND A.LEVY_EXCL_YMD <![CDATA[ >= ]]> #{schDateFrom} /* 부과제외 일자 시작 */
</if> </if>
<if test="schDateTo != null"> <if test="schDateTo != null">
AND A.LEVY_EXCL_YMD <![CDATA[ <= ]]> #{schDateTo} /* 부과제외 일자 종료 */ AND A.LEVY_EXCL_YMD <![CDATA[ <= ]]> #{schDateTo} /* 부과제외 일자 종료 */
</if> </if>
</when> </when>
<when test="schDateOpt == 'crdnYmd'"> <when test="schDateOpt == 'crdnYmd'">
<if test="schDateFrom != null"> <if test="schDateFrom != null">
AND C.CRDN_YMD <![CDATA[ >= ]]> #{schDateFrom} /* 단속 일자 시작 */ AND C.CRDN_YMD <![CDATA[ >= ]]> #{schDateFrom} /* 단속 일자 시작 */
</if> </if>
<if test="schDateTo != null"> <if test="schDateTo != null">
AND C.CRDN_YMD <![CDATA[ <= ]]> #{schDateTo} /* 단속 일자 종료 */ AND C.CRDN_YMD <![CDATA[ <= ]]> #{schDateTo} /* 단속 일자 종료 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<if test = "schLevyExclSeCd != null"> <if test = "schLevyExclSeCd != null">
AND A.LEVY_EXCL_SE_CD = #{schLevyExclSeCd} /* 부과 제외 구분 코드 */ AND A.LEVY_EXCL_SE_CD = #{schLevyExclSeCd} /* 부과 제외 구분 코드 */
</if> </if>
<if test = "schVhrno != null"> <if test = "schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */ AND C.VHRNO = #{schVhrno} /* 차량번호 */
</if> </if>
<if test = "schRtpyrNm != null"> <if test = "schRtpyrNm != null">
AND D.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */ AND D.RTPYR_NM = #{schRtpyrNm} /* 납부자 명 */
</if> </if>
<choose> <choose>
<when test="schRegDateOpt == 'regDt'"> <when test="schRegDateOpt == 'regDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(A.REG_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 등록 일자 시작 */ AND SUBSTR(A.REG_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 등록 일자 시작 */
</if> </if>
<if test="schRegDateTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(A.REG_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 등록 일자 종료 */ AND SUBSTR(A.REG_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 등록 일자 종료 */
</if> </if>
</when> </when>
<when test="schRegDateOpt == 'mdfcnDt'"> <when test="schRegDateOpt == 'mdfcnDt'">
<if test="schRegDateFrom != null"> <if test="schRegDateFrom != null">
AND SUBSTR(A.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 수정 일자 시작 */ AND SUBSTR(A.MDFCN_DT,1,8) <![CDATA[ >= ]]> #{schRegDateFrom} /* 수정 일자 시작 */
</if> </if>
<if test="schRegDateTo != null"> <if test="schRegDateTo != null">
AND SUBSTR(A.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 수정 일자 종료 */ AND SUBSTR(A.MDFCN_DT,1,8) <![CDATA[ <= ]]> #{schRegDateTo} /* 수정 일자 종료 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
</otherwise> </otherwise>
</choose> </choose>
<if test="by != null and term != null"> <if test="by != null and term != null">
AND ${by} LIKE CONCAT('%', #{term}, '%') /* 동적 검색 */ AND ${by} LIKE CONCAT('%', #{term}, '%') /* 동적 검색 */
</if> </if>
<choose> <choose>
<when test="schDetailUserOpt == 'rgtr'"> <when test="schDetailUserOpt == 'rgtr'">
<if test="schDetailUserCd != null"> <if test="schDetailUserCd != null">
AND A.RGTR = #{schDetailUserCd} /* 등록자 코드 */ AND A.RGTR = #{schDetailUserCd} /* 등록자 코드 */
</if> </if>
</when> </when>
<when test="schDetailUserOpt == 'mdfr'"> <when test="schDetailUserOpt == 'mdfr'">
<if test="schDetailUserCd != null"> <if test="schDetailUserCd != null">
AND A.MDFR = #{schDetailUserCd} /* 수정자 코드 */ AND A.MDFR = #{schDetailUserCd} /* 수정자 코드 */
</if> </if>
</when> </when>
<otherwise> <otherwise>
@ -162,91 +164,105 @@
</select> </select>
<sql id="select"> <sql id="select">
SELECT A.LEVY_EXCL_ID /* 부과제외 ID */ SELECT A.LEVY_EXCL_ID /* 부과제외 ID */
, A.CRDN_ID /* 단속 ID */ , A.SGG_CD /* 시군구 코드 */
, A.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */ , A.TASK_SE_CD /* 업무 구분 코드 */
, A.LEVY_EXCL_YMD /* 부과제외 일자 */ , A.CRDN_ID /* 단속 ID */
, A.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */ , A.LEVY_EXCL_SE_CD /* 부과제외 구분 코드 */
, A.ETC_CN /* 기타 내용 */ , A.LEVY_EXCL_YMD /* 부과제외 일자 */
, A.DEL_YN /* 삭제 여부 */ , A.LEVY_EXCL_RSN_CD /* 부과제외 사유 코드 */
, A.REG_DT /* 등록 일시 */ , A.ETC_CN /* 기타 내용 */
, A.RGTR /* 등록자 */ , A.DEL_YN /* 삭제 여부 */
, A.MDFCN_DT /* 수정 일시 */ , A.REG_DT /* 등록 일시 */
, A.MDFR /* 수정자 */ , A.RGTR /* 등록자 */
, A.DEL_DT /* 삭제 일시 */ , A.MDFCN_DT /* 수정 일시 */
, A.DLTR /* 삭제자 */ , A.MDFR /* 수정자 */
, A.DEL_RSN /* 삭제 사유 */ , A.DEL_DT /* 삭제 일시 */
FROM TB_LEVY_EXCL A , 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> </sql>
<select id="selectLevyExcl" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(excl01Mapper.selectLevyExcl) */ <select id="selectLevyExcl" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(excl01Mapper.selectLevyExcl) */
<include refid="select" /> <include refid="select" />
WHERE A.DEL_YN = 'N' /* 삭제 여부 */ <where>
<if test="levyExclId != null"> <if test="levyExclId != null">
AND A.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */ AND A.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */
</if> </if>
<if test="crdnId != null"> <if test="crdnId != null">
AND A.CRDN_ID = #{crdnId} /* 단속 ID */ AND A.CRDN_ID = #{crdnId} /* 단속 ID */
</if> </if>
<include refid="utility.orderBy" /> <if test="delYn != null">
AND A.DEL_YN = #{delYn} /* 삭제 여부 */
</if>
</where>
</select> </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"> <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 SELECT LPAD(IFNULL(MAX(LEVY_EXCL_ID) + 1, 1), 20, '0') NEW_ID FROM TB_LEVY_EXCL
</selectKey> </selectKey>
INSERT INSERT
INTO TB_LEVY_EXCL ( INTO TB_LEVY_EXCL (
LEVY_EXCL_ID /* 부과 제외 ID */ LEVY_EXCL_ID /* 부과 제외 ID */
, SGG_CD /* 시군구 코드 */ , SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */ , TASK_SE_CD /* 업무 구분 코드 */
, CRDN_ID /* 단속 ID */ , CRDN_ID /* 단속 ID */
, LEVY_EXCL_YMD /* 부과 제외 일자 */ , LEVY_EXCL_YMD /* 부과 제외 일자 */
, LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */ , LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */
, LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */ , LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */
, ETC_CN /* 기타 내용 */ , ETC_CN /* 기타 내용 */
, DEL_YN /* 삭제 여부 */ , DEL_YN /* 삭제 여부 */
, REG_DT /* 등록 일시*/ , REG_DT /* 등록 일시*/
, RGTR /* 등록자 */ , RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */ , MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */ , MDFR /* 수정자 */
) )
VALUES ( VALUES (
#{excl01.levyExclId} /* 부과 제외 ID */ #{excl01.levyExclId} /* 부과 제외 ID */
, #{excl01.sggCd} /* 시군구 코드 */ , #{excl01.sggCd} /* 시군구 코드 */
, #{excl01.taskSeCd} /* 업무 구분 코드 */ , #{excl01.taskSeCd} /* 업무 구분 코드 */
, #{excl01.crdnId} /* 단속 ID */ , #{excl01.crdnId} /* 단속 ID */
, #{excl01.levyExclYmd} /* 부과 제외 일자 */ , #{excl01.levyExclYmd} /* 부과 제외 일자 */
, #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ , #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */
, #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ , #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */
, #{excl01.etcCn} /* 기타 내용 */ , #{excl01.etcCn} /* 기타 내용 */
, 'N' /* 삭제 여부 */ , 'N' /* 삭제 여부 */
, #{excl01.createdAt} /* 등록 일시 */ , #{excl01.createdAt} /* 등록 일시 */
, #{excl01.createdBy} /* 등록자 */ , #{excl01.createdBy} /* 등록자 */
, #{excl01.lastModified} /* 수정 일시 */ , #{excl01.lastModified} /* 수정 일시 */
, #{excl01.modifiedBy} /* 수정자 */ , #{excl01.modifiedBy} /* 수정자 */
) )
</insert> </insert>
<update id="update" parameterType="map">/* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */ <update id="updateLevyExcl" parameterType="map">/* 부과제외 대장 수정(excl01Mapper.updateLevyExcl) */
UPDATE TB_LEVY_EXCL UPDATE TB_LEVY_EXCL
SET LEVY_EXCL_YMD = #{excl01.levyExclYmd} /* 부과 제외 일자 */ SET LEVY_EXCL_YMD = #{excl01.levyExclYmd} /* 부과 제외 일자 */
, LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */ , LEVY_EXCL_SE_CD = #{excl01.levyExclSeCd} /* 부과 제외 구분 코드 */
, LEVY_EXCL_RSN_CD = #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */ , LEVY_EXCL_RSN_CD = #{excl01.levyExclRsnCd} /* 부과 제외 사유 코드 */
, ETC_CN = #{excl01.etcCn} /* 기타 내용 */ , ETC_CN = #{excl01.etcCn} /* 기타 내용 */
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */ , MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */ WHERE LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */
AND DEL_YN = 'N' /* 삭제 여부 */ AND DEL_YN = 'N' /* 삭제 여부 */
</update> </update>
<update id="delete" parameterType="map">/* 부과제외 대장 삭제(excl01Mapper.deleteLevyExcl) */ <update id="deleteLevyExcl" parameterType="map">/* 부과제외 대장 삭제(excl01Mapper.deleteLevyExcl) */
UPDATE TB_LEVY_EXCL UPDATE TB_LEVY_EXCL
SET DEL_YN = 'Y' /* 삭제 여부 */ SET DEL_YN = 'Y' /* 삭제 여부 */
, DEL_DT = #{excl01.lastModified} /* 삭제 일시 */ , DEL_DT = #{excl01.lastModified} /* 삭제 일시 */
, DLTR = #{excl01.modifiedBy} /* 삭제자 */ , DLTR = #{excl01.modifiedBy} /* 삭제자 */
, DEL_RSN = #{excl01.delRsn} /* 삭제 사유 */ , DEL_RSN = #{excl01.delRsn} /* 삭제 사유 */
WHERE DEL_YN = 'N' /* 삭제 여부 */ WHERE DEL_YN = 'N' /* 삭제 여부 */
<choose> <choose>
<when test="excl01.levyExclIDs != null"> <when test="excl01.levyExclIDs != null">
AND LEVY_EXCL_ID IN ( AND LEVY_EXCL_ID IN (
@ -254,7 +270,7 @@
) )
</when> </when>
<otherwise> <otherwise>
AND LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */ AND LEVY_EXCL_ID = #{excl01.levyExclId} /* 부과 제외 ID */
</otherwise> </otherwise>
</choose> </choose>
</update> </update>
@ -291,6 +307,7 @@
, B.LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */ , B.LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */
, B.LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */ , B.LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */
, B.ETC_CN /* 기타 내용 */ , B.ETC_CN /* 기타 내용 */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
FROM TB_CRDN A FROM TB_CRDN A
LEFT OUTER JOIN TB_LEVY_EXCL B ON (A.CRDN_ID = B.CRDN_ID AND B.DEL_YN = 'N') 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 */ WHERE A.CRDN_ID = #{crdnId} /* 단속 ID */
@ -299,7 +316,14 @@
<update id="updateCrdnSttsCd" parameterType="map">/* 단속 대장 수정(excl01Mapper.updateCrdnSttsCd) */ <update id="updateCrdnSttsCd" parameterType="map">/* 단속 대장 수정(excl01Mapper.updateCrdnSttsCd) */
UPDATE TB_CRDN UPDATE TB_CRDN
SET CRDN_STTS_CD = #{excl01.crdnSttsCd} /* 단속 상태 코드 */ 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" /> /* 단속 상태 변경 일시 */ , CRDN_STTS_CHG_DT = <include refid="utility.now" /> /* 단속 상태 변경 일시 */
</otherwise>
</choose>
, MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */ , MDFCN_DT = #{excl01.lastModified} /* 수정 일시 */
, MDFR = #{excl01.modifiedBy} /* 수정자 */ , MDFR = #{excl01.modifiedBy} /* 수정자 */
WHERE CRDN_ID = #{excl01.crdnId} /* 부과 제외 ID */ WHERE CRDN_ID = #{excl01.crdnId} /* 부과 제외 ID */

Loading…
Cancel
Save