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