From fdf45f690fa4eca9191aa0fb6abf077e7b36ce06 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 23 四月 2021 10:11:59 +0800
Subject: [PATCH] 优化代码

---
 service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java |  110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 108 insertions(+), 2 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java b/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
index 896fd7c..8d747ce 100755
--- a/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
@@ -5,17 +5,25 @@
 import com.java110.core.annotation.Java110Transactional;
 import com.java110.dto.contract.ContractDto;
 import com.java110.dto.contractAttr.ContractAttrDto;
+import com.java110.dto.contractChangePlan.ContractChangePlanDto;
+import com.java110.dto.contractChangePlanDetail.ContractChangePlanDetailDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.rentingPool.RentingPoolDto;
 import com.java110.dto.store.StoreDto;
-import com.java110.intf.store.IContractAttrInnerServiceSMO;
-import com.java110.intf.store.IContractInnerServiceSMO;
+import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
+import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
+import com.java110.intf.store.*;
 import com.java110.intf.user.IRentingPoolInnerServiceSMO;
 import com.java110.po.contract.ContractPo;
 import com.java110.po.contractAttr.ContractAttrPo;
+import com.java110.po.contractChangePlan.ContractChangePlanPo;
+import com.java110.po.contractFile.ContractFilePo;
 import com.java110.po.rentingPool.RentingPoolPo;
 import com.java110.store.bmo.contract.IUpdateContractBMO;
+import com.java110.store.bmo.contractFile.IDeleteContractFileBMO;
+import com.java110.utils.constant.StatusConstant;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +44,25 @@
     @Autowired
     private IRentingPoolInnerServiceSMO rentingPoolInnerServiceSMOImpl;
 
+    @Autowired
+    private IContractApplyUserInnerServiceSMO contractApplyUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractChangePlanInnerServiceSMO contractChangePlanInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractChangePlanDetailInnerServiceSMO contractChangePlanDetailInnerServiceSMOImpl;
+
+
+    @Autowired
+    private IContractFileInnerServiceSMO contractFileInnerServiceSMOImpl;
+
+    @Autowired
+    private IDeleteContractFileBMO deleteContractFileBMOImpl;
+
     /**
      * @param contractPo
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
@@ -49,6 +76,20 @@
             return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "淇濆瓨澶辫触");
 
         }
+
+        //闄勪欢淇濆瓨--鍏堝垹闄ゅ師鏉ユ墍鏈夌殑闄勪欢鍐嶈繘琛屼繚瀛�
+        ContractFilePo contractFilePo = new ContractFilePo();
+        contractFilePo.setContractId(contractPo.getContractId());
+        deleteContractFileBMOImpl.delete(contractFilePo);
+
+        List<ContractFilePo> filePos = contractPo.getContractFilePo();
+        for (ContractFilePo file: filePos) {
+            if (file.getFileRealName().length() > 0 && file.getFileSaveName().length() > 0){
+                file.setContractId(contractPo.getContractId());
+                contractFileInnerServiceSMOImpl.saveContractFile(file);
+            }
+        }
+
 
         noticeRentUpdateState(contractPo);
 
@@ -71,6 +112,71 @@
 
     }
 
+    @Override
+    public ResponseEntity<String> needAuditContract(ContractDto contractDto, JSONObject reqJson) {
+
+        ContractDto tmpContractDto = new ContractDto();
+        tmpContractDto.setContractId(contractDto.getContractId());
+        tmpContractDto.setStoreId(contractDto.getStoreId());
+        List<ContractDto> contractDtos = contractInnerServiceSMOImpl.queryContracts(tmpContractDto);
+        Assert.listOnlyOne(contractDtos, "鍚堝悓涓嶅瓨鍦�");
+        contractDto.setStartUserId(contractDtos.get(0).getStartUserId());
+
+        boolean isLastTask = contractApplyUserInnerServiceSMOImpl.completeTask(contractDto);
+        if (isLastTask) {
+            ContractPo contractPo = new ContractPo();
+            contractPo.setContractId(contractDto.getContractId());
+            contractPo.setState(ContractDto.STATE_AUDIT_FINISH);
+            contractPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+            contractInnerServiceSMOImpl.updateContract(contractPo);
+        } else { //淇敼涓哄鏍镐腑
+            ContractPo contractPo = new ContractPo();
+            contractPo.setContractId(contractDto.getContractId());
+            contractPo.setState(ContractDto.STATE_AUDIT_DOING);
+            contractPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+            contractInnerServiceSMOImpl.updateContract(contractPo);
+        }
+        return ResultVo.success();
+    }
+
+    @Override
+    public ResponseEntity<String> needAuditContractPlan(ContractChangePlanDto contractChangePlanDto, JSONObject reqJson) {
+        ContractChangePlanDto tmpContractChangePlanDto = new ContractChangePlanDto();
+        tmpContractChangePlanDto.setPlanId(contractChangePlanDto.getPlanId());
+        tmpContractChangePlanDto.setStoreId(contractChangePlanDto.getStoreId());
+        List<ContractChangePlanDto> contractChangePlanDtos = contractChangePlanInnerServiceSMOImpl.queryContractChangePlans(tmpContractChangePlanDto);
+        Assert.listOnlyOne(contractChangePlanDtos, "鍚堝悓璁″垝涓嶅瓨鍦�");
+        contractChangePlanDto.setStartUserId(contractChangePlanDtos.get(0).getChangePerson());
+
+        boolean isLastTask = contractChangeUserInnerServiceSMOImpl.completeTask(contractChangePlanDto);
+        if (isLastTask) {
+            ContractChangePlanPo contractChangePlanPo = new ContractChangePlanPo();
+            contractChangePlanPo.setPlanId(contractChangePlanDto.getPlanId());
+            contractChangePlanPo.setState(ContractDto.STATE_AUDIT_FINISH);
+            contractChangePlanPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+            contractChangePlanInnerServiceSMOImpl.updateContractChangePlan(contractChangePlanPo);
+            //淇敼鍚堝悓淇℃伅
+            ContractChangePlanDetailDto contractChangePlanDetailDto = new ContractChangePlanDetailDto();
+            contractChangePlanDetailDto.setPlanId(contractChangePlanDto.getPlanId());
+            contractChangePlanDetailDto.setStoreId(contractChangePlanDto.getStoreId());
+            contractChangePlanDetailDto.setOperate("ADD");
+            List<ContractChangePlanDetailDto> contractChangePlanDetailDtos =
+                    contractChangePlanDetailInnerServiceSMOImpl.queryContractChangePlanDetails(contractChangePlanDetailDto);
+
+            Assert.listOnlyOne(contractChangePlanDetailDtos, "鏁版嵁閿欒");
+            ContractPo contractPo = BeanConvertUtil.covertBean(contractChangePlanDetailDtos.get(0), ContractPo.class);
+
+            contractInnerServiceSMOImpl.updateContract(contractPo);
+        } else { //淇敼涓哄鏍镐腑
+            ContractChangePlanPo contractChangePlanPo = new ContractChangePlanPo();
+            contractChangePlanPo.setPlanId(contractChangePlanDto.getPlanId());
+            contractChangePlanPo.setState(ContractDto.STATE_AUDIT_DOING);
+            contractChangePlanPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
+            contractChangePlanInnerServiceSMOImpl.updateContractChangePlan(contractChangePlanPo);
+        }
+        return ResultVo.success();
+    }
+
     private void updateContractAttr(JSONObject jsonObject, ContractPo contractPo) {
         ContractAttrDto contractAttrDto = new ContractAttrDto();
         contractAttrDto.setContractId(contractPo.getContractId());

--
Gitblit v1.8.0