From cfe049492f81d2c650a2b17348593edbc5054498 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 18 三月 2026 07:52:44 +0800
Subject: [PATCH] #3.5

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java |   37 ++++++++++++++++++++-----------------
 1 files changed, 20 insertions(+), 17 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 c221ee5..2bdd486 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
@@ -12,7 +12,10 @@
 import com.vincent.rsf.server.manager.controller.params.LocToTaskParams;
 import com.vincent.rsf.server.manager.entity.*;
 import com.vincent.rsf.server.manager.enums.*;
+import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
 import com.vincent.rsf.server.manager.mapper.LocItemMapper;
+import com.vincent.rsf.server.manager.mapper.TaskMapper;
+import com.vincent.rsf.server.manager.mapper.WaveMapper;
 import com.vincent.rsf.server.manager.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
@@ -23,6 +26,7 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -37,19 +41,18 @@
     @Autowired
     private LocService locService;
     @Autowired
-    private TaskService taskService;
+    private TaskMapper taskMapper;
     @Autowired
     private TaskItemService taskItemService;
     @Autowired
-    private LocItemService locItemService;
-    @Autowired
     private DeviceSiteService deviceSiteService;
     @Autowired
+    @Lazy
     private WcsService wcsService;
     @Autowired
-    private OutStockService outStockService;
+    private AsnOrderMapper asnOrderMapper;
     @Autowired
-    private WaveService waveService;
+    private WaveMapper waveMapper;
     @Autowired
     private BasStationService basStationService;
     @Autowired
@@ -122,7 +125,7 @@
             throw new CoolException("绌哄鍣ㄥ嚭搴擄紒锛佸叾浠栫被鍨嬫棤鏁堬紝杩涘叆绫诲瀷锛�"+map.getType());
         }
 
-        if (!taskService.save(task)) {
+        if (taskMapper.insert(task) <= 0) {
             throw new CoolException("浠诲姟鍒涘缓澶辫触锛侊紒");
         }
     }
@@ -155,10 +158,10 @@
         if (!Objects.isNull(map.getSourceId())) {
             if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
                 order = new WkOrder();
-                wave = waveService.getById(map.getSourceId());
+                wave = waveMapper.selectById(map.getSourceId());
             } else {
                 wave = new Wave();
-                order = outStockService.getById(map.getSourceId());
+                order = asnOrderMapper.selectById(map.getSourceId());
             }
         } else {
             wave = new Wave();
@@ -225,7 +228,7 @@
                     }
                     task.setTaskType(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type).setWarehType(deviceSite.getDevice());
                 } else {
-                    if (resouce.equals(TaskResouceType.TASK_RESOUCE_STOCK_UP.val)){
+                    if (resouce.equals(TaskResouceType.TASK_RESOUCE_STOCK_NOT_OUT.val)){
                         //鍏ㄦ澘鍑哄簱
                         DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
                                 .eq(DeviceSite::getSite, siteNo).eq(DeviceSite::getType, TaskType.TASK_TYPE_CROSS_DOCKING_OUT.type)
@@ -258,7 +261,7 @@
                 task.setTaskType(TaskType.TASK_TYPE_CHECK_OUT.type).setWarehType(deviceSite.getDevice());
             }
 
-            if (!taskService.save(task)) {
+            if (taskMapper.insert(task) <= 0) {
                 throw new CoolException("浠诲姟鍒涘缓澶辫触锛侊紒");
             }
 
@@ -286,11 +289,11 @@
 
             if (!Objects.isNull(moveTask.getId())) {
                 moveTask.setParentId(task.getId()).setSort(moveTask.getSort() + 1);
-                if (!taskService.saveOrUpdate(moveTask)) {
+                if ((Objects.isNull(moveTask.getId()) ? taskMapper.insert(moveTask) : taskMapper.updateById(moveTask)) <= 0) {
                     throw new CoolException("浠诲姟淇℃伅淇敼澶辫触锛侊紒");
                 }
                 task.setParentId(moveTask.getId());
-                if (!taskService.updateById(task)) {
+                if (taskMapper.updateById(task) <= 0) {
                     throw new CoolException("涓讳换鍔″叧鑱斿け璐ワ紒锛�");
                 }
             }
@@ -327,7 +330,7 @@
                 taskItems.add(taskItem);
 
                 Double qty = Math.round((item.getWorkQty() + item.getOutQty()) * 10000) / 10000.0;
-                LocItem locItem = locItemService.getById(item.getId());
+                LocItem locItem = this.getById(item.getId());
                 if (Objects.isNull(locItem)) {
                     throw new CoolException("搴撳瓨淇℃伅涓嶅瓨鍦紒");
                 }
@@ -344,7 +347,7 @@
                 }
                 item.setUpdateBy(loginUserId).setUpdateTime(new Date());
 
-                if (!locItemService.updateById(item)) {
+                if (!this.updateById(item)) {
                     throw new CoolException("搴撳瓨淇℃伅淇敼澶辫触锛侊紒");
                 }
 
@@ -510,11 +513,11 @@
                 .setBarcode(orgLoc.getBarcode())
                 .setMemo(map.getMemo());
 
-        if (!taskService.save(task)) {
+        if (taskMapper.insert(task) <= 0) {
             throw new CoolException("鏂板缓绉诲簱浠诲姟澶辫触锛侊紒");
         }
 
-        List<LocItem> locItems = locItemService.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, orgLoc.getId()));
+        List<LocItem> locItems = this.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, orgLoc.getId()));
         if (!locItems.isEmpty()) {
             List<TaskItem> taskItems = new ArrayList<>();
             for (LocItem item : locItems) {
@@ -554,6 +557,6 @@
                 .eq(StringUtils.isNotBlank(matnr.getLocCode()), LocItem::getLocCode, matnr.getLocCode())
 //                .eq(StringUtils.isNotBlank(matnr.getChannel()), LocItem::getChannel, matnr.getChannel())
                 .in(!matnr.getMatnrCode().isEmpty(), LocItem::getMatnrCode, matnr.getMatnrCode());
-        return  this.baseMapper.listByMatnr(LocStsType.LOC_STS_TYPE_F.type, matnr.getChannel(), wrapper);
+        return this.baseMapper.listByMatnr(LocStsType.LOC_STS_TYPE_F.type, matnr.getChannel(), wrapper);
     }
 }

--
Gitblit v1.9.1