java110
2021-04-21 c083b87a2635d9b48dd95cb441d7a7c5c9258abe
service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -1,6 +1,12 @@
package com.java110.store.api;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.contract.ContractDto;
import com.java110.dto.contractAttr.ContractAttrDto;
import com.java110.dto.contractChangePlan.ContractChangePlanDto;
@@ -17,9 +23,17 @@
import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
import com.java110.po.contractChangePlanDetailAttr.ContractChangePlanDetailAttrPo;
import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
import com.java110.po.contractFile.ContractFilePo;
import com.java110.po.contractType.ContractTypePo;
import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
import com.java110.po.contractTypeTemplate.ContractTypeTemplatePo;
import com.java110.po.purchase.PurchaseApplyDetailPo;
import com.java110.po.contractType.ContractTypePo;
import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
import com.java110.po.contractTypeTemplate.ContractTypeTemplatePo;
import com.java110.store.bmo.contract.IDeleteContractBMO;
import com.java110.store.bmo.contract.IGetContractBMO;
import com.java110.store.bmo.contract.ISaveContractBMO;
@@ -52,22 +66,17 @@
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.*;
import java.util.ArrayList;
import java.util.List;
@RestController
@@ -200,10 +209,23 @@
        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");
        }
        reqJson.put("userId", userId);
        JSONArray contractFiles = reqJson.getJSONArray("contractFilePo");
        List<ContractFilePo> contractFilePos = new ArrayList<>();
        for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) {
            JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex);
            ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class);
            contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId));
            contractFilePos.add(contractFilePo);
        }
        contractPo.setContractFilePo(contractFilePos);
        return saveContractBMOImpl.save(contractPo, reqJson);
    }
@@ -236,6 +258,16 @@
        ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
        JSONArray contractFiles = reqJson.getJSONArray("contractFilePo");
        List<ContractFilePo> contractFilePos = new ArrayList<>();
        for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) {
            JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex);
            ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class);
            contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId));
            contractFilePos.add(contractFilePo);
        }
        contractPo.setContractFilePo(contractFilePos);
        return updateContractBMOImpl.update(contractPo, reqJson);
    }
@@ -256,6 +288,31 @@
        ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
        contractPo.setState(ContractDto.STATE_COMPLAINT);
        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);
    }
    /**
@@ -312,6 +369,8 @@
                                                @RequestParam(value = "state", required = false) String state,
                                                @RequestParam(value = "expiration", required = false) String expiration,
                                                @RequestParam(value = "objId", required = false) String objId,
                                                @RequestParam(value = "contractId", required = false) String contractId,
                                                @RequestParam(value = "contractCode", required = false) String contractCode,
                                                @RequestParam(value = "page") int page,
                                                @RequestParam(value = "row") int row) {
        ContractDto contractDto = new ContractDto();
@@ -320,6 +379,8 @@
        contractDto.setStoreId(storeId);
        contractDto.setState(state);
        contractDto.setObjId(objId);
        contractDto.setContractId(contractId);
        contractDto.setContractCode(contractCode);
        //如果是到期合同
        if ("1".equals(expiration)) {
            contractDto.setNoStates(new String[]{ContractDto.STATE_COMPLAINT, ContractDto.STATE_FAIL});
@@ -815,13 +876,13 @@
     * @path /app/contract/deleteContractChangePlan
     */
    @RequestMapping(value = "/deleteContractChangePlan", method = RequestMethod.POST)
    public ResponseEntity<String> deleteContractChangePlan(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
    public ResponseEntity<String> deleteContractChangePlan(@RequestHeader(value = "store-id") String storeId,
                                                           @RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "planId", "planId不能为空");
        ContractChangePlanPo contractChangePlanPo = BeanConvertUtil.covertBean(reqJson, ContractChangePlanPo.class);
        contractChangePlanPo.setStoreId(storeId);
        return deleteContractChangePlanBMOImpl.delete(contractChangePlanPo);
    }
@@ -853,6 +914,30 @@
    /**
     * 合同变更审核
     *
     * @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);
    }
    /**
     * 微信保存消息模板
     *
     * @param reqJson