From 2a64b537e8e3bce9ce030585a3da17d48379c0ad Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期一, 26 五月 2025 15:04:45 +0800
Subject: [PATCH] 修改json类型转换错误

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java |  107 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 62 insertions(+), 45 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java
index 5597f89..0185f67 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsStandardProcessRouteLineServiceImpl.java
@@ -1,19 +1,21 @@
 package com.aps.core.service.impl;
 
 import java.math.BigDecimal;
-import java.util.Hashtable;
 import java.util.List;
 import java.util.Optional;
 
+import cn.hutool.core.util.IdUtil;
 import com.aps.common.core.utils.DateUtils;
 import com.aps.common.security.utils.SecurityUtils;
-import com.aps.core.domain.ApsPlateStandardRequire;
-import com.aps.core.domain.ApsPlateStandardRequireError;
+import com.aps.core.domain.ApsPlate.ApsPlateStandardRequire;
+import com.aps.core.domain.ApsPlate.ApsPlateStandardRequireError;
 import com.aps.core.domain.ApsStandardProcessRouteHeader;
 import com.aps.core.mapper.ApsPlateStandardRequireErrorMapper;
 import com.aps.core.mapper.ApsStandardProcessRouteHeaderMapper;
+import com.aps.core.service.ApsPlate.IApsPlateStandardRequireErrorService;
 import jakarta.annotation.Resource;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import com.aps.core.mapper.ApsStandardProcessRouteLineMapper;
 import com.aps.core.domain.ApsStandardProcessRouteLine;
@@ -33,7 +35,10 @@
     @Resource
     ApsStandardProcessRouteHeaderMapper standardProcessRouteHeaderMapper;
     @Resource
-    ApsPlateStandardRequireErrorMapper requireErrorMapper;
+    IApsPlateStandardRequireErrorService requireErrorService;
+    @Resource
+    private RedisTemplate redisTemplate;
+
     /**
      * 鏌ヨ鏍囧噯宸ヨ壓璺嚎Line
      * 
@@ -114,8 +119,6 @@
      */
     @Override
     public ApsStandardProcessRouteLine getRouteLineTotalTime(ApsPlateStandardRequire require) {
-        // 瀹氫箟鐙崰鐢熶骇妯″紡甯搁噺
-        String productivityModel_monopolize = "鐙崰";
         // 鍒濆鍖栨�诲伐鏃朵负0
         BigDecimal totalRouteTime = BigDecimal.ZERO;
         //宸ュ巶
@@ -123,58 +126,72 @@
         // 鐗╂枡鍙�
         String itemNumber=require.getBomLineCode();
         long routId=0L;
-        ApsStandardProcessRouteLine ret=ApsStandardProcessRouteLine.builder()
-                .routeId(String.valueOf(routId))
-                .routeTime(BigDecimal.ZERO)
-                .build();
+        ApsStandardProcessRouteLine ret=new ApsStandardProcessRouteLine();
+        ret.setRouteId(String.valueOf(routId));
+        ret.setRouteTime(BigDecimal.ZERO);
         // 鏌ヨ鏍囧噯宸ヨ壓璺嚎澶撮儴淇℃伅
         Optional<ApsStandardProcessRouteHeader> firstProcessRoute = standardProcessRouteHeaderMapper.queryStandardProcessRouteHeaderByPlantAndItemCode(plant, itemNumber).stream().findFirst();
         if (firstProcessRoute.isPresent()) {
             ApsStandardProcessRouteHeader routeHeader = firstProcessRoute.get();
             // 鏋勫缓宸ヨ壓璺嚎琛屽弬鏁板璞�
-            ApsStandardProcessRouteLine routeLineParam = ApsStandardProcessRouteLine.builder()
-                    .routeId(routeHeader.getRouteId())
-                    .build();
+            ApsStandardProcessRouteLine routeLineParam =new ApsStandardProcessRouteLine();
+            routeLineParam.setRouteId(routeHeader.getRouteId());
             // 鏌ヨ鏍囧噯宸ヨ壓璺嚎琛屼俊鎭�
-            List<ApsStandardProcessRouteLine> apsStandardProcessRouteLines = apsStandardProcessRouteLineMapper.selectApsStandardProcessRouteLineList(routeLineParam);
-            /*宸ヨ壓璺嚎Line 鎬诲伐鏃�*/
-
-            if(apsStandardProcessRouteLines.isEmpty()){
-                saveRequireError(require,"宸ュ簭涓嶅瓨鍦�");
-            }else {
-                // 閬嶅巻姣忎釜宸ヨ壓璺嚎琛�
-                apsStandardProcessRouteLines.forEach(line -> {
-                    // 榛樿灏嗚璁′骇鑳借缃负璺嚎鏃堕棿
-                    line.setRouteTime(line.getDesignCapacity());
-                    // 濡傛灉鐢熶骇妯″紡涓虹嫭鍗狅紝鍒欒矾绾挎椂闂翠负璁捐浜ц兘涔樹互鍑�闇�姹傞噺
-                    if (line.getProductivityModel().equals(productivityModel_monopolize)) {
-                        line.setRouteTime(line.getDesignCapacity().multiply(require.getNetRequirement()));
-                    }
-                    // 绱姞璺嚎鏃堕棿鍒版�诲伐鏃朵腑
-                    totalRouteTime.add(line.getRouteTime());
-                });
-            }
+            BigDecimal standardTime = apsStandardProcessRouteLineMapper.selectTotalStandTime(routeHeader.getRouteId()).getStandardTime();
+            totalRouteTime =standardTime.multiply(require.getNetRequirement());
             ret.setRouteTime(totalRouteTime);
             ret.setRouteId(routeHeader.getRouteId());
         }else {
-            saveRequireError(require,"鏍囧噯宸ヨ壓璺嚎涓嶅瓨鍦�");
+            requireErrorService.saveRequireError(require,"鏍囧噯宸ヨ壓璺嚎涓嶅瓨鍦�");
         }
         // 杩斿洖鎬诲伐鏃�
         return ret;
     }
