Your Name
2023-04-05 b6949a31464f2ca4e790affd467dcfc511223ba2
service-store/src/main/java/com/java110/store/api/ContractApi.java
old mode 100644 new mode 100755
@@ -4,15 +4,13 @@
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;
import com.java110.dto.contractChangePlanDetail.ContractChangePlanDetailDto;
import com.java110.dto.contractChangePlanDetailAttr.ContractChangePlanDetailAttrDto;
import com.java110.dto.contractCollectionPlan.ContractCollectionPlanDto;
import com.java110.dto.contractRoom.ContractRoomDto;
import com.java110.dto.contractType.ContractTypeDto;
import com.java110.dto.contractTypeSpec.ContractTypeSpecDto;
import com.java110.dto.contractTypeTemplate.ContractTypeTemplateDto;
@@ -22,18 +20,13 @@
import com.java110.po.contractChangePlan.ContractChangePlanPo;
import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
import com.java110.po.contractChangePlanDetailAttr.ContractChangePlanDetailAttrPo;
import com.java110.po.contractChangePlanRoom.ContractChangePlanRoomPo;
import com.java110.po.contractCollectionPlan.ContractCollectionPlanPo;
import com.java110.po.contractFile.ContractFilePo;
import com.java110.po.contractRoom.ContractRoomPo;
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;
@@ -58,6 +51,10 @@
import com.java110.store.bmo.contractCollectionPlan.IGetContractCollectionPlanBMO;
import com.java110.store.bmo.contractCollectionPlan.ISaveContractCollectionPlanBMO;
import com.java110.store.bmo.contractCollectionPlan.IUpdateContractCollectionPlanBMO;
import com.java110.store.bmo.contractRoom.IDeleteContractRoomBMO;
import com.java110.store.bmo.contractRoom.IGetContractRoomBMO;
import com.java110.store.bmo.contractRoom.ISaveContractRoomBMO;
import com.java110.store.bmo.contractRoom.IUpdateContractRoomBMO;
import com.java110.store.bmo.contractType.IDeleteContractTypeBMO;
import com.java110.store.bmo.contractType.IGetContractTypeBMO;
import com.java110.store.bmo.contractType.ISaveContractTypeBMO;
@@ -69,14 +66,12 @@
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.*;
import java.util.ArrayList;
import java.util.List;
@RestController
@@ -179,6 +174,16 @@
    @Autowired
    private IGetContractCollectionPlanBMO getContractCollectionPlanBMOImpl;
    @Autowired
    private ISaveContractRoomBMO saveContractRoomBMOImpl;
    @Autowired
    private IUpdateContractRoomBMO updateContractRoomBMOImpl;
    @Autowired
    private IDeleteContractRoomBMO deleteContractRoomBMOImpl;
    @Autowired
    private IGetContractRoomBMO getContractRoomBMOImpl;
    /**
     * 微信保存消息模板
     *
@@ -216,15 +221,18 @@
        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);
        if (reqJson.containsKey("contractFilePo")) {
            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);
        }
        contractPo.setContractFilePo(contractFilePos);
        return saveContractBMOImpl.save(contractPo, reqJson);
    }
@@ -355,39 +363,6 @@
    }
    /**
     * 微信删除消息模板
     *
     * @param storeId    商户ID
     * @param expiration 到期合同标记 1 到期合同
     * @return
     * @serviceCode /contract/queryContract
     * @path /app/contract/queryContract
     */
    @RequestMapping(value = "/queryContract", method = RequestMethod.GET)
    public ResponseEntity<String> queryContract(@RequestHeader(value = "store-id") String storeId,
                                                @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();
        contractDto.setPage(page);
        contractDto.setRow(row);
        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});
            contractDto.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        }
        return getContractBMOImpl.get(contractDto);
    }
    /**
     * 合同起草待办
@@ -549,11 +524,17 @@
     */
    @RequestMapping(value = "/queryContractType", method = RequestMethod.GET)
    public ResponseEntity<String> queryContractType(@RequestHeader(value = "store-id") String storeId,
                                                    @RequestParam(value = "audit", required = false) String audit,
                                                    @RequestParam(value = "typeName", required = false) String typeName,
                                                    @RequestParam(value = "contractTypeId", required = false) String contractTypeId,
                                                    @RequestParam(value = "page") int page,
                                                    @RequestParam(value = "row") int row) {
        ContractTypeDto contractTypeDto = new ContractTypeDto();
        contractTypeDto.setPage(page);
        contractTypeDto.setRow(row);
        contractTypeDto.setAudit(audit);
        contractTypeDto.setTypeName(typeName);
        contractTypeDto.setContractTypeId(contractTypeId);
        contractTypeDto.setStoreId(storeId);
        return getContractTypeBMOImpl.get(contractTypeDto);
    }
