wuxw лет назад: 5
Родитель
Сommit
1612ca52c3

+ 47 - 22
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 @@ import java.util.Date;
 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 @@ private String roomName;
     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 setRoomName(String roomName) {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String getOperate() {
+        return operate;
+    }
+
+    public void setOperate(String operate) {
+        this.operate = operate;
+    }
 }

+ 51 - 28
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;
+    }
 }

+ 6 - 2
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}

+ 93 - 95
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>

+ 13 - 3
service-store/src/main/java/com/java110/store/api/ContractApi.java

@@ -20,9 +20,9 @@ import com.java110.po.contractAttr.ContractAttrPo;
 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 @@ public class ContractApi {
         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 @@ public class ContractApi {
      */
     @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();

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

@@ -3,10 +3,13 @@ package com.java110.store.bmo.contract.impl;
 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.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.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.Assert;
 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;
@@ -56,6 +62,12 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
     @Autowired
     private IContractChangePlanDetailInnerServiceSMO contractChangePlanDetailInnerServiceSMOImpl;
 
+    @Autowired
+    private IContractChangePlanRoomInnerServiceSMO contractChangePlanRoomInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl;
+
 
     @Autowired
     private IContractFileInnerServiceSMO contractFileInnerServiceSMOImpl;
@@ -167,6 +179,8 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
             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 @@ public class UpdateContractBMOImpl implements IUpdateContractBMO {
         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());

+ 7 - 1
service-store/src/main/java/com/java110/store/bmo/contractChangePlan/ISaveContractChangePlanBMO.java

@@ -2,7 +2,11 @@ package com.java110.store.bmo.contractChangePlan;
 
 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 @@ public interface ISaveContractChangePlanBMO {
      * @param contractChangePlanPo
      * @return
      */
-    ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo, ContractChangePlanDetailPo contractChangePlanDetailPo);
+    ResponseEntity<String> save(ContractChangePlanPo contractChangePlanPo,
+                                ContractChangePlanDetailPo contractChangePlanDetailPo,
+                                List<ContractChangePlanRoomPo> contractChangePlanRoomPos);
 
 
 }

+ 60 - 4
service-store/src/main/java/com/java110/store/bmo/contractChangePlan/impl/SaveContractChangePlanBMOImpl.java

@@ -4,12 +4,13 @@ import com.java110.core.annotation.Java110Transactional;
 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 @@ public class SaveContractChangePlanBMOImpl implements ISaveContractChangePlanBMO
     @Autowired
     private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMO;
 
+    @Autowired
+    private IContractChangePlanRoomInnerServiceSMO contractChangePlanRoomInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl;
+
     /**
      * 添加小区信息
      *
@@ -42,7 +49,9 @@ public class SaveContractChangePlanBMOImpl implements ISaveContractChangePlanBMO
      * @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 @@ public class SaveContractChangePlanBMOImpl implements ISaveContractChangePlanBMO
             throw new IllegalArgumentException("保存变更记录失败");
         }
 
+        dealContractChangePlanRooms(contractChangePlanPo,contractChangePlanRoomPos);
+
+
+
         //提交流程
         ContractChangePlanDto contractChangePlanDto = BeanConvertUtil.covertBean(contractChangePlanPo, ContractChangePlanDto.class);
         contractChangePlanDto.setCurrentUserId(contractChangePlanPo.getChangePerson());
@@ -84,4 +97,47 @@ public class SaveContractChangePlanBMOImpl implements ISaveContractChangePlanBMO
         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);
+        }
+    }
+
 }