java110 il y a 5 ans
Parent
commit
7db9fa0248

+ 1 - 0
java110-bean/src/main/java/com/java110/dto/contract/ContractDto.java

@@ -22,6 +22,7 @@ public class ContractDto extends PageDto implements Serializable {
      * 44	合同终止
      */
     public static final String STATE_FAIL = "33";//33 44
+    public static final String STATE_AUDIT_FINISH = "22";//33 44
 
     public static final String STATE_COMPLAINT = "44"; //合同终止
 

+ 9 - 0
java110-bean/src/main/java/com/java110/po/contract/ContractPo.java

@@ -30,6 +30,7 @@ public class ContractPo implements Serializable {
     private String objName;
     private String objPersonName;
     private String objPersonId;
+    private String startUserId;
 
 
     public String getaLink() {
@@ -239,4 +240,12 @@ public class ContractPo implements Serializable {
     public void setObjPersonId(String objPersonId) {
         this.objPersonId = objPersonId;
     }
+
+    public String getStartUserId() {
+        return startUserId;
+    }
+
+    public void setStartUserId(String startUserId) {
+        this.startUserId = startUserId;
+    }
 }

+ 4 - 3
java110-db/src/main/resources/mapper/store/ContractServiceDaoImplMapper.xml

@@ -10,11 +10,11 @@
         insert into contract(
         a_link,a_contacts,amount,contract_type,store_id,operator,signing_time,b_contacts,party_a,b_link,party_b,
         contract_id,obj_id,contract_name,start_time,end_time,state,contract_code,obj_type,operator_link,contract_parent_id,
-        obj_name, obj_person_name, obj_person_id
+        obj_name, obj_person_name, obj_person_id,start_user_id
         ) values (
         #{aLink},#{aContacts},#{amount},#{contractType},#{storeId},#{operator},#{signingTime},#{bContacts},#{partyA},#{bLink},#{partyB},
         #{contractId},#{objId},#{contractName},#{startTime},#{endTime},#{state},#{contractCode},#{objType},#{operatorLink},#{contractParentId},
-        #{objName}, #{objPersonName}, #{objPersonId}
+        #{objName}, #{objPersonName}, #{objPersonId},#{startUserId}
         )
     </insert>
 
@@ -30,7 +30,8 @@
         endTime,t.state,t.contract_code,t.contract_code contractCode,t.obj_type,t.obj_type
         objType,t.operator_link,t.operator_link operatorLink,ct.type_name contractTypeName,td.`name`
         stateName,t.state_desc stateDesc,t.contract_parent_id contractParentId,tt.contract_code parentContractCode,
-        tt.contract_name parentContractName,t.obj_name objName, t.obj_person_name objPersonName, t.obj_person_id objPersonId
+        tt.contract_name parentContractName,t.obj_name objName, t.obj_person_name objPersonName, t.obj_person_id objPersonId,
+        t.start_user_id startUserId
         from contract t
         LEFT JOIN contract_type ct on t.contract_type = ct.contract_type_id and ct.status_cd = '0' and ct.store_id =
         t.store_id

+ 28 - 11
service-store/src/main/java/com/java110/store/api/ContractApi.java

@@ -52,22 +52,13 @@ import com.java110.store.bmo.contractTypeSpec.IDeleteContractTypeSpecBMO;
 import com.java110.store.bmo.contractTypeSpec.IGetContractTypeSpecBMO;
 import com.java110.store.bmo.contractTypeSpec.ISaveContractTypeSpecBMO;
 import com.java110.store.bmo.contractTypeSpec.IUpdateContractTypeSpecBMO;
-import com.java110.store.bmo.contractTypeTemplate.IDeleteContractTypeTemplateBMO;
-import com.java110.store.bmo.contractTypeTemplate.IGetContractTypeTemplateBMO;
-import com.java110.store.bmo.contractTypeTemplate.IPrintContractTemplateBMO;
-import com.java110.store.bmo.contractTypeTemplate.ISaveContractTypeTemplateBMO;
-import com.java110.store.bmo.contractTypeTemplate.IUpdateContractTypeTemplateBMO;
+import com.java110.store.bmo.contractTypeTemplate.*;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
 @RestController
@@ -200,6 +191,7 @@ public class ContractApi {
 
         ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
         contractPo.setStoreId(storeId);
+        contractPo.setStartUserId(userId);
         if (!reqJson.containsKey("contractParentId") || "-1".equals(reqJson.getString("contractParentId"))) {
             contractPo.setContractParentId("-1");
         }
@@ -258,6 +250,31 @@ public class ContractApi {
         return updateContractBMOImpl.update(contractPo, reqJson);
     }
 
+
+    /**
+     * 微信修改消息模板
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/needAuditContract
+     * @path /app/contract/needAuditContract
+     */
+    @RequestMapping(value = "/needAuditContract", method = RequestMethod.POST)
+    public ResponseEntity<String> needAuditContract(
+            @RequestHeader(value = "store-id") String storeId,
+            @RequestHeader(value = "user-id") String userId,
+            @RequestBody JSONObject reqJson) {
+        ContractDto contractDto = new ContractDto();
+        contractDto.setTaskId(reqJson.getString("taskId"));
+        contractDto.setContractId(reqJson.getString("contractId"));
+        contractDto.setStoreId(storeId);
+        contractDto.setAuditCode(reqJson.getString("state"));
+        contractDto.setAuditMessage(reqJson.getString("remark"));
+        contractDto.setCurrentUserId(userId);
+
+        return updateContractBMOImpl.needAuditContract(contractDto, reqJson);
+    }
+
     /**
      * 微信修改消息模板
      *

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

@@ -1,5 +1,6 @@
 package com.java110.store.bmo.contract;
 import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.contract.ContractDto;
 import com.java110.po.contract.ContractPo;
 import org.springframework.http.ResponseEntity;
 
@@ -15,4 +16,11 @@ public interface IUpdateContractBMO {
     ResponseEntity<String> update(ContractPo contractPo, JSONObject reqJson);
 
 
+    /**
+     * 需要审核合同
+     * @param contractDto
+     * @param reqJson
+     * @return
+     */
+    ResponseEntity<String> needAuditContract(ContractDto contractDto, JSONObject reqJson);
 }

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

@@ -8,6 +8,7 @@ import com.java110.dto.contractAttr.ContractAttrDto;
 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.store.IContractAttrInnerServiceSMO;
 import com.java110.intf.store.IContractInnerServiceSMO;
 import com.java110.intf.user.IRentingPoolInnerServiceSMO;
@@ -15,6 +16,7 @@ import com.java110.po.contract.ContractPo;
 import com.java110.po.contractAttr.ContractAttrPo;
 import com.java110.po.rentingPool.RentingPoolPo;
 import com.java110.store.bmo.contract.IUpdateContractBMO;
+import com.java110.utils.constant.StatusConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
@@ -36,6 +38,9 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
     @Autowired
     private IRentingPoolInnerServiceSMO rentingPoolInnerServiceSMOImpl;
 
+    @Autowired
+    private IContractApplyUserInnerServiceSMO contractApplyUserInnerServiceSMOImpl;
+
     /**
      * @param contractPo
      * @return 订单服务能够接受的报文
@@ -71,6 +76,27 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
 
     }
 
+    @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);
+        }
+        return ResultVo.success();
+    }
+
     private void updateContractAttr(JSONObject jsonObject, ContractPo contractPo) {
         ContractAttrDto contractAttrDto = new ContractAttrDto();
         contractAttrDto.setContractId(contractPo.getContractId());