From 1612ca52c3e2cbe29fbbce52e49fca1b396474b3 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 26 四月 2021 01:14:35 +0800
Subject: [PATCH] 优化代码

---
 service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java |   64 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 4 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java b/service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java
index f9b45bd..2aa3bbe 100644
--- a/service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java
@@ -4,12 +4,13 @@
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.contract.ContractDto;
 import com.java110.dto.contractChangePlan.ContractChangePlanDto;
+import com.java110.dto.contractChangePlanRoom.ContractChangePlanRoomDto;
+import com.java110.dto.contractRoom.ContractRoomDto;
 import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
-import com.java110.intf.store.IContractChangePlanDetailInnerServiceSMO;
-import com.java110.intf.store.IContractChangePlanInnerServiceSMO;
-import com.java110.intf.store.IContractInnerServiceSMO;
+import com.java110.intf.store.*;
 import com.java110.po.contractChangePlan.ContractChangePlanPo;
 import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
+import com.java110.po.contractChangePlanRoom.ContractChangePlanRoomPo;
 import com.java110.store.bmo.contractChangePlan.ISaveContractChangePlanBMO;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -35,6 +36,12 @@
     @Autowired
     private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMO;
 
+    @Autowired
+    private IContractChangePlanRoomInnerServiceSMO contractChangePlanRoomInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl;
+
     /**
      * 娣诲姞灏忓尯淇℃伅
      *
@@ -42,7 +49,9 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     @Java110Transactional
-    public ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo, ContractChangePlanDetailPo contractChangePlanDetailPo) {
+    public ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo,
+                                       ContractChangePlanDetailPo contractChangePlanDetailPo,
+                                       List<ContractChangePlanRoomPo> contractChangePlanRoomPos) {
 
         //鏌ヨ鑰佺殑鍚堝悓淇℃伅
         ContractDto contractDto = new ContractDto();
@@ -76,6 +85,10 @@
             throw new IllegalArgumentException("淇濆瓨鍙樻洿璁板綍澶辫触");
         }
 
+        dealContractChangePlanRooms(contractChangePlanPo,contractChangePlanRoomPos);
+
+
+
         //鎻愪氦娴佺▼
         ContractChangePlanDto contractChangePlanDto = BeanConvertUtil.covertBean(contractChangePlanPo, ContractChangePlanDto.class);
         contractChangePlanDto.setCurrentUserId(contractChangePlanPo.getChangePerson());
@@ -84,4 +97,47 @@
         return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
     }
 
+    /**
+     * 澶勭悊鍚堝悓鍙樻洿璧勪骇鍔熻兘
+     *
+     * @param contractChangePlanRoomPos
+     */
+    private void dealContractChangePlanRooms(ContractChangePlanPo contractChangePlanPo,
+                                             List<ContractChangePlanRoomPo> contractChangePlanRoomPos) {
+
+        if (contractChangePlanRoomPos == null || contractChangePlanRoomPos.size() == 0) {
+            return;
+        }
+        ContractChangePlanRoomPo tmpContractChangePlanRoomPo = null;
+        for(ContractChangePlanRoomPo contractChangePlanRoomPo : contractChangePlanRoomPos){
+
+            ContractRoomDto contractRoomDto = new ContractRoomDto();
+            contractRoomDto.setContractId(contractChangePlanPo.getContractId());
+            contractRoomDto.setRoomId(contractChangePlanRoomPo.getRoomId());
+            List<ContractRoomDto> contractRoomDtos
+                    = contractRoomInnerServiceSMOImpl.queryContractRooms(contractRoomDto);
+
+            if(contractRoomDtos != null && contractRoomDtos.size()> 0){
+                tmpContractChangePlanRoomPo = new ContractChangePlanRoomPo();
+                tmpContractChangePlanRoomPo.setContractId(contractChangePlanPo.getContractId());
+                tmpContractChangePlanRoomPo.setOwnerId(contractRoomDtos.get(0).getOwnerId());
+                tmpContractChangePlanRoomPo.setOwnerName(contractRoomDtos.get(0).getOwnerName());
+                tmpContractChangePlanRoomPo.setPlanId(contractChangePlanPo.getPlanId());
+                tmpContractChangePlanRoomPo.setPrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_prId));
+                tmpContractChangePlanRoomPo.setRoomId(contractRoomDtos.get(0).getRoomId());
+                tmpContractChangePlanRoomPo.setRoomName(contractRoomDtos.get(0).getRoomName());
+                tmpContractChangePlanRoomPo.setStoreId(contractRoomDtos.get(0).getStoreId());
+                tmpContractChangePlanRoomPo.setOperate("DEL");
+                contractChangePlanRoomInnerServiceSMOImpl.saveContractChangePlanRoom(tmpContractChangePlanRoomPo);
+            }
+
+            contractChangePlanRoomPo.setContractId(contractChangePlanPo.getContractId());
+            contractChangePlanRoomPo.setPlanId(contractChangePlanPo.getPlanId());
+            contractChangePlanRoomPo.setPrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_prId));
+            contractChangePlanRoomPo.setStoreId(contractRoomDtos.get(0).getStoreId());
+            contractChangePlanRoomPo.setOperate("ADD");
+            contractChangePlanRoomInnerServiceSMOImpl.saveContractChangePlanRoom(contractChangePlanRoomPo);
+        }
+    }
+
 }

--
Gitblit v1.8.0