From 49673574617fa09ba92c2fe7067c98b8b3a4185b Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期一, 13 三月 2023 10:51:16 +0800
Subject: [PATCH] Revert "Revert "旧数据类别可以修复的(物料只对应1个类别的),填充物料类别""

---
 src/main/java/com/whyc/service/MaterialService.java |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/whyc/service/MaterialService.java b/src/main/java/com/whyc/service/MaterialService.java
index 209587e..09a6149 100644
--- a/src/main/java/com/whyc/service/MaterialService.java
+++ b/src/main/java/com/whyc/service/MaterialService.java
@@ -1,6 +1,7 @@
 package com.whyc.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -29,10 +30,7 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -524,4 +522,29 @@
     public List<Material> getSameSubCodeAndModel(List<ProductBom> bomList) {
         return mapper.getSameSubCodeAndModel(bomList);
     }
+
+    public void updateFillCategory(String sign) {
+        if(sign.equals("perryhsu")){ //鍏佽鎿嶄綔
+            //鑱旀煡浜у搧鐗╂枡鍘嗗彶琛�,鑾峰彇鐗╂枡瀵瑰簲鐨勭被鍒�
+            List<Material> materialList = mapper.getCategory();
+            List<Material> materialWithOneCategoryList = new LinkedList<>();
+            Map<Integer, List<Material>> materialIdMap = materialList.stream().collect(Collectors.groupingBy(Material::getId));
+            Set<Integer> materialIdSet = materialIdMap.keySet();
+            for (Integer materialId : materialIdSet) {
+                List<Material> temp = materialIdMap.get(materialId);
+                if(temp.size()==1){
+                    materialWithOneCategoryList.add(temp.get(0));
+                }else{
+                    System.err.println("鐗╂枡id:"+materialId+"瀵瑰簲"+temp.size()+"涓被鍒�"+temp.get(0).getCategory()+"/"+temp.get(1).getCategory());
+                }
+            }
+            //灏嗙被鍒洖濉埌鐗╂枡琛�
+            for (int i = 0; i < materialWithOneCategoryList.size(); i++) {
+                Material material = materialWithOneCategoryList.get(i);
+                UpdateWrapper<Material> update = Wrappers.update();
+                update.set("category",material.getCategory()).eq("id",material.getId());
+                mapper.update(null,update);
+            }
+        }
+    }
 }

--
Gitblit v1.9.1