From 7ccdd7f57632528c2a316f20dc7594aa0ab26e2a Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 07 四月 2021 12:20:13 +0800
Subject: [PATCH] 优化 合同变更审核功能

---
 service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 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 6a87730..4c1effc 100644
--- 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,15 +5,19 @@
 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.fee.FeeDto;
 import com.java110.dto.rentingPool.RentingPoolDto;
 import com.java110.dto.store.StoreDto;
 import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
+import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
 import com.java110.intf.store.IContractAttrInnerServiceSMO;
+import com.java110.intf.store.IContractChangePlanInnerServiceSMO;
 import com.java110.intf.store.IContractInnerServiceSMO;
 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.rentingPool.RentingPoolPo;
 import com.java110.store.bmo.contract.IUpdateContractBMO;
 import com.java110.utils.constant.StatusConstant;
@@ -40,6 +44,12 @@
 
     @Autowired
     private IContractApplyUserInnerServiceSMO contractApplyUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractChangePlanInnerServiceSMO contractChangePlanInnerServiceSMOImpl;
 
     /**
      * @param contractPo
@@ -103,6 +113,32 @@
         return ResultVo.success();
     }
 
+    @Override
+    public ResponseEntity<String> needAuditContractPlan(ContractChangePlanDto contractChangePlanDto, JSONObject reqJson) {
+        ContractChangePlanDto tmpContractChangePlanDto = new ContractChangePlanDto();
+        tmpContractChangePlanDto.setPlanId(tmpContractChangePlanDto.getPlanId());
+        tmpContractChangePlanDto.setStoreId(tmpContractChangePlanDto.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);
+        }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