wuxw
2021-04-26 1612ca52c3e2cbe29fbbce52e49fca1b396474b3
优化代码
8个文件已修改
485 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/contractChangePlanRoom/ContractChangePlanRoomDto.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/contractChangePlanRoom/ContractChangePlanRoomPo.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/store/ContractChangePlanRoomServiceDaoImplMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/store/ContractRoomServiceDaoImplMapper.xml 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/api/ContractApi.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/bmo/contractChangePlan/ISaveContractChangePlanBMO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/contractChangePlanRoom/ContractChangePlanRoomDto.java
@@ -1,6 +1,7 @@
package com.java110.dto.contractChangePlanRoom;
import com.java110.dto.PageDto;
import java.io.Serializable;
import java.util.Date;
@@ -15,13 +16,14 @@
public class ContractChangePlanRoomDto extends PageDto implements Serializable {
    private String ownerName;
private String contractId;
private String prId;
private String planId;
private String ownerId;
private String storeId;
private String roomId;
private String roomName;
    private String contractId;
    private String prId;
    private String planId;
    private String ownerId;
    private String storeId;
    private String roomId;
    private String roomName;
    private String operate;
    private Date createTime;
@@ -32,49 +34,64 @@
    public String getOwnerName() {
        return ownerName;
    }
public void setOwnerName(String ownerName) {
    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }
public String getContractId() {
    public String getContractId() {
        return contractId;
    }
public void setContractId(String contractId) {
    public void setContractId(String contractId) {
        this.contractId = contractId;
    }
public String getPrId() {
    public String getPrId() {
        return prId;
    }
public void setPrId(String prId) {
    public void setPrId(String prId) {
        this.prId = prId;
    }
public String getPlanId() {
    public String getPlanId() {
        return planId;
    }
public void setPlanId(String planId) {
    public void setPlanId(String planId) {
        this.planId = planId;
    }
public String getOwnerId() {
    public String getOwnerId() {
        return ownerId;
    }
public void setOwnerId(String ownerId) {
    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }
public String getStoreId() {
    public String getStoreId() {
        return storeId;
    }
public void setStoreId(String storeId) {
    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }
public String getRoomId() {
    public String getRoomId() {
        return roomId;
    }
public void setRoomId(String roomId) {
    public void setRoomId(String roomId) {
        this.roomId = roomId;
    }
public String getRoomName() {
    public String getRoomName() {
        return roomName;
    }
public void setRoomName(String roomName) {
    public void setRoomName(String roomName) {
        this.roomName = roomName;
    }
@@ -94,4 +111,12 @@
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
    public String getOperate() {
        return operate;
    }
    public void setOperate(String operate) {
        this.operate = operate;
    }
}
java110-bean/src/main/java/com/java110/po/contractChangePlanRoom/ContractChangePlanRoomPo.java
@@ -1,74 +1,97 @@
package com.java110.po.contractChangePlanRoom;
import java.io.Serializable;
import java.util.Date;
public class ContractChangePlanRoomPo implements Serializable {
    private String ownerName;
private String contractId;
private String prId;
private String planId;
private String statusCd = "0";
private String ownerId;
private String storeId;
private String roomId;
private String roomName;
public String getOwnerName() {
    private String contractId;
    private String prId;
    private String planId;
    private String statusCd = "0";
    private String ownerId;
    private String storeId;
    private String roomId;
    private String roomName;
    private String operate;
    public String getOwnerName() {
        return ownerName;
    }
public void setOwnerName(String ownerName) {
    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }
public String getContractId() {
    public String getContractId() {
        return contractId;
    }
public void setContractId(String contractId) {
    public void setContractId(String contractId) {
        this.contractId = contractId;
    }
public String getPrId() {
    public String getPrId() {
        return prId;
    }
public void setPrId(String prId) {
    public void setPrId(String prId) {
        this.prId = prId;
    }
public String getPlanId() {
    public String getPlanId() {
        return planId;
    }
public void setPlanId(String planId) {
    public void setPlanId(String planId) {
        this.planId = planId;
    }
public String getStatusCd() {
    public String getStatusCd() {
        return statusCd;
    }
public void setStatusCd(String statusCd) {
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
public String getOwnerId() {
    public String getOwnerId() {
        return ownerId;
    }
public void setOwnerId(String ownerId) {
    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }
public String getStoreId() {
    public String getStoreId() {
        return storeId;
    }
public void setStoreId(String storeId) {
    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }
public String getRoomId() {
    public String getRoomId() {
        return roomId;
    }
public void setRoomId(String roomId) {
    public void setRoomId(String roomId) {
        this.roomId = roomId;
    }
public String getRoomName() {
    public String getRoomName() {
        return roomName;
    }
public void setRoomName(String roomName) {
    public void setRoomName(String roomName) {
        this.roomName = roomName;
    }
    public String getOperate() {
        return operate;
    }
    public void setOperate(String operate) {
        this.operate = operate;
    }
}
java110-db/src/main/resources/mapper/store/ContractChangePlanRoomServiceDaoImplMapper.xml
@@ -17,8 +17,9 @@
    <!-- 查询合同房屋变更信息 add by wuxw 2018-07-03 -->
    <select id="getContractChangePlanRoomInfo" parameterType="Map" resultType="Map">
        select t.owner_name,t.owner_name ownerName,t.contract_id,t.contract_id contractId,t.pr_id,t.pr_id prId,t.plan_id,t.plan_id planId,t.status_cd,t.status_cd statusCd,t.owner_id,t.owner_id
        ownerId,t.store_id,t.store_id storeId,t.room_id,t.room_id roomId,t.room_name,t.room_name roomName
        select t.owner_name,t.owner_name ownerName,t.contract_id,t.contract_id contractId,t.pr_id,t.pr_id prId,t.plan_id,
        t.plan_id planId,t.status_cd,t.status_cd statusCd,t.owner_id,t.owner_id
        ownerId,t.store_id,t.store_id storeId,t.room_id,t.room_id roomId,t.room_name,t.room_name roomName,t.operate
        from contract_change_plan_room t
        where 1 =1
        <if test="ownerName !=null and ownerName != ''">
@@ -48,6 +49,9 @@
        <if test="roomName !=null and roomName != ''">
            and t.room_name= #{roomName}
        </if>
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
java110-db/src/main/resources/mapper/store/ContractRoomServiceDaoImplMapper.xml
@@ -5,120 +5,118 @@
<mapper namespace="contractRoomServiceDaoImpl">
    <!-- 保存合同房屋信息 add by wuxw 2018-07-03 -->
    <insert id="saveContractRoomInfo" parameterType="Map">
        insert into contract_room(
cr_id,owner_name,contract_id,owner_id,store_id,room_id,room_name
) values (
#{crId},#{ownerName},#{contractId},#{ownerId},#{storeId},#{roomId},#{roomName}
)
        cr_id,owner_name,contract_id,owner_id,store_id,room_id,room_name
        ) values (
        #{crId},#{ownerName},#{contractId},#{ownerId},#{storeId},#{roomId},#{roomName}
        )
    </insert>
    <!-- 查询合同房屋信息 add by wuxw 2018-07-03 -->
    <select id="getContractRoomInfo" parameterType="Map" resultType="Map">
        select  t.cr_id,t.cr_id crId,t.owner_name,t.owner_name ownerName,t.contract_id,t.contract_id contractId,t.status_cd,t.status_cd statusCd,t.owner_id,t.owner_id ownerId,t.store_id,t.store_id storeId,t.room_id,t.room_id roomId,t.room_name,t.room_name roomName
from contract_room t
where 1 =1
<if test="crId !=null and crId != ''">
   and t.cr_id= #{crId}
</if>
<if test="ownerName !=null and ownerName != ''">
   and t.owner_name= #{ownerName}
</if>
<if test="contractId !=null and contractId != ''">
   and t.contract_id= #{contractId}
</if>
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</if>
<if test="ownerId !=null and ownerId != ''">
   and t.owner_id= #{ownerId}
</if>
<if test="storeId !=null and storeId != ''">
   and t.store_id= #{storeId}
</if>
<if test="roomId !=null and roomId != ''">
   and t.room_id= #{roomId}
</if>
<if test="roomName !=null and roomName != ''">
   and t.room_name= #{roomName}
</if>
order by t.create_time desc
<if test="page != -1 and page != null ">
   limit #{page}, #{row}
</if>
        select t.cr_id,t.cr_id crId,t.owner_name,t.owner_name ownerName,t.contract_id,t.contract_id contractId,t.status_cd,t.status_cd statusCd,t.owner_id,t.owner_id ownerId,t.store_id,t.store_id
        storeId,t.room_id,t.room_id roomId,t.room_name,t.room_name roomName
        from contract_room t
        where 1 =1
        <if test="crId !=null and crId != ''">
            and t.cr_id= #{crId}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name= #{ownerName}
        </if>
        <if test="contractId !=null and contractId != ''">
            and t.contract_id= #{contractId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
        <if test="roomName !=null and roomName != ''">
            and t.room_name= #{roomName}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 修改合同房屋信息 add by wuxw 2018-07-03 -->
    <update id="updateContractRoomInfo" parameterType="Map">
        update  contract_room t set t.status_cd = #{statusCd}
<if test="newBId != null and newBId != ''">
,t.b_id = #{newBId}
</if>
<if test="ownerName !=null and ownerName != ''">
, t.owner_name= #{ownerName}
</if>
<if test="contractId !=null and contractId != ''">
, t.contract_id= #{contractId}
</if>
<if test="ownerId !=null and ownerId != ''">
, t.owner_id= #{ownerId}
</if>
<if test="storeId !=null and storeId != ''">
, t.store_id= #{storeId}
</if>
<if test="roomId !=null and roomId != ''">
, t.room_id= #{roomId}
</if>
<if test="roomName !=null and roomName != ''">
, t.room_name= #{roomName}
</if>
 where 1=1 <if test="crId !=null and crId != ''">
and t.cr_id= #{crId}
</if>
        update contract_room t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            , t.owner_name= #{ownerName}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            , t.owner_id= #{ownerId}
        </if>
        <if test="roomId !=null and roomId != ''">
            , t.room_id= #{roomId}
        </if>
        <if test="roomName !=null and roomName != ''">
            , t.room_name= #{roomName}
        </if>
        where 1=1
        <if test="crId !=null and crId != ''">
            and t.cr_id= #{crId}
        </if>
        <if test="contractId !=null and contractId != ''">
            and t.contract_id= #{contractId}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
    </update>
    <!-- 查询合同房屋数量 add by wuxw 2018-07-03 -->
     <select id="queryContractRoomsCount" parameterType="Map" resultType="Map">
        select  count(1) count
from contract_room t
where 1 =1
<if test="crId !=null and crId != ''">
   and t.cr_id= #{crId}
</if>
<if test="ownerName !=null and ownerName != ''">
   and t.owner_name= #{ownerName}
</if>
<if test="contractId !=null and contractId != ''">
   and t.contract_id= #{contractId}
</if>
<if test="statusCd !=null and statusCd != ''">
   and t.status_cd= #{statusCd}
</if>
<if test="ownerId !=null and ownerId != ''">
   and t.owner_id= #{ownerId}
</if>
<if test="storeId !=null and storeId != ''">
   and t.store_id= #{storeId}
</if>
<if test="roomId !=null and roomId != ''">
   and t.room_id= #{roomId}
</if>
<if test="roomName !=null and roomName != ''">
   and t.room_name= #{roomName}
</if>
    <select id="queryContractRoomsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from contract_room t
        where 1 =1
        <if test="crId !=null and crId != ''">
            and t.cr_id= #{crId}
        </if>
        <if test="ownerName !=null and ownerName != ''">
            and t.owner_name= #{ownerName}
        </if>
        <if test="contractId !=null and contractId != ''">
            and t.contract_id= #{contractId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="ownerId !=null and ownerId != ''">
            and t.owner_id= #{ownerId}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="roomId !=null and roomId != ''">
            and t.room_id= #{roomId}
        </if>
        <if test="roomName !=null and roomName != ''">
            and t.room_name= #{roomName}
        </if>
     </select>
    </select>
</mapper>
service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -20,9 +20,9 @@
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.contractPartya.ContractPartyaPo;
import com.java110.po.contractRoom.ContractRoomPo;
import com.java110.po.contractType.ContractTypePo;
import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
@@ -849,9 +849,19 @@
        contractChangePlanPo.setState(ContractChangePlanDto.STATE_W);
        contractChangePlanPo.setRemark(reqJson.getString("changeRemark"));
        List<ContractChangePlanRoomPo> contractChangePlanRoomPos = new ArrayList<>();
        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));
                }
            }
        }
        ContractChangePlanDetailPo contractChangePlanDetailPo = BeanConvertUtil.covertBean(reqJson, ContractChangePlanDetailPo.class);
        contractChangePlanDetailPo.setStoreId(storeId);
        return saveContractChangePlanBMOImpl.save(contractChangePlanPo, contractChangePlanDetailPo);
        return saveContractChangePlanBMOImpl.save(contractChangePlanPo, contractChangePlanDetailPo,contractChangePlanRoomPos);
    }
    /**
@@ -1326,7 +1336,7 @@
     */
    @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 = "contractId", required = false) String contractId,
                                                    @RequestParam(value = "page") int page,
                                                    @RequestParam(value = "row") int row) {
        ContractRoomDto contractRoomDto = new ContractRoomDto();
service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
@@ -3,10 +3,13 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
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.contractChangePlanRoom.ContractChangePlanRoomDto;
import com.java110.dto.contractRoom.ContractRoomDto;
import com.java110.dto.fee.FeeDto;
import com.java110.dto.rentingPool.RentingPoolDto;
import com.java110.dto.store.StoreDto;
@@ -17,7 +20,9 @@
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.rentingPool.RentingPoolPo;
import com.java110.store.bmo.contract.IUpdateContractBMO;
import com.java110.store.bmo.contractFile.IDeleteContractFileBMO;
@@ -26,6 +31,7 @@
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;
@@ -55,6 +61,12 @@
    @Autowired
    private IContractChangePlanDetailInnerServiceSMO contractChangePlanDetailInnerServiceSMOImpl;
    @Autowired
    private IContractChangePlanRoomInnerServiceSMO contractChangePlanRoomInnerServiceSMOImpl;
    @Autowired
    private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl;
    @Autowired
@@ -167,6 +179,8 @@
            ContractPo contractPo = BeanConvertUtil.covertBean(contractChangePlanDetailDtos.get(0), ContractPo.class);
            contractInnerServiceSMOImpl.updateContract(contractPo);
            dealContractChangePlanRoom(contractChangePlanDto);
        } else { //修改为审核中
            ContractChangePlanPo contractChangePlanPo = new ContractChangePlanPo();
            contractChangePlanPo.setPlanId(contractChangePlanDto.getPlanId());
@@ -177,6 +191,45 @@
        return ResultVo.success();
    }
    private void dealContractChangePlanRoom(ContractChangePlanDto contractChangePlanDto) {
        // 查询 是否有资产变更
        ContractChangePlanRoomDto contractChangePlanRoomDto = new ContractChangePlanRoomDto();
        contractChangePlanRoomDto.setPlanId(contractChangePlanDto.getPlanId());
        contractChangePlanRoomDto.setStoreId(contractChangePlanDto.getStoreId());
        contractChangePlanRoomDto.setOperate("ADD");
        List<ContractChangePlanRoomDto> contractChangePlanRoomDtos
                = contractChangePlanRoomInnerServiceSMOImpl.queryContractChangePlanRooms(contractChangePlanRoomDto);
        if(contractChangePlanRoomDtos == null || contractChangePlanRoomDtos.size() < 1){
            return ;
        }
        //删除之前数据 插入新数据
        ContractRoomPo contractRoomPo = new ContractRoomPo();
        contractRoomPo.setContractId(contractChangePlanRoomDtos.get(0).getContractId());
        contractRoomPo.setStoreId(contractChangePlanRoomDtos.get(0).getStoreId());
        contractRoomInnerServiceSMOImpl.deleteContractRoom(contractRoomPo);
        //插入新的关系值
        for(ContractChangePlanRoomDto tmpContractChangePlanRoomDto : contractChangePlanRoomDtos){
            contractRoomPo = new ContractRoomPo();
            contractRoomPo.setContractId(contractChangePlanRoomDtos.get(0).getContractId());
            contractRoomPo.setStoreId(contractChangePlanRoomDtos.get(0).getStoreId());
            contractRoomPo.setCrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_crId));
            contractRoomPo.setOwnerId(tmpContractChangePlanRoomDto.getOwnerId());
            contractRoomPo.setOwnerName(tmpContractChangePlanRoomDto.getOwnerName());
            contractRoomPo.setRoomId(tmpContractChangePlanRoomDto.getRoomId());
            contractRoomPo.setRoomName(tmpContractChangePlanRoomDto.getRoomName());
            contractRoomInnerServiceSMOImpl.saveContractRoom(contractRoomPo);
        }
    }
    private void updateContractAttr(JSONObject jsonObject, ContractPo contractPo) {
        ContractAttrDto contractAttrDto = new ContractAttrDto();
        contractAttrDto.setContractId(contractPo.getContractId());
service-store/src/main/java/com/java110/store/bmo/contractChangePlan/ISaveContractChangePlanBMO.java
@@ -2,7 +2,11 @@
import com.java110.po.contractChangePlan.ContractChangePlanPo;
import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
import com.java110.po.contractChangePlanRoom.ContractChangePlanRoomPo;
import org.springframework.http.ResponseEntity;
import java.util.List;
public interface ISaveContractChangePlanBMO {
@@ -12,7 +16,9 @@
     * @param contractChangePlanPo
     * @return
     */
    ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo, ContractChangePlanDetailPo contractChangePlanDetailPo);
    ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo,
                                ContractChangePlanDetailPo contractChangePlanDetailPo,
                                List<ContractChangePlanRoomPo> contractChangePlanRoomPos);
}
service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java
@@ -4,12 +4,13 @@
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.contract.ContractDto;
import com.java110.dto.contractChangePlan.ContractChangePlanDto;
import com.java110.dto.contractChangePlanRoom.ContractChangePlanRoomDto;
import com.java110.dto.contractRoom.ContractRoomDto;
import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
import com.java110.intf.store.IContractChangePlanDetailInnerServiceSMO;
import com.java110.intf.store.IContractChangePlanInnerServiceSMO;
import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.intf.store.*;
import com.java110.po.contractChangePlan.ContractChangePlanPo;
import com.java110.po.contractChangePlanDetail.ContractChangePlanDetailPo;
import com.java110.po.contractChangePlanRoom.ContractChangePlanRoomPo;
import com.java110.store.bmo.contractChangePlan.ISaveContractChangePlanBMO;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
@@ -35,6 +36,12 @@
    @Autowired
    private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMO;
    @Autowired
    private IContractChangePlanRoomInnerServiceSMO contractChangePlanRoomInnerServiceSMOImpl;
    @Autowired
    private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl;
    /**
     * 添加小区信息
     *
@@ -42,7 +49,9 @@
     * @return 订单服务能够接受的报文
     */
    @Java110Transactional
    public ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo, ContractChangePlanDetailPo contractChangePlanDetailPo) {
    public ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo,
                                       ContractChangePlanDetailPo contractChangePlanDetailPo,
                                       List<ContractChangePlanRoomPo> contractChangePlanRoomPos) {
        //查询老的合同信息
        ContractDto contractDto = new ContractDto();
@@ -76,6 +85,10 @@
            throw new IllegalArgumentException("保存变更记录失败");
        }
        dealContractChangePlanRooms(contractChangePlanPo,contractChangePlanRoomPos);
        //提交流程
        ContractChangePlanDto contractChangePlanDto = BeanConvertUtil.covertBean(contractChangePlanPo, ContractChangePlanDto.class);
        contractChangePlanDto.setCurrentUserId(contractChangePlanPo.getChangePerson());
@@ -84,4 +97,47 @@
        return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功");
    }
    /**
     * 处理合同变更资产功能
     *
     * @param contractChangePlanRoomPos
     */
    private void dealContractChangePlanRooms(ContractChangePlanPo contractChangePlanPo,
                                             List<ContractChangePlanRoomPo> contractChangePlanRoomPos) {
        if (contractChangePlanRoomPos == null || contractChangePlanRoomPos.size() == 0) {
            return;
        }
        ContractChangePlanRoomPo tmpContractChangePlanRoomPo = null;
        for(ContractChangePlanRoomPo contractChangePlanRoomPo : contractChangePlanRoomPos){
            ContractRoomDto contractRoomDto = new ContractRoomDto();
            contractRoomDto.setContractId(contractChangePlanPo.getContractId());
            contractRoomDto.setRoomId(contractChangePlanRoomPo.getRoomId());
            List<ContractRoomDto> contractRoomDtos
                    = contractRoomInnerServiceSMOImpl.queryContractRooms(contractRoomDto);
            if(contractRoomDtos != null && contractRoomDtos.size()> 0){
                tmpContractChangePlanRoomPo = new ContractChangePlanRoomPo();
                tmpContractChangePlanRoomPo.setContractId(contractChangePlanPo.getContractId());
                tmpContractChangePlanRoomPo.setOwnerId(contractRoomDtos.get(0).getOwnerId());
                tmpContractChangePlanRoomPo.setOwnerName(contractRoomDtos.get(0).getOwnerName());
                tmpContractChangePlanRoomPo.setPlanId(contractChangePlanPo.getPlanId());
                tmpContractChangePlanRoomPo.setPrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_prId));
                tmpContractChangePlanRoomPo.setRoomId(contractRoomDtos.get(0).getRoomId());
                tmpContractChangePlanRoomPo.setRoomName(contractRoomDtos.get(0).getRoomName());
                tmpContractChangePlanRoomPo.setStoreId(contractRoomDtos.get(0).getStoreId());
                tmpContractChangePlanRoomPo.setOperate("DEL");
                contractChangePlanRoomInnerServiceSMOImpl.saveContractChangePlanRoom(tmpContractChangePlanRoomPo);
            }
            contractChangePlanRoomPo.setContractId(contractChangePlanPo.getContractId());
            contractChangePlanRoomPo.setPlanId(contractChangePlanPo.getPlanId());
            contractChangePlanRoomPo.setPrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_prId));
            contractChangePlanRoomPo.setStoreId(contractRoomDtos.get(0).getStoreId());
            contractChangePlanRoomPo.setOperate("ADD");
            contractChangePlanRoomInnerServiceSMOImpl.saveContractChangePlanRoom(contractChangePlanRoomPo);
        }
    }
}