From 55a7d121a7711fc94d7abeba6738d358c7ff2f5c Mon Sep 17 00:00:00 2001 From: "LAPTOP-L3VE7KK2\\USER" Date: Thu, 14 Nov 2024 11:23:02 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=AC=EC=A0=81=EC=84=9C=20API=20=EC=95=84?= =?UTF-8?q?=EC=9D=B4=ED=85=9C=20=ED=9E=88=EC=8A=A4=ED=86=A0=EB=A6=AC=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qcast/biz/estimate/EstimateMapper.java | 6 ++ .../qcast/biz/estimate/EstimateService.java | 16 ++++- .../qcast/biz/estimate/dto/ItemRequest.java | 6 ++ .../mappers/estimate/estimateMapper.xml | 65 ++++++++++++++++++- 4 files changed, 87 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/interplug/qcast/biz/estimate/EstimateMapper.java b/src/main/java/com/interplug/qcast/biz/estimate/EstimateMapper.java index 48bf6fed..594c6392 100644 --- a/src/main/java/com/interplug/qcast/biz/estimate/EstimateMapper.java +++ b/src/main/java/com/interplug/qcast/biz/estimate/EstimateMapper.java @@ -39,6 +39,9 @@ public interface EstimateMapper { // 아이템 마스터 목록 조회 public List selectEstimateNoteItemList(NoteRequest noteRequest); + // 아이템 히스토리 번호 조회 + public String selectEstimateItemHisNo(EstimateRequest estimateRequest); + // 물건정보 수정 public int updateObject(EstimateRequest estimateRequest); @@ -57,6 +60,9 @@ public interface EstimateMapper { // 견적서 아이템 등록 public int insertEstimateItem(ItemRequest itemRequest); + // 견적서 아이템 히스토리 등록 + public int insertEstimateItemHis(ItemRequest itemRequest); + // 견적서 지붕재 목록 삭제(물리 삭제) public int deleteEstimateRoofList(EstimateRequest estimateRequest); diff --git a/src/main/java/com/interplug/qcast/biz/estimate/EstimateService.java b/src/main/java/com/interplug/qcast/biz/estimate/EstimateService.java index 23c54b5f..e9cdcc1d 100644 --- a/src/main/java/com/interplug/qcast/biz/estimate/EstimateService.java +++ b/src/main/java/com/interplug/qcast/biz/estimate/EstimateService.java @@ -357,6 +357,8 @@ public class EstimateService { itemRequest.setFileUploadFlg(itemResponse.getFileUploadFlg()); itemRequest.setPkgMaterialFlg(itemResponse.getPkgMaterialFlg()); itemRequest.setItemGroup(itemResponse.getItemGroup()); + itemRequest.setPartAdd("0"); + itemRequest.setDelFlg("0"); break; } } @@ -508,11 +510,13 @@ public class EstimateService { estimateMapper.deleteEstimateItemList(estimateRequest); // 견적서 아이템 신규 추가 - int j = 1; + String hisNo = estimateMapper.selectEstimateItemHisNo(estimateRequest); // 아이템 히스토리 번호 조회 + int j = 1, k = 1; for (ItemRequest itemRequest : itemList) { + itemRequest.setHisNo(hisNo); itemRequest.setObjectNo(estimateRequest.getObjectNo()); itemRequest.setPlanNo(estimateRequest.getPlanNo()); - itemRequest.setDispOrder(String.valueOf(j++)); + itemRequest.setDispOrder(String.valueOf(k++)); itemRequest.setPartAdd( !StringUtils.isEmpty(itemRequest.getPartAdd()) ? itemRequest.getPartAdd() : "0"); itemRequest.setItemChangeFlg( @@ -521,7 +525,13 @@ public class EstimateService { : "0"); itemRequest.setUserId(estimateRequest.getUserId()); - estimateMapper.insertEstimateItem(itemRequest); + estimateMapper.insertEstimateItemHis(itemRequest); + + if (!"1".equals(itemRequest.getDelFlg())) { + itemRequest.setDispOrder(String.valueOf(j++)); + + estimateMapper.insertEstimateItem(itemRequest); + } } // QSP Q.CAST SEND API diff --git a/src/main/java/com/interplug/qcast/biz/estimate/dto/ItemRequest.java b/src/main/java/com/interplug/qcast/biz/estimate/dto/ItemRequest.java index 560a7c27..fe6ebe19 100644 --- a/src/main/java/com/interplug/qcast/biz/estimate/dto/ItemRequest.java +++ b/src/main/java/com/interplug/qcast/biz/estimate/dto/ItemRequest.java @@ -71,6 +71,12 @@ public class ItemRequest { @Schema(description = "아이템 그룹코드") private String itemGroup; + @Schema(description = "히스토리 번호") + private String hisNo; + + @Schema(description = "삭제여부") + private String delFlg; + @Schema(description = "사용자아이디") private String userId; } diff --git a/src/main/resources/mappers/estimate/estimateMapper.xml b/src/main/resources/mappers/estimate/estimateMapper.xml index 9e51be6c..0ce51d25 100644 --- a/src/main/resources/mappers/estimate/estimateMapper.xml +++ b/src/main/resources/mappers/estimate/estimateMapper.xml @@ -419,6 +419,15 @@ + + /* sqlid : com.interplug.qcast.biz.estimate.updateObject */ UPDATE T_OBJECT @@ -560,6 +569,56 @@ ) + + /* sqlid : com.interplug.qcast.biz.estimate.insertEstimateItemHits */ + INSERT INTO T_PART_ESTIMATE_HIS + ( + HIS_NO + , OBJECT_NO + , PLAN_NO + , DISP_ORDER + , ITEM_ID + , ITEM_NO + , ITEM_NAME + , UNIT + , AMOUNT + , UNIT_PRICE + , SALE_PRICE + + , SPECIAL_NOTE_CD + + , PKG_MATERIAL_FLG + , ITEM_CHANGE_FLG + , FILE_UPLOAD_FLG + , PART_ADD + , DEL_FLG + , CREATE_DATETIME + , CREATE_USER + ) VALUES ( + #{hisNo} + , #{objectNo} + , #{planNo} + , #{dispOrder} + , #{itemId} + , #{itemNo} + , #{itemName} + , #{unit} + , #{amount} + , #{unitPrice} + , #{salePrice} + + , #{specialNoteCd} + + , #{pkgMaterialFlg} + , #{itemChangeFlg} + , #{fileUploadFlg} + , #{partAdd} + , #{delFlg} + , GETDATE() + , #{userId} + ) + + /* sqlid : com.interplug.qcast.biz.estimate.insertEstimateRoof */ @@ -638,21 +697,21 @@ /* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofList */ DELETE FROM T_ROOF_ESTIMATE WHERE OBJECT_NO = #{objectNo} - AND PLAN_NO = #{planNo} + AND PLAN_NO = #{planNo} /* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateRoofItemList */ DELETE FROM T_ROOF_ITEM_ESTIMATE WHERE OBJECT_NO = #{objectNo} - AND PLAN_NO = #{planNo} + AND PLAN_NO = #{planNo} /* sqlid : com.interplug.qcast.biz.estimate.deleteEstimateItemList */ DELETE FROM T_PART_ESTIMATE WHERE OBJECT_NO = #{objectNo} - AND PLAN_NO = #{planNo} + AND PLAN_NO = #{planNo}