From cf9a5039e6db9d1d5963e3fe1a37d00169ec2ef7 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期三, 25 六月 2025 11:18:22 +0800 Subject: [PATCH] 验收报告修改 --- src/main/java/com/whyc/service/ProductService.java | 143 ++++++++++++++++++++++++++++------------------- 1 files changed, 85 insertions(+), 58 deletions(-) diff --git a/src/main/java/com/whyc/service/ProductService.java b/src/main/java/com/whyc/service/ProductService.java index 6cb9271..bdc8e43 100644 --- a/src/main/java/com/whyc/service/ProductService.java +++ b/src/main/java/com/whyc/service/ProductService.java @@ -149,8 +149,11 @@ File parentFile = new File(filePath); String originalFilename = file.getOriginalFilename(); File zipFile = new File(filePath + File.separator + originalFilename); - if (!zipFile.exists()) { + /*if (!zipFile.exists()) { zipFile.mkdirs(); + }*/ + if (!parentFile.exists()) { + parentFile.mkdirs(); } file.transferTo(zipFile); //瑙e帇鏂囦欢澶� @@ -368,6 +371,14 @@ if (!pictureRowSet.isEmpty() && pictureRowSet.contains(k)) { PictureData pictureData = pictureDataMap.get(k); + //鍒ゆ柇鐗╂枡鍨嬪彿鏄惁鍖呭惈闈炴硶瀛楃(鍥剧墖浼氳浆鍖栦负璺緞) + if(bom.getSubModel()!=null) { + String regexStr = "[\\/*?\"|:<>\t]"; + boolean matches = Pattern.compile(regexStr).matcher(bom.getSubModel()).find(); + if (matches) { + return response.set(1, false, "鍨嬪彿涓�"+bom.getSubModel()+"鐨勭墿鏂欏寘鍚潪娉曞瓧绗�:\\/*?\"|:<>鎴栧墠缃┖鏍�"); + } + } //鍥剧墖瀛樺偍 product_submit/username/2022-07/ String approvingPath = rootFile + File.separator + "product_submit" + File.separator + user.getName() + File.separator + dateFormat + File.separator + timeStamp; File provingFile = new File(approvingPath); @@ -580,36 +591,65 @@ if(bom.getRelatedMaterialCodes()!=null) { String relatedMaterialCodes = bom.getRelatedMaterialCodes().trim(); if (!relatedMaterialCodes.equals("")) { - if (subMaterialListInDB.contains(bom.getSubCode()+"_"+bom.getSubModel())) { //褰撳墠鐗╂枡鏈夋浛浠f枡 - String[] relatedList; - if (relatedMaterialCodes.contains(",")) { - relatedList = relatedMaterialCodes.split(","); - } else { - relatedList = relatedMaterialCodes.split("锛�"); - } - for (String related : relatedList) { - bom.setRelatedMaterialCodes(related); - boolean exists = false; - for (MaterialProductHistory mp : mpListInDB) { - //鐗╂枡鐩稿悓,鏇夸唬鏂欑浉鍚� - if ((mp.getSubMaterial().getSubCode()+"_"+mp.getSubMaterial().getSubModel()).equals(bom.getSubCode()+"_"+bom.getSubModel()) - && mp.getRelatedSubMaterial().getSubCode().equals(related)) { - //鍙彲鑳藉瓨鍦�0 鍜� 1 鐨勬儏鍐�,鍥犱负鏌ヨ鐨勬槸 >=涓婁釜鐗堟湰 - if (nextVersion - mp.getEVersion() == 0) { //宸插瓨鍦�,鏃犻渶娣诲姞 - //break; - } else if (nextVersion - mp.getEVersion() == 1) { //鏇存柊鍒板綋鍓嶇増鏈� - mp.setEVersion(nextVersion); - versionUpdateList.add(mp); + if(subMaterialListInDB!=null&&subMaterialListInDB.size()>0){ + if (subMaterialListInDB.contains(bom.getSubCode()+"_"+bom.getSubModel())) { //褰撳墠鐗╂枡鏈夋浛浠f枡 + String[] relatedList; + if (relatedMaterialCodes.contains(",")) { + relatedList = relatedMaterialCodes.split(","); + } else { + relatedList = relatedMaterialCodes.split("锛�"); + } + for (String related : relatedList) { + bom.setRelatedMaterialCodes(related); + boolean exists = false; + for (MaterialProductHistory mp : mpListInDB) { + //鐗╂枡鐩稿悓,鏇夸唬鏂欑浉鍚� + if ((mp.getSubMaterial().getSubCode()+"_"+mp.getSubMaterial().getSubModel()).equals(bom.getSubCode()+"_"+bom.getSubModel()) + && mp.getRelatedSubMaterial().getSubCode().equals(related)) { + //鍙彲鑳藉瓨鍦�0 鍜� 1 鐨勬儏鍐�,鍥犱负鏌ヨ鐨勬槸 >=涓婁釜鐗堟湰 + if (nextVersion - mp.getEVersion() == 0) { //宸插瓨鍦�,鏃犻渶娣诲姞 + //break; + } else if (nextVersion - mp.getEVersion() == 1) { //鏇存柊鍒板綋鍓嶇増鏈� + mp.setEVersion(nextVersion); + versionUpdateList.add(mp); + } + exists = true; } - exists = true; + } + if(!exists) { //涓嶅瓨鍦ㄧ浉閭诲強鐩稿悓鐨勮褰曠増鏈�,鏂板 + MaterialProductHistory newTemp = new MaterialProductHistory(); + newTemp.setParentCode(parentCode); + newTemp.setCustomCode(customCode); + newTemp.setSubCode(bom.getSubCode()); + Material material = mService.getByCodeAndModel(bom.getSubCode(), bom.getSubModel(),true); + newTemp.setSubMaterialId(material.getId()); + newTemp.setSVersion(nextVersion); + newTemp.setEVersion(nextVersion); + newTemp.setQuantity(bom.getQuantity()); + //2323-09-08 涓庢潹绾㈠叞寰俊纭<灏辨寜鐓ф垜涓婁紶娓呭崟鐨勬椂闂达紝绯荤粺閲屾渶鏂扮殑鏄暐鍨嬪彿锛屽氨鍙栦粈涔堝瀷鍙�> + Material relatedMaterial = mService.getLastByCode(related); + if(relatedMaterial == null){ + throw new RuntimeException("褰撳墠鏇挎枡"+related+",缂栫爜鍦ㄥ钩鍙颁腑涓嶅瓨鍦�,鏃犳硶鍏宠仈鏇夸唬"); + } + newTemp.setMaterialId(relatedMaterial.getId()); + newTemp.setCreateTime(date); + newAddedList.add(newTemp); } } - if(!exists) { //涓嶅瓨鍦ㄧ浉閭诲強鐩稿悓鐨勮褰曠増鏈�,鏂板 + } + else{ + String[] relatedList; + if (relatedMaterialCodes.contains(",")) { + relatedList = relatedMaterialCodes.split(","); + } else { + relatedList = relatedMaterialCodes.split("锛�"); + } + for (String related : relatedList) { MaterialProductHistory newTemp = new MaterialProductHistory(); newTemp.setParentCode(parentCode); newTemp.setCustomCode(customCode); newTemp.setSubCode(bom.getSubCode()); - Material material = mService.getByCodeAndModel(bom.getSubCode(), bom.getSubModel()); + Material material = mService.getByCodeAndModel(bom.getSubCode(), bom.getSubModel(),true); newTemp.setSubMaterialId(material.getId()); newTemp.setSVersion(nextVersion); newTemp.setEVersion(nextVersion); @@ -623,33 +663,6 @@ newTemp.setCreateTime(date); newAddedList.add(newTemp); } - } - } - else{ - String[] relatedList; - if (relatedMaterialCodes.contains(",")) { - relatedList = relatedMaterialCodes.split(","); - } else { - relatedList = relatedMaterialCodes.split("锛�"); - } - for (String related : relatedList) { - MaterialProductHistory newTemp = new MaterialProductHistory(); - newTemp.setParentCode(parentCode); - newTemp.setCustomCode(customCode); - newTemp.setSubCode(bom.getSubCode()); - Material material = mService.getByCodeAndModel(bom.getSubCode(), bom.getSubModel()); - newTemp.setSubMaterialId(material.getId()); - newTemp.setSVersion(nextVersion); - newTemp.setEVersion(nextVersion); - newTemp.setQuantity(bom.getQuantity()); - //2323-09-08 涓庢潹绾㈠叞寰俊纭<灏辨寜鐓ф垜涓婁紶娓呭崟鐨勬椂闂达紝绯荤粺閲屾渶鏂扮殑鏄暐鍨嬪彿锛屽氨鍙栦粈涔堝瀷鍙�> - Material relatedMaterial = mService.getLastByCode(related); - if(relatedMaterial == null){ - throw new RuntimeException("褰撳墠鏇挎枡"+related+",缂栫爜鍦ㄥ钩鍙颁腑涓嶅瓨鍦�,鏃犳硶鍏宠仈鏇夸唬"); - } - newTemp.setMaterialId(relatedMaterial.getId()); - newTemp.setCreateTime(date); - newAddedList.add(newTemp); } } } @@ -893,7 +906,7 @@ List<MaterialHistory> materialHistoryList = new LinkedList<>(); //鏂扮墿鏂� List<Material> newMaterialList = new LinkedList<>(); - //宸茬粡瀛樺湪鐨勭墿鏂� + //鍒ゆ柇鐗╂枡鏄惁宸茬粡瀛樺湪浜庣墿鏂欒〃涓� List<Material> materialUpdateList = new LinkedList<>(); for (ProductBom bom : bomList) { if (!subCodeList.contains(bom.getSubCode() + "/" + bom.getSubModel())) { @@ -931,7 +944,7 @@ newMaterialList = newMaterialList.stream().filter(distinctByKey(m->m.getSubCode()+"/"+m.getSubModel())).collect(Collectors.toList()); //姣嶆枡鏄惁瀛樺湪 - Material materialDB = mService.getByCodeAndModel(product.getParentCode(), product.getParentModel()); + Material materialDB = mService.getByCodeAndModel(product.getParentCode(), product.getParentModel(),true); if (materialDB == null) { Material material = new Material(); material.setSubCode(product.getParentCode()); @@ -1067,6 +1080,20 @@ if(materialHistoryList.size()>0) { materialHistoryService.addBatch(materialHistoryList); } + //濡傛灉鏂颁笂浼犵殑bom涓瓨鍦�0108銆�0109寮�澶寸殑鐗╂枡,(鑲畾浼氳璇嗗埆鎴愭柊鐗╂枡,涔嬪墠鐨勬搷浣滃凡缁忚鎻掑叆鍒拌〃涓�) + // 鍦ㄦ暟鎹簱瀛樺湪鐩稿悓鐨勭墿鏂欑紪鐮佸瓨鍦ㄤ笖涓嶅悓鐨勭墿鏂欏瀷鍙�,鍒欏皢鏁版嵁搴撴渶鏂扮殑鐗╂枡鐨勯檮浠跺鍒朵竴浠藉苟鐘舵�佸悓姝�,濉厖鍒版柊鐨勭墿鏂欒〃涓� + for (Material material : newMaterialList) { //鏂扮墿鏂� + String subCode = material.getSubCode(); + String subModel = material.getSubModel(); + if(subCode.startsWith("0108") || subCode.startsWith("0109")){ + Material materialWithSameCodeLatest = mService.getByCodeAndModel(subCode, subModel, false); + if(materialWithSameCodeLatest!=null){ + //闄勪欢杞Щ骞惰缃� + mService.transferCopiedAttachment(materialWithSameCodeLatest,material); + } + } + } + } //娣诲姞鏂板鏃ュ織鍒皌b_product_lock_log琛� ProductLockLog lockLog = new ProductLockLog(); @@ -1118,12 +1145,12 @@ return new Response().setIII(1,listMaterial.size()>0||listProduct.size()>0,listMaterial,listProduct,""); } - //鍙嶉绠$悊-鏌ヨ褰撳墠浣跨敤鐨勬墍鏈夌殑浜у搧 + //鍙嶉绠$悊-鏌ヨ鎵�鏈夌殑浜у搧 public Response getFkProduct() { - QueryWrapper wrapper=new QueryWrapper(); - wrapper.ne("version",-1); - List list=mapper.selectList(wrapper); - return new Response().setII(1,list.size()>0,list,"鍙嶉绠$悊-鏌ヨ褰撳墠浣跨敤鐨勬墍鏈夌殑浜у搧"); + //QueryWrapper wrapper=new QueryWrapper(); + //wrapper.ne("version",-1); + List list=mapper.selectList(null); + return new Response().setII(1,list.size()>0,list,"鍙嶉绠$悊-鏌ヨ鎵�鏈夌殑浜у搧"); } //浜у搧瀵规瘮涓嬫媺閫変腑 -- Gitblit v1.9.1