Просмотр исходного кода

优化 合同变更审核功能

java110 лет назад: 5
Родитель
Сommit
7ccdd7f576

+ 1 - 0
java110-bean/src/main/java/com/java110/po/contractChangePlan/ContractChangePlanPo.java

@@ -13,6 +13,7 @@ public class ContractChangePlanPo implements Serializable {
     private String state;
     private String storeId;
 
+
     public String getPlanType() {
         return planType;
     }

+ 24 - 0
service-store/src/main/java/com/java110/store/api/ContractApi.java

@@ -871,6 +871,30 @@ public class ContractApi {
     }
 
 
+    /**
+     * 合同变更审核
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/needAuditContractPlan
+     * @path /app/contract/needAuditContractPlan
+     */
+    @RequestMapping(value = "/needAuditContractPlan", method = RequestMethod.POST)
+    public ResponseEntity<String> needAuditContractPlan(
+            @RequestHeader(value = "store-id") String storeId,
+            @RequestHeader(value = "user-id") String userId,
+            @RequestBody JSONObject reqJson) {
+        ContractChangePlanDto contractChangePlanDto = new ContractChangePlanDto();
+        contractChangePlanDto.setTaskId(reqJson.getString("taskId"));
+        contractChangePlanDto.setPlanId(reqJson.getString("planId"));
+        contractChangePlanDto.setStoreId(storeId);
+        contractChangePlanDto.setAuditCode(reqJson.getString("state"));
+        contractChangePlanDto.setAuditMessage(reqJson.getString("remark"));
+        contractChangePlanDto.setCurrentUserId(userId);
+
+        return updateContractBMOImpl.needAuditContractPlan(contractChangePlanDto, reqJson);
+    }
+
     /**
      * 微信保存消息模板
      *

+ 9 - 0
service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java

@@ -1,6 +1,7 @@
 package com.java110.store.bmo.contract;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.contract.ContractDto;
+import com.java110.dto.contractChangePlan.ContractChangePlanDto;
 import com.java110.po.contract.ContractPo;
 import org.springframework.http.ResponseEntity;
 
@@ -23,4 +24,12 @@ public interface IUpdateContractBMO {
      * @return
      */
     ResponseEntity<String> needAuditContract(ContractDto contractDto, JSONObject reqJson);
+
+    /**
+     * 变更审核
+     * @param contractChangePlanDto
+     * @param reqJson
+     * @return
+     */
+    ResponseEntity<String> needAuditContractPlan(ContractChangePlanDto contractChangePlanDto, JSONObject reqJson);
 }

+ 36 - 0
service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java

@@ -5,15 +5,19 @@ import com.alibaba.fastjson.JSONObject;
 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;
@@ -41,6 +45,12 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
     @Autowired
     private IContractApplyUserInnerServiceSMO contractApplyUserInnerServiceSMOImpl;
 
+    @Autowired
+    private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractChangePlanInnerServiceSMO contractChangePlanInnerServiceSMOImpl;
+
     /**
      * @param contractPo
      * @return 订单服务能够接受的报文
@@ -103,6 +113,32 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
         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());