wuxw
2022-07-19 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54
service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
@@ -18,13 +18,18 @@
import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.store.*;
import com.java110.intf.store.IContractAttrInnerServiceSMO;
import com.java110.intf.store.IContractChangePlanDetailInnerServiceSMO;
import com.java110.intf.store.IContractChangePlanInnerServiceSMO;
import com.java110.intf.store.IContractChangePlanRoomInnerServiceSMO;
import com.java110.intf.store.IContractFileInnerServiceSMO;
import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.intf.store.IContractRoomInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
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.contractChangePlanRoom.ContractChangePlanRoomPo;
import com.java110.po.contractFile.ContractFilePo;
import com.java110.po.contractRoom.ContractRoomPo;
import com.java110.po.owner.OwnerRoomRelPo;
@@ -37,7 +42,6 @@
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.apache.http.annotation.Contract;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@@ -108,7 +112,7 @@
        deleteContractFileBMOImpl.delete(contractFilePo);
        List<ContractFilePo> filePos = contractPo.getContractFilePo();
        if(filePos != null) {
        if (filePos != null) {
            for (ContractFilePo file : filePos) {
                if (file.getFileRealName().length() > 0 && file.getFileSaveName().length() > 0) {
                    file.setContractId(contractPo.getContractId());
@@ -148,6 +152,7 @@
        List<ContractDto> contractDtos = contractInnerServiceSMOImpl.queryContracts(tmpContractDto);
        Assert.listOnlyOne(contractDtos, "合同不存在");
        contractDto.setStartUserId(contractDtos.get(0).getStartUserId());
        contractDto.setNextUserId(reqJson.getString("nextUserId"));
        boolean isLastTask = contractApplyUserInnerServiceSMOImpl.completeTask(contractDto);
        if (isLastTask) {
@@ -160,6 +165,9 @@
            ContractPo contractPo = new ContractPo();
            contractPo.setContractId(contractDto.getContractId());
            contractPo.setState(ContractDto.STATE_AUDIT_DOING);
            if ("1200".equals(reqJson.getString("state"))) {
                contractPo.setState(ContractDto.STATE_FAIL);
            }
            contractPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
            contractInnerServiceSMOImpl.updateContract(contractPo);
        }
@@ -183,6 +191,7 @@
        List<ContractChangePlanDto> contractChangePlanDtos = contractChangePlanInnerServiceSMOImpl.queryContractChangePlans(tmpContractChangePlanDto);
        Assert.listOnlyOne(contractChangePlanDtos, "合同计划不存在");
        contractChangePlanDto.setStartUserId(contractChangePlanDtos.get(0).getChangePerson());
        contractChangePlanDto.setNextUserId(reqJson.getString("nextUserId"));
        boolean isLastTask = contractChangeUserInnerServiceSMOImpl.completeTask(contractChangePlanDto);
        if (isLastTask) {
@@ -203,7 +212,10 @@
            ContractPo contractPo = BeanConvertUtil.covertBean(contractChangePlanDetailDtos.get(0), ContractPo.class);
            contractInnerServiceSMOImpl.updateContract(contractPo);
            dealContractChangePlanRoom(contractChangePlanDto,contractDtos.get(0));
            //解决合同bug 只有 资产变更时 操作 合同房屋
            if (ContractChangePlanDto.PLAN_TYPE_CHANGE_ROOM.equals(contractChangePlanDtos.get(0).getPlanType())) {
                dealContractChangePlanRoom(contractChangePlanDto, contractDtos.get(0));
            }
        } else { //修改为审核中
            ContractChangePlanPo contractChangePlanPo = new ContractChangePlanPo();
@@ -237,10 +249,12 @@
            doDelOldRoomRel(contractChangePlanRoomDtos, oldContractRoomDtos);
            return;
        }
        doAddRoomRel(contractDto, oldContractRoomDtos, contractChangePlanRoomDtos);
        //删除老的关系值
        doDelOldRoomRel(contractChangePlanRoomDtos, oldContractRoomDtos);
        //增加
        doAddRoomRel(contractDto, oldContractRoomDtos, contractChangePlanRoomDtos);
    }
@@ -363,7 +377,7 @@
    }
    private boolean isDelOldRoom(ContractRoomDto oldContractRoomDto, List<ContractChangePlanRoomDto> contractChangePlanRoomDtos) {
        if (contractChangePlanRoomDtos == null || contractChangePlanRoomDtos.size() > 0) {
        if (contractChangePlanRoomDtos == null || contractChangePlanRoomDtos.size() < 1) {
            return false;
        }
@@ -377,7 +391,7 @@
    }
    private boolean isOldRoom(ContractChangePlanRoomDto tmpContractChangePlanRoomDto, List<ContractRoomDto> oldContractRoomDtos) {
        if (oldContractRoomDtos == null || oldContractRoomDtos.size() > 0) {
        if (oldContractRoomDtos == null || oldContractRoomDtos.size() < 1) {
            return false;
        }
@@ -389,6 +403,7 @@
        return false;
    }
    private void updateContractAttr(JSONObject jsonObject, ContractPo contractPo) {
        ContractAttrDto contractAttrDto = new ContractAttrDto();
        contractAttrDto.setContractId(contractPo.getContractId());