From ec08a42903bc8967f177bee0a3c7a048f26edbf2 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期三, 27 七月 2022 10:43:02 +0800
Subject: [PATCH] 更新工作流

---
 src/main/java/com/whyc/service/WorksheetLinkService.java |   62 ++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/whyc/service/WorksheetLinkService.java b/src/main/java/com/whyc/service/WorksheetLinkService.java
index 4e97c77..23040b1 100644
--- a/src/main/java/com/whyc/service/WorksheetLinkService.java
+++ b/src/main/java/com/whyc/service/WorksheetLinkService.java
@@ -4,17 +4,16 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.whyc.mapper.ProductBomApprovingMapper;
 import com.whyc.mapper.WorksheetLinkMapper;
-import com.whyc.pojo.DocUser;
-import com.whyc.pojo.ProductBomApproving;
-import com.whyc.pojo.WorksheetLink;
-import com.whyc.pojo.WorksheetMain;
+import com.whyc.pojo.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.LinkedList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class WorksheetLinkService {
@@ -103,16 +102,61 @@
             //鍒犻櫎? TODO 闇�瑕佺害瀹氶�昏緫
 
             //鏌ヨ閮ㄤ欢鏈�鏂扮殑鐗堟湰鍙�
-            Integer version = bomService.getProduct(approvingList.get(0).getParentModel()).getVersion();
-            if(version==null){
-                version = 0;
+            Integer currentVersion = bomService.getProduct(approvingList.get(0).getParentModel()).getVersion();
+            if(currentVersion==null){
+                currentVersion = 0;
             }
-            Integer nextVersion = version+1;
+            Integer nextVersion = currentVersion+1;
             //鏇存柊鍒皃roduct_bom_history,闇�瑕乻Version鍜宔Version
             //澧炲姞鎵�鏈夐儴浠�,鎺掓煡鍑虹浉鍏崇殑鍘熼儴浠�,闈炰篃鏄洿鏂�
-            //historyService.get
+            List<ProductBomHistory> currentHistoryList = historyService.getListByParentModel(approvingList.get(0).getParentModel(),currentVersion);
+            List<String> currentSubNameList = currentHistoryList.stream().map(ProductBomHistory::getSubName).collect(Collectors.toList());
+
+            List<ProductBomHistory> newHistoryList = new LinkedList<>();
+            approvingList.forEach(approvingBom->{
+                if(currentSubNameList.contains(approvingBom.getSubName())){
+                    approvingBom.setVersion(1);
+                }else{
+                    approvingBom.setVersion(0);
+                }
+                //杞寲涓簆roductBomHistory
+                ProductBomHistory his = new ProductBomHistory();
+                his.setCategory(approvingBom.getCategory());
+                his.setCreateDate(approvingBom.getCreateDate());
+                his.setDwgUrl(approvingBom.getDwgUrl());
+                his.seteVersion(nextVersion);
+                his.setFileUrl(approvingBom.getFileUrl());
+                his.setMaterial(approvingBom.getMaterial());
+                his.setNotes(approvingBom.getNotes());
+                his.setParentCode(approvingBom.getParentCode());
+                his.setParentModel(approvingBom.getParentModel());
+                his.setParentName(approvingBom.getParentName());
+                his.setParentVersion(approvingBom.getParentVersion());
+                his.setPictureUrl(approvingBom.getPictureUrl());
+                his.setProducer(approvingBom.getProducer());
+                his.setQuantity(approvingBom.getQuantity());
+                his.setSubCode(approvingBom.getSubCode());
+                his.setSubModel(approvingBom.getSubModel());
+                his.setSubName(approvingBom.getSubName());
+                his.setSurfaceDetail(approvingBom.getSurfaceDetail());
+                his.setsVersion(nextVersion);
+                his.setThickness(approvingBom.getThickness());
+                his.setType(approvingBom.getType());
+                his.setUnit(approvingBom.getUnit());
+                his.setUpdateDate(approvingBom.getUpdateDate());
+                his.setUpUser(approvingBom.getUpUser());
+
+                newHistoryList.add(his);
+            });
+            //鏈瀹℃牳涓瓙浠惰淇敼鐨勫瓙浠堕泦鍚�
+            List<String> approvingUpdateSubNameList = approvingList.stream().filter(approvingBom -> approvingBom.getVersion() == 1).map(ProductBomApproving::getSubName).collect(Collectors.toList());
 
             //鏇存柊鍒皃roduct_bom
+            historyService.addBatch(newHistoryList);
+            /*鏇存柊浜у搧鐨勫綋鍓嶇増鏈�,鏇存柊鍒版渶鏂扮殑鐗堟湰*/
+            //褰撳墠鐗堟湰鐨勬墍鏈塨om,鎺掗櫎
+            //currentHistoryList.stream().filter(currentHistory->currentHistory.getSubName());
+
 
             /*String projectDir = CommonUtil.getProjectDir();
             FileUtil.copyDir()*/

--
Gitblit v1.9.1