From 1ae3fd65d217dacba288c8df4ddfc7c94292e861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=9D=98=EC=A7=84?= Date: Tue, 18 Nov 2025 14:59:54 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8B=A8=EC=86=8D=EC=9E=A5=EB=B9=84=EC=9E=A5?= =?UTF-8?q?=EC=86=8C=20=EC=A0=95=EB=B3=B4=20=EA=B4=80=EB=A6=AC=20=EB=A9=94?= =?UTF-8?q?=EB=89=B4=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xit/fims/crdn/dao/CrdnListMapper.java | 12 +- src/main/java/cokr/xit/fims/eqplc/Eqplc.java | 29 ----- .../java/cokr/xit/fims/eqplc/EqplcQuery.java | 37 ++++++ .../cokr/xit/fims/eqplc/dao/EqplcMapper.java | 14 ++- .../xit/fims/eqplc/service/EqplcService.java | 9 +- .../fims/eqplc/service/bean/EqplcBean.java | 28 ++++- .../eqplc/service/bean/EqplcServiceBean.java | 25 +++- .../xit/fims/eqplc/web/EqplcController.java | 71 ++++++------ .../sql/mapper/fims/eqplc/eqplc-mapper.xml | 107 ++++++++++++------ 9 files changed, 216 insertions(+), 116 deletions(-) create mode 100644 src/main/java/cokr/xit/fims/eqplc/EqplcQuery.java diff --git a/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java b/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java index dbf395d2..fd5b99da 100644 --- a/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java +++ b/src/main/java/cokr/xit/fims/crdn/dao/CrdnListMapper.java @@ -14,42 +14,42 @@ import cokr.xit.foundation.data.DataObject; @Mapper("crdnListMapper") public interface CrdnListMapper extends AbstractMapper { /**금일 등록한 단속자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.EqplcService#getCrackdownList(CrdnQuery)} 참고 * @param query 단속자료 목록 조회 조건 * @return 단속자료 목록 */ List selectTodayCrackdownList(CrdnQuery query); /**단속자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.EqplcService#getCrackdownList(CrdnQuery)} 참고 * @param query 단속자료 목록 조회 조건 * @return 단속자료 목록 */ List selectCrackdownList(CrdnQuery query); /**단속사진 검사 자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.EqplcService#getCrackdownList(CrdnQuery)} 참고 * @param query 단속사진 검사 자료 목록 조회 조건 * @return 단속사진 검사 자료 목록 */ List selectPhotoInspectionDataList(CrdnQuery query); /**동일 차량 단속 그룹 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.EqplcService#getCrackdownList(CrdnQuery)} 참고 * @param query 동일 차량 단속 그룹 목록 조회 조건 * @return 동일 차량 단속 그룹 목록 */ List selectSameVehicleMainList(CrdnQuery query); /**동일 차량 단속 자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.EqplcService#getCrackdownList(CrdnQuery)} 참고 * @param query 동일 차량 단속 자료 목록 조회 조건 * @return 동일 차량 단속 자료 목록 */ List selectSameVehicleSubList(CrdnQuery query); /**표지정보 미확인 자료 목록을 조회한다.
- * {@link cokr.xit.fims.crdn.service.bean.CrdnService#getCrackdownList(CrdnQuery)} 참고 + * {@link cokr.xit.fims.crdn.service.bean.EqplcService#getCrackdownList(CrdnQuery)} 참고 * @param query 표지정보 미확인 자료 목록 조회 조건 * @return 표지정보 미확인 자료 목록 */ diff --git a/src/main/java/cokr/xit/fims/eqplc/Eqplc.java b/src/main/java/cokr/xit/fims/eqplc/Eqplc.java index 65979a00..bd04a624 100644 --- a/src/main/java/cokr/xit/fims/eqplc/Eqplc.java +++ b/src/main/java/cokr/xit/fims/eqplc/Eqplc.java @@ -31,14 +31,6 @@ public class Eqplc extends AbstractEntity { private String drctn; /** 기타정보 */ private String etcInfo; - /** 등록 일시 - 테이블은 date 컬럼을 사용하지만 화면 표시용으로 문자열 타입 사용 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul") - private LocalDateTime regDt; - /** 등록자 */ - private String rgtr; - /** 사용여부 */ - private String useYN; /////////////////////////////////////////////// @@ -46,25 +38,4 @@ public class Eqplc extends AbstractEntity { private String sggCd; /////////////////////////////////////////////// - - /** 검색조건 - ID(순번) */ - private String schEqplcCd; - /** 검색조건 - 업체코드 */ - private String schCmpnyCd; - /** 검색조건 - 장비코드 */ - private String schEqpCd; - /** 검색조건 - 단속장소 이름 */ - private String schPlcNm; - /** 검색조건 - 법정동명 */ - private String schStdgNm; - /** 검색조건 - 도로명 */ - private String schRoadNm; - /** 검색조건 - 단속장소 */ - private String schPlc; - /** 검색조건 - 차선번호 */ - private String schLaneNo; - /** 검색조건 - 차선방향 */ - private String schDrctn; - /** 검색조건 - 기타정보 */ - } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/eqplc/EqplcQuery.java b/src/main/java/cokr/xit/fims/eqplc/EqplcQuery.java new file mode 100644 index 00000000..2e196cf4 --- /dev/null +++ b/src/main/java/cokr/xit/fims/eqplc/EqplcQuery.java @@ -0,0 +1,37 @@ +package cokr.xit.fims.eqplc; + +import java.time.LocalDateTime; +import org.springframework.format.annotation.DateTimeFormat; +import com.fasterxml.jackson.annotation.JsonFormat; +import cokr.xit.foundation.AbstractEntity; +import cokr.xit.foundation.component.QueryRequest; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class EqplcQuery extends QueryRequest { + private static final long serialVersionUID = 1L; + + /** 검색조건 - ID(순번) */ + private String schEqplcCd; + /** 검색조건 - 업체코드 */ + private String schCmpnyCd; + /** 검색조건 - 장비코드 */ + private String schEqpCd; + /** 검색조건 - 단속장소 이름 */ + private String schPlcNm; + /** 검색조건 - 법정동명 */ + private String schStdgNm; + /** 검색조건 - 도로명 */ + private String schRoadNm; + /** 검색조건 - 단속장소 */ + private String schPlc; + /** 검색조건 - 차선번호 */ + private String schLaneNo; + /** 검색조건 - 차선방향 */ + private String schDrctn; + + private String schType; + private String schTypeTxt; +} \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/eqplc/dao/EqplcMapper.java b/src/main/java/cokr/xit/fims/eqplc/dao/EqplcMapper.java index 681bad70..e3ff0442 100644 --- a/src/main/java/cokr/xit/fims/eqplc/dao/EqplcMapper.java +++ b/src/main/java/cokr/xit/fims/eqplc/dao/EqplcMapper.java @@ -5,11 +5,21 @@ import java.util.List; import org.egovframe.rte.psl.dataaccess.mapper.Mapper; import cokr.xit.fims.eqplc.Eqplc; +import cokr.xit.fims.eqplc.EqplcQuery; import cokr.xit.foundation.component.AbstractMapper; import cokr.xit.foundation.data.DataObject; @Mapper("eqplcMapper") public interface EqplcMapper extends AbstractMapper { - List selectList(Eqplc eqplcList); - + + List selectList(EqplcQuery req); + + DataObject selectOne(String req); + + String selectNextNo(); + + int insert(Eqplc req); + + int update(Eqplc req); + } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/eqplc/service/EqplcService.java b/src/main/java/cokr/xit/fims/eqplc/service/EqplcService.java index b0b694ab..ddc9b530 100644 --- a/src/main/java/cokr/xit/fims/eqplc/service/EqplcService.java +++ b/src/main/java/cokr/xit/fims/eqplc/service/EqplcService.java @@ -2,10 +2,17 @@ package cokr.xit.fims.eqplc.service; import java.util.List; import cokr.xit.fims.eqplc.Eqplc; +import cokr.xit.fims.eqplc.EqplcQuery; import cokr.xit.foundation.data.DataObject; public interface EqplcService { - List getList(Eqplc eqplcList); + List getList(EqplcQuery req); + + DataObject getOne(String req); + + public String insert(Eqplc req); + + public String update(Eqplc req); } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/eqplc/service/bean/EqplcBean.java b/src/main/java/cokr/xit/fims/eqplc/service/bean/EqplcBean.java index b3b7826a..2873dd1a 100644 --- a/src/main/java/cokr/xit/fims/eqplc/service/bean/EqplcBean.java +++ b/src/main/java/cokr/xit/fims/eqplc/service/bean/EqplcBean.java @@ -4,6 +4,7 @@ import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Component; import cokr.xit.fims.eqplc.Eqplc; +import cokr.xit.fims.eqplc.EqplcQuery; import cokr.xit.fims.eqplc.dao.EqplcMapper; import cokr.xit.foundation.component.AbstractBean; import cokr.xit.foundation.data.DataObject; @@ -13,8 +14,31 @@ public class EqplcBean extends AbstractBean { @Resource(name = "eqplcMapper") private EqplcMapper eqplcMapper; - public List getList(Eqplc eqplcList) { - return eqplcMapper.selectList(eqplcList); + public List getList(EqplcQuery req) { + return eqplcMapper.selectList(req); } + + public DataObject getOne(String req) { + return eqplcMapper.selectOne(req); + } + + public String insert(Eqplc req) { + req.setEqplcCd(eqplcMapper.selectNextNo()); + req.setCmpnyCd("001"); + + int rtnNocs = eqplcMapper.insert(req); + if (rtnNocs != 1) + throw new RuntimeException("단속장비 장소 정보 등록에 실패하였습니다."); + + return "[S] 작업이 정상 처리 되었습니다."; + } + + public String update(Eqplc req) { + int rtnNocs = eqplcMapper.update(req); + if (rtnNocs != 1) + throw new RuntimeException("단속장비 장소 정보 수정에 실패하였습니다."); + + return "[S] 작업이 정상 처리 되었습니다."; + } } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/eqplc/service/bean/EqplcServiceBean.java b/src/main/java/cokr/xit/fims/eqplc/service/bean/EqplcServiceBean.java index f1a92abf..237c578b 100644 --- a/src/main/java/cokr/xit/fims/eqplc/service/bean/EqplcServiceBean.java +++ b/src/main/java/cokr/xit/fims/eqplc/service/bean/EqplcServiceBean.java @@ -6,7 +6,7 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; import cokr.xit.fims.eqplc.Eqplc; -import cokr.xit.fims.eqplc.dao.EqplcMapper; +import cokr.xit.fims.eqplc.EqplcQuery; import cokr.xit.fims.eqplc.service.EqplcService; import cokr.xit.foundation.component.AbstractServiceBean; import cokr.xit.foundation.data.DataObject; @@ -14,12 +14,27 @@ import cokr.xit.foundation.data.DataObject; @Service("eqplcService") public class EqplcServiceBean extends AbstractServiceBean implements EqplcService { - @Resource(name="eqplcMapper") - private EqplcMapper eqplcMapper; + @Resource(name = "eqplcBean") + private EqplcBean eqplcBean; @Override - public List getList(Eqplc eqplcList) { - return eqplcMapper.selectList(eqplcList); + public List getList(EqplcQuery req) { + return eqplcBean.getList(req); + } + + @Override + public DataObject getOne(String req) { + return eqplcBean.getOne(req); + } + + @Override + public String insert(Eqplc req) { + return eqplcBean.insert(req); + } + + @Override + public String update(Eqplc req) { + return eqplcBean.update(req); } } \ No newline at end of file diff --git a/src/main/java/cokr/xit/fims/eqplc/web/EqplcController.java b/src/main/java/cokr/xit/fims/eqplc/web/EqplcController.java index dc591020..9b048670 100644 --- a/src/main/java/cokr/xit/fims/eqplc/web/EqplcController.java +++ b/src/main/java/cokr/xit/fims/eqplc/web/EqplcController.java @@ -9,7 +9,10 @@ import javax.servlet.http.HttpServletRequest; import org.apache.poi.ss.usermodel.CellStyle; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; import cokr.xit.base.code.CommonCode; @@ -36,6 +39,7 @@ import cokr.xit.fims.crdn.service.CrdnStngService; import cokr.xit.fims.crdn.web.Crdn06Controller; import cokr.xit.fims.crdn.web.Crdn06Controller.METHOD_URL; import cokr.xit.fims.eqplc.Eqplc; +import cokr.xit.fims.eqplc.EqplcQuery; import cokr.xit.fims.eqplc.dao.EqplcMapper; import cokr.xit.fims.eqplc.service.EqplcService; import cokr.xit.fims.eqplc.service.bean.EqplcServiceBean; @@ -43,51 +47,44 @@ import cokr.xit.fims.task.Task; import cokr.xit.foundation.data.DataObject; @Controller -@RequestMapping(name="단속장비장소 관리", value=EqplcController.CLASS_URL) +@RequestMapping(name="단속장비장소 관리", value="/eqplc") public class EqplcController extends ApplicationController { - - public static final String CLASS_URL = "/eqplc"; - - public class METHOD_URL { - public static final String - main = "/main.do" - , getList = "/list.do" - , remove = "/remove.do" - , getInfo = "/info.do" - , update = "/update.do" - ; - } - - //@Resource(name = "eqplcServiceBean") - //private EqplcServiceBean eqplcServiceBean; - //@Resource(name = "eqplcMapper") - //private EqplcMapper eqplcMapper; + @Resource(name = "eqplcService") private EqplcService eqplcService; - @RequestMapping(name="단속장비장소 관리 메인", value=METHOD_URL.main) - public ModelAndView main(String openType, String taskSeCd) { - //Map> commonCodes = getCodesOf("FIM002", "FIM003", "FIM005", "FIM010", "FIM022", "FIM026", "FIM034", "FIM054"); - - ModelAndView mav = new ModelAndView("fims/eqplc/main") - .addObject("pageName", "eqplc" + ifEmpty(openType, ()-> "")); - if(!isEmpty(taskSeCd)) - mav.addObject("taskSeCd", taskSeCd); - - //return addCodes(commonCodes, mav, "FIM002", "FIM003", "FIM010", "FIM022", "FIM026", "FIM034"); - return mav; + @GetMapping(name="단속장비장소 관리 메인", value="/main.do") + public ModelAndView main() { + return new ModelAndView("fims/eqplc/main") + .addObject("pageName", "eqplc"); } + @GetMapping(name="단속장비장소 목록 조회", value="/list.do") + public ModelAndView getList(EqplcQuery req) { + return setPagingInfo(new ModelAndView("jsonView"), eqplcService.getList(req),"eqplc"); + } + + @GetMapping(name="단속장비장소 상세 조회", value="info.do") + public ModelAndView getInfo(@RequestParam String eqplcCd) { + DataObject info = eqplcCd != "" ? eqplcService.getOne(eqplcCd) : new DataObject(); - @Task("BPV") - @RequestMapping(name="단속장비장소 관리 목록 조회", value=METHOD_URL.getList) - public ModelAndView getList (Eqplc eqplc) { - //ModelAndView mav = new ModelAndView("fims/eqplc/list"). - - //eqplc.setSggCd(currentUser().getOrgID()); + return new ModelAndView("fims/eqplc/info") + .addObject("pageName", "info") + .addObject("eqplcInfo", toJson(info)); + } + + @PostMapping(name="단속장비장소 관리 목록 등록", value="/insert.do") + public ModelAndView insert(Eqplc req) { - //setFetchSize(eqplc); - return setPagingInfo(new ModelAndView("jsonView"), eqplcService.getList(eqplc),""); + String rtnMsg = eqplcService.insert(req); + return new ModelAndView("jsonView").addObject("saved", rtnMsg.contains("[S]")); } + + @PostMapping(name="단속장비장소 관리 목록 수정", value="/update.do") + public ModelAndView update(Eqplc req) { + + String rtnMsg = eqplcService.update(req); + return new ModelAndView("jsonView").addObject("saved", rtnMsg.contains("[S]")); + } } \ No newline at end of file diff --git a/src/main/resources/sql/mapper/fims/eqplc/eqplc-mapper.xml b/src/main/resources/sql/mapper/fims/eqplc/eqplc-mapper.xml index 41130ac2..3abb959a 100644 --- a/src/main/resources/sql/mapper/fims/eqplc/eqplc-mapper.xml +++ b/src/main/resources/sql/mapper/fims/eqplc/eqplc-mapper.xml @@ -2,40 +2,79 @@ - + /* 단속장비 정보 목록 조회(eqplcMapper.selectList) */ + SELECT A.*, + IF(DRCTN='0','상행','하행') DRCTN_STR, + (SELECT USER_NM FROM TB_USER X WHERE X.USER_ID = A.RGTR) AS RGTR_NM + FROM TB_EQP_PLC A + WHERE USE_YN = 'Y' + + AND PLC_NM like concat('%',#{schTypeTxt},'%') + AND EQP_CD = #{schTypeTxt} + + + + + + + + INSERT INTO TB_EQP_PLC ( + EQPLC_CD + , CMPNY_CD + , EQP_CD + , PLC_NM + , STDG_NM + , ROAD_NM + , PLC + , LANE_NO + , DRCTN + , ETC_INFO + , REG_DT + , RGTR + , USE_YN + ) VALUES ( + #{eqplcCd} + , #{cmpnyCd} + , #{eqpCd} + , #{plcNm} + , #{stdgNm} + , #{roadNm} + , #{plc} + , #{laneNo} + , #{drctn} + , #{etcInfo} + , + , #{createdBy} + , 'Y' + ) + + + + UPDATE TB_EQP_PLC + + CMPNY_CD = #{cmpnyCd}, + EQP_CD = #{eqpCd}, + PLC_NM = #{plcNm}, + STDG_NM = #{stdgNm}, + ROAD_NM = #{roadNm}, + PLC = #{plc}, + LANE_NO = #{laneNo}, + DRCTN = #{drctn}, + ETC_INFO = #{etcInfo}, + USE_YN = #{useYN}, + + WHERE EQPLC_CD = #{eqplcCd} + \ No newline at end of file