단속자료 수기 입력 SQL 추가

main
이범준 1 year ago
parent fff30b914e
commit 4db7b366e9

@ -459,4 +459,9 @@ public class Crdn extends AbstractEntity {
* *
*/ */
private String delRsn; private String delRsn;
/**
*
*/
private String linkTblNm;
} }

@ -1,7 +1,10 @@
package cokr.xit.fims.crdn.dao; package cokr.xit.fims.crdn.dao;
import java.util.Map;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.component.AbstractMapper;
/** DAO /** DAO
@ -10,4 +13,23 @@ import cokr.xit.foundation.component.AbstractMapper;
@Mapper("crdn05Mapper") @Mapper("crdn05Mapper")
public interface Crdn05Mapper extends AbstractMapper { public interface Crdn05Mapper extends AbstractMapper {
/** .
* @param params
* <ul><li>"crdn" - </li>
* <li>"currentUser" - </li>
* </ul>
* @return
*/
int insertCrdn(Map<String, Object> params);
/** .
* @param crdn
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
default boolean insert(Crdn crdn) {
return crdn != null && insertCrdn(params().set("crdn", crdn)) == 1;
}
} }

@ -1,5 +1,6 @@
package cokr.xit.fims.crdn.service; package cokr.xit.fims.crdn.service;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery; import cokr.xit.fims.crdn.CrdnQuery;
/** . /** .
@ -9,4 +10,13 @@ import cokr.xit.fims.crdn.CrdnQuery;
*/ */
public interface Crdn05Service extends CrdnService { public interface Crdn05Service extends CrdnService {
/** .
* @param crdn05
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
boolean create(Crdn crdn);
} }

@ -4,6 +4,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.dao.Crdn05Mapper; import cokr.xit.fims.crdn.dao.Crdn05Mapper;
import cokr.xit.foundation.AbstractComponent; import cokr.xit.foundation.AbstractComponent;
@ -12,8 +13,18 @@ import cokr.xit.foundation.AbstractComponent;
*/ */
@Component("crdn05Bean") @Component("crdn05Bean")
public class Crdn05Bean extends AbstractComponent { public class Crdn05Bean extends AbstractComponent {
@Resource(name = "crdn05Mapper") @Resource(name = "crdn05Mapper")
private Crdn05Mapper crdn05Mapper; private Crdn05Mapper crdn05Mapper;
/** .
* @param crdn
* @return
* <ul><li> true</li>
* <li> false</li>
* </ul>
*/
public boolean create(Crdn crdn) {
return crdn05Mapper.insert(crdn);
}
} }

@ -6,6 +6,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import cokr.xit.fims.crdn.Crdn;
import cokr.xit.fims.crdn.CrdnQuery; import cokr.xit.fims.crdn.CrdnQuery;
import cokr.xit.fims.crdn.service.Crdn05Service; import cokr.xit.fims.crdn.service.Crdn05Service;
import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.component.AbstractServiceBean;
@ -26,4 +27,13 @@ public class Crdn05ServiceBean extends AbstractServiceBean implements Crdn05Serv
return null; //crdn05Mapper. return null; //crdn05Mapper.
} }
@Override
public boolean create(Crdn crdn) {
if(ifEmpty(crdn.getDoGuidance(), () -> "").equals("on")) {
}
return crdn05Bean.create(crdn);
}
} }

