From a3917dfa5f40fb653046a03ea2acde81992f554e Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 02 四月 2025 16:10:25 +0800
Subject: [PATCH] no message

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java    |   64 ++++++++++++++++++++++++++------
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java           |   11 ++---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java |    2 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java         |    8 ----
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/TaskStsType.java       |    5 --
 5 files changed, 58 insertions(+), 32 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/TaskStsType.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/TaskStsType.java
index 53568c0..5fc1dfc 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/TaskStsType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/TaskStsType.java
@@ -2,16 +2,13 @@
 
 public enum TaskStsType {
 
+    //浠诲姟鐘舵��
     GENERATE_IN(1L, "鍒涘缓鍏ュ簱浠诲姟"),
     WCS_EXECUTE_IN(2L, "RCS浠诲姟宸蹭笅鍙�"),
     WCS_CONTAINER_RECEIVE(3L, "RCS瀹瑰櫒鍒拌揪"),
-
     WCS_CONVEYOR_START(4L, "RCS瀹瑰櫒娴佸姩浠诲姟宸蹭笅鍙�"),
-
     WCS_TOTE_LOAD(5L, "RCS鍙栫瀹屾垚"),
-
     WCS_TOTE_UNLOAD(6L, "RCS鏀剧瀹屾垚"),
-
     WCS_PUTAWAY_SUCESS(7L, "RCS浠诲姟瀹屾垚"),
 
 //    WCS_PUTAWAY_FAILED(11L, "浠诲姟澶辫触"),
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
index 90a66e0..ed48bfb 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -544,7 +544,7 @@
      */
     @Override
     public R checkUpdate(QlyIsptItem params) {
-        if (Objects.isNull(params.getId()) || Objects.isNull(params.getIspectId())) {
+        if (Objects.isNull(params.getId())) {
             throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
         }
         IsptItemsParams itemsParams = new IsptItemsParams();
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java
index a80dafc..f2104be 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java
@@ -36,49 +36,41 @@
     @ApiModelProperty(value= "ID")
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
-
     /**
      * 涓诲崟ID
      */
     @ApiModelProperty(value= "涓诲崟ID")
     private Long ispectId;
-
     @ApiModelProperty("璐ㄦ鍗曠姸鎬�")
     private String isptStatus;
 
     @ApiModelProperty("鍗曟嵁鏄庣粏ID")
     private Long asnItemId;
-
     /**
      * 缂栧彿
      */
     @ApiModelProperty(value= "缂栧彿")
     private String matnrCode;
-
     /**
      * 鐗╂枡鍚嶇О
      */
     @ApiModelProperty(value= "鐗╂枡鍚嶇О")
     private String maktx;
-
     /**
      * 鏍囩
      */
     @ApiModelProperty(value= "鏍囩")
     private String label;
-
     /**鈭�
      * 渚涘簲鍟嗗悕绉�
      */
     @ApiModelProperty(value= "渚涘簲鍟嗗悕绉�")
     private String splrName;
-
     /**
      * 渚涘簲鍟嗘壒娆�
      */
     @ApiModelProperty(value= "渚涘簲鍟嗘壒娆�")
     private String splrBatch;
-
     /**
      * 搴撳瓨鎵规
      */
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java
index f9860c8..d90bbe0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java
@@ -5,6 +5,7 @@
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.vincent.rsf.server.manager.service.*;
+import lombok.experimental.Accessors;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.text.SimpleDateFormat;
@@ -22,6 +23,7 @@
 import java.io.Serializable;
 
 @Data
+@Accessors(chain = true)
 @TableName("man_stock_item")
 public class StockItem implements Serializable {
 
@@ -44,7 +46,7 @@
      * 搴撳瓨澶栭敭鏍囪瘑
      */
     @ApiModelProperty(value= "搴撳瓨澶栭敭鏍囪瘑")
-    private String stockId;
+    private Long stockId;
 
     /**
      * 鐗╂枡鏍囪瘑
@@ -190,29 +192,24 @@
      * 閿佸畾鍘熷洜
      */
     @ApiModelProperty(value= "閿佸畾鍘熷洜")
-    @TableField(exist = false)
     private String lockReason;
 
     /**
      * 閿佸畾鐘舵��
      */
     @ApiModelProperty(value= "閿佸畾鐘舵��")
-    @TableField(exist = false)
     private Short lockStatus;
 
     /**
      * 閿佸畾浜�
      */
     @ApiModelProperty(value= "閿佸畾浜�")
-    @TableField(exist = false)
     private String locker;
 
     /**
      * 閿佸畾鏃堕棿
      */
     @ApiModelProperty(value= "閿佸畾鏃堕棿")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @TableField(exist = false)
     private Date lockedTime;
 
     /**
@@ -268,7 +265,7 @@
 
     public StockItem() {}
 
-    public StockItem(String stockId,Long matnrId,Long asnItemId, String code,String matnrk,Double anfme,Double workQty,Double qty,Double weight,String unit,Long shipperId,String splrId,String brand,String batch,String prodTime,Long inspectId,String splrBtch,String asnOrder,String erpToken,String erpOrder,String erpStkAdr,Long locId,String barcode,Double purPrice,String lockReason,Short lockStatus,String locker,Date lockedTime,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
+    public StockItem(Long stockId,Long matnrId,Long asnItemId, String code,String matnrk,Double anfme,Double workQty,Double qty,Double weight,String unit,Long shipperId,String splrId,String brand,String batch,String prodTime,Long inspectId,String splrBtch,String asnOrder,String erpToken,String erpOrder,String erpStkAdr,Long locId,String barcode,Double purPrice,String lockReason,Short lockStatus,String locker,Date lockedTime,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
         this.stockId = stockId;
         this.matnrId = matnrId;
         this.asnItemId = asnItemId;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
index 11a0603..c724cfa 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java
@@ -1,18 +1,23 @@
 package com.vincent.rsf.server.manager.schedules;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.api.entity.enums.TaskStsType;
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.service.*;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
+import com.vincent.rsf.server.system.enums.LocStsType;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.sql.Array;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -60,19 +65,27 @@
         if (taskItems.isEmpty()) {
             throw new CoolException("浠诲姟鏄庣粏涓虹┖锛侊紒");
         }
-        //鑾峰彇鍗曟嵁鏄庣粏ID
-        List<Long> ids = taskItems.stream().map(TaskItem::getOrderItemId).collect(Collectors.toList());
-        List<AsnOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, ids));
-        if (items.isEmpty()) {
-            throw new CoolException("鏁版嵁閿欒锛氭槑缁嗗崟鎹笉瀛樺湪");
-        }
-        /**鑾峰彇璁㈠崟*/
-        List<Long> orders = items.stream().map(AsnOrderItem::getAsnId).collect(Collectors.toList());
-        Map<Long, List<AsnOrderItem>> listMap = items.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId));
-
-        listMap.keySet().forEach(key -> {
-            AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, key));
+        Map<Long, List<TaskItem>> listMap = taskItems.stream().collect(Collectors.groupingBy(TaskItem::getTaskId));
+        List<StockItem> stockItems = new ArrayList<>();
+        for (Task task : tasks) {
+            List<TaskItem> taskItem = listMap.get(task.getId());
+            if (taskItem.isEmpty()) {
+                throw new CoolException("鏁版嵁閿欒 ")
+            }
             Stock stock = new Stock();
+
+            listMap.get(task.getId()).forEach(item -> {
+
+            });
+        }
+
+
+
+        taskItems.forEach(item -> {
+            Stock stock = new Stock();
+            AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>()
+                    .eq(AsnOrder::getId, item.getOrderId())
+                    .select(AsnOrder::getId, AsnOrder::getPoCode, AsnOrder::getCode));
             if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) {
                 Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode()));
                 stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId());
