From 8ac3795a9e96689edb1fc8dc87313c9c0a07f48a Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 28 五月 2025 13:21:57 +0800
Subject: [PATCH] Double类型计算优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java |   48 ++++++++++++++++++++++++++----------------------
 1 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
index b2bc885..281a3ac 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java
@@ -159,6 +159,7 @@
                 .setAsnCode(asnOrder.getCode())
                 .setAsnId(asnOrder.getId())
                 .setProdTime(orderItem.getProdTime())
+                .setPlatItemId(orderItem.getPlatItemId())
                 .setPlatOrderCode(orderItem.getPlatOrderCode())
                 .setPlatWorkCode(orderItem.getPlatWorkCode())
                 .setProjectCode(orderItem.getProjectCode())
@@ -189,7 +190,8 @@
         WarehouseAreasItem serviceOne = warehouseAreasItemService.getOne(queryWrapper);
         if (!Objects.isNull(serviceOne)) {
             item.setId(serviceOne.getId());
-            item.setAnfme(item.getAnfme() + serviceOne.getAnfme());
+            Double anfme = Math.round((item.getAnfme() + serviceOne.getAnfme()) * 10000) / 10000.0;
+            item.setAnfme(anfme);
         }
         //鏈川妫�
         if (!warehouseAreasItemService.saveOrUpdate(item)) {
@@ -338,32 +340,34 @@
         if (pakins.isEmpty()) {
             throw new CoolException("缁勬嫋鍗曚负绌猴紒锛�");
         }
-        List<WaitPakinLog> pakinLogs = new ArrayList<>();
         pakins.forEach(pakin -> {
             WaitPakinLog log = new WaitPakinLog();
             BeanUtils.copyProperties(pakin, log);
-            log.setPakinId(pakin.getId()).setIoStatus(Short.parseShort("2"));
-            pakinLogs.add(log);
-        });
-        if (!waitPakinLogService.saveBatch(pakinLogs)) {
-            throw new CoolException("鍘嗗彶妗d繚瀛樺け璐ワ紒锛�");
-        }
-        List<WaitPakinItemLog> itemLogs = new ArrayList<>();
-        List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().in(WaitPakinItem::getPakinId, list));
-        if (pakinItems.isEmpty()) {
-            throw new CoolException("缁勬嫋鏄庣粏涓虹┖锛侊紒");
-        }
-        pakinItems.forEach(item -> {
-            WaitPakinItemLog itemLog = new WaitPakinItemLog();
-            BeanUtils.copyProperties(item, itemLog);
-            itemLog.setPakinItemId(item.getId())
-                    .setPakinId(item.getPakinId());
-            itemLogs.add(itemLog);
+            log.setPakinId(pakin.getId()).setIoStatus(PakinIOStatus.PAKIN_IO_STATUS_TASK_DONE.val);
+
+            if (!waitPakinLogService.save(log)) {
+                throw new CoolException("缁勬墭鏃ュ織淇濆瓨澶辫触锛侊紒");
+            }
+            List<WaitPakinItem> pakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().in(WaitPakinItem::getPakinId, pakin.getId()));
+            if (pakinItems.isEmpty()) {
+                throw new CoolException("缁勬嫋鏄庣粏涓虹┖锛侊紒");
+            }
+            List<WaitPakinItemLog> itemLogs = new ArrayList<>();
+
+            pakinItems.forEach(item -> {
+                WaitPakinItemLog itemLog = new WaitPakinItemLog();
+                BeanUtils.copyProperties(item, itemLog);
+                itemLog.setPakinItemId(item.getId())
+                        .setLogId(log.getId())
+                        .setPakinId(item.getPakinId());
+                itemLogs.add(itemLog);
+            });
+
+            if (!waitPakinItemLogService.saveBatch(itemLogs)) {
+                throw new CoolException("鍘嗗彶鏄庣粏妗d繚瀛樺け璐ワ紒锛�");
+            }
         });
 
-        if (!waitPakinItemLogService.saveBatch(itemLogs)) {
-            throw new CoolException("鍘嗗彶鏄庣粏妗d繚瀛樺け璐ワ紒锛�");
-        }
         if (!waitPakinService.removeByIds(list)) {
             throw new CoolException("鍘熷崟鎹垹闄ゅけ璐ワ紒锛�");
         }

--
Gitblit v1.9.1