From 162072ac75b009a24cb84569ea7000a782c0fa34 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 14 五月 2025 16:00:48 +0800
Subject: [PATCH] 质检单问题修复

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   69 ++++++++++++++++++++++++----------
 1 files changed, 48 insertions(+), 21 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index 8bd62d6..4e610b6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -7,18 +7,13 @@
 import com.vincent.rsf.server.api.entity.dto.InTaskMsgDto;
 import com.vincent.rsf.server.api.entity.dto.LocTypeDto;
 import com.vincent.rsf.server.api.controller.params.TaskInParam;
-import com.vincent.rsf.server.api.entity.enums.LocUseStatusType;
-import com.vincent.rsf.server.api.entity.enums.OrderType;
-import com.vincent.rsf.server.api.entity.enums.TaskStsType;
-import com.vincent.rsf.server.api.entity.enums.TaskType;
+import com.vincent.rsf.server.manager.enums.*;
 import com.vincent.rsf.server.api.service.WcsService;
 import com.vincent.rsf.server.api.utils.LocUtils;
 import com.vincent.rsf.server.api.utils.SlaveProperties;
 import com.vincent.rsf.server.manager.entity.*;
-import com.vincent.rsf.server.manager.enums.PakinIOStatus;
 import com.vincent.rsf.server.manager.service.*;
 import com.vincent.rsf.server.manager.service.impl.LocServiceImpl;
-import com.vincent.rsf.server.manager.utils.LocManageUtil;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
 import com.vincent.rsf.server.system.enums.LocStsType;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
@@ -28,7 +23,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -55,6 +49,37 @@
     private TaskItemService taskItemService;
     @Autowired
     private WaitPakinItemService waitPakinItemService;
+    @Autowired
+    private BasStationService basStationService;
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void agvTaskPickUpComplete(TaskInParam param) {
+        Task task = taskService.getOne(new LambdaQueryWrapper<Task>()
+                .eq(Task::getBarcode, param.getBarcode())
+        );
+        if (null == task) {
+            throw new CoolException("鏈壘鍒颁换鍔′俊鎭�");
+        }
+//        if (!task.getTaskStatus().equals(TaskStsType.WCS_CONVEYOR_START.id)){
+//            throw new CoolException("浠诲姟鐘舵�佹湁璇�");
+//        }
+        BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+                .eq(BasStation::getStationName, param.getSourceStaNo())
+        );
+        if (null == basStation) {
+            throw new CoolException("鏈壘鍒扮珯鐐逛俊鎭�");
+        }
+        task.setTaskStatus(TaskStsType.WCS_EXECUTE_OUT_TOTE_LOAD.id);
+        taskService.updateById(task);
+
+        basStation.setUseStatus(StaUseStatusType.TYPE_O.type);
+        basStation.setBarcode(null);
+        basStationService.updateById(basStation);
+
+
+    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -91,6 +116,8 @@
         locNo.setWorkNo(ruleCode);
         return locNo;
     }