@ -86,7 +86,7 @@ public class Crdn05Controller extends ApplicationController {
@RequestMapping(name="단속자료 수기 등록", value="/030/create.do") @RequestMapping(name="단속자료 수기 등록", value="/030/create.do")
public ModelAndView createCrdnDataByManual(Crdn crdn) { public ModelAndView createCrdnDataByManual(Crdn crdn) {
boolean saved = false; boolean saved = crdn05Service.create(crdn);
return new ModelAndView("jsonView") return new ModelAndView("jsonView")
.addObject("saved", saved); .addObject("saved", saved);

@ -2,4 +2,157 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.fims.crdn.dao.Crdn05Mapper"> <mapper namespace="cokr.xit.fims.crdn.dao.Crdn05Mapper">
<insert id="insertCrdn" parameterType="map">
/* 단속 대장 등록(crdn05Mapper.insertCrdn) */
<selectKey resultType="string" keyProperty="crdn.crdnId" keyColumn="NEW_ID" order="BEFORE">
SELECT LPAD(CONVERT(IFNULL(MAX(CRDN_ID) + 1, 1),INT), 20, '0') NEW_ID FROM TB_CRDN
</selectKey>
INSERT INTO TB_CRDN (
CRDN_ID <!-- 단속 ID -->
, SGG_CD <!-- 시군구 코드 -->
, CRDN_REG_SE_CD <!-- 단속 등록 구분 코드 -->
, CRDN_INPT_SE_CD <!-- 단속 입력 구분 코드 -->
, LINK_ID <!-- 연계 ID -->
, CRDN_SE_CD <!-- 단속 구분 코드 -->
, RTPYR_ID <!-- 납부자 ID -->
, CRDN_YMD <!-- 단속 일자 -->
, CRDN_TM <!-- 단속 시각 -->
, VHRNO <!-- 차량번호 -->
, CRDN_STDG_NM <!-- 단속 법정동 명 -->
, CRDN_ROAD_NM <!-- 단속 도로 명 -->
, CRDN_PLC <!-- 단속 장소 -->
, DTL_CRDN_PLC <!-- 상세 단속 장소 -->
, TEAM_ID <!-- 조 ID -->
, VLTN_ID <!-- 위반 ID -->
, CRDN_SPAREA_CD <!-- 단속 특별구역 코드 -->
, CRDN_BGNG_TM <!-- 단속 시작 시각 -->
, CRDN_END_HR <!-- 단속 종료 시간 -->
, CRDN_SN <!-- 단속 일련번호 -->
, GPS_X <!-- GPS X -->
, GPS_Y <!-- GPS Y -->
, MOSC_X <!-- 모자이크 X -->
, MOSC_Y <!-- 모자이크 Y -->
, TOWNG_YN <!-- 견인 여부 -->
, ATCH_FILE_CNT <!-- 첨부 파일 수 -->
, VIN <!-- 차대번호 -->
, VHCL_NM <!-- 차량 명 -->
, VHCL_COLOR <!-- 차량 색상 -->
, USE_FUEL_CD <!-- 사용 연료 코드 -->
, USG_SE_CD <!-- 용도 구분 코드 -->
, MXMM_LOAD_QY <!-- 최대 적재 량 -->
, TKCAR_PSNCPA_CNT <!-- 승차 정원 수 -->
, CARMDL_ASORT_NM <!-- 차종 종별 명 -->
, CARMDL_TYPE_NM <!-- 차종 유형 명 -->
, CARMDL_CLSF_NM <!-- 차종 분류 명 -->
, ERSR_YMD <!-- 말소 일자 -->
, FFNLG_CARMDL_CD <!-- 과태료 차종 코드 -->
, PARKNG_PSBLTY_RSLT_CD <!-- 주차 가능 결과 코드 -->
, VLTN_NMTM <!-- 위반 횟수 -->
, OVTIME_YN <!-- 시간외 여부 -->
, RVW_SE_CD <!-- 검토 구분 코드 -->
, RVW_PRCS_SCRN_NM <!-- 검토 처리 화면 명 -->
, RVW_DT <!-- 검토 일시 -->
, RVWR <!-- 검토자 -->
, FFNLG_AMT <!-- 과태료 금액 -->
, FFNLG_RDUCT_RT <!-- 과태료 감경 율 -->
, LEVY_AMT <!-- 부과 금액 -->
, ADVNTCE_BGNG_YMD <!-- 사전통지 시작 일자 -->
, ADVNTCE_DUDT_YMD <!-- 사전통지 납기 일자 -->
, ADVNTCE_LEVY_AMT <!-- 사전통지 부과 금액 -->
, OPNN_SBMSN_YN <!-- 의견 제출 여부 -->
, ETC_CN <!-- 기타 내용 -->
, LEVY_ID <!-- 부과 ID -->
, CRDN_STTS_CD <!-- 단속 상태 코드 -->
, CRDN_STTS_CHG_DT <!-- 단속 상태 변경 일시 -->
, ADTN_AMT <!-- 가산 금액 -->
, MINUS_AMT <!-- 감경 금액 -->
, RCVMT_AMT <!-- 수납 금액 -->
, BFR_CRDN_ID <!-- 이전 단속 ID -->
, DEL_YN <!-- 삭제 여부 -->
, REG_DT <!-- 등록 일시 -->
, RGTR <!-- 등록자 -->
, MDFCN_DT <!-- 수정 일시 -->
, MDFR <!-- 수정자 -->
, DEL_DT <!-- 삭제 일시 -->
, DLTR <!-- 삭제자 -->
, DEL_RSN <!-- 삭제 사유 -->
, TASK_SE_CD <!-- 업무 구분 코드 -->
, LINK_TBL_NM <!-- 연계 테이블 명 -->
) VALUES (
#{crdn.crdnId} <!-- 단속 ID -->
, #{crdn.sggCd} <!-- 시군구 코드 -->
, #{crdn.crdnRegSeCd} <!-- 단속 등록 구분 코드 -->
, #{crdn.crdnInptSeCd} <!-- 단속 입력 구분 코드 -->
, #{crdn.linkId} <!-- 연계 ID -->
, #{crdn.crdnSeCd} <!-- 단속 구분 코드 -->
, #{crdn.rtpyrId} <!-- 납부자 ID -->
, #{crdn.crdnYmd} <!-- 단속 일자 -->
, #{crdn.crdnTm} <!-- 단속 시각 -->
, #{crdn.vhrno} <!-- 차량번호 -->
, #{crdn.crdnStdgNm} <!-- 단속 법정동 명 -->
, #{crdn.crdnRoadNm} <!-- 단속 도로 명 -->
, #{crdn.crdnPlc} <!-- 단속 장소 -->
, #{crdn.dtlCrdnPlc} <!-- 상세 단속 장소 -->
, #{crdn.teamId} <!-- 조 ID -->
, (SELECT VLTN_ID FROM TB_VLTN_INFO
WHERE SGG_CD = '41480' <!-- TODO : 시군구코드 하드코딩 제거 -->
AND TASK_SE_CD = #{crdn.taskSeCd}
AND VLTN_CD = #{crdn.vltnCd}) <!-- 위반 ID -->
, #{crdn.crdnSpareaCd} <!-- 단속 특별구역 코드 -->
, #{crdn.crdnBgngTm} <!-- 단속 시작 시각 -->
, #{crdn.crdnEndHr} <!-- 단속 종료 시간 -->
, #{crdn.crdnSn} <!-- 단속 일련번호 -->
, #{crdn.gpsX} <!-- GPS X -->
, #{crdn.gpsY} <!-- GPS Y -->
, #{crdn.moscX} <!-- 모자이크 X -->
, #{crdn.moscY} <!-- 모자이크 Y -->
, #{crdn.towngYn} <!-- 견인 여부 -->
, #{crdn.atchFileCnt} <!-- 첨부 파일 수 -->
, #{crdn.vin} <!-- 차대번호 -->
, #{crdn.vhclNm} <!-- 차량 명 -->
, #{crdn.vhclColor} <!-- 차량 색상 -->
, #{crdn.useFuelCd} <!-- 사용 연료 코드 -->
, #{crdn.usgSeCd} <!-- 용도 구분 코드 -->
, #{crdn.mxmmLoadQy} <!-- 최대 적재 량 -->
, #{crdn.tkcarPsncpaCnt} <!-- 승차 정원 수 -->
, #{crdn.carmdlAsortNm} <!-- 차종 종별 명 -->
, #{crdn.carmdlTypeNm} <!-- 차종 유형 명 -->
, #{crdn.carmdlClsfNm} <!-- 차종 분류 명 -->
, #{crdn.ersrYmd} <!-- 말소 일자 -->
, #{crdn.ffnlgCarmdlCd} <!-- 과태료 차종 코드 -->
, #{crdn.parkngPsbltyRsltCd} <!-- 주차 가능 결과 코드 -->
, #{crdn.vltnNmtm} <!-- 위반 횟수 -->
, #{crdn.ovtimeYn} <!-- 시간외 여부 -->
, #{crdn.rvwSeCd} <!-- 검토 구분 코드 -->
, #{crdn.rvwPrcsScrnNm} <!-- 검토 처리 화면 명 -->
, #{crdn.rvwDt} <!-- 검토 일시 -->
, #{crdn.rvwr} <!-- 검토자 -->
, #{crdn.ffnlgAmt} <!-- 과태료 금액 -->
, #{crdn.ffnlgRductRt} <!-- 과태료 감경 율 -->
, #{crdn.levyAmt} <!-- 부과 금액 -->
, #{crdn.advntceBgngYmd} <!-- 사전통지 시작 일자 -->
, #{crdn.advntceDudtYmd} <!-- 사전통지 납기 일자 -->
, #{crdn.advntceLevyAmt} <!-- 사전통지 부과 금액 -->
, #{crdn.opnnSbmsnYn} <!-- 의견 제출 여부 -->
, #{crdn.etcCn} <!-- 기타 내용 -->
, #{crdn.levyId} <!-- 부과 ID -->
, #{crdn.crdnSttsCd} <!-- 단속 상태 코드 -->
, #{crdn.crdnSttsChgDt} <!-- 단속 상태 변경 일시 -->
, #{crdn.adtnAmt} <!-- 가산 금액 -->
, #{crdn.minusAmt} <!-- 감경 금액 -->
, #{crdn.rcvmtAmt} <!-- 수납 금액 -->
, #{crdn.bfrCrdnId} <!-- 이전 단속 ID -->
, #{crdn.delYn} <!-- 삭제 여부 -->
, <include refid="utility.now" /> <!-- 등록 일시 -->
, #{currentUser.id} <!-- 등록자 -->
, <include refid="utility.now" /> <!-- 수정 일시 -->
, #{currentUser.id} <!-- 수정자 -->
, #{crdn.removedAt} <!-- 삭제 일시 -->
, #{crdn.removedBy} <!-- 삭제자 -->
, #{crdn.delRsn} <!-- 삭제 사유 -->
, #{crdn.taskSeCd} <!-- 업무 구분 코드 -->
, #{crdn.linkTblNm} <!-- 연계 테이블 명 -->
)
</insert>
</mapper> </mapper>

@ -4,6 +4,7 @@
<div class="card" style="max-width:1100px;" title="단속정보"> <div class="card" style="max-width:1100px;" title="단속정보">
<form id="frm--${pageName}" class="dpv eca"> <form id="frm--${pageName}" class="dpv eca">
<input name="crdnId" type="hidden" data-map="CRDN_ID" /> <input name="crdnId" type="hidden" data-map="CRDN_ID" />
<input name="taskSeCd" type="hidden" value="${taskSeCd}" />
<div class="row g-1"> <div class="row g-1">
<div class="col-md-4"> <div class="col-md-4">
<label for="crdnYmd--${pageName}" class="w-px-150 bg-lighter pe-2 col-form-label text-sm-end required"> <label for="crdnYmd--${pageName}" class="w-px-150 bg-lighter pe-2 col-form-label text-sm-end required">
@ -158,7 +159,6 @@
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
var formFields = new FimsFormFields("#frm--${pageName}");
pageObject["${pageName}"] = {}; pageObject["${pageName}"] = {};
$(document).ready(function(){ $(document).ready(function(){
@ -184,13 +184,15 @@ $(document).ready(function(){
/************************************************************************** /**************************************************************************
* pageObject.function * pageObject.function
**************************************************************************/ **************************************************************************/
$P.formFields = new FimsFormFields("#frm--${pageName}");
$P.fnSave = () => { $P.fnSave = () => {
if (!$("#frm--${pageName} input").validInputs()) return; if (!$("#frm--${pageName} input").validInputs()) return;
dialog.alert({ dialog.alert({
content:"현재 단속 정보를 저장하시겠습니까?", content:"현재 단속 정보를 저장하시겠습니까?",
onOK:() => { onOK:() => {
pageObject["crdn05030-info"].crdnControl.save(formFields.get()); pageObject["crdn05030-info"].crdnControl.save($P.formFields.get());
} }
}); });
}; };

@ -155,6 +155,7 @@
class="datatables-ajax table table-bordered dataTable no-footer"> class="datatables-ajax table table-bordered dataTable no-footer">
<thead> <thead>
<tr> <tr>
<th width="80px">No.</th>
<th width="80px">단속일시</th> <th width="80px">단속일시</th>
<th width="80px">차량번호</th> <th width="80px">차량번호</th>
<th width="80px">위반횟수</th> <th width="80px">위반횟수</th>
@ -172,6 +173,7 @@
<tbody id="photoInspectionTbody--${pageName}"></tbody> <tbody id="photoInspectionTbody--${pageName}"></tbody>
<template id="photoInspectionRow--${pageName}"> <template id="photoInspectionRow--${pageName}">
<tr data-key="{CRDN_ID}"> <tr data-key="{CRDN_ID}">
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{ROW_NUM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_YMD_TM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{CRDN_YMD_TM}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VHRNO}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VHRNO}</td>
<td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VLTN_NMTM}</td> <td onclick="{onclick}" ondblclick="{ondblclick}" class="text-center">{VLTN_NMTM}</td>
@ -188,7 +190,7 @@
</template> </template>
<template id="photoInspectionNotFound--${pageName}"> <template id="photoInspectionNotFound--${pageName}">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="12" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td> <td valign="top" colspan="13" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr> </tr>
</template> </template>
</table> </table>

Loading…
Cancel
Save