@@ -640,7 +621,10 @@
     * @path /app/contract/queryContractTypeSpec
     */
    @RequestMapping(value = "/queryContractTypeSpec", method = RequestMethod.GET)
    public ResponseEntity<String> queryContractTypeSpec(@RequestHeader(value = "store-id") String storeId,
    public ResponseEntity<String> queryContractTypeSpec(@RequestParam(value = "specName", required = false) String specName,
                                                        @RequestParam(value = "specShow", required = false) String specShow,
                                                        @RequestParam(value = "specCd", required = false) String specCd,
                                                        @RequestHeader(value = "store-id") String storeId,
                                                        @RequestParam(value = "page") int page,
                                                        @RequestParam(value = "row") int row,
                                                        @RequestParam(value = "contractTypeId") String contractTypeId) {
@@ -649,6 +633,9 @@
        contractTypeSpecDto.setRow(row);
        contractTypeSpecDto.setStoreId(storeId);
        contractTypeSpecDto.setContractTypeId(contractTypeId);
        contractTypeSpecDto.setSpecName(specName);
        contractTypeSpecDto.setSpecShow(specShow);
        contractTypeSpecDto.setSpecCd(specCd);
        return getContractTypeSpecBMOImpl.get(contractTypeSpecDto);
    }
@@ -840,9 +827,27 @@
        contractChangePlanPo.setState(ContractChangePlanDto.STATE_W);
        contractChangePlanPo.setRemark(reqJson.getString("changeRemark"));
        List<ContractChangePlanRoomPo> contractChangePlanRoomPos = new ArrayList<>();
        ContractChangePlanRoomPo contractChangePlanRoomPo = null;
        JSONObject roomInfo = null;
        if (reqJson.containsKey("rooms")) {
            JSONArray rooms = reqJson.getJSONArray("rooms");
            if (rooms != null && rooms.size() > 0) {
                for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
//                    contractChangePlanRoomPos.add(BeanConvertUtil.covertBean(rooms.getJSONObject(roomIndex), ContractChangePlanRoomPo.class));
                    roomInfo = rooms.getJSONObject(roomIndex);
                    contractChangePlanRoomPo = BeanConvertUtil.covertBean(roomInfo, ContractChangePlanRoomPo.class);
                    contractChangePlanRoomPo.setRoomName(roomInfo.getString("floorNum")
                            + "-" + roomInfo.getString("unitNum")
                            + "-" + roomInfo.getString("roomNum"));
                    contractChangePlanRoomPos.add(contractChangePlanRoomPo);
                }
            }
        }
        ContractChangePlanDetailPo contractChangePlanDetailPo = BeanConvertUtil.covertBean(reqJson, ContractChangePlanDetailPo.class);
        contractChangePlanDetailPo.setStoreId(storeId);
        return saveContractChangePlanBMOImpl.save(contractChangePlanPo, contractChangePlanDetailPo);
        return saveContractChangePlanBMOImpl.save(contractChangePlanPo, contractChangePlanDetailPo, contractChangePlanRoomPos, reqJson);
    }
    /**
@@ -900,6 +905,8 @@
                                                          @RequestParam(value = "row") int row,
                                                          @RequestParam(value = "contractId", required = false) String contractId,
                                                          @RequestParam(value = "contractName", required = false) String contractName,
                                                          @RequestParam(value = "contractCode", required = false) String contractCode,
                                                          @RequestParam(value = "contractType", required = false) String contractType,
                                                          @RequestParam(value = "planId", required = false) String planId
    ) {
        ContractChangePlanDto contractChangePlanDto = new ContractChangePlanDto();
@@ -909,6 +916,8 @@
        contractChangePlanDto.setContractId(contractId);
        contractChangePlanDto.setContractName(contractName);
        contractChangePlanDto.setPlanId(planId);
        contractChangePlanDto.setContractCode(contractCode);
        contractChangePlanDto.setContractType(contractType);
        return getContractChangePlanBMOImpl.get(contractChangePlanDto);
    }
@@ -929,6 +938,7 @@
        ContractChangePlanDto contractChangePlanDto = new ContractChangePlanDto();
        contractChangePlanDto.setTaskId(reqJson.getString("taskId"));
        contractChangePlanDto.setPlanId(reqJson.getString("planId"));
        contractChangePlanDto.setContractId(reqJson.getString("contractId"));
        contractChangePlanDto.setStoreId(storeId);
        contractChangePlanDto.setAuditCode(reqJson.getString("state"));
        contractChangePlanDto.setAuditMessage(reqJson.getString("remark"));
@@ -1249,4 +1259,83 @@
    }
    /**
     * 微信保存消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /contract/saveContractRoom
     * @path /app/contract/saveContractRoom
     */
    @RequestMapping(value = "/saveContractRoom", method = RequestMethod.POST)
    public ResponseEntity<String> saveContractRoom(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "contractId", "请求报文中未包含contractId");
        Assert.hasKeyAndValue(reqJson, "roomId", "请求报文中未包含roomId");
        ContractRoomPo contractRoomPo = BeanConvertUtil.covertBean(reqJson, ContractRoomPo.class);
        return saveContractRoomBMOImpl.save(contractRoomPo);
    }
    /**
     * 微信修改消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /contract/updateContractRoom
     * @path /app/contract/updateContractRoom
     */
    @RequestMapping(value = "/updateContractRoom", method = RequestMethod.POST)
    public ResponseEntity<String> updateContractRoom(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "contractId", "请求报文中未包含contractId");
        Assert.hasKeyAndValue(reqJson, "roomId", "请求报文中未包含roomId");
        Assert.hasKeyAndValue(reqJson, "crId", "crId不能为空");
        ContractRoomPo contractRoomPo = BeanConvertUtil.covertBean(reqJson, ContractRoomPo.class);
        return updateContractRoomBMOImpl.update(contractRoomPo);
    }
    /**
     * 微信删除消息模板
     *
     * @param reqJson
     * @return
     * @serviceCode /contract/deleteContractRoom
     * @path /app/contract/deleteContractRoom
     */
    @RequestMapping(value = "/deleteContractRoom", method = RequestMethod.POST)
    public ResponseEntity<String> deleteContractRoom(@RequestBody JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空");
        Assert.hasKeyAndValue(reqJson, "crId", "crId不能为空");
        ContractRoomPo contractRoomPo = BeanConvertUtil.covertBean(reqJson, ContractRoomPo.class);
        return deleteContractRoomBMOImpl.delete(contractRoomPo);
    }
    /**
     * 微信删除消息模板
     *
     * @param storeId 小区ID
     * @return
     * @serviceCode /contract/queryContractRoom
     * @path /app/contract/queryContractRoom
     */
    @RequestMapping(value = "/queryContractRoom", method = RequestMethod.GET)
    public ResponseEntity<String> queryContractRoom(@RequestHeader(value = "store-id") String storeId,
                                                    @RequestParam(value = "contractId", required = false) String contractId,
                                                    @RequestParam(value = "page") int page,
                                                    @RequestParam(value = "row") int row) {
        ContractRoomDto contractRoomDto = new ContractRoomDto();
        contractRoomDto.setPage(page);
        contractRoomDto.setRow(row);
        contractRoomDto.setStoreId(storeId);
        contractRoomDto.setContractId(contractId);
        return getContractRoomBMOImpl.get(contractRoomDto);
    }
}