+
+
 
     /**
      * 楠岃瘉璁惧绔欑偣
@@ -189,7 +216,7 @@
             BeanUtils.copyProperties(item, taskItem);
 
             return taskItem.setTaskId(taskId)
-                    .setOrderType(OrderType.ORDER_RECEIPT.type)
+                    .setOrderType(OrderType.ORDER_IN.type)
                     .setSource(item.getId())
                     .setTrackCode(item.getTrackCode())
                     .setCreateBy(loginUserId)
@@ -387,7 +414,7 @@
                     String shallowLocNo = LocUtils.getShallowLoc(slaveProperties, loc1.getCode());
                     // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
                     Loc shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode,shallowLocNo));
-                    if (shallowLoc != null && shallowLoc.getUseStatus().equals(LocUseStatusType.Empty_Slot.type)) {
+                    if (shallowLoc != null && shallowLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
                         if (LocUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
                                 loc = shallowLoc;
                                 deviceNo = shallowLoc.getDeviceNo();
@@ -446,7 +473,7 @@
             List<Loc> locMasts = null;
             locMasts = locService.list(new LambdaQueryWrapper<Loc>()
                     .eq(Loc::getRow, nearRow)
-                    .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type)
+                    .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
                     .eq(Loc::getType, locTypeDto.getLocType1())
                     .eq(Loc::getAreaId,area)
                     .orderByAsc(Loc::getLev)
@@ -461,7 +488,7 @@
                     //鐩镐技鐗╂枡鎵撳紑锛屽垽鏂繁搴撲綅鏈夋病鏈夎揣锛屾病璐у氨鏀炬繁搴撲綅锛屾湁璐у氨涓嶆搷浣�
                     Loc locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>()
                             .eq(Loc::getRow, shallowLoc)
-                            .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type)
+                            .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
                             .eq(Loc::getAreaId,area)
                     );
                     if (!Cools.isEmpty(locMast2)) {
@@ -472,7 +499,7 @@
                     //鐩镐技鐗╂枡鍏抽棴锛屽垽鏂繁搴撲綅鏈夋病鏈夎揣锛屾湁璐у氨鏀炬祬搴撲綅锛屾棤璐у氨涓嶆搷浣�
                     Loc locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>()
                             .eq(Loc::getCode, shallowLoc)
-                            .in(Loc::getUseStatus, LocUseStatusType.Empty_Pallet.type,LocUseStatusType.In_Stock.type)
+                            .in(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_D.type,LocStsType.LOC_STS_TYPE_F.type)
                             .eq(Loc::getAreaId,area)
                     );
                     if (!Cools.isEmpty(locMast2)) {
@@ -481,7 +508,7 @@
                     }else{
                         locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>()
                                 .eq(Loc::getCode, shallowLoc)
-                                .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type)
+                                .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
                                 .eq(Loc::getAreaId,area)
                         );
                         if (!Cools.isEmpty(locMast2)) {
@@ -500,7 +527,7 @@
                         String shallowLoc = LocUtils.getDeepLoc(slaveProperties, locMast1.getCode());
                         Loc locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>()
                                 .eq(Loc::getCode, shallowLoc)
-                                .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type)
+                                .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
                                 .eq(Loc::getAreaId,area)
                         );
                         if (!Cools.isEmpty(locMast2)) {
@@ -509,7 +536,7 @@
                         } else {
                             locMast2 = locService.getOne(new LambdaQueryWrapper<Loc>()
                                     .eq(Loc::getCode, shallowLoc)
-                                    .in(Loc::getUseStatus, LocUseStatusType.Empty_Pallet.type,LocUseStatusType.In_Stock.type)
+                                    .in(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_D.type,LocStsType.LOC_STS_TYPE_D.type)
                                     .eq(Loc::getAreaId,area)
                             );
                             if (!Cools.isEmpty(locMast2)) {
@@ -528,7 +555,7 @@
         }
         //鏌ヨ褰撳墠搴撲綅绫诲瀷绌哄簱浣� 灏忎簬5涓垯locmast = null
         List<Loc> locTypeLocMasts = locService.list(new LambdaQueryWrapper<Loc>()
-                .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type)
+                .eq(Loc::getUseStatus,LocStsType.LOC_STS_TYPE_O.type)
                 .eq(Loc::getDeviceNo, deviceNo)
                 .eq(Loc::getType, locTypeDto.getLocType1())
                 .eq(Loc::getAreaId,area)
@@ -537,7 +564,7 @@
             loc = null;
         }
         // 閫掑綊鏌ヨ
-        if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocUseStatusType.Empty_Slot.type)) {
+        if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
             // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
             if (times < rowCount * 2) {
                 times = times + 1;
@@ -574,11 +601,11 @@
         InTaskMsgDto inTaskMsgDto = new InTaskMsgDto();
         List<Loc> loc1 = locService.list(new LambdaQueryWrapper<Loc>()
                 .eq(Loc::getAreaId, area)
-                .eq(Loc::getUseStatus, LocUseStatusType.Empty_Slot.type)
+                .eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_O.type)
                 .eq(Loc::getType, locTypeDto.getLocType1())
-                .orderByAsc(Loc::getRow)
-                .orderByAsc(Loc::getCol)
                 .orderByAsc(Loc::getLev)
+                .orderByAsc(Loc::getCol)
+                .orderByAsc(Loc::getRow)
         );
         for (Loc loc2 :loc1){
             if (!LocUtils.locMoveCheckLocTypeComplete(loc2, locTypeDto)) {
@@ -600,7 +627,7 @@
             inTaskMsgDto.setStaNo(Integer.parseInt(deviceSite.getDeviceSite()));
         }
         // 閫掑綊鏌ヨ
-        if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocUseStatusType.Empty_Slot.type)) {
+        if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
             // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
             if (times < 5) {
                 times = times + 1;

--
Gitblit v1.9.1