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