From 7b0f3ac0a411616e1af4667fb68f09801c00d999 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期五, 28 十月 2022 12:04:31 +0800 Subject: [PATCH] 产品bom物料逻辑更新 --- src/main/java/com/whyc/service/ProductService.java | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/whyc/service/ProductService.java b/src/main/java/com/whyc/service/ProductService.java index 8d64a02..bec3892 100644 --- a/src/main/java/com/whyc/service/ProductService.java +++ b/src/main/java/com/whyc/service/ProductService.java @@ -570,7 +570,10 @@ materialUrlList.forEach(materialUrl -> { String dwgName = materialUrl.substring(materialUrl.lastIndexOf(File.separator) + 1, materialUrl.length() - 4); try { - FileCopyUtils.copy(new File(materialUrl), new File(materialDir + File.separator + dwgName + ".dwg")); + File dwgFile = new File(materialDir + File.separator + dwgName + ".dwg"); + if(!dwgFile.exists()) { + FileCopyUtils.copy(new File(materialUrl), dwgFile); + } } catch (IOException e) { e.printStackTrace(); } @@ -579,17 +582,22 @@ picUrlList.forEach(picUrl -> { String picFullName = picUrl.substring(picUrl.lastIndexOf(File.separator) + 1); try { - FileCopyUtils.copy(new File(picUrl), new File(materialDir + File.separator + picFullName)); + File picFile = new File(materialDir + File.separator + picFullName); + if(!picFile.exists()) { + FileCopyUtils.copy(new File(picUrl), picFile); + } } catch (IOException e) { e.printStackTrace(); } }); //鐗╂枡琛ㄤ腑涓嶅瓨鍦ㄧ殑(渚濇嵁:鐗╂枡缂栫爜+鐗╂枡鍨嬪彿),鍒欐坊鍔犲埌鐗╂枡琛ㄤ腑鍘�(鍖呭惈product杩欎釜鐗╂枡) + //娌℃湁鍥剧焊鍜屽浘鐗囩殑,鏇存柊鍥剧焊鍜屽浘鐗�;鏈夊浘绾稿拰鍥剧墖鐨�,涓嶆洿鏂板浘绾稿拰鍥剧墖 List<Material> materialExistList = mService.getListByCodeAndModelList2(bomList); //List<String> subCodeList = materialExistList.stream().map(Material::getSubCode).collect(Collectors.toList()); List<String> subCodeList = materialExistList.stream().map(material -> material.getSubCode()+"/"+material.getSubModel()).collect(Collectors.toList()); List<Material> materialList = new LinkedList<>(); + List<Material> materialUpdateList = new LinkedList<>(); bomList.forEach(bom -> { if (!subCodeList.contains(bom.getSubCode()+"/"+bom.getSubModel())) { Material material = new Material(); @@ -606,6 +614,19 @@ material.setUnit(bom.getUnit()); materialList.add(material); + }else{ //鐗╂枡宸茬粡瀛樺湪鐨� + Material material = new Material(); + if (bom.getPictureUrl() != null) { + material.setPictureUrl(bom.getPictureUrl()); + } + if (bom.getDwgUrl() != null) { + material.setDwgUrl(bom.getDwgUrl()); + } + if(material.getPictureUrl()!=null || material.getDwgUrl()!=null){ + material.setSubCode(bom.getSubCode()); + material.setSubModel(bom.getSubModel()); + materialUpdateList.add(material); + } } }); //姣嶆枡鏄惁瀛樺湪 @@ -623,6 +644,9 @@ if(materialList.size()!=0) { mService.insertBatch(materialList); } + if(materialUpdateList.size()!=0) { + mService.updateDwgUrlAndPicUrl(materialUpdateList); + } //鏇存柊product_history/product_bom_history/product/product_bom, // product鐨勪富閿部鐢ㄥ搴攑roduct_history鐨� //鏍规嵁缂栫爜鍜屽瀷鍙风‘瀹氱墿鏂檌d骞跺搴攓uantity,瀛樺叆鏁版嵁搴�. -- Gitblit v1.9.1