From 792007450b18273b3d952d8383f2469fba183109 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 31 三月 2021 01:32:41 +0800
Subject: [PATCH] 优化合同代码

---
 service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java |   47 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 43 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 3f6b9da..8fcb393 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
@@ -2,19 +2,33 @@
 
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.contract.ContractDto;
+import com.java110.intf.store.IContractChangePlanDetailInnerServiceSMO;
 import com.java110.intf.store.IContractChangePlanInnerServiceSMO;
+import com.java110.intf.store.IContractInnerServiceSMO;
 import com.java110.po.contractChangePlan.ContractChangePlanPo;
+import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
 import com.java110.store.bmo.contractChangePlan.ISaveContractChangePlanBMO;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 @Service("saveContractChangePlanBMOImpl")
 public class SaveContractChangePlanBMOImpl implements ISaveContractChangePlanBMO {
 
     @Autowired
     private IContractChangePlanInnerServiceSMO contractChangePlanInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractChangePlanDetailInnerServiceSMO contractChangePlanDetailInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractInnerServiceSMO contractInnerServiceSMOImpl;
 
     /**
      * 娣诲姞灏忓尯淇℃伅
@@ -23,16 +37,41 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     @Java110Transactional
-    public ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo) {
+    public ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo, ContractChangePlanDetailPo contractChangePlanDetailPo) {
+
+        //鏌ヨ鑰佺殑鍚堝悓淇℃伅
+        ContractDto contractDto = new ContractDto();
+        contractDto.setContractId(contractChangePlanDetailPo.getContractId());
+        contractDto.setStoreId(contractChangePlanDetailPo.getStoreId());
+        List<ContractDto> contractDtos = contractInnerServiceSMOImpl.queryContracts(contractDto);
+
+        Assert.listOnlyOne(contractDtos, "鍚堝悓涓嶅瓨鍦�");
 
         contractChangePlanPo.setPlanId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_planId));
         int flag = contractChangePlanInnerServiceSMOImpl.saveContractChangePlan(contractChangePlanPo);
 
-        if (flag > 0) {
-            return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
+        if (flag < 1) {
+            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+        }
+        //鎻掑叆鏂板��
+        contractChangePlanDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+        contractChangePlanDetailPo.setPlanId(contractChangePlanPo.getPlanId());
+        contractChangePlanDetailPo.setOperate("ADD");
+        flag = contractChangePlanDetailInnerServiceSMOImpl.saveContractChangePlanDetail(contractChangePlanDetailPo);
+        if (flag < 1) {
+            throw new IllegalArgumentException("淇濆瓨鍙樻洿璁板綍澶辫触");
         }
 
-        return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
+        ContractChangePlanDetailPo oldContractChangePlanDetailPo = BeanConvertUtil.covertBean(contractDtos.get(0), ContractChangePlanDetailPo.class);
+        oldContractChangePlanDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+        oldContractChangePlanDetailPo.setPlanId(contractChangePlanPo.getPlanId());
+        oldContractChangePlanDetailPo.setOperate("DEL");
+        flag = contractChangePlanDetailInnerServiceSMOImpl.saveContractChangePlanDetail(contractChangePlanDetailPo);
+        if (flag < 1) {
+            throw new IllegalArgumentException("淇濆瓨鍙樻洿璁板綍澶辫触");
+        }
+
+        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "淇濆瓨鎴愬姛");
     }
 
 }

--
Gitblit v1.8.0