main
jjh 11 months ago
parent 049ebe0a18
commit 80e4829a5b

@ -145,7 +145,8 @@ public class Excl01Controller extends ApplicationController {
return mav
.addObject("message", "이미 등록된 부과제외 정보가 있습니다.")
.addObject("rtnMsg", "[F] 이미 등록된 부과제외 정보가 있습니다.")
.addObject("rtnScs", false)
.addObject("rtnMsg", "이미 등록된 부과제외 정보가 있습니다.")
;
} else {
boolean json = jsonResponse();
@ -160,6 +161,7 @@ public class Excl01Controller extends ApplicationController {
return mav
.addObject("saveCallbackFuncName", saveCallbackFuncName) //
.addObject("savedCallbackFuncName", savedCallbackFuncName) //
.addObject("rtnScs", true)
.addObject("pageName", "excl01020") //
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM021List", commonCodes.get("FIM021")) // 부과 제외 구분 코드(LEVY_EXCL_SE_CD)

@ -74,11 +74,11 @@ public class Excl02Controller extends ApplicationController {
addCodes(commonCodes, mav, "FIM021", "FIM022");
return mav
.addObject("pageName", "excl02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "opnnSbmsn") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 답변 결과(OPNN_SBMSN_STTS_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("pageName", "excl02010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "opnnSbmsn") // prefix
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("FIM031List", commonCodes.get("FIM031")) // 의견 제출 답변 결과(OPNN_SBMSN_STTS_CD)
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
;
}
@ -115,6 +115,7 @@ public class Excl02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView("jsonView");
return mav
.addObject("rtnScs", false)
.addObject("rtnMsg", "이미 등록된 의견제출 정보가 있습니다.")
;
} else {
@ -126,6 +127,7 @@ public class Excl02Controller extends ApplicationController {
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM019", "FIM029", "FIM030", "FIM032", "FIM033", "FIM054");
return mav
.addObject("rtnScs", true)
.addObject("pageName", "excl02020")
.addObject("callPurpose", req.getCallPurpose()) // 호출 용도
.addObject("FIM029List", commonCodes.get("FIM029")) // 접수 구분 코드(RCPT_SE_CD)

@ -95,31 +95,31 @@ public class RductBean extends AbstractComponent {
*/
public String createRduct(Rduct rduct) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 단속 ID로 단속, 감경 정보 조회
DataObject infoCrdnRduct = rductMapper.selectCrdnInfo(rduct.getCrdnId());
// 감경 ID가 있다면 이미 부과제외 자료가 존재하므로 종료..
if (!infoCrdnRduct.string("RDUCT_ID").equals("")) {
retMessage = "[F] 작업 중 이미 등록된 자료가 존재합니다.";
return retMessage;
rtnMsg = "[F] 작업 중 이미 등록된 자료가 존재합니다.";
return rtnMsg;
}
// 단속 상태 코드(CRDN_STTS_CD) 확인하여 부과(51) 이후라면..
if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() > 51) {
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다.";
return retMessage;
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다.";
return rtnMsg;
}
// 부과 가산금(LEVY_ADAMT)이 있다면..
if (infoCrdnRduct.number("LEVY_ADAMT").intValue() > 0) {
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>부과 가산금이 존재합니다.";
return retMessage;
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>부과 가산금이 존재합니다.";
return rtnMsg;
}
// 과태료 감경(TB_RDUCT) 대장을 등록 한다.
retSuccess = rductMapper.insert(rduct);
if (!retSuccess) {
rtnScs = rductMapper.insert(rduct);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("과태료 감경 대장 등록에 실패하였습니다.");
}
@ -138,8 +138,8 @@ public class RductBean extends AbstractComponent {
crdn.setFfnlgAmt(ffnlgAmt); // 과태료 금액
crdn.setAdvntceAmt(advntceAmt); // 사전통지 금액
retSuccess = rductMapper.updateCrdn(crdn);
if (!retSuccess) {
rtnScs = rductMapper.updateCrdn(crdn);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 등록 중 단속대장 금액 수정에 실패하였습니다.");
}
@ -177,16 +177,16 @@ public class RductBean extends AbstractComponent {
int sumAmt = levy.getLevyPcptax() - infoCrdnRduct.number("RCVMT_PCPTAX").intValue() - infoCrdnRduct.number("RDCAMT_PCPTAX").intValue();
levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 - 수납 본세 - 감액 본세
retSuccess = rductMapper.updateLevy(levy);
if (!retSuccess) {
rtnScs = rductMapper.updateLevy(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다.");
}
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
/** .
@ -198,19 +198,19 @@ public class RductBean extends AbstractComponent {
*/
public String updateRduct(Rduct rduct) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessagae = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 과태료 감경(TB_RDUCT) 대장을 수정 한다.
retSuccess = rductMapper.update(rduct);
if (!retSuccess) {
rtnScs = rductMapper.update(rduct);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("과태료 감경 대장 수정에 실패하였습니다.");
}
retMessagae = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessagae;
return rtnMsg;
}
/** .
@ -222,8 +222,8 @@ public class RductBean extends AbstractComponent {
*/
public String removeRduct(Rduct rduct) {
// 변수 선언
boolean retSuccess = false; // DB 처리 결과
String retMessage = "[F] "; // 처리 결과 메시지
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
// 단속 ID로 단속, 감경 정보 조회
LevyQuery req = new LevyQuery();
@ -235,23 +235,23 @@ public class RductBean extends AbstractComponent {
// 감경 ID가 조회되지 않았다면 종료..
if (infoCrdnRduct.string("RDUCT_ID").equals("")) {
retMessage = "[F] 작업 중 자료가 존재하지 않습니다.";
return retMessage;
rtnMsg = "[F] 작업 중 자료가 존재하지 않습니다.";
return rtnMsg;
}
// 단속 상태 코드(CRDN_STTS_CD) 확인하여 부과(51) 이후라면..
if (infoCrdnRduct.number("CRDN_STTS_CD").intValue() > 51) {
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다.";
return retMessage;
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>현재 자료의 단속 상태가 " + infoCrdnRduct.string("CRDN_STTS_NM") + " 상태 입니다.";
return rtnMsg;
}
// 부과 가산금(LEVY_ADAMT)이 있다면..
if (infoCrdnRduct.number("LEVY_ADAMT").intValue() > 0) {
retMessage = "[F] 작업 중 오류가 발생하였습니다.<br>부과 가산금이 존재합니다.";
return retMessage;
rtnMsg = "[F] 작업 중 오류가 발생하였습니다.<br>부과 가산금이 존재합니다.";
return rtnMsg;
}
// 감경(TB_RDUCT) 대장을 삭제 한다.
retSuccess = rductMapper.delete(rduct);
if (!retSuccess) {
rtnScs = rductMapper.delete(rduct);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 대장 삭제에 실패하였습니다.");
}
@ -271,8 +271,8 @@ public class RductBean extends AbstractComponent {
crdn.setFfnlgAmt(ffnlgAmt); // 과태료 금액
crdn.setAdvntceAmt(advntceAmt); // 사전통지 금액
retSuccess = rductMapper.updateCrdn(crdn);
if (!retSuccess) {
rtnScs = rductMapper.updateCrdn(crdn);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 취소 중 단속대장 금액 수정에 실패하였습니다.");
}
@ -312,16 +312,16 @@ public class RductBean extends AbstractComponent {
- infoCrdnRduct.number("RDCAMT_PCPTAX").intValue() - infoCrdnRduct.number("RDCAMT_ADAMT").intValue();
levy.setSumAmt(sumAmt); // 합계 금액 = 부과 본세 + 부과 가산금 + 분납 이자 - 수납 본세 - 수납 가산금 - 감액 본세 - 감액 가산금
retSuccess = rductMapper.updateLevy(levy);
if (!retSuccess) {
rtnScs = rductMapper.updateLevy(levy);
if (!rtnScs) {
// 예외를 발생시켜서 오류메세지를 보내고 DB Rollback
throw new RuntimeException("감경 등록 중 부과대장 금액 수정에 실패하였습니다.");
}
}
retMessage = "[S] 작업이 정상 처리 되었습니다.";
rtnMsg = "[S] 작업이 정상 처리 되었습니다.";
return retMessage;
return rtnMsg;
}
}

@ -71,12 +71,12 @@ public class RductServiceBean extends AbstractServiceBean implements RductServic
@Override
public String removeRducts(LevyQuery req) {
// 변수 선언
String retMessage = ""; // 처리 결과 메시지
String rtnMsg = ""; // 처리 결과 메시지
// 감경 IDs 건수를 확인하여 1건이하면.. 종료
if (req.getRductIDs().length < 1 ) {
retMessage = "작업 중 선택 자료가 존재하지 않습니다.";
return retMessage;
rtnMsg = "작업 중 선택 자료가 존재하지 않습니다.";
return rtnMsg;
}
// 감경 IDs 만큼 반복..
@ -87,14 +87,14 @@ public class RductServiceBean extends AbstractServiceBean implements RductServic
rduct.setDelRsn(req.getDelRsn()); // 삭제 사유
// 과태료 감경 삭제 호출
retMessage = rductBean.removeRduct(rduct);
rtnMsg = rductBean.removeRduct(rduct);
// 오류가 발생하였으면 종료..
if (retMessage.contains("[F]")) {
return retMessage;
if (rtnMsg.contains("[F]")) {
return rtnMsg;
}
}
return retMessage;
return rtnMsg;
}
}

@ -97,52 +97,6 @@ public class Levy02Controller extends ApplicationController {
return setCollectionInfo(new ModelAndView("jsonView"), result, "");
}
/** .
* @param rductId ID
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
public ModelAndView removeRduct(Rduct rduct) {
boolean saved = false;
String retMessage = rductService.removeRduct(rduct);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
}
/** .
* @param rductIDs IDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
public ModelAndView removeRductList(LevyQuery req) {
boolean saved = false;
String retMessage = rductService.removeRducts(req);
if (retMessage.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
}
/** ID (info) .
* @param req
* @return fims/levy/levy02020-info jsonView
@ -151,17 +105,23 @@ public class Levy02Controller extends ApplicationController {
* }</pre>
*/
public ModelAndView getRductInfo(LevyQuery req) {
//
DataObject rductInfo = rductService.getRductInfo(req);
// 등록을 호출하였지만 등록된 감경 ID가 있는지 확인.
if (req.getCallPurpose().equals("create") && !rductInfo.string("RDUCT_ID").equals("")) {
ModelAndView mav = new ModelAndView("jsonView");
return mav.addObject("retMessage", "이미 등록된 과태료 감경 정보가 있습니다.");
return mav
.addObject("rtnScs", false)
.addObject("rtnMsg", "이미 등록된 과태료 감경 정보가 있습니다.")
;
} else if (req.getCallPurpose().equals("create") && rductInfo.string("RTPYR_ID").equals("")) {
ModelAndView mav = new ModelAndView("jsonView");
return mav.addObject("retMessage", "납부자 정보가 없습니다.");
return mav
.addObject("rtnScs", false)
.addObject("rtnMsg", "납부자 정보가 없습니다.");
} else {
boolean json = jsonResponse();
@ -171,6 +131,7 @@ public class Levy02Controller extends ApplicationController {
Map<String, List<CommonCode>> commonCodes = getCodesOf("FIM019");
return mav
.addObject("rtnScs", true)
.addObject("pageName", "levy02020")
.addObject("FIM019List", commonCodes.get("FIM019")) // 감경 사유 구분 코드(RDUCT_RSN_CD)
.addObject("rductInfo", json ? rductInfo : toJson(rductInfo))
@ -187,9 +148,9 @@ public class Levy02Controller extends ApplicationController {
*/
public ModelAndView createRduct(Rduct rduct) {
boolean saved = false;
String retMessage = rductService.createRduct(rduct);
String rtnMsg = rductService.createRduct(rduct);
if (retMessage.contains("[S]")) {
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
@ -197,7 +158,7 @@ public class Levy02Controller extends ApplicationController {
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
.addObject("rtnMsg", rtnMsg);
}
/** .
@ -209,9 +170,9 @@ public class Levy02Controller extends ApplicationController {
*/
public ModelAndView updateRduct(Rduct rduct) {
boolean saved = false;
String retMessage = rductService.updateRduct(rduct);
String rtnMsg = rductService.updateRduct(rduct);
if (retMessage.contains("[S]")) {
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
@ -219,7 +180,53 @@ public class Levy02Controller extends ApplicationController {
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("retMessage", retMessage);
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param rductId ID
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
public ModelAndView removeRduct(Rduct rduct) {
boolean saved = false;
String rtnMsg = rductService.removeRduct(rduct);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
/** .
* @param rductIDs IDs
* @return jsonView
* <pre><code> {
* "affected":
* "saved": true, false
* }</code></pre>
*/
public ModelAndView removeRductList(LevyQuery req) {
boolean saved = false;
String rtnMsg = rductService.removeRducts(req);
if (rtnMsg.contains("[S]")) {
saved = true;
} else {
saved = false;
}
return new ModelAndView("jsonView")
.addObject("saved", saved)
.addObject("rtnMsg", rtnMsg);
}
}

@ -376,7 +376,9 @@ public class Sprt02Controller extends ApplicationController {
ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02050-info");
mav.addObject("pageName", "sprt02050")
mav
.addObject("rtnScs", true)
.addObject("pageName", "sprt02050")
.addObject("pageNameMain", "sprt02010")
.addObject("pageDataName1", "Rduct") // dataset1
.addObject("rduct", json ? rduct : toJson(rduct)) // 과태료 감경 정보

@ -58,7 +58,7 @@
, (SELECT GET_CODE_NM('FIM003', C.CRDN_INPT_SE_CD) FROM DUAL) AS CRDN_INPT_SE_NM /* 단속 입력 구분 명 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
FROM TB_CRDN_RE_REG CRR
INNER JOIN TB_CRDN C ON (CRR.CRDN_ID = C.CRDN_ID)
LEFT OUTER JOIN TB_CRDN C ON (CRR.CRDN_ID = C.CRDN_ID)
</sql>
<select id="selectCrdnReRegList" parameterType="map" resultType="dataobject">/* 단속 재등록 목록 조회(crdnReRegMapper.selectCrdnReRegList) */
@ -84,6 +84,10 @@
<if test = "schVhrno != null">
AND C.VHRNO = #{schVhrno} /* 차량번호 */
</if>
<if test="delYN != null">
AND CRR.DEL_YN = #{delYN} /* 삭제 여부 */
</if>
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
<choose>
<when test="schDetailRegDtOpt == 'regDt'">
<if test="schDetailRegDtFrom != null">
@ -118,10 +122,6 @@
<otherwise>
</otherwise>
</choose>
<if test="delYN != null">
AND CRR.DEL_YN = #{delYN} /* 삭제 여부 */
</if>
AND C.DEL_YN = 'N'
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
@ -153,19 +153,19 @@
<include refid="select" />
<where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
</if>
<if test="reRegIDs != null">
AND CRR.RE_REG_ID IN ( /* 재등록 ID */
AND CRR.RE_REG_ID IN ( /* 재등록 ID */
<foreach collection="reRegIDs" item="reRegId" separator=","> #{reRegId} </foreach>
)
</if>
<if test="reRegId != null">
AND CRR.RE_REG_ID = #{reRegId} /* 재등록 ID */
AND CRR.RE_REG_ID = #{reRegId} /* 재등록 ID */
</if>
<if test="delYN != null">
AND CRR.DEL_YN = #{delYN} /* 삭제 여부 */
AND CRR.DEL_YN = #{delYN} /* 삭제 여부 */
</if>
</where>
<include refid="utility.orderBy" />

@ -270,23 +270,20 @@
LEFT OUTER JOIN TB_LEVY_EXCL LE ON (C.CRDN_ID = LE.CRDN_ID AND LE.DEL_YN = 'N')
</sql>
<select id="selectLevyExcls" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(levyExclMapper.selectLevyExcl) */
<select id="selectLevyExcls" parameterType="map" resultType="dataobject">/* 부과제외 대장 객체 가져오기(levyExclMapper.selectLevyExcls) */
<include refid="select" />
<where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.DEL_YN = 'N' /* 삭제 여부 */
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.DEL_YN = 'N' /* 삭제 여부 */
</if>
<if test="levyExclIDs != null">
AND LE.LEVY_EXCL_ID IN ( /* 부과 제외 IDs */
AND LE.LEVY_EXCL_ID IN ( /* 부과 제외 IDs */
<foreach collection="levyExclIDs" item="levyExclId" separator=","> #{levyExclId} </foreach>
)
</if>
<if test="levyExclId != null">
AND LE.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */
</if>
<if test="delYN != null">
AND LE.DEL_YN = #{delYN} /* 삭제 여부 */
AND LE.LEVY_EXCL_ID = #{levyExclId} /* 부과 제외 ID */
</if>
</where>
<include refid="utility.orderBy" />
@ -300,19 +297,19 @@
</selectKey>
INSERT
INTO TB_LEVY_EXCL (
LEVY_EXCL_ID /* 부과 제외 ID */
, SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */
, CRDN_ID /* 단속 ID */
, LEVY_EXCL_YMD /* 부과 제외 일자 */
, LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */
, LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */
, ETC_CN /* 기타 내용 */
, DEL_YN /* 삭제 여부 */
, REG_DT /* 등록 일시*/
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
LEVY_EXCL_ID /* 부과 제외 ID */
, SGG_CD /* 시군구 코드 */
, TASK_SE_CD /* 업무 구분 코드 */
, CRDN_ID /* 단속 ID */
, LEVY_EXCL_YMD /* 부과 제외 일자 */
, LEVY_EXCL_SE_CD /* 부과 제외 구분 코드 */
, LEVY_EXCL_RSN_CD /* 부과 제외 사유 코드 */
, ETC_CN /* 기타 내용 */
, DEL_YN /* 삭제 여부 */
, REG_DT /* 등록 일시*/
, RGTR /* 등록자 */
, MDFCN_DT /* 수정 일시 */
, MDFR /* 수정자 */
)
VALUES (
#{levyExcl.levyExclId} /* 부과 제외 ID */

@ -163,6 +163,10 @@
<if test="schCrdnYmdTo != null">
AND C.CRDN_YMD <![CDATA[<=]]> #{schCrdnYmdTo} /* 단속 일자 종료 */
</if>
<if test="delYN != null">
AND OS.DEL_YN = #{delYN} /* 삭제 여부 */
</if>
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
<choose>
<when test="schDetailRegDtOpt == 'regDt'">
<if test="schDetailRegDtFrom != null">
@ -197,10 +201,6 @@
<otherwise>
</otherwise>
</choose>
<if test="delYN != null">
AND OS.DEL_YN = #{delYN} /* 삭제 여부 */
</if>
AND C.DEL_YN = 'N' /* 단속 삭제 여부 */
<if test="by != null and by != '' and term != null">
<choose>
<when test="mainOption == 'codeValue' or mainOption == 'match' or mainOption == 'ymd'">
@ -295,8 +295,8 @@
WHERE C.SGG_CD = T.SGG_CD AND C.TASK_SE_CD = T.TASK_SE_CD
AND T.USE_YN = 'Y') AS RDUCT_AMT /* 감경 금액 */
FROM TB_CRDN C
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_OPNN_SBMSN OS ON (C.CRDN_ID = OS.CRDN_ID AND OS.DEL_YN = 'N')
LEFT OUTER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_OPNN_SBMSN OS ON (C.CRDN_ID = OS.CRDN_ID AND OS.DEL_YN = 'N')
</sql>
<select id="selectOpnnSbmsns" parameterType="map" resultType="dataobject">/* 의견제출 대장 객체 가져오기(opnnSbmsnMapper.selectOpnnSbmsns) */
@ -314,9 +314,6 @@
<if test="opnnId != null">
AND OS.OPNN_ID = #{opnnId} /* 의견제출 ID */
</if>
<if test="delYN != null">
AND OS.DEL_YN = #{delYN} /* 삭제 여부 */
</if>
</where>
<include refid="utility.orderBy" />
</select>

@ -502,7 +502,7 @@
<where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.DEL_YN = 'N' /* 삭제 여부 */
AND C.DEL_YN = 'N' /* 삭제 여부 */
</if>
<if test="levyIDs != null">
AND L.LEVY_ID IN ( /* 부과 IDs */

@ -137,6 +137,13 @@
, C.FFNLG_AMT /* 과태료 금액 */
, C.ADVNTCE_AMT /* 사전통지금액 */
, C.CRDN_STTS_CD /* 단속 상태 코드 */
, CONCAT(C.CRDN_YMD,C.CRDN_TM) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, L.LEVY_ID /* 부과 ID */
, L.SUM_AMT /* 합계 금액 */
, L.LEVY_PCPTAX + LEVY_ADAMT AS LEVY_AMT /* 부과 금액 */
, L.RCVMT_PCPTAX + RCVMT_ADAMT AS RCVMT_AMT /* 수납 금액 */
, L.RDCAMT_PCPTAX + RDCAMT_ADAMT AS RDCAMT_AMT /* 감액 금액 */
, P.RTPYR_ID /* 납부자 ID */
, P.RTPYR_NO /* 납부자 번호 */
, P.RTPYR_NM /* 납부자 명 */
@ -153,37 +160,26 @@
, R.DEL_DT /* 삭제 일시 */
, R.DLTR /* 삭제자 */
, R.DEL_RSN /* 삭제 사유 */
, L.LEVY_ID /* 부과 ID */
, L.SUM_AMT /* 합계 금액 */
, L.LEVY_PCPTAX + LEVY_ADAMT AS LEVY_AMT /* 부과 금액 */
, L.RCVMT_PCPTAX + RCVMT_ADAMT AS RCVMT_AMT /* 수납 금액 */
, L.RDCAMT_PCPTAX + RDCAMT_ADAMT AS RDCAMT_AMT /* 감액 금액 */
, CONCAT(C.CRDN_YMD,C.CRDN_TM) AS CRDN_YMD_TM /* 단속 일시 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
, (SELECT GET_CODE_NM('FIM019', R.RDUCT_RSN_CD) FROM DUAL) AS RDUCT_RSN_NM /* 감경 사유 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.RGTR) AS RGTR_NM /* 등록자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.MDFR) AS MDFR_NM /* 수정자 명 */
, (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = R.DLTR) AS DLTR_NM /* 삭제자 명 */
FROM TB_CRDN C
INNER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_RDUCT R ON (C.CRDN_ID = R.CRDN_ID AND R.DEL_YN = 'N')
LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N')
INNER JOIN TB_PAYER P ON (C.RTPYR_ID = P.RTPYR_ID)
LEFT OUTER JOIN TB_LEVY L ON (C.CRDN_ID = L.CRDN_ID AND L.DEL_YN = 'N')
LEFT OUTER JOIN TB_RDUCT R ON (C.CRDN_ID = R.CRDN_ID AND R.DEL_YN = 'N')
</sql>
<select id="selectRducts" parameterType="map" resultType="dataobject">/* 과태료 감경 대장 객체 가져오기(rductMapper.selectRducts) */
<include refid="select" />
<choose>
<when test="crdnId != null">
WHERE C.CRDN_ID = #{crdnId} /* 단속 ID */
<where>
<if test="crdnId != null">
AND C.CRDN_ID = #{crdnId} /* 단속 ID */
AND C.DEL_YN = #{delYN} /* 삭제 여부 */
</when>
<otherwise>
WHERE R.RDUCT_ID = #{rductId} /* 감경 ID */
</otherwise>
</choose>
<if test="delYN != null">
AND R.DEL_YN = #{delYN} /* 삭제 여부 */
</if>
</if>
<if test="rductId != null">
AND R.RDUCT_ID = #{rductId} /* 감경 ID */
</if>
<include refid="utility.orderBy" />
</select>
@ -271,7 +267,7 @@
, L.RDCAMT_ADAMT /* 감액 가산금 */
, R.RDUCT_ID /* 감경 ID */
, <include refid="utility.today" /> AS TODAY /* 오늘 일자 */
, C.FFNLG_CRDN_AMT * TI.WKSN_RDUCT_RT / 100 AS CALC_RDUCT_AMT /* 감경 금액 */
, C.FFNLG_CRDN_AMT * T.WKSN_RDUCT_RT / 100 AS CALC_RDUCT_AMT /* 감경 금액 */
, (SELECT GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */
FROM TB_CRDN C
INNER JOIN TB_TASK T ON (C.SGG_CD = T.SGG_CD AND C.TASK_SE_CD = T.TASK_SE_CD AND T.USE_YN = 'Y')

@ -21,18 +21,18 @@
<!-- 납부자 명 -->
<div class="col-md-6">
<label for="rtpyrNm--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자명</label>
<input type="text" class="form-control w-px-120" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" readonly />
<input type="text" class="form-control w-40" id="rtpyrNm--${pageName}" name="rtpyrNm" data-map="RTPYR_NM" readonly />
</div>
<!-- 납부자 번호 -->
<div class="col-md-6">
<label for="rtpyrNo--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">납부자번호</label>
<input type="text" class="form-control w-50" id="rtpyrNo--${pageName}" name="rtpyrNo" data-map="RTPYR_NO" readonly />
<input type="text" class="form-control w-30" id="rtpyrNo--${pageName}" name="rtpyrNo" data-map="RTPYR_NO" readonly />
</div>
<!-- 과태료 단속 금액 -->
<div class="col-md-6">
<label for="ffnlgCrdnAmt--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">단속금액</label>
<input type="text" class="form-control w-30 text-end" id="ffnlgCrdnAmt--${pageName}" name="ffnlgCrdnAmt" data-map="FFNLG_CRDN_AMT" data-fmt-type="number" readonly /> *
<input type="text" class="form-control w-15 text-end" id="wksnRductRt--${pageName}" name="wksnRductRt" data-map="WKSN_RDUCT_RT" data-fmt-type="number" readonly /> %
<input type="text" class="form-control w-20 text-end" id="ffnlgCrdnAmt--${pageName}" name="ffnlgCrdnAmt" data-map="FFNLG_CRDN_AMT" data-fmt-type="number" readonly /> *
<input type="text" class="form-control w-10 text-end" id="wksnRductRt--${pageName}" name="wksnRductRt" data-map="WKSN_RDUCT_RT" data-fmt-type="number" readonly /> %
</div>
<!-- 감경 금액 -->
<div class="col-md-6">
@ -58,7 +58,7 @@
<!-- 기타 내용 -->
<div class="col-md-12">
<label for="etcCn--${pageName}" class="w-px-120 bg-lighter pe-2 col-form-label text-sm-end">기타 내용</label>
<textarea type="text" class="form-control w-80" id="etcCn--${pageName}" name="etcCn" data-map="ETC_CN" rows="3" data-maxlengthb="1000"></textarea>
<textarea type="text" class="form-control w-85" id="etcCn--${pageName}" name="etcCn" data-map="ETC_CN" rows="3" data-maxlengthb="1000"></textarea>
</div>
</div>
</form> <!-- /입력 영역 -->

@ -241,20 +241,19 @@
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {}
, success : resp => {
if ((typeof resp) != "string") {
if (resp.rtnScs) { // 성공
dialog.open({
id : ${pageName}${pageDataName1}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : "lg"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
});
} else { // 실패
if (resp.rtnMsg != "") {
dialog.alert(resp.rtnMsg);
return;
}
}
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : "xl"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
});
}
});
}

@ -344,21 +344,19 @@
url : wctx.url(params.taskSeCd + ${pageName}${pageDataName1}PrefixUrl + "/020/info.do")
, data : params || {}
, success : resp => {
if ((typeof resp) != "string") {
if (resp.retMessage != "") {
dialog.alert(resp.retMessage);
return;
if (resp.rtnScs) { // 성공
dialog.open({
id : ${pageName}${pageDataName1}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : "lg"
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
});
} else { // 실패
if (resp.rtnMsg != "") {
dialog.alert(resp.rtnMsg);
}
}
dialog.open({
id : ${pageName}${pageDataName1}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : "lg"
, init : () => { }
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
});
}
});
}
@ -388,9 +386,9 @@
, success : resp => {
if ((typeof resp) != "string") {
if (resp.rtnMsg != "") {
dialog.alert(resp.rtnMsg.replace(/\[F\]/g, ""));
return;
dialog.alert(resp.rtnMsg);
}
return;
}
dialog.open({
@ -527,7 +525,7 @@
, data : params
, success : resp => {
let btnTitle = $("#btnRemoveRduct--${pageName}").attr("title");
let showMessage = resp.retMessage.replace(/[S]|[F]/g, btnTitle);
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력

Loading…
Cancel
Save