From e1e4c5226423c96c5b4aed32bb949be540552094 Mon Sep 17 00:00:00 2001 From: ysCha Date: Mon, 4 Aug 2025 11:35:35 +0900 Subject: [PATCH] =?UTF-8?q?[1226]=20=20=EC=83=88=EB=A1=9C=EA=B3=A0?= =?UTF-8?q?=EC=B9=A8=20=EC=A7=80=EB=B6=95=EC=9E=AC=20=EB=A6=AC=EC=85=8B=20?= =?UTF-8?q?=ED=95=98=EC=A0=9C=EB=B9=84=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CanvasBasicSettingMapper.java | 4 +- .../CanvasPopupStatusService.java | 58 +++++++++++++++++++ .../dto/CanvasPopupStatus.java | 4 ++ .../canvasBasicSettingMapper.xml | 8 +++ .../CanvasPopupStatusMapper.xml | 3 +- 5 files changed, 75 insertions(+), 2 deletions(-) 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 5f78c62d..d456da28 100644 --- a/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingMapper.java +++ b/src/main/java/com/interplug/qcast/biz/canvasBasicSetting/CanvasBasicSettingMapper.java @@ -41,5 +41,7 @@ public interface CanvasBasicSettingMapper { // Canvas 지붕재추가 Setting 삭제 public void deleteRoofMaterialsAdd(String objectNo, Integer planNo); - + + // Canvas 하제비치 update + public void updateHajebichRoofMaterialsAdd(CanvasBasicSettingResponse canvasBasicSettingResponse); } \ No newline at end of file diff --git a/src/main/java/com/interplug/qcast/biz/canvaspopupstatus/CanvasPopupStatusService.java b/src/main/java/com/interplug/qcast/biz/canvaspopupstatus/CanvasPopupStatusService.java index 9f0c5855..480832bc 100644 --- a/src/main/java/com/interplug/qcast/biz/canvaspopupstatus/CanvasPopupStatusService.java +++ b/src/main/java/com/interplug/qcast/biz/canvaspopupstatus/CanvasPopupStatusService.java @@ -1,18 +1,29 @@ package com.interplug.qcast.biz.canvaspopupstatus; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.interplug.qcast.biz.canvasBasicSetting.CanvasBasicSettingMapper; +import com.interplug.qcast.biz.canvasBasicSetting.dto.CanvasBasicSettingResponse; import com.interplug.qcast.biz.canvaspopupstatus.dto.CanvasPopupStatus; +import com.interplug.qcast.biz.estimate.dto.EstimateApiResponse; import com.interplug.qcast.config.Exception.ErrorCode; import com.interplug.qcast.config.Exception.QcastException; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.List; + @Service @RequiredArgsConstructor @Transactional(readOnly = true) public class CanvasPopupStatusService { private final CanvasPopupStatusMapper canvasPopupStatusMapper; + private final CanvasBasicSettingMapper canvasBasicSettingMapper; /** * Canvas Popup Status 조회 @@ -44,6 +55,53 @@ public class CanvasPopupStatusService { } else { updateCanvasPopupStatus(cps); } + //기초정보 업데이트 (roofHajebichi) + + String hajebichi = cps.getHajebichi(); + if(hajebichi != null && !hajebichi.isEmpty()){ + CanvasBasicSettingResponse canvasBasicSettingResponse = new CanvasBasicSettingResponse(); + canvasBasicSettingResponse.setObjectNo(cps.getObjectNo()); + canvasBasicSettingResponse.setPlanNo(cps.getPlanNo()); + canvasBasicSettingResponse.setRoofHajebichi(Integer.valueOf(hajebichi)); + canvasBasicSettingMapper.updateHajebichRoofMaterialsAdd(canvasBasicSettingResponse); + } + + +// String popupStatus = cps.getPopupStatus(); +// List hajebichiList = new ArrayList<>();//getHajebichiValues(popupStatus, 0, 1); // roofIndex=0, planNo=1인 hajebichi 값들 조회 +// +// try { +// ObjectMapper mapper = new ObjectMapper(); +// JsonNode rootNode = mapper.readTree(popupStatus); +// JsonNode roofConstructions = rootNode.get("roofConstructions"); +// if (roofConstructions.isArray()) { +// for (JsonNode construction : roofConstructions) { +// JsonNode addRoof = construction.get("addRoof"); +// if (addRoof != null +// && addRoof.get("roofIndex").asInt() == 0 +// && addRoof.get("planNo").asInt() == cps.getPlanNo()) { +// hajebichiList.add(addRoof.get("hajebichi").asInt()); +// } +// } +// } +// +// } catch (JsonProcessingException e) { +// throw new QcastException(ErrorCode.INTERNAL_SERVER_ERROR, "JSON 파싱 오류"); +// } +// if(!hajebichiList.isEmpty()){ +// CanvasBasicSettingResponse canvasBasicSettingResponse = new CanvasBasicSettingResponse(); +// canvasBasicSettingResponse.setObjectNo(cps.getObjectNo()); +// canvasBasicSettingResponse.setPlanNo(cps.getPlanNo()); +// canvasBasicSettingResponse.setRoofHajebichi(hajebichiList.get(0)); +// + +// if(canvasBasicSettingResponse.getRoofHajebichi() > 0){ +// canvasBasicSettingMapper.updateHajebichRoofMaterialsAdd(canvasBasicSettingResponse); +// } +// +// } + + } /** diff --git a/src/main/java/com/interplug/qcast/biz/canvaspopupstatus/dto/CanvasPopupStatus.java b/src/main/java/com/interplug/qcast/biz/canvaspopupstatus/dto/CanvasPopupStatus.java index 2cad4a04..788bc89b 100644 --- a/src/main/java/com/interplug/qcast/biz/canvaspopupstatus/dto/CanvasPopupStatus.java +++ b/src/main/java/com/interplug/qcast/biz/canvaspopupstatus/dto/CanvasPopupStatus.java @@ -25,4 +25,8 @@ public class CanvasPopupStatus { @Schema(description = "캔버스 팝업 상태 데이터") private String popupStatus; + + @Schema(description = "하제비치") + private String hajebichi; + } diff --git a/src/main/resources/mappers/canvasBasicSetting/canvasBasicSettingMapper.xml b/src/main/resources/mappers/canvasBasicSetting/canvasBasicSettingMapper.xml index 975ad348..a69b1c96 100644 --- a/src/main/resources/mappers/canvasBasicSetting/canvasBasicSettingMapper.xml +++ b/src/main/resources/mappers/canvasBasicSetting/canvasBasicSettingMapper.xml @@ -227,4 +227,12 @@ AND plan_no = #{planNo} + + /* sqlid : updateHajebichRoofMaterialsAdd */ + UPDATE TB_CANVAS_ROOF_MATERIALS_ADD + SET roof_hajebichi = #{roofHajebichi} + WHERE object_no = #{objectNo} + AND plan_no = #{planNo} + + \ No newline at end of file diff --git a/src/main/resources/mappers/canvaspopupstatus/CanvasPopupStatusMapper.xml b/src/main/resources/mappers/canvaspopupstatus/CanvasPopupStatusMapper.xml index 2be94951..1d4e6dd9 100644 --- a/src/main/resources/mappers/canvaspopupstatus/CanvasPopupStatusMapper.xml +++ b/src/main/resources/mappers/canvaspopupstatus/CanvasPopupStatusMapper.xml @@ -11,7 +11,8 @@ object_no, plan_no, popup_type, - popup_status + popup_status, + #{hajebichi} AS hajebichi FROM T_CANVAS_POPUP_STATUS WHERE object_no = #{objectNo} AND plan_no = #{planNo}