1. 단속 재등록 불필요 소스 제거 및 소스 수정.

main
jjh 6 months ago
parent f7087d6247
commit ec86c5406d

@ -51,7 +51,7 @@ public interface CrdnReRegMapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
default boolean insert(CrdnReReg crdnReReg) {
default boolean insertCrdnReReg(CrdnReReg crdnReReg) {
return crdnReReg != null && insertCrdnReReg(params().set("crdnReReg", crdnReReg)) == 1;
}
@ -71,7 +71,7 @@ public interface CrdnReRegMapper extends AbstractMapper {
* <li> false</li>
* </ul>
*/
default boolean delete(CrdnReReg crdnReReg) {
default boolean deleteCrdnReReg(CrdnReReg crdnReReg) {
return crdnReReg != null && deleteCrdnReReg(params().set("crdnReReg", crdnReReg)) == 1;
}

@ -73,9 +73,11 @@ public class CrdnReRegBean extends AbstractComponent {
* @return
*/
public List<DataObject> getCrdnReRegs(LevyExclQuery req) {
// 삭제 여부 확인
if (req.getDelYn() == null) {
req.setDelYn("N");
}
// 정렬 확인
if (req.getOrderBy() == null) {
req.setOrderBy("CRR.RE_REG_ID DESC");
}
@ -93,7 +95,7 @@ public class CrdnReRegBean extends AbstractComponent {
public String createCrdnReReg(CrdnReReg crdnReReg) {
// 변수 선언
boolean rtnScs = false; // DB 처리 결과
String rtnMsg = "[F] "; // 처리 결과 메시지
String rtnMsg = ""; // 처리 결과 메시지
// 단속 ID로 단속(TB_CRDN) 정보 조회
DataObject crdnInfo = crdnReRegMapper.selectCrdnInfo(crdnReReg.getBfrCrdnId());
@ -121,68 +123,64 @@ public class CrdnReRegBean extends AbstractComponent {
}
// 재등록 단속 정보(TB_CRDN)
Crdn newCrdn = new Crdn();
Crdn crdn = new Crdn();
// 현재 날짜 구하기
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
newCrdn.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드
newCrdn.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드
newCrdn.setCrdnRegSeCd("03"); // 단속 등록 구분 코드(FIM026) - 재 등록
newCrdn.setCrdnInptSeCd(crdnInfo.string("CRDN_INPT_SE_CD")); // 단속 입력 구분 코드
newCrdn.setCvlcptLinkYn(crdnInfo.string("CVLCPT_LINK_YN")); // 민원 연계 여부
newCrdn.setLinkTblNm(crdnInfo.string("LINK_TBL_NM")); // 연계 테이블 명
newCrdn.setLinkId(crdnInfo.string("LINK_ID")); // 연계 ID
// newCrdn.setRtpyrId(crdnInfo.string("RTPYR_ID")); // 납부자 ID
newCrdn.setCrdnYmd(crdnInfo.string("CRDN_YMD")); // 단속 일자
newCrdn.setCrdnTm(crdnInfo.string("CRDN_TM")); // 단속 시각
newCrdn.setVhrno(crdnInfo.string("VHRNO")); // 차량번호
newCrdn.setCrdnStdgNm(crdnInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
newCrdn.setCrdnRoadNm(crdnInfo.string("CRDN_ROAD_NM")); // 단속 도로 명
newCrdn.setCrdnPlc(crdnInfo.string("CRDN_PLC")); // 단속 장소
newCrdn.setVltnId(crdnInfo.string("VLTN_ID")); // 위반 ID
newCrdn.setVltnCd(crdnInfo.string("VLTN_CD")); // 위반 코드
newCrdn.setGpsX(crdnInfo.string("GPS_X")); // GPS X
newCrdn.setGpsY(crdnInfo.string("GPS_Y")); // GPS Y
newCrdn.setAtchFileCnt(crdnInfo.number("ATCH_FILE_CNT").intValue()); // 첨부 파일 수
newCrdn.setFfnlgCrdnAmt(crdnInfo.number("FFNLG_CRDN_AMT").intValue()); // 과태료 단속 금액 - 초기 값
// newCrdn.setFfnlgRductRt(""); // 과태료 감경 율
newCrdn.setFfnlgAmt(crdnInfo.number("FFNLG_CRDN_AMT").intValue()); // 과태료 금액 - 초기 값
// newCrdn.setAdvntceBgngYmd(""); // 사전통지 시작 일자
// newCrdn.setAdvntceDudtYmd(""); // 사전통지 납기 일자
newCrdn.setAdvntceAmt(0); // 사전통지 금액 - 초기 값
newCrdn.setOpnnSbmsnYn("N"); // 의견 제출 여부
newCrdn.setEtcCn(crdnInfo.string("ETC_CN")); // 기타 내용
newCrdn.setCrdnSttsCd("01"); // 단속 상태 코드
newCrdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); // 단속 상태 변경 일시
newCrdn.setAdtnAmt(0); // 가산 금액
newCrdn.setMinusAmt(0); // 감경 금액
newCrdn.setRcvmtAmt(0); // 수납 금액
newCrdn.setBfrCrdnId(crdnInfo.string("CRDN_ID")); // 이전 단속 ID
newCrdn.setDelYn("N"); // 삭제 여부
crdn.setSggCd(crdnInfo.string("SGG_CD")); // 시군구 코드
crdn.setTaskSeCd(crdnInfo.string("TASK_SE_CD")); // 업무 구분 코드
crdn.setCrdnRegSeCd("03"); // 단속 등록 구분 코드(FIM026) - 재 등록
crdn.setCrdnInptSeCd(crdnInfo.string("CRDN_INPT_SE_CD")); // 단속 입력 구분 코드
crdn.setCvlcptLinkYn(crdnInfo.string("CVLCPT_LINK_YN")); // 민원 연계 여부
crdn.setLinkTblNm(crdnInfo.string("LINK_TBL_NM")); // 연계 테이블 명
crdn.setLinkId(crdnInfo.string("LINK_ID")); // 연계 ID
crdn.setCrdnYmd(crdnInfo.string("CRDN_YMD")); // 단속 일자
crdn.setCrdnTm(crdnInfo.string("CRDN_TM")); // 단속 시각
crdn.setVhrno(crdnInfo.string("VHRNO")); // 차량번호
crdn.setCrdnStdgNm(crdnInfo.string("CRDN_STDG_NM")); // 단속 법정동 명
crdn.setCrdnRoadNm(crdnInfo.string("CRDN_ROAD_NM")); // 단속 도로 명
crdn.setCrdnPlc(crdnInfo.string("CRDN_PLC")); // 단속 장소
crdn.setVltnId(crdnInfo.string("VLTN_ID")); // 위반 ID
crdn.setVltnCd(crdnInfo.string("VLTN_CD")); // 위반 코드
crdn.setGpsX(crdnInfo.string("GPS_X")); // GPS X
crdn.setGpsY(crdnInfo.string("GPS_Y")); // GPS Y
crdn.setAtchFileCnt(crdnInfo.number("ATCH_FILE_CNT").intValue()); // 첨부 파일 수
crdn.setFfnlgCrdnAmt(crdnInfo.number("FFNLG_CRDN_AMT").intValue()); // 과태료 단속 금액 - 초기 값
crdn.setFfnlgAmt(crdnInfo.number("FFNLG_CRDN_AMT").intValue()); // 과태료 금액 - 초기 값
crdn.setAdvntceAmt(0); // 사전통지 금액 - 초기 값
crdn.setOpnnSbmsnYn("N"); // 의견 제출 여부
crdn.setEtcCn(crdnInfo.string("ETC_CN")); // 기타 내용
crdn.setCrdnSttsCd("01"); // 단속 상태 코드
crdn.setCrdnSttsChgDt(dateFormat.format(System.currentTimeMillis())); // 단속 상태 변경 일시
crdn.setAdtnAmt(0); // 가산 금액
crdn.setMinusAmt(0); // 감경 금액
crdn.setRcvmtAmt(0); // 수납 금액
crdn.setBfrCrdnId(crdnInfo.string("CRDN_ID")); // 이전 단속 ID
crdn.setDelYn("N"); // 삭제 여부
// TB_CRDN_ADI(단속 부가 정보)
newCrdn.setCrdnSeCd(crdnInfo.string("CRDN_SE_CD")); // 단속 구분 코드
newCrdn.setTeamId(crdnInfo.string("TEAM_ID")); // 조 ID
newCrdn.setDtlCrdnPlc(crdnInfo.string("DTL_CRDN_PLC")); // 상세 단속 장소
newCrdn.setCrdnSpareaCd(crdnInfo.string("CRDN_SPAREA_CD")); // 단속 특별구역 코드
newCrdn.setCrdnBgngTm(crdnInfo.string("CRDN_BGNG_TM")); // 단속 시작 시각
newCrdn.setCrdnEndTm(crdnInfo.string("CRDN_END_TM")); // 단속 종료 시각
newCrdn.setCrdnSn(crdnInfo.string("CRDN_SN")); // 단속 일련번호
newCrdn.setMoscX(crdnInfo.string("MOSC_X")); // 모자이크 X
newCrdn.setMoscY(crdnInfo.string("MOSC_Y")); // 모자이크 Y
newCrdn.setTowngYn(crdnInfo.string("TOWNG_YN")); // 견인 여부
crdn.setCrdnSeCd(crdnInfo.string("CRDN_SE_CD")); // 단속 구분 코드
crdn.setTeamId(crdnInfo.string("TEAM_ID")); // 조 ID
crdn.setDtlCrdnPlc(crdnInfo.string("DTL_CRDN_PLC")); // 상세 단속 장소
crdn.setCrdnSpareaCd(crdnInfo.string("CRDN_SPAREA_CD")); // 단속 특별구역 코드
crdn.setCrdnBgngTm(crdnInfo.string("CRDN_BGNG_TM")); // 단속 시작 시각
crdn.setCrdnEndTm(crdnInfo.string("CRDN_END_TM")); // 단속 종료 시각
crdn.setCrdnSn(crdnInfo.string("CRDN_SN")); // 단속 일련번호
crdn.setMoscX(crdnInfo.string("MOSC_X")); // 모자이크 X
crdn.setMoscY(crdnInfo.string("MOSC_Y")); // 모자이크 Y
crdn.setTowngYn(crdnInfo.string("TOWNG_YN")); // 견인 여부
// 단속 대장 입력
rtnScs = crdnBean.create(null, newCrdn, fileInfoList);
rtnScs = crdnBean.create(null, crdn, fileInfoList);
if (!rtnScs) {
throw new RuntimeException("재부과 등록 중 단속대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}
// 재부과 대장 등록
crdnReReg.setCrdnId(newCrdn.getCrdnId());
crdnReReg.setCrdnId(crdn.getCrdnId());
crdnReReg.setCrdnRegSeCd("03");
rtnScs = crdnReRegMapper.insert(crdnReReg);
rtnScs = crdnReRegMapper.insertCrdnReReg(crdnReReg);
if (!rtnScs) {
throw new RuntimeException("재부과 대장 등록에 실패하였습니다."); // 예외를 발생시켜서 DB Rollback
}

@ -54,10 +54,11 @@ public class Excl03Controller extends ApplicationController {
}
/**단속 재등록 서비스*/
@Resource(name = "crdnReRegService")
@Resource(name="crdnReRegService")
private CrdnReRegService crdnReRegService;
@Resource(name = "stngBean")
/**설정 정보 Bean */
@Resource(name="stngBean")
private StngBean stngBean;
/** (excl03/excl03-main) .
@ -77,9 +78,9 @@ public class Excl03Controller extends ApplicationController {
return mav
.addObject("pageName", "excl03010") // View(jsp)에서 사용할 id 뒤에 붙일 suffix
.addObject("infoPrefix", "crdnReReg") // prefix
.addObject("infoPrefixUrl", "/excl/excl03") // prefixUrl
.addObject("sggCd", managedUser.getOrgID()) // 시군구 코드(SGG_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054")))
.addObject("FIM054List", commonCodes.get("FIM054")) // 업무 구분 코드(TASK_SE_CD)
.addObject("taskListForSgg", stngBean.filterTaskSectionCodeForSgg(commonCodes.get("FIM054"))) // 업무 구분 코드(TASK_SE_CD)
;
}
@ -95,7 +96,7 @@ public class Excl03Controller extends ApplicationController {
* }</code></pre>
*/
@Task
@RequestMapping(name = "단속 재등록 리스트 조회", value = "/010/list.do")
@RequestMapping(name="단속 재등록 목록 조회", value=METHOD_URL.getCrackdownReRegistrationList)
public ModelAndView getCrackdownReRegistrationList(LevyExclQuery req) {
if (!"xls".equals(req.getDownload())) {
List<?> result = crdnReRegService.getCrdnReRegList(setFetchSize(req));
@ -160,7 +161,7 @@ public class Excl03Controller extends ApplicationController {
* }</code></pre>
*/
@Task
@PostMapping(name = "단속 재등록 등록", value = "/010/create.do")
@PostMapping(name="단속 재등록 등록", value=METHOD_URL.createCrackdownReRegistration)
public ModelAndView createCrackdownReRegistration(CrdnReReg crdnReReg) {
boolean saved = false;
String rtnMsg = crdnReRegService.createCrdnReReg(crdnReReg);

@ -8,7 +8,6 @@
============================ -->
<resultMap id="crdnReRegRow" type="cokr.xit.fims.excl.CrdnReReg">
<!-- TB_CRDN_RE_REG 단속 재등록 대장 -->
<result property="reRegId" column="RE_REG_ID" /> <!-- 재등록 ID -->
<result property="bfrCrdnId" column="BFR_CRDN_ID" /> <!-- 이전 단속 ID -->
<result property="crdnId" column="CRDN_ID" /> <!-- 단속 ID -->

@ -128,10 +128,8 @@
</button>
</div>
</div>
</div>
<!-- / 상세 조건 -->
</form>
<!-- / 검색 조건 영역 -->
</div> <!-- / 상세 조건 -->
</form> <!-- / 검색 조건 영역 -->
<!-- 업무 버튼 및 건수 표시 -->
<div>
@ -149,8 +147,7 @@
</button>
</span>
</span>
</div>
<!-- / 업무 버튼 및 건수 표시 -->
</div> <!-- / 업무 버튼 및 건수 표시 -->
<!-- DataTables(그리드) -->
<div class="card-datatable text-nowrap">
@ -243,9 +240,9 @@
</div>
</div>
<!-- / DataTables(그리드) -->
</div> <!-- <div class="wrapper-list"> -->
</div> <!-- <div class="card"> -->
</div>
</div> <!-- / <div class="wrapper-list"> -->
</div> <!-- / <div class="card"> -->
</div> <!-- / <div class="container-xxl flex-grow-1 px-0"> -->
<!-- / Content -->
<div class="content-backdrop fade"></div>
@ -263,10 +260,8 @@
**************************************************************************/
$(document).ready(function() {
// pageObject
var $P = pageObject["${pageName}"];
let $P = pageObject["${pageName}"];
// URL
$P.PrefixUrl = "/excl/excl03";
// FormFields
$P.formFields = new FimsFormFields("#frmSearch--${pageName}");
@ -274,25 +269,23 @@
* DatasetControl
**************************************************************************/
$P.control = new DatasetControl({
prefix : "crdnReReg"
, prefixName : "단속 재등록"
, keymapper : info => info ? info.RE_REG_ID : ""
, dataGetter : obj => obj.crdnReRegList
, appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
RE_REG_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat
, FFNLG_CRDN_AMT : numberFormat
, REG_DT : datetimeFormat
prefix: "crdnReReg"
, prefixName: "단속 재등록"
, keymapper: info => info ? info.RE_REG_ID : ""
, dataGetter: obj => obj.${infoPrefix}List
, appendData: true
, formats: {
RE_REG_YMD: dateFormat
, CRDN_YMD_TM: datetimeFormat
, FFNLG_CRDN_AMT: numberFormat
, REG_DT: datetimeFormat
}
});
// $P.control 설정
$P.control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.control.untilPageNum = 0; // 현재 페이지 번호
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
$P.control.beforeCurrent = null;
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
/**************************************************************************
* DatasetControl 이벤트
@ -302,12 +295,12 @@
$P.renderList(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({
list : $P.control.dataset
, prefix : "paging--${pageName}"
, start : obj.${infoPrefix}Start
, totalSize : obj.${infoPrefix}Total
, fetchSize : obj.${infoPrefix}Fetch
, func : "$P.control.load({index})"
list: $P.control.dataset
, prefix: "paging--${pageName}"
, start: obj.${infoPrefix}Start
, totalSize: obj.${infoPrefix}Total
, fetchSize: obj.${infoPrefix}Fetch
, func: "$P.control.load({index})"
});
$P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
@ -373,37 +366,7 @@
$P.control.load($P.control.query.pageNum + 1);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// callback 사용자 검색
$P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자 검색
$P.getFindUser = () => {
let params = {
openerPageName : "${pageName}"
, callbackFuncName : "pageObject['${pageName}']['callbackFindUser']"
}
ajax.get({
url : wctx.url("/user/user02/010/main.do")
, data : params || {}
, success : resp => {
dialog.open({
id : "userDialog"
, title : "사용자 검색"
, content : resp
, size : "lg"
});
}
});
}
// 개별총정보 dialog
// DataTables에 더블 클릭시 개별총정보 dialog
$P.getTotalInfo = (crdnId, callSection) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
@ -415,28 +378,31 @@
}
let params = {
callControlName : callControlName
, sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, crdnId : crdnId
callControlName: callControlName
, sggCd: $("#sggCd--${pageName}").val()
, taskSeCd: $("input[name=taskSeCd]:checked").val()
, crdnId: crdnId
}
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do")
, data : params
, success : resp => {
url: wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do")
, data: params
, success: resp => {
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : "xxl"
id: "totalInfoMainDialog"
, title: "개별총정보"
, content: resp
, size: "xxl"
});
}
});
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 검색 자료 재조회
$P.refreshList = () => {
$P.fnRefreshList = () => {
$P.control.untilPageNum = $P.control.query.pageNum;
$P.control.query.fetchSize = $P.control.defaultFetchSize * $P.control.query.pageNum;
@ -455,8 +421,6 @@
// 초기 기본 설정
$P.initForm();
// 기본 데이터 설정
$P.initData(taskSeCd);
// 업무 구분별 설정
$P.setTask(taskSeCd);
@ -464,10 +428,37 @@
$P.control.dataset.clear();
}
// 사용자검색 callback
$P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자검색 버튼 클릭 이벤트
$P.fnGetFindUser = () => {
let params = {
openerPageName: "${pageName}"
, callbackFuncName: "pageObject['${pageName}']['callbackFindUser']"
}
ajax.get({
url: wctx.url("/user/user02/010/main.do")
, data: params || {}
, success: resp => {
dialog.open({
id: "userDialog"
, title: "사용자 검색"
, content: resp
, size: "lg"
});
}
});
}
// 검색 버튼 이벤트
$P.fnSearchList = () => {
// 검색조건
$P.control.query = $P.formFields.get();
$P.control.query = $P.formFields.get(); // 검색 조건
$P.control.query.fetchSize = $P.control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
$P.control.query.delYn = "N"; // 삭제 여부
@ -478,10 +469,9 @@
$P.fnExcel = () => {
if ($P.control.dataset.empty) {
dialog.alert({
content : "검색된 자료가 없습니다."
, onOK : () => { }
content: "검색된 자료가 없습니다."
, onOK: () => { }
});
return;
}
@ -493,12 +483,7 @@
$P.control.download();
}
// 사용자 조회 버튼 이벤트
$P.fnFindUser = () => {
$P.getFindUser();
}
// 이전 단속정보 보기 버튼 이벤트
// 이전 단속정보보기 버튼 이벤트
$P.fnBfrCrdnTotalInfo = (title) => {
let bfrCrdnId = $P.control.dataset.getValue("BFR_CRDN_ID");
@ -518,7 +503,7 @@
$("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화
$("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색
$("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
$("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색
$("#btnFindUser--${pageName}").on("click", () => $P.fnGetFindUser()); // 사용자 검색
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
@ -572,14 +557,13 @@
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date());
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date());
// 동적 검색
$("#byOutput--${pageName}").val("동적 검색");
// 사용자 이름
$("#schRgtrNm--${pageName}").prop("readonly", true);
// 기본 데이터 설정(업무구분)
$P.initData($("input[name=taskSeCd]:checked").val());
}
// 기본 데이터 설정
@ -595,6 +579,9 @@
// 업무 구분별 설정
$P.setTask = (taskSeCd) => {
// 검색 url
$P.control.urls.load = wctx.url("/" + taskSeCd + "${infoPrefixUrl}" + "/010/list.do");
let clsForTask = taskSeCd.toLowerCase();
// 업무별 조회조건
@ -609,15 +596,6 @@
colsOuterHTML += this.outerHTML;
});
$("#table-responsive--${pageName}")[0].changeColumn(colsOuterHTML);
// URL 설정
$P.setURL(taskSeCd);
}
// 업무구분에 따른 URL 설정
$P.setURL = (taskSeCd) => {
$P.control.urls.load = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/list.do"); // 조회
$P.control.urls.create = wctx.url("/" + taskSeCd + $P.PrefixUrl + "/010/create.do"); // 등록
}
/**************************************************************************

Loading…
Cancel
Save