+    @Override
+    public ApsStandardProcessRouteLine getRouteHeaderRouteTime(ApsPlateStandardRequire require){
 
-    private void saveRequireError(ApsPlateStandardRequire require,String message) {
-        ApsPlateStandardRequireError data = ApsPlateStandardRequireError.builder()
-                .requireId(require.getRequireId())
-                .batchNumber(require.getBatchNumber())
-                .docNum(require.getDocNum())
-                .itemNum(require.getBomLineCode())
-                .orgCode(require.getOrgCode())
-                .message(message)
-                .delFlag("0")
-                .build();
-        data.setCreateBy(SecurityUtils.getUsername());
-        data.setCreateTime(DateUtils.getNowDate());
-        requireErrorMapper.insertApsPlateStandardRequireError(data);
+        //宸ュ巶
+        String plant=require.getOrgCode();
+        // 鐗╂枡鍙�
+        String itemCode=require.getBomLineCode();
+        // 鍑�闇�姹�
+        BigDecimal netRequirement=  require.getNetRequirement();
+        //鏋勫缓Redis Key
+        String key = "ROUTE:ROUTE_"+plant+"_"+itemCode;
+
+        BigDecimal totalRouteTime = BigDecimal.ZERO;
+        ApsStandardProcessRouteLine ret=new ApsStandardProcessRouteLine();
+        ret.setRouteId("0");
+        ret.setRouteTime(totalRouteTime);
+
+        Object routeHeaderObj = redisTemplate.opsForValue().get(key);
+        if (routeHeaderObj != null) {
+            totalRouteTime = (BigDecimal) routeHeaderObj;
+            ret.setRouteId("0");
+            ret.setRouteTime(totalRouteTime.multiply(netRequirement));
+            return  ret;
+        } else {
+            requireErrorService.saveRequireError(require,"鏍囧噯宸ヨ壓璺嚎涓嶅瓨鍦�");
+            /*// 鏌ヨ鏍囧噯宸ヨ壓璺嚎澶撮儴淇℃伅
+            Optional<ApsStandardProcessRouteHeader> firstProcessRoute = standardProcessRouteHeaderMapper.queryStandardProcessRouteHeaderByPlantAndItemCode(plant, itemCode).stream().findFirst();
+            if (firstProcessRoute.isPresent()) {
+                ApsStandardProcessRouteHeader routeHeader = firstProcessRoute.get();
+                // 鏋勫缓宸ヨ壓璺嚎琛屽弬鏁板璞�
+                ApsStandardProcessRouteLine routeLineParam =new ApsStandardProcessRouteLine();
+                routeLineParam.setRouteId(routeHeader.getRouteId());
+                // 鏌ヨ鏍囧噯宸ヨ壓璺嚎琛屼俊鎭�
+                BigDecimal standardTime = apsStandardProcessRouteLineMapper.selectTotalStandTime(routeHeader.getRouteId()).getStandardTime();
+                totalRouteTime =standardTime.multiply(netRequirement);
+                // 璁$畻杩斿洖鐨勬暟鎹�
+                ret.setRouteTime(totalRouteTime);
+                ret.setRouteId(routeHeader.getRouteId());
+                *//*瀛樺偍鑷砇edis*//*
+                redisTemplate.opsForValue().set(key, standardTime);
+            }else {
+                saveRequireError(require,"鏍囧噯宸ヨ壓璺嚎涓嶅瓨鍦�");
+            }*/
+            return ret;
+        }
     }
+
 }

--
Gitblit v1.9.3