From 9eee768bef97ed7ca92bd77dce8d24818b3bdb27 Mon Sep 17 00:00:00 2001 From: changkyu choi Date: Fri, 14 Feb 2025 17:06:20 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=B0=EC=B9=98=EB=A9=B4=EC=B4=88=EA=B8=B0?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20plan=5Fno=20=EC=B6=94=EA=B0=80=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CanvasBasicSettingController.java | 53 ++-- .../CanvasBasicSettingMapper.java | 51 ++-- .../CanvasBasicSettingService.java | 244 ++++++++++-------- .../dto/CanvasBasicSettingInfo.java | 1 + .../dto/CanvasBasicSettingResponse.java | 1 + .../dto/RoofAllocationInfo.java | 27 +- .../dto/RoofAllocationSettingInfo.java | 7 +- .../dto/RoofMaterialsAddInfo.java | 29 ++- .../canvasBasicSettingMapper.xml | 35 ++- 9 files changed, 256 insertions(+), 192 deletions(-) diff --git a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingController.java b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingController.java index 6a4b7f5b..bf469fe2 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingController.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingController.java @@ -22,41 +22,50 @@ public class CanvasBasicSettingController { private final CanvasBasicSettingService canvasBasicSettingService; @Operation(description = "Canvas Basic Setting 정보를 조회 한다.") - @GetMapping("/canvas-basic-settings/by-object/{objectNo}") - public List selectCanvasBasicSetting(@PathVariable String objectNo) - throws QcastException { - - log.debug("Basic Setting 조회 ::::: " + objectNo); - - return canvasBasicSettingService.selectCanvasBasicSetting(objectNo); + @GetMapping("/canvas-basic-settings/by-object/{objectNo}/{planNo}") + public List selectCanvasBasicSetting(@PathVariable String objectNo, @PathVariable Integer planNo) + throws QcastException { + + log.debug("Basic Setting 조회 ::::: " + objectNo + " : " + planNo); + + return canvasBasicSettingService.selectCanvasBasicSetting(objectNo, planNo); } - + @Operation(description = "Canvas Basic Setting 정보를 등록 한다.") @PostMapping("/canvas-basic-settings") @ResponseStatus(HttpStatus.CREATED) - public Map insertCanvasBasicSetting(@RequestBody CanvasBasicSettingInfo csi) - throws QcastException { - - log.debug("Basic Setting 등록 ::::: " + csi.getObjectNo()); - - return canvasBasicSettingService.insertCanvasBasicSetting(csi); + public Map insertCanvasBasicSetting(@RequestBody CanvasBasicSettingInfo csi) throws QcastException { + + log.debug("Basic Setting 등록 ::::: " + csi.getObjectNo()); + + return canvasBasicSettingService.insertCanvasBasicSetting(csi); } - + + @Operation(description = "Canvas Basic Setting 정보를 삭제 한다.") + @DeleteMapping("/canvas-basic-settings/delete-basic-settings/{objectNo}/{planNo}") + @ResponseStatus(HttpStatus.NO_CONTENT) + public void deleteCanvasBasicSetting(@PathVariable String objectNo, @PathVariable Integer planNo) throws QcastException { + + log.debug("Basic Setting 삭제 ::::: " + objectNo + " : " + planNo); + + canvasBasicSettingService.deleteCanvasBasicSetting(objectNo, planNo); + } + @Operation(description = "지붕면 할당 정보를 등록 한다.") @PostMapping("/roof-allocation-settings") @ResponseStatus(HttpStatus.CREATED) - public Map insertRoofAllocSetting(@RequestBody RoofAllocationSettingInfo rasi) - throws QcastException { + public Map insertRoofAllocSetting(@RequestBody RoofAllocationSettingInfo rasi) throws QcastException { - log.debug("지붕면 할당 등록 ::::: " + rasi.getObjectNo()); + log.debug("지붕면 할당 등록 ::::: " + rasi.getObjectNo()); - return canvasBasicSettingService.insertRoofAllocSetting(rasi); + return canvasBasicSettingService.insertRoofAllocSetting(rasi); } @Operation(description = "Canvas 지붕재추가 Setting 정보를 삭제 한다.") - @DeleteMapping("/canvas-basic-settings/delete-RoofMaterials/{objectNo}") + @DeleteMapping("/canvas-basic-settings/delete-RoofMaterials/{objectNo}/{planNo}") @ResponseStatus(HttpStatus.NO_CONTENT) - public void deleteRoofMaterialsAdd(@PathVariable String objectNo) throws QcastException { - canvasBasicSettingService.deleteRoofMaterialsAdd(objectNo); + public void deleteRoofMaterialsAdd(@PathVariable String objectNo, @PathVariable Integer planNo) throws QcastException { + canvasBasicSettingService.deleteRoofMaterialsAdd(objectNo, planNo); } + } diff --git a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingMapper.java b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingMapper.java index b1093124..5f78c62d 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingMapper.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingMapper.java @@ -13,30 +13,33 @@ import com.interplug.qcast.biz.canvasBasicSetting.dto.RoofMaterialsAddInfo; public interface CanvasBasicSettingMapper { // Canvas Basic Setting 유무 조회 - public CanvasBasicSettingInfo getCanvasBasicSettingCnt(String objectNo); - - // Canvas Basic Setting 조회(objectNo) - public List selectCanvasBasicSetting(String objectNo); - - // Canvas Basic Setting 등록 - public void insertCanvasBasicSetting(CanvasBasicSettingInfo csi); - - // Canvas Basic Setting 수정 - public void updateCanvasBasicSetting(CanvasBasicSettingInfo csi); - - // Canvas 지붕재추가 Setting 유무 조회 - public RoofMaterialsAddInfo getRoofMaterialsCnt(String objectNo); - - // Canvas 지붕재추가 Setting 등록 - public void insertRoofMaterialsAdd(RoofMaterialsAddInfo rma); - - // Canvas 지붕재추가 Setting 수정 - public void updateRoofMaterialsAdd(RoofMaterialsAddInfo rma); - - // 지붕면 할당 Setting 등록 - public void insertRoofAllocation(RoofAllocationInfo rai); + public CanvasBasicSettingInfo getCanvasBasicSettingCnt(String objectNo, Integer planNo); - // Canvas 지붕재추가 Setting 삭제 - public void deleteRoofMaterialsAdd(String objectNo); + // Canvas Basic Setting 조회(objectNo) + public List selectCanvasBasicSetting(String objectNo, Integer planNo); + + // Canvas Basic Setting 등록 + public void insertCanvasBasicSetting(CanvasBasicSettingInfo csi); + + // Canvas Basic Setting 수정 + public void updateCanvasBasicSetting(CanvasBasicSettingInfo csi); + + // Canvas Basic Setting 삭제 + public void deleteCanvasBasicSetting(String objectNo, Integer planNo); + + // Canvas 지붕재추가 Setting 유무 조회 + public RoofMaterialsAddInfo getRoofMaterialsCnt(String objectNo, Integer planNo); + + // Canvas 지붕재추가 Setting 등록 + public void insertRoofMaterialsAdd(RoofMaterialsAddInfo rma); + + // Canvas 지붕재추가 Setting 수정 + public void updateRoofMaterialsAdd(RoofMaterialsAddInfo rma); + + // 지붕면 할당 Setting 등록 + public void insertRoofAllocation(RoofAllocationInfo rai); + + // Canvas 지붕재추가 Setting 삭제 + public void deleteRoofMaterialsAdd(String objectNo, Integer planNo); } \ No newline at end of file diff --git a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingService.java b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingService.java index 95c1631d..e328df73 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingService.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingService.java @@ -20,120 +20,144 @@ import org.springframework.stereotype.Service; public class CanvasBasicSettingService { private final CanvasBasicSettingMapper canvasBasicSettingMapper; - // Canvas Basic Setting 조회(objectNo) - public List selectCanvasBasicSetting(String objectNo) - throws QcastException { - try { - return canvasBasicSettingMapper.selectCanvasBasicSetting(objectNo); - } catch (Exception e) { - throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); - } - } +//Canvas Basic Setting 조회(objectNo) + public List selectCanvasBasicSetting(String objectNo, Integer planNo) throws QcastException { + try { + return canvasBasicSettingMapper.selectCanvasBasicSetting(objectNo, planNo); + } catch (Exception e) { + throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); + } + } - // Canvas Basic Setting 등록 - public Map insertCanvasBasicSetting(CanvasBasicSettingInfo csi) - throws QcastException { + // Canvas Basic Setting 등록 + public Map insertCanvasBasicSetting(CanvasBasicSettingInfo csi) throws QcastException { + + Map response = new HashMap<>(); + + if (csi.getObjectNo() == null && csi.getPlanNo() == null) { + throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다."); + } - Map response = new HashMap<>(); + try { + + // 먼저 데이터가 존재하는지 확인 + CanvasBasicSettingInfo cntData = canvasBasicSettingMapper.getCanvasBasicSettingCnt(csi.getObjectNo(), csi.getPlanNo()); + + log.debug("cntData ::::: " + cntData); + + // 데이터가 존재하지 않으면 insert + if (cntData.getRoofCnt().intValue() < 1) { + // 도면/치수/각도 정보 insert + canvasBasicSettingMapper.insertCanvasBasicSetting(csi); + + // for-each 루프를 사용하여 지붕재추가 Setting + for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) { + + rma.setObjectNo(csi.getObjectNo()); + rma.setPlanNo(csi.getPlanNo()); + // 신규 지붕재추가 정보 insert + canvasBasicSettingMapper.insertRoofMaterialsAdd(rma); + } + response.put("objectNo", csi.getObjectNo()); + response.put("returnMessage", "common.message.confirm.mark"); + } else { + // 도면/치수/각도 정보 update + canvasBasicSettingMapper.updateCanvasBasicSetting(csi); + + // for-each 루프를 사용하여 지붕재추가 Setting + for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) { + + rma.setObjectNo(csi.getObjectNo()); + rma.setPlanNo(csi.getPlanNo()); + // 신규 지붕재추가 정보 insert + canvasBasicSettingMapper.updateRoofMaterialsAdd(rma); + } + response.put("objectNo", csi.getObjectNo()); + response.put("returnMessage", "common.message.confirm.mark"); + } + } catch (Exception e) { + throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); + } - if (csi.getObjectNo() == null) { - throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, "올바르지 않은 입력값입니다."); - } + // 생성된 objectNo 반환 + return response; + } + + // Canvas Basic Setting 삭제 + public void deleteCanvasBasicSetting(String objectNo, Integer planNo) throws QcastException { + + if ((objectNo == null || objectNo.trim().isEmpty()) && (planNo == null)) { + throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다."); + } + + // 먼저 데이터가 존재하는지 확인 + CanvasBasicSettingInfo cntData = canvasBasicSettingMapper.getCanvasBasicSettingCnt(objectNo, planNo); + + log.debug("cntData ::::: " + cntData); + + // 데이터가 존재하지 않으면 insert + if (cntData.getRoofCnt().intValue() > 0) { + // Canvas Basic Setting 정보 삭제 + canvasBasicSettingMapper.deleteCanvasBasicSetting(objectNo, planNo); + // 지붕재추가 정보 삭제 + canvasBasicSettingMapper.deleteRoofMaterialsAdd(objectNo, planNo); + } else { + throw new QcastException(ErrorCode.NOT_FOUND, "삭제할 배치면이 존재하지 않습니다."); + } + + } + + // 지붕면 할당 Setting 등록 + public Map insertRoofAllocSetting(RoofAllocationSettingInfo rasi) throws QcastException { + + Map response = new HashMap<>(); + + if (rasi.getObjectNo() == null && rasi.getPlanNo() == null) { + throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다."); + } - try { + try { + + // 기존 지붕재추가 정보 삭제 후 insert + canvasBasicSettingMapper.deleteRoofMaterialsAdd(rasi.getObjectNo(), rasi.getPlanNo()); + + // for-each 루프를 사용하여 지붕재추가 Setting + for (RoofAllocationInfo rai : rasi.getRoofAllocationList()) { + rai.setObjectNo(rasi.getObjectNo()); + rai.setPlanNo(rasi.getPlanNo()); + canvasBasicSettingMapper.insertRoofAllocation(rai); + } + response.put("objectNo", rasi.getObjectNo()); + response.put("returnMessage", "common.message.confirm.mark"); + } catch (Exception e) { + throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); + } - // 먼저 데이터가 존재하는지 확인 - CanvasBasicSettingInfo cntData = - canvasBasicSettingMapper.getCanvasBasicSettingCnt(csi.getObjectNo()); + // 생성된 objectNo 반환 + return response; - log.debug("cntData ::::: " + cntData); - - // 데이터가 존재하지 않으면 insert - if (cntData.getRoofCnt().intValue() < 1) { - // 도면/치수/각도 정보 insert - canvasBasicSettingMapper.insertCanvasBasicSetting(csi); - - // for-each 루프를 사용하여 지붕재추가 Setting - for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) { - - rma.setObjectNo(csi.getObjectNo()); - // 신규 지붕재추가 정보 insert - canvasBasicSettingMapper.insertRoofMaterialsAdd(rma); - } - - } else { - // 도면/치수/각도 정보 update - canvasBasicSettingMapper.updateCanvasBasicSetting(csi); - - // for-each 루프를 사용하여 지붕재추가 Setting - for (RoofMaterialsAddInfo rma : csi.getRoofMaterialsAddList()) { - - rma.setObjectNo(csi.getObjectNo()); - // 신규 지붕재추가 정보 insert - canvasBasicSettingMapper.updateRoofMaterialsAdd(rma); - } - } - response.put("objectNo", csi.getObjectNo()); - response.put("returnMessage", "common.message.confirm.mark"); - - } catch (Exception e) { - throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); - } - - // 생성된 objectNo 반환 - return response; - } - - // 지붕면 할당 Setting 등록 - public Map insertRoofAllocSetting(RoofAllocationSettingInfo rasi) - throws QcastException { - - Map response = new HashMap<>(); - - if (rasi.getObjectNo() == null) { - throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, "올바르지 않은 입력값입니다."); - } - - try { - - // 기존 지붕재추가 정보 삭제 후 insert - canvasBasicSettingMapper.deleteRoofMaterialsAdd(rasi.getObjectNo()); - - // for-each 루프를 사용하여 지붕재추가 Setting - for (RoofAllocationInfo rai : rasi.getRoofAllocationList()) { - rai.setObjectNo(rasi.getObjectNo()); - canvasBasicSettingMapper.insertRoofAllocation(rai); - } - response.put("objectNo", rasi.getObjectNo()); - response.put("returnMessage", "common.message.confirm.mark"); - } catch (Exception e) { - throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); - } - - // 생성된 objectNo 반환 - return response; - } - - // 지붕재추가 삭제 - public void deleteRoofMaterialsAdd(String objectNo) throws QcastException { - - if (objectNo == null || objectNo.trim().isEmpty()) { - throw new QcastException(ErrorCode.INVALID_INPUT_VALUE, "올바르지 않은 입력값입니다."); - } - - try { - // 먼저 데이터가 존재하는지 확인 - RoofMaterialsAddInfo cntData = canvasBasicSettingMapper.getRoofMaterialsCnt(objectNo); - - // 데이터가 존재하지 않으면 수정하지 않고 예외를 던짐 - if (cntData.getRoofCnt().intValue() > 0) { - canvasBasicSettingMapper.deleteRoofMaterialsAdd(objectNo); - } else { - throw new QcastException(ErrorCode.NOT_FOUND, "삭제할 지붕재가 존재하지 않습니다."); - } - } catch (Exception e) { - if (e instanceof QcastException) throw e; - throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); - } - } + } + + // 지붕재추가 삭제 + public void deleteRoofMaterialsAdd(String objectNo, Integer planNo) throws QcastException { + + if ((objectNo == null || objectNo.trim().isEmpty()) && (planNo == null)) { + throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다."); + } + + try { + // 먼저 데이터가 존재하는지 확인 + RoofMaterialsAddInfo cntData = canvasBasicSettingMapper.getRoofMaterialsCnt(objectNo, planNo); + + // 데이터가 존재하지 않으면 수정하지 않고 예외를 던짐 + if (cntData.getRoofCnt().intValue() > 0) { + canvasBasicSettingMapper.deleteRoofMaterialsAdd(objectNo, planNo); + } else { + throw new QcastException(ErrorCode.NOT_FOUND, "삭제할 지붕재가 존재하지 않습니다."); + } + } catch (Exception e) { + if (e instanceof QcastException) throw e; + throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, e.getMessage()); + } + } } diff --git a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/CanvasBasicSettingInfo.java b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/CanvasBasicSettingInfo.java index b0152ba3..08bb8ae6 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/CanvasBasicSettingInfo.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/CanvasBasicSettingInfo.java @@ -11,6 +11,7 @@ import lombok.Setter; public class CanvasBasicSettingInfo { private String objectNo; //견적서 번호 + private Integer planNo; // plan 번호 private Integer roofSizeSet; //치수(복사도/실측값/육지붕) private String roofAngleSet; //각도(경사/각도) private Integer roofCnt; //존재여부 diff --git a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/CanvasBasicSettingResponse.java b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/CanvasBasicSettingResponse.java index 40251e35..e13701c5 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/CanvasBasicSettingResponse.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/CanvasBasicSettingResponse.java @@ -8,6 +8,7 @@ import lombok.Setter; public class CanvasBasicSettingResponse { private String objectNo; // 견적서 번호 + private Integer planNo; // plan 번호 private Integer roofSizeSet; // 치수(복사도/실측값/육지붕) private String roofAngleSet; // 각도(경사/각도) private boolean roofApply; // 적용 diff --git a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofAllocationInfo.java b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofAllocationInfo.java index 2770583c..5b9d0714 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofAllocationInfo.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofAllocationInfo.java @@ -9,18 +9,19 @@ import lombok.Setter; @Setter public class RoofAllocationInfo { - private String objectNo; // 견적서 번호 - private boolean roofApply; // 적용 - private Integer roofSeq; // 순번 SEQ - private String roofMatlCd; // 타입 - private Integer roofWidth; // 넓이 - private Integer roofHeight; // 높이 - private Integer roofHajebichi; // 하제비치 - private String roofGap; // 간격 - private String roofLayout; // 방식 - private Float roofPitch; // 경사도 - private Float roofAngle; // 각도 - private Date registDatetime; // 생성일시 - private Date lastEditDatetime; // 수정일시 + private String objectNo; // 견적서 번호 + private Integer planNo; // plan 번호 + private boolean roofApply; // 적용 + private Integer roofSeq; // 순번 SEQ + private String roofMatlCd; // 타입 + private Integer roofWidth; // 넓이 + private Integer roofHeight; // 높이 + private Integer roofHajebichi;// 하제비치 + private String roofGap; // 간격 + private String roofLayout; // 방식 + private Float roofPitch; // 경사도 + private Float roofAngle; // 각도 + private Date registDatetime; // 생성일시 + private Date lastEditDatetime;// 수정일시 private String returnMessage; // return message } diff --git a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofAllocationSettingInfo.java b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofAllocationSettingInfo.java index ee6f1ff1..73a3c767 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofAllocationSettingInfo.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofAllocationSettingInfo.java @@ -9,9 +9,10 @@ import lombok.Setter; @Setter public class RoofAllocationSettingInfo { - private String objectNo; //견적서 번호 - private Integer roofSizeSet; //치수(복사도/실측값/육지붕) - private String roofAngleSet; //각도(경사/각도) + private String objectNo; //견적서 번호 + private Integer planNo; // plan 번호 + private Integer roofSizeSet; //치수(복사도/실측값/육지붕) + private String roofAngleSet; //각도(경사/각도) private List roofAllocationList; } \ No newline at end of file diff --git a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofMaterialsAddInfo.java b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofMaterialsAddInfo.java index 42fee1b3..0d3a233e 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofMaterialsAddInfo.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/dto/RoofMaterialsAddInfo.java @@ -9,19 +9,20 @@ import lombok.Setter; @Setter public class RoofMaterialsAddInfo { - private String objectNo; // 견적서 번호 - private boolean roofApply; // 적용 - private Integer roofSeq; // 순번 SEQ - private String roofMatlCd; // 타입 - private Integer roofWidth; // 넓이 - private Integer roofHeight; // 높이 - private Integer roofHajebichi; // 하제비치 - private String roofGap; // 간격 - private String roofLayout; // 방식 - private Float roofPitch; // 경사도 - private Float roofAngle; // 각도 - private Integer roofCnt; // 존재여부 - private Date registDatetime; // 생성일시 - private Date lastEditDatetime; // 수정일시 + private String objectNo; // 견적서 번호 + private Integer planNo; // plan 번호 + private boolean roofApply; // 적용 + private Integer roofSeq; // 순번 SEQ + private String roofMatlCd; // 타입 + private Integer roofWidth; // 넓이 + private Integer roofHeight; // 높이 + private Integer roofHajebichi;// 하제비치 + private String roofGap; // 간격 + private String roofLayout; // 방식 + private Float roofPitch; // 경사도 + private Float roofAngle; // 각도 + private Integer roofCnt; // 존재여부 + private Date registDatetime; // 생성일시 + private Date lastEditDatetime;// 수정일시 private String returnMessage; // return message } diff --git a/src/main/resources/mappers/canvasBasicSetting/canvasBasicSettingMapper.xml b/src/main/resources/mappers/canvasBasicSetting/canvasBasicSettingMapper.xml index aeddf6a1..c7629102 100644 --- a/src/main/resources/mappers/canvasBasicSetting/canvasBasicSettingMapper.xml +++ b/src/main/resources/mappers/canvasBasicSetting/canvasBasicSettingMapper.xml @@ -3,18 +3,20 @@ - - @@ -38,6 +42,7 @@ INSERT INTO TB_CANVAS_BASIC_SETUP ( object_no + , plan_no , roof_size_set , roof_angle_set , regist_datetime @@ -45,6 +50,7 @@ ) VALUES ( #{objectNo} + , #{planNo} , #{roofSizeSet} , #{roofAngleSet} , GETDATE() @@ -59,14 +65,23 @@ , roof_angle_set = #{roofAngleSet} , last_edit_datetime = GETDATE() WHERE object_no = #{objectNo} + AND plan_no = #{planNo} - /* sqlid : com.interplug.qcast.canvasBasicSetting.getRoofMaterialsCnt Canvas 지붕재추가 Setting 유무 */ SELECT COUNT(1) AS roofCnt FROM TB_CANVAS_BASIC_SETUP WHERE object_no = #{objectNo} + AND plan_no = #{planNo} @@ -74,6 +89,7 @@ INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD ( object_no + , plan_no , roof_apply , roof_seq , roof_matl_cd @@ -89,6 +105,7 @@ ) VALUES ( #{objectNo} + , #{planNo} , #{roofApply} , #{roofSeq} , #{roofMatlCd} @@ -107,8 +124,9 @@ /* sqlid : com.interplug.qcast.canvasBasicSetting.updateRoofMaterialsAdd Canvas 지붕재추가 Setting 수정 */ MERGE TB_CANVAS_ROOF_MATERIALS_ADD AS target - USING (SELECT #{objectNo} AS object_no) AS source - ON (target.object_no = source.object_no + USING (SELECT #{objectNo} AS object_no, #{planNo} AS plan_no) AS source + ON (target.object_no = source.object_no + AND target.plan_no = source.plan_no AND target.roof_seq = #{roofSeq}) WHEN MATCHED THEN UPDATE @@ -127,6 +145,7 @@ INSERT ( object_no + , plan_no , roof_apply , roof_seq , roof_matl_cd @@ -141,6 +160,7 @@ ) VALUES ( #{objectNo} + , #{planNo} , #{roofApply} , #{roofSeq} , #{roofMatlCd} @@ -161,6 +181,7 @@ INSERT INTO TB_CANVAS_ROOF_MATERIALS_ADD ( object_no + , plan_no , roof_apply , roof_seq , roof_matl_cd @@ -176,6 +197,7 @@ ) VALUES ( #{objectNo} + , #{planNo} , #{roofApply} , #{roofSeq} , #{roofMatlCd} @@ -191,10 +213,11 @@ ); - + /* sqlid : com.interplug.qcast.canvasBasicSetting.deleteRoofMaterialsAdd Canvas 지붕재추가 Setting 삭제 */ DELETE FROM TB_CANVAS_ROOF_MATERIALS_ADD WHERE object_no = #{objectNo} + AND plan_no = #{planNo} \ No newline at end of file