@@ -82,11 +95,38 @@
                 throw new CoolException("褰撳墠涓氬姟锛�" + SerialRuleCode.SYS_STOCK_CODE + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒");
             }
             stock.setAsnId(order.getId()).setAsnCode(order.getCode());
+
             if (!stockService.save(stock)) {
                 throw new CoolException("搴撳瓨淇濆瓨澶辫触锛侊紒");
             }
+            Task taskServiceOne = taskService.getOne(new LambdaQueryWrapper<Task>()
+                    .select(Task::getId, Task::getTargLoc, Task::getOrgLoc, Task::getBarcode)
+                    .eq(Task::getId, item.getTaskId()));
+            Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, taskServiceOne.getTargLoc()));
+            if (Objects.isNull(loc)) {
+                throw new CoolException("搴撲綅涓嶅瓨鍦紒锛�");
+            }
+            AsnOrderItem orderItem = asnOrderItemService.getOne(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getId, item.getOrderItemId()));
+            if (Objects.isNull(orderItem)) {
+                throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
+            }
+            StockItem stockItem = new StockItem();
+            BeanUtils.copyProperties(orderItem, stockItem);
+            stockItem.setAsnItemId(item.getOrderItemId())
+                    .setBarcode(taskServiceOne.getBarcode())
+                    .setLocId(loc.getId())
+                    .setId(null)
+                    .setStockId(stock.getId());
+            stockItems.add(stockItem);
         });
 
+        if (!stockItemService.saveBatch(stockItems)) {
+            throw new CoolException("搴撳瓨淇敼鏋跺け璐ワ紒锛�");
+        }
+        List<String> locCodes = tasks.stream().map(Task::getTargLoc).collect(Collectors.toList());
+        if (!locService.update(new LambdaUpdateWrapper<Loc>().set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type).in(Loc::getCode, locCodes))) {
+            throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+        }
     }
 
 }

--
Gitblit v1.9.1