From 9700e007ebb34750369452a72187f9c47b9ff1bb Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期五, 08 五月 2026 01:30:25 +0800
Subject: [PATCH] 出库补发

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
index cb3c483..3d5eada 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -58,6 +58,8 @@
     private BasStationService basStationService;
     @Autowired
     private MatnrService matnrService;
+    @Autowired
+    private AsnOrderItemService asnOrderItemService;
 
     /** 鍏ュ簱/鍑哄簱淇濆瓨鍓嶏細鑻ヨ鏍兼垨鍨嬪彿涓虹┖鍒欎粠鐗╂枡甯﹀嚭 */
     private void fillSpecModelFromMatnr(LocItem item) {
@@ -260,7 +262,7 @@
             if (map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)
                     || map.getType().equals(Constants.TASK_TYPE_ORDER_OUT_STOCK)
                     || map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
-                // 鍑哄簱閲忚揪鍒板簱浣嶅簱瀛橈紙鍚宸級瑙嗕负鍏ㄧ増鍑哄簱锛岄伩鍏嶆诞鐐硅宸鑷磋鍒や负鎷f枡/閮ㄥ垎鍑哄簱
+                // 鍑哄簱閲忚揪鍒板簱浣嶅簱瀛橈紙鍚宸級瑙嗕负鍏ㄦ澘鍑哄簱锛岄伩鍏嶆诞鐐硅宸鑷磋鍒や负鎷f枡/閮ㄥ垎鍑哄簱
                 if (orgQtyBd.subtract(outQtyBd).compareTo(FULL_OUT_QTY_TOLERANCE) > 0) {
                     // 鎷f枡鍑哄簱锛堥儴鍒嗗嚭搴擄級
                     DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
@@ -370,7 +372,29 @@
                     taskItem.setWkType(order.getWkType())
                             .setSourceCode(order.getCode())
                             .setSourceId(order.getId())
+                            .setOrderId(order.getId())
                             .setOrderItemId(item.getOrderItemId());
+                    String poOrCode = StringUtils.isNotBlank(order.getPoCode()) ? order.getPoCode() : order.getCode();
+                    if (StringUtils.isBlank(taskItem.getPlatOrderCode()) && StringUtils.isNotBlank(poOrCode)) {
+                        taskItem.setPlatOrderCode(poOrCode);
+                    }
+                    if (item.getOrderItemId() != null) {
+                        WkOrderItem oi = asnOrderItemService.getById(item.getOrderItemId());
+                        if (oi != null) {
+                            if (StringUtils.isBlank(taskItem.getPlatItemId()) && StringUtils.isNotBlank(oi.getPlatItemId())) {
+                                taskItem.setPlatItemId(oi.getPlatItemId());
+                            }
+                            if (StringUtils.isBlank(taskItem.getPlatWorkCode()) && StringUtils.isNotBlank(oi.getPlatWorkCode())) {
+                                taskItem.setPlatWorkCode(oi.getPlatWorkCode());
+                            }
+                            if (StringUtils.isBlank(taskItem.getPlatOrderCode())) {
+                                String p = StringUtils.isNotBlank(oi.getPlatOrderCode()) ? oi.getPlatOrderCode() : poOrCode;
+                                if (StringUtils.isNotBlank(p)) {
+                                    taskItem.setPlatOrderCode(p);
+                                }
+                            }
+                        }
+                    }
                 } else if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
                     taskItem.setSourceId(wave.getId())
                             .setWkType(OrderWorkType.ORDER_WORK_TYPE_OTHER.type)

--
Gitblit v1.9.1