From 05f5fcc1efbd628f08c868fdaf622554ff85271a Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期五, 21 五月 2021 17:44:43 +0800
Subject: [PATCH] 优化采购管理、优化维修工单办结、优化相关内容

---
 service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java |  143 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 133 insertions(+), 10 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java
old mode 100644
new mode 100755
index 84f9a87..c92f966
--- a/service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java
@@ -4,8 +4,18 @@
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.resourceStore.IResourceStoreBMO;
 import com.java110.core.context.DataFlowContext;
-import com.java110.core.smo.store.IResourceStoreInnerServiceSMO;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.allocationStorehouse.AllocationStorehouseDto;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.file.FileRelDto;
+import com.java110.dto.purchaseApplyDetail.PurchaseApplyDetailDto;
+import com.java110.intf.common.IFileInnerServiceSMO;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
+import com.java110.intf.store.IAllocationStorehouseInnerServiceSMO;
+import com.java110.intf.store.IPurchaseApplyDetailInnerServiceSMO;
+import com.java110.intf.store.IResourceStoreInnerServiceSMO;
 import com.java110.dto.resourceStore.ResourceStoreDto;
+import com.java110.po.file.FileRelPo;
 import com.java110.po.purchase.ResourceStorePo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.util.Assert;
@@ -13,6 +23,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -29,18 +40,52 @@
     @Autowired
     private IResourceStoreInnerServiceSMO resourceStoreInnerServiceSMOImpl;
 
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private IPurchaseApplyDetailInnerServiceSMO purchaseApplyDetailInnerServiceSMOImpl;
+
+    @Autowired
+    private IAllocationStorehouseInnerServiceSMO allocationStorehouseInnerServiceSMOImpl;
+
     /**
-     * 娣诲姞灏忓尯淇℃伅
+     * 鍒犻櫎璧勬簮淇℃伅
      *
      * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
      * @param dataFlowContext 鏁版嵁涓婁笅鏂�
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void deleteResourceStore(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-
-
+        //鑾峰彇璧勬簮id
+        String resId = paramInJson.getString("resId");
+        paramInJson.put("statusCd", "1");
         ResourceStorePo resourceStorePo = BeanConvertUtil.covertBean(paramInJson, ResourceStorePo.class);
+        //鏍规嵁鐗╁搧id鏌ヨ閲囪喘鏄庣粏琛�
+        PurchaseApplyDetailDto purchaseApplyDetailDto = new PurchaseApplyDetailDto();
+        purchaseApplyDetailDto.setResId(resId);
+        List<PurchaseApplyDetailDto> purchaseApplyDetailDtos = purchaseApplyDetailInnerServiceSMOImpl.queryPurchaseApplyDetails(purchaseApplyDetailDto);
+        Assert.listIsNull(purchaseApplyDetailDtos, "璇ョ墿鍝佸瓨鍦ㄩ噰璐垨棰嗙敤璁板綍锛屼笉鑳藉垹闄わ紒");
+        //鏍规嵁鐗╁搧id鏌ヨ璋冩嫧璁板綍
+        AllocationStorehouseDto allocationStorehouseDto = new AllocationStorehouseDto();
+        allocationStorehouseDto.setResId(resId);
+        List<AllocationStorehouseDto> allocationStorehouseDtos = allocationStorehouseInnerServiceSMOImpl.queryAllocationStorehouses(allocationStorehouseDto);
+        Assert.listIsNull(allocationStorehouseDtos, "璇ョ墿鍝佸瓨鍦ㄨ皟鎷ㄨ褰曪紝涓嶈兘鍒犻櫎锛�");
         super.delete(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_RESOURCE_STORE);
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(resId);
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        if (fileRelDtos != null && fileRelDtos.size() > 0) {
+            //鍒犻櫎鏂囦欢琛ㄥ浘鐗�
+            for (FileRelDto fileRel : fileRelDtos) {
+                FileRelPo fileRelpo = new FileRelPo();
+                fileRelpo.setFileRelId(fileRel.getFileRelId());
+                super.delete(dataFlowContext, fileRelpo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FILE_REL);
+            }
+        }
     }
 
     /**
@@ -51,13 +96,37 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void addResourceStore(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-
         JSONObject businessResourceStore = new JSONObject();
         businessResourceStore.putAll(paramInJson);
-        businessResourceStore.put("resId", "-1");
+        businessResourceStore.put("resId", GenerateCodeFactory.getResId(GenerateCodeFactory.CODE_PREFIX_resId));
         businessResourceStore.put("stock", "0");
+        businessResourceStore.put("createTime", new Date());
         ResourceStorePo resourceStorePo = BeanConvertUtil.covertBean(businessResourceStore, ResourceStorePo.class);
         super.insert(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_RESOURCE_STORE);
+        //灏嗗浘鐗囨彃鍏ユ枃浠惰〃閲�
+        FileRelPo fileRelPo = new FileRelPo();
+        fileRelPo.setObjId(resourceStorePo.getResId());
+        //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+        fileRelPo.setSaveWay("ftp");
+        fileRelPo.setCreateTime(new Date());
+        //鍥剧墖
+        List<String> photos = resourceStorePo.getPhotos();
+        if (photos != null && photos.size() > 0) {
+            //22000琛ㄧず鐗╁搧鍥剧墖
+            fileRelPo.setRelTypeCd("22000");
+            for (String photo : photos) {
+                fileRelPo.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+                FileDto fileDto = new FileDto();
+                fileDto.setCommunityId("-1");
+                fileDto.setContext(photo);
+                fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                fileDto.setFileName(fileDto.getFileId());
+                String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+                fileRelPo.setFileRealName(fileName);
+                fileRelPo.setFileSaveName(fileName);
+                super.insert(dataFlowContext, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+            }
+        }
     }
 
     /**
@@ -68,19 +137,73 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void updateResourceStore(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-
         ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
         resourceStoreDto.setResId(paramInJson.getString("resId"));
         resourceStoreDto.setStoreId(paramInJson.getString("storeId"));
-
         List<ResourceStoreDto> resourceStoreDtos = resourceStoreInnerServiceSMOImpl.queryResourceStores(resourceStoreDto);
-
         Assert.isOne(resourceStoreDtos, "鏌ヨ鍒板鏉$墿鍝� 鎴栨湭鏌ュ埌鐗╁搧锛宺esId=" + resourceStoreDto.getResId());
-
         JSONObject businessResourceStore = new JSONObject();
         businessResourceStore.putAll(paramInJson);
         businessResourceStore.put("stock", resourceStoreDtos.get(0).getStock());
         ResourceStorePo resourceStorePo = BeanConvertUtil.covertBean(businessResourceStore, ResourceStorePo.class);
         super.update(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_RESOURCE_STORE);
+        //鑾峰彇鍥剧墖淇℃伅
+        List<String> photos = resourceStorePo.getFileUrls();
+        //鍥剧墖鏇存柊
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(paramInJson.getString("resId"));
+        //鏌ヨ鏂囦欢琛�
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        //濡傛灉鏂囦欢琛ㄩ噷鏈夎繖涓祫婧愮殑璁板綍锛屽氨鍏堝垹鎺夊師鍏堢殑
+        if (fileRelDtos != null && fileRelDtos.size() > 0) {
+            //鍏堟妸鍒犻櫎鏂囦欢琛ㄥ浘鐗�
+            for (FileRelDto fileRel : fileRelDtos) {
+                FileRelPo fileRelPo = new FileRelPo();
+                fileRelPo.setFileRelId(fileRel.getFileRelId());
+                super.delete(dataFlowContext, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FILE_REL);
+            }
+            FileRelPo fileRel = new FileRelPo();
+            fileRel.setObjId(resourceStorePo.getResId());
+            //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+            fileRel.setSaveWay("ftp");
+            fileRel.setCreateTime(new Date());
+            if (photos != null && photos.size() > 0) {
+                //22000琛ㄧず鐗╁搧鍥剧墖
+                fileRel.setRelTypeCd("22000");
+                for (String photo : photos) {
+                    fileRel.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+                    FileDto fileDto = new FileDto();
+                    fileDto.setCommunityId("-1");
+                    fileDto.setContext(photo);
+                    fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                    fileDto.setFileName(fileDto.getFileId());
+                    String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+                    fileRel.setFileRealName(fileName);
+                    fileRel.setFileSaveName(fileName);
+                    /*fileRelInnerServiceSMOImpl.saveFileRel(fileRel);*/
+                    super.insert(dataFlowContext, fileRel, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+                }
+            }
+        } else if (photos != null && photos.size() > 0) {  //濡傛灉鏂囦欢琛ㄩ噷娌℃湁杩欎釜璧勬簮鐨勮褰曪紝灏卞垽鏂槸鍚︽湁鍥剧墖浼犺繃鏉ワ紝鏈夊氨鎻掑叆鍒版枃浠惰〃閲�
+            FileRelPo fileRel = new FileRelPo();
+            fileRel.setObjId(resourceStorePo.getResId());
+            //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+            fileRel.setSaveWay("ftp");
+            fileRel.setCreateTime(new Date());
+            //22000琛ㄧず鐗╁搧鍥剧墖
+            fileRel.setRelTypeCd("22000");
+            for (String photo : photos) {
+                fileRel.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+                FileDto fileDto = new FileDto();
+                fileDto.setCommunityId("-1");
+                fileDto.setContext(photo);
+                fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                fileDto.setFileName(fileDto.getFileId());
+                String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+                fileRel.setFileRealName(fileName);
+                fileRel.setFileSaveName(fileName);
+                super.insert(dataFlowContext, fileRel, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+            }
+        }
     }
 }

--
Gitblit v1.8.0