From bcc17f20197a0cabd210a03946b858241a5e3ed5 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期一, 14 三月 2022 17:24:07 +0800
Subject: [PATCH] 优化 acct 时区

---
 service-store/src/main/java/com/java110/store/api/ContractApi.java |  330 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 319 insertions(+), 11 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/api/ContractApi.java b/service-store/src/main/java/com/java110/store/api/ContractApi.java
old mode 100644
new mode 100755
index 8715448..b1e1788
--- a/service-store/src/main/java/com/java110/store/api/ContractApi.java
+++ b/service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -1,11 +1,16 @@
 package com.java110.store.api;
 
+
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+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.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;
@@ -15,6 +20,10 @@
 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;
@@ -38,6 +47,14 @@
 import com.java110.store.bmo.contractChangePlanDetailAttr.IGetContractChangePlanDetailAttrBMO;
 import com.java110.store.bmo.contractChangePlanDetailAttr.ISaveContractChangePlanDetailAttrBMO;
 import com.java110.store.bmo.contractChangePlanDetailAttr.IUpdateContractChangePlanDetailAttrBMO;
+import com.java110.store.bmo.contractCollectionPlan.IDeleteContractCollectionPlanBMO;
+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;
@@ -53,6 +70,9 @@
 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
@@ -144,6 +164,27 @@
     @Autowired
     private IPrintContractTemplateBMO printContractTemplateBMO;
 
+
+    @Autowired
+    private ISaveContractCollectionPlanBMO saveContractCollectionPlanBMOImpl;
+    @Autowired
+    private IUpdateContractCollectionPlanBMO updateContractCollectionPlanBMOImpl;
+    @Autowired
+    private IDeleteContractCollectionPlanBMO deleteContractCollectionPlanBMOImpl;
+
+    @Autowired
+    private IGetContractCollectionPlanBMO getContractCollectionPlanBMOImpl;
+
+    @Autowired
+    private ISaveContractRoomBMO saveContractRoomBMOImpl;
+    @Autowired
+    private IUpdateContractRoomBMO updateContractRoomBMOImpl;
+    @Autowired
+    private IDeleteContractRoomBMO deleteContractRoomBMOImpl;
+
+    @Autowired
+    private IGetContractRoomBMO getContractRoomBMOImpl;
+
     /**
      * 寰俊淇濆瓨娑堟伅妯℃澘
      *
@@ -174,10 +215,26 @@
 
         ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
         contractPo.setStoreId(storeId);
+        contractPo.setStartUserId(userId);
         if (!reqJson.containsKey("contractParentId") || "-1".equals(reqJson.getString("contractParentId"))) {
             contractPo.setContractParentId("-1");
         }
         reqJson.put("userId", userId);
+
+
+        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);
+        }
+
+
         return saveContractBMOImpl.save(contractPo, reqJson);
     }
 
@@ -210,6 +267,16 @@
 
 
         ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
+
+        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);
         return updateContractBMOImpl.update(contractPo, reqJson);
     }
 
@@ -230,6 +297,31 @@
         ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class);
         contractPo.setState(ContractDto.STATE_COMPLAINT);
         return updateContractBMOImpl.update(contractPo, reqJson);
+    }
+
+
+    /**
+     * 寰俊淇敼娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/needAuditContract
+     * @path /app/contract/needAuditContract
+     */
+    @RequestMapping(value = "/needAuditContract", method = RequestMethod.POST)
+    public ResponseEntity<String> needAuditContract(
+            @RequestHeader(value = "store-id") String storeId,
+            @RequestHeader(value = "user-id") String userId,
+            @RequestBody JSONObject reqJson) {
+        ContractDto contractDto = new ContractDto();
+        contractDto.setTaskId(reqJson.getString("taskId"));
+        contractDto.setContractId(reqJson.getString("contractId"));
+        contractDto.setStoreId(storeId);
+        contractDto.setAuditCode(reqJson.getString("state"));
+        contractDto.setAuditMessage(reqJson.getString("remark"));
+        contractDto.setCurrentUserId(userId);
+
+        return updateContractBMOImpl.needAuditContract(contractDto, reqJson);
     }
 
     /**
@@ -285,7 +377,10 @@
     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 = "objId", required = false) String objId,
+                                                @RequestParam(value = "contractId", required = false) String contractId,
+                                                @RequestParam(value = "contractNameLike", required = false) String contractNameLike,
+                                                @RequestParam(value = "contractCode", required = false) String contractCode,
                                                 @RequestParam(value = "page") int page,
                                                 @RequestParam(value = "row") int row) {
         ContractDto contractDto = new ContractDto();
@@ -294,6 +389,9 @@
         contractDto.setStoreId(storeId);
         contractDto.setState(state);
         contractDto.setObjId(objId);
+        contractDto.setContractId(contractId);
+        contractDto.setContractCode(contractCode);
+        contractDto.setContractNameLike(contractNameLike);
         //濡傛灉鏄埌鏈熷悎鍚�
         if ("1".equals(expiration)) {
             contractDto.setNoStates(new String[]{ContractDto.STATE_COMPLAINT, ContractDto.STATE_FAIL});
@@ -358,9 +456,9 @@
      */
     @RequestMapping(value = "/queryContractChangeTask", method = RequestMethod.GET)
     public ResponseEntity<String> queryContractChangeTask(@RequestHeader(value = "store-id") String storeId,
-                                                    @RequestHeader(value = "user-id") String userId,
-                                                    @RequestParam(value = "page") int page,
-                                                    @RequestParam(value = "row") int row) {
+                                                          @RequestHeader(value = "user-id") String userId,
+                                                          @RequestParam(value = "page") int page,
+                                                          @RequestParam(value = "row") int row) {
         AuditUser auditUser = new AuditUser();
         auditUser.setUserId(userId);
         auditUser.setPage(page);
@@ -380,9 +478,9 @@
      */
     @RequestMapping(value = "/queryContractChangeHistoryTask", method = RequestMethod.GET)
     public ResponseEntity<String> queryContractChangeHistoryTask(@RequestHeader(value = "store-id") String storeId,
-                                                           @RequestHeader(value = "user-id") String userId,
-                                                           @RequestParam(value = "page") int page,
-                                                           @RequestParam(value = "row") int row) {
+                                                                 @RequestHeader(value = "user-id") String userId,
+                                                                 @RequestParam(value = "page") int page,
+                                                                 @RequestParam(value = "row") int row) {
 
 
         AuditUser auditUser = new AuditUser();
@@ -753,9 +851,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);
     }
 
     /**
@@ -789,13 +905,13 @@
      * @path /app/contract/deleteContractChangePlan
      */
     @RequestMapping(value = "/deleteContractChangePlan", method = RequestMethod.POST)
