From e3a36ff4503cb0e1e71255c193d85bbef967800c Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期六, 27 一月 2024 17:24:28 +0800 Subject: [PATCH] 修改 --- src/main/java/com/whyc/service/ProductService.java | 100 +++++++++++++++++++++++++------------------------ 1 files changed, 51 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/whyc/service/ProductService.java b/src/main/java/com/whyc/service/ProductService.java index 5563721..f58297b 100644 --- a/src/main/java/com/whyc/service/ProductService.java +++ b/src/main/java/com/whyc/service/ProductService.java @@ -580,31 +580,60 @@ 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); @@ -623,33 +652,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(),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); } } } -- Gitblit v1.9.1