java110 пре 5 година
родитељ
комит
0ef52cf7a7

+ 12 - 8
service-store/src/main/java/com/java110/store/api/ContractApi.java

@@ -22,6 +22,7 @@ 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.contractPartya.ContractPartyaPo;
 import com.java110.po.contractRoom.ContractRoomPo;
 import com.java110.po.contractType.ContractTypePo;
 import com.java110.po.contractTypeSpec.ContractTypeSpecPo;
@@ -221,15 +222,18 @@ public class ContractApi {
         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);
     }

+ 29 - 5
service-store/src/main/java/com/java110/store/bmo/contract/impl/SaveContractBMOImpl.java

@@ -9,6 +9,7 @@ import com.java110.dto.contractType.ContractTypeDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.rentingPool.RentingPoolDto;
 import com.java110.dto.store.StoreDto;
+import com.java110.intf.IContractRoomInnerServiceSMO;
 import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
 import com.java110.intf.store.IContractAttrInnerServiceSMO;
 import com.java110.intf.store.IContractFileInnerServiceSMO;
@@ -18,6 +19,7 @@ import com.java110.intf.user.IRentingPoolInnerServiceSMO;
 import com.java110.po.contract.ContractPo;
 import com.java110.po.contractAttr.ContractAttrPo;
 import com.java110.po.contractFile.ContractFilePo;
+import com.java110.po.contractRoom.ContractRoomPo;
 import com.java110.po.rentingPool.RentingPoolPo;
 import com.java110.store.bmo.contract.ISaveContractBMO;
 import com.java110.utils.util.Assert;
@@ -51,6 +53,9 @@ public class SaveContractBMOImpl implements ISaveContractBMO {
     @Autowired
     private IContractFileInnerServiceSMO contractFileInnerServiceSMOImpl;
 
+    @Autowired
+    private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl;
+
     /**
      * 添加小区信息
      *
@@ -89,11 +94,11 @@ public class SaveContractBMOImpl implements ISaveContractBMO {
         //附件保存
         List<ContractFilePo> filePos = contractPo.getContractFilePo();
         int flag = contractInnerServiceSMOImpl.saveContract(contractPo);
-        for (ContractFilePo file: filePos) {
-             if (file.getFileRealName().length() > 0 && file.getFileSaveName().length() > 0){
-                 file.setContractId(contractPo.getContractId());
-                 contractFileInnerServiceSMOImpl.saveContractFile(file);
-             }
+        for (ContractFilePo file : filePos) {
+            if (file.getFileRealName().length() > 0 && file.getFileSaveName().length() > 0) {
+                file.setContractId(contractPo.getContractId());
+                contractFileInnerServiceSMOImpl.saveContractFile(file);
+            }
         }
 
         contractPo.setContractId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractId));
@@ -101,6 +106,9 @@ public class SaveContractBMOImpl implements ISaveContractBMO {
             return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
         }
 
+        saveContractRoomRel(reqJson);
+
+
         //提交流程
         ContractDto tmpContractDto = BeanConvertUtil.covertBean(contractPo, ContractDto.class);
         tmpContractDto.setCurrentUserId(reqJson.getString("userId"));
@@ -130,6 +138,22 @@ public class SaveContractBMOImpl implements ISaveContractBMO {
 
     }
 
+    private void saveContractRoomRel(JSONObject reqJson) {
+
+        //保存关联房屋
+        if (!reqJson.containsKey("rooms")) {
+            return;
+        }
+        JSONArray rooms = reqJson.getJSONArray("rooms");
+        for (int conFileIndex = 0; conFileIndex < rooms.size(); conFileIndex++) {
+            JSONObject resourceStore = rooms.getJSONObject(conFileIndex);
+            ContractRoomPo contractRoomPo = BeanConvertUtil.covertBean(resourceStore, ContractRoomPo.class);
+            contractRoomPo.setCrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_crId));
+            contractRoomInnerServiceSMOImpl.saveContractRoom(contractRoomPo);
+        }
+        //刷业主
+    }
+
     /**
      * 修改 房屋租赁状态
      *