Pārlūkot izejas kodu

jjjjjjjjjjjjjjj

shjung 3 gadi atpakaļ
vecāks
revīzija
1da62b8711

+ 1 - 1
src/main/java/com/its/op/controller/database/ClctSystStupController.java

@@ -20,7 +20,7 @@ import java.util.List;
 @RequiredArgsConstructor
 @RestController
 @RequestMapping("/api/database/clct-syst-stup")
-@Api(tags = "09.기초데이터관리-09.가공파라미터관리-01.수집시스템(공통)")
+@Api(tags = "09.기초데이터관리-06.가공파라미터관리-00.수집시스템(공통)")
 public class ClctSystStupController {
 
     private final ClctSystStupService service;

+ 4 - 5
src/main/java/com/its/op/controller/database/CnctIntnController.java

@@ -2,7 +2,6 @@ package com.its.op.controller.database;
 
 import com.its.op.global.CodeManager;
 import com.its.op.model.dto.database.CnctIntnDto;
-import com.its.op.model.dto.database.LeglHldyInfrDto;
 import com.its.op.model.entity.database.CmmnCd;
 import com.its.op.model.entity.database.CnctIntn;
 import com.its.op.service.database.CmmnCdService;
@@ -29,13 +28,13 @@ public class CnctIntnController {
     private final CnctIntnService service;
     private final CmmnCdService cmmnCdService;
 
-    @ApiOperation(value = "연계기관유형(TB_CMMN_CD)", response = LeglHldyInfrDto.HldyTypeInfo.class)
+    @ApiOperation(value = "연계기관유형(TB_CMMN_CD)", response = CnctIntnDto.CnctTypeInfo.class)
     @GetMapping(value = "/cnct-type", produces = {"application/json; charset=utf8"})
-    public ResponseEntity<List<LeglHldyInfrDto.HldyTypeInfo>> findAllHldyType() {
-        List<LeglHldyInfrDto.HldyTypeInfo> result = new ArrayList<>();
+    public ResponseEntity<List<CnctIntnDto.CnctTypeInfo>> findAllHldyType() {
+        List<CnctIntnDto.CnctTypeInfo> result = new ArrayList<>();
         List<CmmnCd> data = this.cmmnCdService.findAllByCmmnClsfCd(CodeManager.CNCT_INTN_TYPE_CD);
         for (CmmnCd obj: data) {
-            result.add(new LeglHldyInfrDto.HldyTypeInfo(obj));
+            result.add(new CnctIntnDto.CnctTypeInfo(obj));
         }
         return new ResponseEntity<>(result, HttpStatus.OK);
     }

+ 126 - 0
src/main/java/com/its/op/controller/database/CodeController.java

@@ -0,0 +1,126 @@
+package com.its.op.controller.database;
+
+import com.its.op.model.dto.database.CmmnCdDto;
+import com.its.op.model.dto.database.CmmnClsfCdDto;
+import com.its.op.model.entity.database.CmmnCd;
+import com.its.op.model.entity.database.CmmnClsfCd;
+import com.its.op.service.database.CmmnCdService;
+import com.its.op.service.database.CmmnClsfCdService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/api/database/code")
+@Api(tags = "09.기초데이터관리-09.코드관리")
+public class CodeController {
+
+    private final CmmnClsfCdService cmmnClsfCdService;
+    private final CmmnCdService cmmnCdService;
+
+    @ApiOperation(value = "대분류코드-전체조회(TB_CMMN_CLSF_CD)", response = CmmnClsfCdDto.CmmnClsfCdInfo.class)
+    @GetMapping(value = "/clsf-cd", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<CmmnClsfCdDto.CmmnClsfCdInfo>> findAllCmmnClsfCd() {
+        List<CmmnClsfCdDto.CmmnClsfCdInfo> result = new ArrayList<>();
+        List<CmmnClsfCd> data = this.cmmnClsfCdService.findAll();
+        for (CmmnClsfCd obj: data) {
+            result.add(new CmmnClsfCdDto.CmmnClsfCdInfo(obj));
+        }
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "대분류코드-개별조회(TB_CMMN_CLSF_CD)", response = CmmnClsfCdDto.CmmnClsfCdInfo.class)
+    @GetMapping(value = "/clsf-cd/{id}", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<CmmnClsfCdDto.CmmnClsfCdInfo> findByIdCmmnClsfCd(@PathVariable final String id) {
+        CmmnClsfCd obj = this.cmmnClsfCdService.findById(id);
+        if (obj != null) {
+            return new ResponseEntity<>(new CmmnClsfCdDto.CmmnClsfCdInfo(obj), HttpStatus.OK);
+        }
+        return new ResponseEntity<>(null, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "대분류코드-정보변경/생성(TB_CMMN_CLSF_CD)", response = CmmnClsfCdDto.CmmnClsfCdInfo.class)
+    @PostMapping(value = "/clsf-cd", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<CmmnClsfCdDto.CmmnClsfCdInfo> mergeInfoCmmnClsfCd(@RequestBody @Valid final CmmnClsfCdDto.CmmnClsfCdUpdateReq req) {
+        CmmnClsfCd data = this.cmmnClsfCdService.mergeInfo(req);
+        if (data != null) {
+            return new ResponseEntity<>(new CmmnClsfCdDto.CmmnClsfCdInfo(data), HttpStatus.OK);
+        }
+        return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "대분류코드-정보삭제(TB_CMMN_CLSF_CD)", response = CmmnClsfCdDto.CmmnClsfCdInfo.class)
+    @DeleteMapping(value = "/clsf-cd/{id}", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<CmmnClsfCdDto.CmmnClsfCdInfo> deleteDataByIdCmmnClsfCd(@PathVariable("id") String id) {
+        CmmnClsfCd obj = this.cmmnClsfCdService.deleteById(id);
+        if (obj != null) {
+            return new ResponseEntity<>(new CmmnClsfCdDto.CmmnClsfCdInfo(obj), HttpStatus.OK);
+        }
+        return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
+    }
+
+
+    ////////////////////////////////////// 소분류코드
+    @ApiOperation(value = "소분류코드-전체조회(TB_CMMN_CLSF_CD)", response = CmmnCdDto.CmmnCdInfo.class)
+    @GetMapping(value = "/cmmn-cd", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<CmmnCdDto.CmmnCdInfo>> findAllCmmnCd() {
+        List<CmmnCdDto.CmmnCdInfo> result = new ArrayList<>();
+        List<CmmnCd> data = this.cmmnCdService.findAll();
+        for (CmmnCd obj: data) {
+            result.add(new CmmnCdDto.CmmnCdInfo(obj));
+        }
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "소분류코드-개별조회-목록(TB_CMMN_CLSF_CD)", response = CmmnCdDto.CmmnCdInfo.class)
+    @GetMapping(value = "/cmmn-cd/{id}", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<List<CmmnCdDto.CmmnCdInfo>> findByIdCmmnCd(@PathVariable final String id) {
+        List<CmmnCdDto.CmmnCdInfo> result = new ArrayList<>();
+        List<CmmnCd> data = this.cmmnCdService.findAllByCmmnClsfCd(id);
+        for (CmmnCd obj: data) {
+            result.add(new CmmnCdDto.CmmnCdInfo(obj));
+        }
+        return new ResponseEntity<>(result, HttpStatus.OK);
+    }
+
+    @ApiOperation(value = "소분류코드-개별조회-단일(TB_CMMN_CLSF_CD)", response = CmmnCdDto.CmmnCdInfo.class)
+    @GetMapping(value = "/cmmn-cd/{id}/{sub}", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<CmmnCdDto.CmmnCdInfo> findByIdCmmnCd(@PathVariable final String id, @PathVariable final String sub) {
+        CmmnCd data = this.cmmnCdService.findAllByCmmnClsfCdCmmnCd(id, sub);
+        if (data != null) {
+            return new ResponseEntity<>(new CmmnCdDto.CmmnCdInfo(data), HttpStatus.OK);
+        }
+        return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "소분류코드-정보변경/생성(TB_CMMN_CLSF_CD)", response = CmmnCdDto.CmmnCdInfo.class)
+    @PostMapping(value = "/cmmn-cd", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<CmmnCdDto.CmmnCdInfo> mergeInfoCmmnCd(@RequestBody @Valid final CmmnCdDto.CmmnCdUpdateReq req) {
+        CmmnCd data = this.cmmnCdService.mergeInfo(req);
+        if (data != null) {
+            return new ResponseEntity<>(new CmmnCdDto.CmmnCdInfo(data), HttpStatus.OK);
+        }
+        return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);
+    }
+
+    @ApiOperation(value = "소분류코드-정보삭제(TB_CMMN_CLSF_CD)", response = CmmnCdDto.CmmnCdInfo.class)
+    @DeleteMapping(value = "/cmmn-cd/{id}/sub", produces = {"application/json; charset=utf8"})
+    public ResponseEntity<CmmnCdDto.CmmnCdInfo> deleteDataByIdCmmnCd(@PathVariable("id") String id, @PathVariable("id") String sub) {
+        CmmnCd obj = this.cmmnCdService.deleteById(id, sub);
+        if (obj != null) {
+            return new ResponseEntity<>(new CmmnCdDto.CmmnCdInfo(obj), HttpStatus.OK);
+        }
+        return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
+    }
+
+}

+ 1 - 1
src/main/java/com/its/op/controller/database/LinkParaClctSystController.java

@@ -18,7 +18,7 @@ import java.util.List;
 @RequiredArgsConstructor
 @RestController
 @RequestMapping("/api/database/link-para-clct-syst")
-@Api(tags = "09.기초데이터관리-09.가공파라미터관리-04.링크파라미터수집시스템")
+@Api(tags = "09.기초데이터관리-06.가공파라미터관리-04.링크파라미터수집시스템")
 public class LinkParaClctSystController {
 
     private final LinkParaClctSystService service;

+ 1 - 1
src/main/java/com/its/op/controller/database/LinkParaDetlController.java

@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*;
 @RequiredArgsConstructor
 @RestController
 @RequestMapping("/api/database/link-para-detl")
-@Api(tags = "09.기초데이터관리-09.가공파라미터관리-03.링크파라미터상세")
+@Api(tags = "09.기초데이터관리-06.가공파라미터관리-03.링크파라미터상세")
 public class LinkParaDetlController {
 
     private final LinkParaDetlService service;

+ 1 - 1
src/main/java/com/its/op/controller/database/LinkParaStupController.java

@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*;
 @RequiredArgsConstructor
 @RestController
 @RequestMapping("/api/database/link-para-stup")
-@Api(tags = "09.기초데이터관리-09.가공파라미터관리-02.링크파라미터설정")
+@Api(tags = "09.기초데이터관리-06.가공파라미터관리-02.링크파라미터설정")
 public class LinkParaStupController {
 
     private final LinkParaStupService service;

+ 1 - 1
src/main/java/com/its/op/controller/database/LinkPrcsParaController.java

@@ -16,7 +16,7 @@ import java.util.List;
 @RequiredArgsConstructor
 @RestController
 @RequestMapping("/api/database/link-prcs-para")
-@Api(tags = "09.기초데이터관리-09.가공파라미터관리-00.가공파라미터관리")
+@Api(tags = "09.기초데이터관리-06.가공파라미터관리-01.가공파라미터관리")
 public class LinkPrcsParaController {
 
     private final LinkPrcsParaService service;

+ 63 - 15
src/main/java/com/its/op/model/dto/database/CmmnCdDto.java

@@ -1,24 +1,72 @@
 package com.its.op.model.dto.database;
 
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import com.its.op.model.entity.database.CmmnCd;
+import lombok.*;
 
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
 import java.io.Serializable;
 
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
 public class CmmnCdDto implements Serializable {
 
-    private String CMMN_CD;             //	N	VARCHAR2(7)	    N			공통 코드
-    private String CMMN_CLSF_CD;        //	N	VARCHAR2(5)	    N			공통 분류 코드
-    private String CMMN_CD_KOR_NM;      //	N	VARCHAR2(100)	Y			공통 코드 한글 명
-    private String CMMN_CD_ENGL_NM;     //	N	VARCHAR2(100)	Y			공통 코드 영문 명
-    private String CMMN_CD_ABBR;        //	N	VARCHAR2(40)	Y			공통 코드 약어
-    private String RMRK;                //	N	VARCHAR2(600)	Y			비고
-    private String ATRB1;               //	N	VARCHAR2(60)	Y			속성1
-    private String ATRB2;               //	N	VARCHAR2(60)	Y			속성2
-    private String USE_YN;              //	N	CHAR(1)	        Y	'N'		사용 여부
+    @Getter
+    public static class CmmnCdInfo {
 
+        private final String CMMN_CD;           //	N	VARCHAR2(7)	    N			공통 코드
+        private final String CMMN_CLSF_CD;      //	N	VARCHAR2(5)	    N			공통 분류 코드
+        private final String CMMN_CD_KOR_NM;    //	N	VARCHAR2(100)	Y			공통 코드 한글 명
+        private final String CMMN_CD_ENGL_NM;   //	N	VARCHAR2(100)	Y			공통 코드 영문 명
+        private final String CMMN_CD_ABBR;      //	N	VARCHAR2(40)	Y			공통 코드 약어
+        private final String RMRK;              //	N	VARCHAR2(600)	Y			비고
+        private final String ATRB1;             //	N	VARCHAR2(60)	Y			속성1
+        private final String ATRB2;             //	N	VARCHAR2(60)	Y			속성2
+        private final String USE_YN;            //	N	CHAR(1)	        Y	'N'		사용 여부
+
+        public CmmnCdInfo(CmmnCd entity) {
+            this.CMMN_CD         = entity.getCMMN_CD();
+            this.CMMN_CLSF_CD    = entity.getCMMN_CLSF_CD();
+            this.CMMN_CD_KOR_NM  = entity.getCMMN_CD_KOR_NM();
+            this.CMMN_CD_ENGL_NM = entity.getCMMN_CD_ENGL_NM();
+            this.CMMN_CD_ABBR    = entity.getCMMN_CD_ABBR();
+            this.RMRK            = entity.getRMRK();
+            this.ATRB1           = entity.getATRB1();
+            this.ATRB2           = entity.getATRB2();
+            this.USE_YN          = entity.getUSE_YN();
+
+        }
+    }
+
+    @Getter
+    @Setter
+    @ToString
+    @NoArgsConstructor(access = AccessLevel.PROTECTED)
+    //@NotBlank
+    public static class CmmnCdUpdateReq {
+
+        private String CMMN_CD;             //	N	VARCHAR2(7)	    N			공통 코드
+        private String CMMN_CLSF_CD;        //	N	VARCHAR2(5)	    N			공통 분류 코드
+        private String CMMN_CD_KOR_NM;      //	N	VARCHAR2(100)	Y			공통 코드 한글 명
+        private String CMMN_CD_ENGL_NM;     //	N	VARCHAR2(100)	Y			공통 코드 영문 명
+        private String CMMN_CD_ABBR;        //	N	VARCHAR2(40)	Y			공통 코드 약어
+        private String RMRK;                //	N	VARCHAR2(600)	Y			비고
+        private String ATRB1;               //	N	VARCHAR2(60)	Y			속성1
+        private String ATRB2;               //	N	VARCHAR2(60)	Y			속성2
+        @Size(min = 1, max = 1)
+        @Pattern(regexp = "[YN]")
+        private String USE_YN;              //	N	CHAR(1)	        Y	'N'		사용 여부
+
+        @Builder
+        public CmmnCdUpdateReq(String CMMN_CD, String CMMN_CLSF_CD, String CMMN_CD_KOR_NM, String CMMN_CD_ENGL_NM, String CMMN_CD_ABBR, String RMRK, String ATRB1, String ATRB2, String USE_YN) {
+            this.CMMN_CD = CMMN_CD;
+            this.CMMN_CLSF_CD = CMMN_CLSF_CD;
+            this.CMMN_CD_KOR_NM = CMMN_CD_KOR_NM;
+            this.CMMN_CD_ENGL_NM = CMMN_CD_ENGL_NM;
+            this.CMMN_CD_ABBR = CMMN_CD_ABBR;
+            this.RMRK = RMRK;
+            this.ATRB1 = ATRB1;
+            this.ATRB2 = ATRB2;
+            this.USE_YN = USE_YN;
+        }
+
+    }
 }

+ 55 - 16
src/main/java/com/its/op/model/dto/database/CmmnClsfCdDto.java

@@ -1,26 +1,65 @@
 package com.its.op.model.dto.database;
 
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
+import com.its.op.model.entity.database.CmmnClsfCd;
+import lombok.*;
 
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
 import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
 
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
 public class CmmnClsfCdDto implements Serializable {
 
-    private String CMMN_CLSF_CD;        //	N	VARCHAR2(5)	    N			공통 분류 코드
-    private String MSG_TYPE_CD;         //	N	VARCHAR2(7)	    Y			메시지 유형 코드
-    private String CMMN_CLSF_KOR_NM;    //	N	VARCHAR2(100)	Y			공통 분류 한글 명
-    private String CMMN_CLSF_ENGL_NM;   //	N	VARCHAR2(100)	Y			공통 분류 영문 명
-    private String USE_SYST_CD;         //	N	VARCHAR2(7)	    Y			사용 시스템 코드
-    private String RMRK;                //	N	VARCHAR2(600)	Y			비고
-    private String USE_YN;              //	N	CHAR(1)	        Y	'N'		사용 여부
+    @Getter
+    public static class CmmnClsfCdInfo {
 
-    private List<CmmnCdDto> cmmnCds = new ArrayList<>();
+        private final String CMMN_CLSF_CD;        //	N	VARCHAR2(5)	    N			공통 분류 코드
+        private final String MSG_TYPE_CD;         //	N	VARCHAR2(7)	    Y			메시지 유형 코드
+        private final String CMMN_CLSF_KOR_NM;    //	N	VARCHAR2(100)	Y			공통 분류 한글 명
+        private final String CMMN_CLSF_ENGL_NM;   //	N	VARCHAR2(100)	Y			공통 분류 영문 명
+        private final String USE_SYST_CD;         //	N	VARCHAR2(7)	    Y			사용 시스템 코드
+        private final String RMRK;                //	N	VARCHAR2(600)	Y			비고
+        private final String USE_YN;              //	N	CHAR(1)	        Y	'N'		사용 여부
 
+        //private List<CmmnCdDto> cmmnCds = new ArrayList<>();
+
+        public CmmnClsfCdInfo(CmmnClsfCd entity) {
+            this.CMMN_CLSF_CD      = entity.getCMMN_CLSF_CD();
+            this.MSG_TYPE_CD       = entity.getMSG_TYPE_CD();
+            this.CMMN_CLSF_KOR_NM  = entity.getCMMN_CLSF_KOR_NM();
+            this.CMMN_CLSF_ENGL_NM = entity.getCMMN_CLSF_ENGL_NM();
+            this.USE_SYST_CD       = entity.getUSE_SYST_CD();
+            this.RMRK              = entity.getRMRK();
+            this.USE_YN            = entity.getUSE_YN();
+
+        }
+    }
+
+    @Getter
+    @Setter
+    @ToString
+    @NoArgsConstructor(access = AccessLevel.PROTECTED)
+    //@NotBlank
+    public static class CmmnClsfCdUpdateReq {
+
+        private String CMMN_CLSF_CD;        //	N	VARCHAR2(5)	    N			공통 분류 코드
+        private String MSG_TYPE_CD;         //	N	VARCHAR2(7)	    Y			메시지 유형 코드
+        private String CMMN_CLSF_KOR_NM;    //	N	VARCHAR2(100)	Y			공통 분류 한글 명
+        private String CMMN_CLSF_ENGL_NM;   //	N	VARCHAR2(100)	Y			공통 분류 영문 명
+        private String USE_SYST_CD;         //	N	VARCHAR2(7)	    Y			사용 시스템 코드
+        private String RMRK;                //	N	VARCHAR2(600)	Y			비고
+        @Size(min = 1, max = 1)
+        @Pattern(regexp = "[YN]")
+        private String USE_YN;              //	N	CHAR(1)	        Y	'N'		사용 여부
+
+        @Builder
+        public CmmnClsfCdUpdateReq(String CMMN_CLSF_CD, String MSG_TYPE_CD, String CMMN_CLSF_KOR_NM, String CMMN_CLSF_ENGL_NM, String USE_SYST_CD, String RMRK, String USE_YN) {
+            this.CMMN_CLSF_CD = CMMN_CLSF_CD;
+            this.MSG_TYPE_CD = MSG_TYPE_CD;
+            this.CMMN_CLSF_KOR_NM = CMMN_CLSF_KOR_NM;
+            this.CMMN_CLSF_ENGL_NM = CMMN_CLSF_ENGL_NM;
+            this.USE_SYST_CD = USE_SYST_CD;
+            this.RMRK = RMRK;
+            this.USE_YN = USE_YN;
+        }
+    }
 }

+ 14 - 0
src/main/java/com/its/op/model/dto/database/CnctIntnDto.java

@@ -1,6 +1,7 @@
 package com.its.op.model.dto.database;
 
 import com.its.op.global.CodeManager;
+import com.its.op.model.entity.database.CmmnCd;
 import com.its.op.model.entity.database.CnctIntn;
 import lombok.*;
 
@@ -37,6 +38,19 @@ public class CnctIntnDto implements Serializable {
         }
     }
 
+    @Getter
+    public static class CnctTypeInfo {
+        private final String CNCT_INTN_TYPE_CD;       //	N	VARCHAR2(7)	    Y			연계 기관 유형 코드
+        private final String CNCT_INTN_TYPE_NM;
+        private final String CNCT_INTN_TYPE_DESC;
+
+        public CnctTypeInfo(CmmnCd entity) {
+            this.CNCT_INTN_TYPE_CD   = entity.getCMMN_CD();
+            this.CNCT_INTN_TYPE_NM   = entity.getCMMN_CD_KOR_NM();
+            this.CNCT_INTN_TYPE_DESC = "[" + this.CNCT_INTN_TYPE_CD + "]" + this.CNCT_INTN_TYPE_NM;
+        }
+    }
+
     @Getter
     @Setter
     @ToString

+ 27 - 4
src/main/java/com/its/op/model/entity/database/CmmnCd.java

@@ -1,10 +1,14 @@
 package com.its.op.model.entity.database;
 
-import lombok.*;
-import org.hibernate.annotations.*;
+import com.its.op.model.dto.database.CmmnCdDto;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import org.hibernate.annotations.ColumnDefault;
+import org.hibernate.annotations.DynamicInsert;
+import org.hibernate.annotations.DynamicUpdate;
 
-import javax.persistence.Entity;
-import javax.persistence.Table;
 import javax.persistence.*;
 import java.io.Serializable;
 
@@ -59,4 +63,23 @@ public class CmmnCd implements Serializable {
     @JoinColumn(insertable=false, updatable=false, name="CMMN_CLSF_CD")
     @NotFound(action = NotFoundAction.IGNORE) // 값이 발견되지 않으면 무시
     private CmmnClsfCd cmmnClsfCd;*/
+
+
+    public CmmnCd(String CMMN_CLSF_CD, String CMMN_CD) {
+        this.CMMN_CLSF_CD = CMMN_CLSF_CD;
+        this.CMMN_CD = CMMN_CD;
+    }
+
+    public void updateInfo(CmmnCdDto.CmmnCdUpdateReq req) {
+        //this.CMMN_CD         = req.getCMMN_CD();
+        //this.CMMN_CLSF_CD    = req.getCMMN_CLSF_CD();
+        this.CMMN_CD_KOR_NM  = req.getCMMN_CD_KOR_NM();
+        this.CMMN_CD_ENGL_NM = req.getCMMN_CD_ENGL_NM();
+        this.CMMN_CD_ABBR    = req.getCMMN_CD_ABBR();
+        this.RMRK            = req.getRMRK();
+        this.ATRB1           = req.getATRB1();
+        this.ATRB2           = req.getATRB2();
+        this.USE_YN          = req.getUSE_YN();
+
+    }
 }

+ 15 - 0
src/main/java/com/its/op/model/entity/database/CmmnClsfCd.java

@@ -1,5 +1,6 @@
 package com.its.op.model.entity.database;
 
+import com.its.op.model.dto.database.CmmnClsfCdDto;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Getter;
@@ -55,4 +56,18 @@ public class CmmnClsfCd implements Serializable {
     //@Fetch(FetchMode.JOIN)
     private List<CmmnCd> cmmnCds = new ArrayList<>();*/
 
+    public CmmnClsfCd(String CMMN_CLSF_CD) {
+        this.CMMN_CLSF_CD = CMMN_CLSF_CD;
+    }
+
+    public void updateInfo(CmmnClsfCdDto.CmmnClsfCdUpdateReq req) {
+        //this.CMMN_CLSF_CD      = req.getCMMN_CLSF_CD();
+        this.MSG_TYPE_CD       = req.getMSG_TYPE_CD();
+        this.CMMN_CLSF_KOR_NM  = req.getCMMN_CLSF_KOR_NM();
+        this.CMMN_CLSF_ENGL_NM = req.getCMMN_CLSF_ENGL_NM();
+        this.USE_SYST_CD       = req.getUSE_SYST_CD();
+        this.RMRK              = req.getRMRK();
+        this.USE_YN            = req.getUSE_YN();
+
+    }
 }

+ 3 - 0
src/main/java/com/its/op/repository/database/CmmnCdRepository.java

@@ -13,4 +13,7 @@ public interface CmmnCdRepository extends JpaRepository<CmmnCd, CmmnCdKey> {
 
     @Query("select p from CmmnCd p where p.CMMN_CLSF_CD = ?1")
     List<CmmnCd> findAllByCmmnClsfCd(String CMMN_CLSF_CD);
+
+    @Query("select p from CmmnCd p where p.CMMN_CLSF_CD = ?1 and  p.CMMN_CD = ?2")
+    CmmnCd findAllByCmmnClsfCdCmmnCd(String CMMN_CLSF_CD, String CMMN_CD);
 }

+ 1 - 1
src/main/java/com/its/op/controller/parking/ParkingLotController.java → src/main/java/com/its/op/repository/mapper/parking/ParkingLotController.java

@@ -1,4 +1,4 @@
-package com.its.op.controller.parking;
+package com.its.op.repository.mapper.parking;
 
 import com.its.op.model.dto.parking.ParkingLotDto;
 import com.its.op.model.entity.parking.ParkingLot;

+ 46 - 0
src/main/java/com/its/op/service/database/CmmnCdService.java

@@ -1,6 +1,8 @@
 package com.its.op.service.database;
 
+import com.its.op.model.dto.database.CmmnCdDto;
 import com.its.op.model.entity.database.CmmnCd;
+import com.its.op.model.entity.database.CmmnCdKey;
 import com.its.op.repository.database.CmmnCdRepository;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -8,6 +10,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 
 @Slf4j
 @RequiredArgsConstructor
@@ -36,4 +39,47 @@ public class CmmnCdService {
         return new ArrayList<>();
     }
 
+    public CmmnCd findAllByCmmnClsfCdCmmnCd(String CMMN_CLSF_CD, String CMMN_CD) {
+        try {
+            CmmnCd data = this.repo.findAllByCmmnClsfCdCmmnCd(CMMN_CLSF_CD, CMMN_CD);
+            return data;
+        }
+        catch (Exception e) {
+            log.error("{}.findById: Exception: {}", getClass().getSimpleName(), e.getMessage());
+        }
+        return null;
+    }
+
+    public CmmnCd mergeInfo(CmmnCdDto.CmmnCdUpdateReq req) {
+        try {
+            CmmnCdKey key = new CmmnCdKey(req.getCMMN_CLSF_CD(), req.getCMMN_CD());
+            Optional<CmmnCd> data = this.repo.findById(key);
+            CmmnCd newObj = data.orElseGet(() -> new CmmnCd(req.getCMMN_CLSF_CD(), req.getCMMN_CD()));
+            newObj.updateInfo(req);
+            this.repo.save(newObj);
+
+            return newObj;
+        }
+        catch (Exception e) {
+            log.error("{}.mergeInfo: Object: {}, Exception: {}", getClass().getSimpleName(), req, e.getMessage());
+        }
+        return null;
+    }
+
+    public CmmnCd deleteById(String id, String sub) {
+        try {
+            CmmnCdKey key = new CmmnCdKey(id, sub);
+            Optional<CmmnCd> data = this.repo.findById(key);
+            if (data.isPresent()) {
+                CmmnCd obj = data.get();
+                this.repo.deleteById(key);
+                return obj;
+            }
+        }
+        catch (Exception e) {
+            log.error("{}.deleteById: Object: {}, Exception: {}", getClass().getSimpleName(), id, e.getMessage());
+        }
+        return null;
+    }
+
 }

+ 74 - 0
src/main/java/com/its/op/service/database/CmmnClsfCdService.java

@@ -0,0 +1,74 @@
+package com.its.op.service.database;
+
+import com.its.op.model.dto.database.CmmnClsfCdDto;
+import com.its.op.model.entity.database.CmmnClsfCd;
+import com.its.op.repository.database.CmmnClsfCdRepository;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+@Slf4j
+@RequiredArgsConstructor
+@Service
+public class CmmnClsfCdService {
+
+    private final CmmnClsfCdRepository repo;
+
+    public List<CmmnClsfCd> findAll() {
+        try {
+            return this.repo.findAll();
+        }
+        catch (Exception e) {
+            log.error("{}.findAll: Exception: {}", getClass().getSimpleName(), e.getMessage());
+        }
+        return new ArrayList<>();
+    }
+
+    public CmmnClsfCd findById(String CMMN_CLSF_CD) {
+        try {
+            Optional<CmmnClsfCd> data = this.repo.findById(CMMN_CLSF_CD);
+            if (data.isPresent()) {
+                return data.get();
+            }
+        }
+        catch (Exception e) {
+            log.error("{}.findById: Exception: {}", getClass().getSimpleName(), e.getMessage());
+        }
+        return null;
+    }
+
+    public CmmnClsfCd mergeInfo(CmmnClsfCdDto.CmmnClsfCdUpdateReq req) {
+        try {
+            Optional<CmmnClsfCd> data = this.repo.findById(req.getCMMN_CLSF_CD());
+            CmmnClsfCd newObj = data.orElseGet(() -> new CmmnClsfCd(req.getCMMN_CLSF_CD()));
+            newObj.updateInfo(req);
+            this.repo.save(newObj);
+
+            return newObj;
+        }
+        catch (Exception e) {
+            log.error("{}.mergeInfo: Object: {}, Exception: {}", getClass().getSimpleName(), req, e.getMessage());
+        }
+        return null;
+    }
+
+    public CmmnClsfCd deleteById(String id) {
+        try {
+            Optional<CmmnClsfCd> data = this.repo.findById(id);
+            if (data.isPresent()) {
+                CmmnClsfCd obj = data.get();
+                this.repo.deleteById(id);
+                return obj;
+            }
+        }
+        catch (Exception e) {
+            log.error("{}.deleteById: Object: {}, Exception: {}", getClass().getSimpleName(), id, e.getMessage());
+        }
+        return null;
+    }
+
+}