-    public ResponseEntity<String> deleteContractChangePlan(@RequestBody JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+    public ResponseEntity<String> deleteContractChangePlan(@RequestHeader(value = "store-id") String storeId,
+                                                           @RequestBody JSONObject reqJson) {
 
         Assert.hasKeyAndValue(reqJson, "planId", "planId涓嶈兘涓虹┖");
 
-
         ContractChangePlanPo contractChangePlanPo = BeanConvertUtil.covertBean(reqJson, ContractChangePlanPo.class);
+        contractChangePlanPo.setStoreId(storeId);
         return deleteContractChangePlanBMOImpl.delete(contractChangePlanPo);
     }
 
@@ -825,6 +941,31 @@
         return getContractChangePlanBMOImpl.get(contractChangePlanDto);
     }
 
+
+    /**
+     * 鍚堝悓鍙樻洿瀹℃牳
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/needAuditContractPlan
+     * @path /app/contract/needAuditContractPlan
+     */
+    @RequestMapping(value = "/needAuditContractPlan", method = RequestMethod.POST)
+    public ResponseEntity<String> needAuditContractPlan(
+            @RequestHeader(value = "store-id") String storeId,
+            @RequestHeader(value = "user-id") String userId,
+            @RequestBody JSONObject reqJson) {
+        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"));
+        contractChangePlanDto.setCurrentUserId(userId);
+
+        return updateContractBMOImpl.needAuditContractPlan(contractChangePlanDto, reqJson);
+    }
 
     /**
      * 寰俊淇濆瓨娑堟伅妯℃澘
@@ -1050,4 +1191,171 @@
     }
 
 
+    /**
+     * 寰俊淇濆瓨娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/saveContractCollectionPlan
+     * @path /app/contract/saveContractCollectionPlan
+     */
+    @RequestMapping(value = "/saveContractCollectionPlan", method = RequestMethod.POST)
+    public ResponseEntity<String> saveContractCollectionPlan(@RequestHeader(value = "store-id") String storeId,
+                                                             @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "contractId", "璇锋眰鎶ユ枃涓湭鍖呭惈contractId");
+        Assert.hasKeyAndValue(reqJson, "feeId", "璇锋眰鎶ユ枃涓湭鍖呭惈feeId");
+        Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
+        Assert.hasKeyAndValue(reqJson, "planName", "璇锋眰鎶ユ枃涓湭鍖呭惈planName");
+
+
+        ContractCollectionPlanPo contractCollectionPlanPo = BeanConvertUtil.covertBean(reqJson, ContractCollectionPlanPo.class);
+        contractCollectionPlanPo.setStoreId(storeId);
+        return saveContractCollectionPlanBMOImpl.save(contractCollectionPlanPo);
+    }
+
+    /**
+     * 寰俊淇敼娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/updateContractCollectionPlan
+     * @path /app/contract/updateContractCollectionPlan
+     */
+    @RequestMapping(value = "/updateContractCollectionPlan", method = RequestMethod.POST)
+    public ResponseEntity<String> updateContractCollectionPlan(@RequestHeader(value = "store-id") String storeId,
+                                                               @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "contractId", "璇锋眰鎶ユ枃涓湭鍖呭惈contractId");
+        Assert.hasKeyAndValue(reqJson, "feeId", "璇锋眰鎶ユ枃涓湭鍖呭惈feeId");
+        Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
+        Assert.hasKeyAndValue(reqJson, "planName", "璇锋眰鎶ユ枃涓湭鍖呭惈planName");
+        Assert.hasKeyAndValue(reqJson, "planId", "planId涓嶈兘涓虹┖");
+
+
+        ContractCollectionPlanPo contractCollectionPlanPo = BeanConvertUtil.covertBean(reqJson, ContractCollectionPlanPo.class);
+        contractCollectionPlanPo.setStoreId(storeId);
+        return updateContractCollectionPlanBMOImpl.update(contractCollectionPlanPo);
+    }
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /contract/deleteContractCollectionPlan
+     * @path /app/contract/deleteContractCollectionPlan
+     */
+    @RequestMapping(value = "/deleteContractCollectionPlan", method = RequestMethod.POST)
+    public ResponseEntity<String> deleteContractCollectionPlan(@RequestHeader(value = "store-id") String storeId,
+                                                               @RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "planId", "planId涓嶈兘涓虹┖");
+
+
+        ContractCollectionPlanPo contractCollectionPlanPo = BeanConvertUtil.covertBean(reqJson, ContractCollectionPlanPo.class);
+        contractCollectionPlanPo.setStoreId(storeId);
+        return deleteContractCollectionPlanBMOImpl.delete(contractCollectionPlanPo);
+    }
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param storeId 鍟嗘埛ID
+     * @return
+     * @serviceCode /contract/queryContractCollectionPlan
+     * @path /app/contract/queryContractCollectionPlan
+     */
+    @RequestMapping(value = "/queryContractCollectionPlan", method = RequestMethod.GET)
+    public ResponseEntity<String> queryContractCollectionPlan(@RequestHeader(value = "store-id") String storeId,
+                                                              @RequestParam(value = "communityId") String communityId,
+                                                              @RequestParam(value = "page") int page,
+                                                              @RequestParam(value = "row") int row) {
+        ContractCollectionPlanDto contractCollectionPlanDto = new ContractCollectionPlanDto();
+        contractCollectionPlanDto.setPage(page);
+        contractCollectionPlanDto.setRow(row);
+        contractCollectionPlanDto.setStoreId(storeId);
+        return getContractCollectionPlanBMOImpl.get(contractCollectionPlanDto);
+    }
+
+
+    /**
+     * 寰俊淇濆瓨娑堟伅妯℃澘
+     *
+     * @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);
+    }
+
 }

--
Gitblit v1.8.0