From e66095ce55dcc9450b953f77dd753c698c53fd55 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 27 十月 2025 08:12:27 +0800
Subject: [PATCH] 更新erp对接 1.销售订单按子单自动上报 2.其他订单按主单上报 3.客户可以选择物料进行出库

---
 src/main/java/com/zy/asrs/controller/OutController.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 58e0ab5..330c001 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -1,16 +1,20 @@
 package com.zy.asrs.controller;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.Order;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.param.OutlocDetlParam;
 import com.zy.asrs.service.*;
 import com.zy.common.model.LocDto;
 import com.zy.common.model.TaskDto;
 import com.zy.common.web.BaseController;
+import lombok.Synchronized;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -159,13 +163,15 @@
                 locDtos.add(locDto);
                 exist.add(locDetl.getLocNo());
             }
+            orderDetl.setUpdateBy(getUserId());
         }
         return R.ok().add(locDtos);
     }
 
+    @Synchronized
     @PostMapping("/out/pakout2/auth")
     @ManagerAuth(memo = "璁㈠崟鍑哄簱")
-    public synchronized R pakout2(@RequestBody List<LocDto> locDtos) throws InterruptedException {
+    public R pakout2(@RequestBody List<LocDto> locDtos) throws InterruptedException {
         if (Cools.isEmpty(locDtos)) {
             return R.parse(BaseRes.PARAM);
         }
@@ -197,11 +203,24 @@
             } else {
                 taskDtos.add(taskDto);
             }
+            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDto.getLocNo()));
+            if(!locMast.getLocSts().equals("F")) {
+                return R.error("搴撲綅="+locMast.getLocNo()+"涓嶆槸鍦ㄥ簱鐘舵�侊紝璇峰埛鏂伴〉闈㈤噸鏂版彁鍙栫墿鏂�");
+            }
         }
         // -----------------------------------------------------------------------------------------------
         for (TaskDto taskDto : taskDtos) {
             workService.stockOutCheckAnfme(null, taskDto, getUser(), taskDto.getStaNo());
         }
+        //瀵瑰嚭搴撹鍗曟祦姘村彿杩涜鏇存柊
+        Order order = orderService.selectByNo(locDtos.get(0).getOrderNo());
+        if(order.getDocType()==81){
+            order.setAccountDay(Cools.isEmpty(order.getAccountDay()) ? 1 : order.getAccountDay()+1);
+            order.setUpdateTime(new Date());
+            orderService.updateById(order);
+        }
+
+
         return R.ok();
     }
 
@@ -221,7 +240,6 @@
 
         double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
         for (LocDetl locDetl : map.getList()) {
-            if (issued > 0) {
                 LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
                         locDetl.getAnfme());
                 List<String> staNos =  new ArrayList<>();
@@ -233,9 +251,6 @@
                 exist.add(locDetl.getLocNo());
                 // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
                 issued = issued - locDetl.getAnfme();
-            } else {
-                break;
-            }
         }
         if (issued > 0) {
             LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);

--
Gitblit v1.9.1