diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java index 64b395c7..cf963fcf 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/CrdnUpdtMapper.java @@ -50,13 +50,20 @@ public interface CrdnUpdtMapper extends AbstractMapper { */ int updateCrdnAddition(Crdn crdn); - /** 단속 자료를 삭제한다. + /**단속 정보를 변경한다.
+ * {@link cokr.xit.fims.crdn.service.bean.CrdnBean#update(Crdn)} 참고 + * @param crdn 단속정보 + * @return 저장된 정보수 + */ + int updateEditCrdn(Crdn crdn); + + /** 단속 정보를 삭제한다. * @param map 삭제 요청 파라미터 * @return 저장된 정보수 */ int deleteCrdn(Map map); - /** 단속 자료를 삭제한다. + /** 단속 부가 정보를 삭제한다. * @param map 삭제 요청 파라미터 * @return 저장된 정보수 */ diff --git a/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java b/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java index 9dcda325..6116de63 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java +++ b/src/main/java/cokr/xit/fims/crdn/service/CrdnService.java @@ -55,6 +55,12 @@ public interface CrdnService { */ DataObject getCrackdownInfo(CrdnQuery query); + /** 단속 자료를 수정한다. + * @param crdn 단속정보 + * @return 저장 메시지 + */ + String updateCrackdown(Crdn crdn); + /** 단속 자료를 삭제한다. * @param crdn 단속정보 * @return 저장 메시지 diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java index 8bf62cdd..0afcfc94 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java +++ b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnBean.java @@ -216,6 +216,37 @@ public class CrdnBean extends AbstractComponent { return crdnUpdtMapper.deleteCrdn(paramMap) >= 1 ? true : false; } + /**단속 정보를 수정한다. + * @param crdn 단속 + * @return 저장 여부 + * + */ + public String updateCrackdown(Crdn crdn) { + // 변수 선언 + int effected = 0; // DB 처리 결과 + String retMessage = ""; // 처리 결과 메시지 + + // 단속(TB_CRDN) 대장을 수정 한다. + effected = crdnUpdtMapper.updateEditCrdn(crdn); + if (effected != 1) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("단속 대장 수정에 실패하였습니다."); + } + + // 단속 부가 정보(TB_CRDN_ADI) 대장을 수정 한다. + effected = crdnUpdtMapper.updateCrdnAddition(crdn); + if (effected != 1) { + // 예외를 발생시켜서 오류메세지를 보내고 DB Rollback + throw new RuntimeException("단속 부가 정보 수정에 실패하였습니다."); + } + + retMessage = "[S] 작업이 정상 처리 되었습니다."; + + return retMessage; + } + /**단속 정보를 삭제한다. * @param crdn 단속 * @return 저장 여부 diff --git a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java index 7c9168d7..a3093114 100644 --- a/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java +++ b/src/main/java/cokr/xit/fims/crdn/service/bean/CrdnServiceBean.java @@ -219,6 +219,11 @@ public class CrdnServiceBean extends AbstractServiceBean implements CrdnService return crdnInfoMapper.selectCrdnInfo(query.getCrdnId()); } + @Override + public String updateCrackdown(Crdn crdn) { + return crdnBean.updateCrackdown(crdn); + } + @Override public String removeCrackdown(Crdn crdn) { return crdnBean.removeCrackdown(crdn); diff --git a/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java b/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java index 2fbb279d..9d61f81f 100644 --- a/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java +++ b/src/main/java/cokr/xit/fims/crdn/web/Crdn06Controller.java @@ -145,15 +145,13 @@ public class Crdn06Controller extends ApplicationController { */ public ModelAndView updateCrackdown(Crdn crdn) { boolean saved = false; -// String retMessage = crdnService.removeCrackdown(crdn); -// -// if (retMessage.contains("[S]")) { -// saved = true; -// } else { -// saved = false; -// } - - String retMessage = "성공"; + String retMessage = crdnService.updateCrackdown(crdn); + + if (retMessage.contains("[S]")) { + saved = true; + } else { + saved = false; + } return new ModelAndView("jsonView") .addObject("saved", saved) diff --git a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java index 120de6e2..78b55d62 100644 --- a/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java +++ b/src/main/java/cokr/xit/fims/sprt/web/Sprt02Controller.java @@ -112,8 +112,12 @@ public class Sprt02Controller extends ApplicationController { */ @RequestMapping(name="단속, 납부자 정보 조회", value="/020/info.do") public ModelAndView getCrdnPayerInfo(SprtQuery req) { + // 단속(TB_CRDN), 납부자(TB_PAYER) 정보 DataObject crdnPayer = sprt02Service.getCrdnPayerInfo(req); + // 단속(TB_CRDN) 대장 조회 + DataObject totalInfo = sprt02Service.getCrdnInfo(req); + boolean json = jsonResponse(); ModelAndView mav = new ModelAndView(json ? "jsonView" : "fims/sprt/sprt02020-info"); @@ -122,6 +126,7 @@ public class Sprt02Controller extends ApplicationController { .addObject("pageName", "sprt02020") .addObject("pageNameMain", "sprt02010") .addObject("crdnPayer", json ? crdnPayer : toJson(crdnPayer)) // 단속, 납부자 정보 + .addObject("totalInfo", json ? totalInfo : toJson(totalInfo)) // 단속 정보 ; } @@ -241,8 +246,8 @@ public class Sprt02Controller extends ApplicationController { return mav .addObject("pageName", "sprt02030") .addObject("pageNameMain", "sprt02010") - .addObject("totalInfo", json ? totalInfo : toJson(totalInfo)) // 단속 정보 .addObject("opnnSbmsn", json ? opnnSbmsn : toJson(opnnSbmsn)) // 의견제출 정보 + .addObject("totalInfo", json ? totalInfo : toJson(totalInfo)) // 단속 정보 ; } diff --git a/src/main/resources/sql/mapper/fims/crdn/crdn-info-mapper.xml b/src/main/resources/sql/mapper/fims/crdn/crdn-info-mapper.xml index ddd3c012..e8f35544 100644 --- a/src/main/resources/sql/mapper/fims/crdn/crdn-info-mapper.xml +++ b/src/main/resources/sql/mapper/fims/crdn/crdn-info-mapper.xml @@ -101,15 +101,28 @@ , C.VHCL_NM , C.VHCL_COLOR , C.FFNLG_CRDN_AMT + , C.ETC_CN , C.CRDN_STTS_CD , C.CRDN_STTS_CHG_DT , C.LINK_TBL_NM , C.LINK_ID , (SELECT VLTN_CD FROM TB_VLTN_INFO WHERE VLTN_ID = C.VLTN_ID) AS VLTN_CD - , CA.OVTIME_YN - , CA.OVTIME_PRTTN_YN + , CA.CRDN_SE_CD + , CA.TEAM_ID + , CA.DTL_CRDN_PLC , CA.CRDN_SPAREA_CD + , CA.CRDN_BGNG_TM + , CA.CRDN_END_TM + , CA.CRDN_SN + , CA.MOSC_X + , CA.MOSC_Y + , CA.TOWNG_YN + , CA.USE_FUEL_CD , CA.FFNLG_CARMDL_CD + , CA.PARKNG_PSBLTY_RSLT_CD + , CA.VLTN_NMTM + , CA.OVTIME_YN + , CA.OVTIME_PRTTN_YN , P.RTPYR_ID , CC.CVLCPT_LINK_ID , CC.CVLCPT_TRSM_CD diff --git a/src/main/resources/sql/mapper/fims/crdn/crdn-updt-mapper.xml b/src/main/resources/sql/mapper/fims/crdn/crdn-updt-mapper.xml index bc93eedd..8e9d53bc 100644 --- a/src/main/resources/sql/mapper/fims/crdn/crdn-updt-mapper.xml +++ b/src/main/resources/sql/mapper/fims/crdn/crdn-updt-mapper.xml @@ -2,15 +2,15 @@ - - /* 단속 상태 수정(crdnUpdtMapper.updateCrdnStatus) */ - UPDATE TB_CRDN - SET MDFCN_DT = /* 수정일시 */ - , MDFR = #{modifiedBy} /* 수정자 */ - , CRDN_STTS_CD = #{crdnSttsCd} /* 단속 상태 */ - , CRDN_STTS_CHG_DT = /* 단속 상태 변경 일시 */ - WHERE CRDN_ID = #{crdnId} /* 단속 ID */ - + /* 단속 상태 수정(crdnUpdtMapper.updateCrdnStatus) */ + UPDATE TB_CRDN + SET CRDN_STTS_CD = #{crdnSttsCd} /* 단속 상태 */ + , CRDN_STTS_CHG_DT = /* 단속 상태 변경 일시 */ + , MDFCN_DT = /* 수정일시 */ + , MDFR = #{modifiedBy} /* 수정자 */ + WHERE CRDN_ID = #{crdnId} /* 단속 ID */ + AND DEL_YN = 'N' /* 삭제 여부 */ + /* 단속정보 수정(crdnUpdtMapper.updateCrdn) */ @@ -65,7 +65,7 @@ , USE_FUEL_CD = #{useFuelCd} - , PARKNG_PSBLTY_RSLT_CD = #{parkngBsbltyRsltCd} + , PARKNG_PSBLTY_RSLT_CD = #{parkngPsbltyRsltCd} , VLTN_NMTM = #{vltnNmtm} @@ -80,7 +80,7 @@ , CRDN_SN = #{crdnSn} , TOWNG_YN = #{towngYn} - WHERE CRDN_ID = #{crdn.crdnId} /* 단속 ID */ + WHERE CRDN_ID = #{crdnId} /* 단속 ID */ @@ -112,7 +112,33 @@ WHERE CRDN_ID = #{crdnId} /* 단속 ID */ - /* 단속 자료 삭제(crdnUpdtMapper.deleteCrdn) */ + + /* 단속 정보 수정(crdnUpdtMapper.updateEditCrdn) */ + UPDATE TB_CRDN + SET CRDN_YMD = #{crdnYmd} /* 단속 일자 */ + , CRDN_TM = #{crdnTm} /* 단속 시각 */ + , VHRNO = #{vhrno} /* 차량번호 */ + , CRDN_STDG_NM = #{crdnStdgNm} /* 단속 법정동 명 */ + , CRDN_ROAD_NM = #{crdnRoadNm} /* 단속 도로 명 */ + , CRDN_PLC = #{crdnPlc} /* 단속 장소 */ + , VLTN_ID = (SELECT X.VLTN_ID + FROM TB_VLTN_INFO X + WHERE X.SGG_CD = #{sggCd} + AND X.TASK_SE_CD = #{taskSeCd} + AND X.VLTN_CD = #{vltnCd}) /* 위반 ID */ + , GPS_X = #{gpsX} /* GPS X */ + , GPS_Y = #{gpsY} /* GPS Y */ + , VIN = #{vin} /* 차대번호 */ + , VHCL_NM = #{vhclNm} /* 차량 명 */ + , VHCL_COLOR = #{vhclColor} /* 차량 색상 */ + , ETC_CN = #{etcCn} /* 기타 내용 */ + , MDFCN_DT = /* 수정일시 */ + , MDFR = #{modifiedBy} /* 수정자 */ + WHERE CRDN_ID = #{crdnId} /* 단속 ID */ + AND DEL_YN = 'N' /* 삭제 여부 */ + + + /* 단속 정보 삭제(crdnUpdtMapper.deleteCrdn) */ UPDATE TB_CRDN SET DEL_YN = 'Y' , DEL_DT = /* 삭제일시 */ @@ -121,9 +147,10 @@ WHERE CRDN_ID IN ( #{crdnId} ) + AND DEL_YN = 'N' /* 삭제 여부 */ - /* 단속 부가 자료 삭제(crdnUpdtMapper.deleteCrdn) */ + /* 단속 부가 정보 삭제(crdnUpdtMapper.deleteCrdn) */ UPDATE TB_CRDN_ADI SET DEL_YN = 'Y' , DEL_DT = /* 삭제일시 */ @@ -132,6 +159,7 @@ WHERE CRDN_ID IN ( #{crdnId} ) + AND DEL_YN = 'N' /* 삭제 여부 */ \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06020-info.jsp b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06020-info.jsp index b1f58047..3e3278be 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06020-info.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/crdn/crdn06020-info.jsp @@ -27,12 +27,12 @@
- +
- @@ -88,6 +88,7 @@
+
@@ -130,10 +131,10 @@
-
+
-
+
-
+