From 1ea8aad0956a4629bef8cae8f270696ce7a0cdec Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期五, 22 十二月 2023 14:42:52 +0800
Subject: [PATCH] 0108、0109开头的物料BOM清单上传的时候覆盖之前相同编码的物料,保留之前的附件及附件状态

---
 src/main/java/com/whyc/service/MaterialService.java |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/whyc/service/MaterialService.java b/src/main/java/com/whyc/service/MaterialService.java
index ca3c0e3..4c96633 100644
--- a/src/main/java/com/whyc/service/MaterialService.java
+++ b/src/main/java/com/whyc/service/MaterialService.java
@@ -222,9 +222,24 @@
         return mapper.getListByCodeAndModelList2(bomList);
     }
 
-    public Material getByCodeAndModel(String subCode, String subModel) {
+    /**
+     *
+     * @param subCode 鐗╂枡缂栫爜
+     * @param subModel 鐗╂枡鍨嬪彿
+     * @param equalSubModel 鏄惁绛変簬鐗╂枡鍨嬪彿,鐢ㄤ簬绛変簬鐗╂枡鍨嬪彿 鎴栬�� 鎺掗櫎鐗╂枡鍨嬪彿骞朵笖瀛樺湪闄勪欢
+     * @return
+     */
+    public Material getByCodeAndModel(String subCode, String subModel, boolean equalSubModel) {
         QueryWrapper<Material> query = Wrappers.query();
-        query.eq("sub_code",subCode).eq("sub_model",subModel).last(" limit 1");
+        query.eq("sub_code",subCode);
+        if(equalSubModel) {
+            query.eq("sub_model", subModel);
+        }else{
+            query.ne("sub_model", subModel);
+            query.isNotNull("file_url");
+        }
+        query.orderByDesc("id");
+        query.last(" limit 1");
         return mapper.selectOne(query);
     }
 
@@ -477,6 +492,39 @@
     }
 
     /**
+     * 杞Щ 琚鍒剁殑闄勪欢,鍒版柊鐨勭墿鏂�
+     * @param fileUrlDir 琚鍒剁殑闄勪欢璺緞,渚嬪:doc_file\material\8468-0109000512-SHIDA-2455-OLD-ZX_A01
+     * @param material 鏂扮殑鐗╂枡
+     * @return 杩斿洖琚拷鍔犳枃浠剁殑鏂囦欢澶硅矾寰�
+     */
+    @Transactional
+    public Response transferCopiedAttachment(String fileUrlDir, Material material) throws IOException {
+        String subModel = material.getSubModel();
+        subModel = MaterialSpecialCharUtil.transfer(subModel);
+        String dirPathDB = "doc_file" + File.separator + "material" + File.separator + material.getId() + "-"+ material.getSubCode() + "-" + subModel;
+        String dirPath = CommonUtil.getRootFile() + "material" + File.separator + material.getId() + "-"+ material.getSubCode() + "-" + subModel;
+        File dirFile = new File(dirPath);
+
+        boolean dirFileExist = true;
+        if(!dirFile.exists()){
+
+            dirFile.mkdirs();
+            dirFileExist = false;
+        }
+        FileUtil.copyDirectory(new File(CommonUtil.getProjectDir() + File.separator + fileUrlDir),dirFile);
+
+        if(!dirFileExist){
+            //璺緞涓嶅瓨鍦�,璇存槑鏄娆′笂浼�,璁剧疆鐗╂枡瀵瑰簲鐨刦ileUrl
+            Material temp = new Material();
+            temp.setId(material.getId());
+            temp.setFileUrl(dirPathDB);
+            mapper.updateById(temp);
+        }
+
+        return new Response().set(1,true,"涓婁紶瀹屾垚");
+    }
+
+    /**
      * @param multipartFile 鏇存柊鐨勫浘绾告垨鍥剧墖
      * @param material
      */

--
Gitblit v1.9.1