From 3e144b2eb8fc9447d2d092edb71db533d12abc52 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期四, 24 九月 2026 19:06:39 +0800
Subject: [PATCH] feat(生产核算): 新增大类「中提琴」并打通工资/核算折算

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   33 +++++++--------------------------
 1 files changed, 7 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index ce9eee2..6b052c8 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -23,6 +23,7 @@
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.production.bean.dto.ProductionProductMainDto;
+import com.ruoyi.production.enums.MajorCategoryEnum;
 import com.ruoyi.production.enums.ProductOrderStatusEnum;
 import com.ruoyi.production.mapper.*;
 import com.ruoyi.production.pojo.*;
@@ -63,16 +64,6 @@
 @AllArgsConstructor
 @Transactional(rollbackFor = Exception.class)
 public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
-
-    /**
-     * 鐢熶骇鎶ュ伐澶х被锛氬彧鍖哄垎灏忔彁鐞�/澶ф彁鐞�/璐濇柉锛屼笉鍐嶅尯鍒嗛浂浠躲��
-     * key涓哄叆搴撹鑼冨�硷紝value涓轰骇鍝佸悕绉板尮閰嶅埆鍚嶏紙鐜板満鏁版嵁璐濇柉鍐欎綔鈥滆礉鍙糕�濓級銆�
-     */
-    private static final Map<String, List<String>> MAJOR_CATEGORY_PATTERNS = new LinkedHashMap<>() {{
-        put("灏忔彁鐞�", List.of("灏忔彁鐞�"));
-        put("澶ф彁鐞�", List.of("澶ф彁鐞�"));
-        put("璐濇柉", List.of("璐濇柉", "璐濆徃"));
-    }};
 
     private final ProductionProductMainMapper productionProductMainMapper;
     private final SysUserMapper userMapper;
@@ -741,7 +732,7 @@
     }
 
     /**
-     * 闇�姹傦細鐢熶骇鎶ュ伐鍙尯鍒嗕骇鍝佸ぇ绫伙紙灏忔彁鐞�/澶ф彁鐞�/璐濇柉锛夛紝涓嶅啀鍖哄垎闆朵欢銆�
+     * 闇�姹傦細鐢熶骇鎶ュ伐鍙尯鍒嗕骇鍝佸ぇ绫伙紙灏忔彁鐞�/涓彁鐞�/澶ф彁鐞�/璐濇柉锛夛紝涓嶅啀鍖哄垎闆朵欢銆�
      * 浠庝骇鍑轰骇鍝佽嚜韬悕绉板紑濮嬫部浜у搧鏍戝悜涓婂仛鍏抽敭瀛楀尮閰嶏紝鍛戒腑鍗冲彇瀵瑰簲瑙勮寖澶х被锛涙湭鍛戒腑杩斿洖 null銆�
      * 浜у搧鏍戦《灞備负鈥滄垚鍝�/鍗婃垚鍝�/鍘熸枡鈥濈瓑搴撳瓨鍒嗙被锛屼笉鑳界洿鎺ュ綋浣滃ぇ绫伙紝鍥犳蹇呴』鑷簳鍚戜笂鍙栫涓�涓懡涓殑灞傜骇銆�
      */
@@ -764,22 +755,12 @@
         return null;
     }
 
+    /**
+     * 鎸変骇鍝佸悕绉板綊鍏ヤ箰鍣ㄥぇ绫汇�傚垽瀹氳鍒欙紙鍒悕琛ㄣ�侀厤浠舵帓闄わ級闆嗕腑鍦� {@link MajorCategoryEnum}锛�
+     * 宸ヨ祫鏍哥畻銆佺敓浜ф牳绠椾篃鍏辩敤鍚屼竴濂楄鍒欙紝閬垮厤鍚勫鍐嶅啓涓�浠藉瓧绗︿覆姣旇緝銆�
+     */
     static String matchMajorCategory(String productName) {
-        if (productName == null || productName.isEmpty()) {
-            return null;
-        }
-        // 鐞寸洅/鐞村绛夐厤浠跺悕绉板彲鑳藉甫鈥滆礉鍙糕�濈瓑瀛楁牱锛堝 SA璐濆徃濂楋級锛屾帓闄ゅ悗閬垮厤璇綊澶х被銆�
-        if (productName.contains("鐞寸洅") || productName.contains("鐞村") || productName.contains("寮撶洅")) {
-            return null;
-        }
-        for (Map.Entry<String, List<String>> entry : MAJOR_CATEGORY_PATTERNS.entrySet()) {
-            for (String alias : entry.getValue()) {
-                if (productName.contains(alias)) {
-                    return entry.getKey();
-                }
-            }
-        }
-        return null;
+        return MajorCategoryEnum.match(productName);
     }
 
     private Boolean removeProductMainByProductionTask(ProductionProductMain productionProductMain) {

--
Gitblit v1.9.3