From 3eee2147f220634b620b7ed84c97fbd8257205d5 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期二, 13 一月 2026 13:21:44 +0800
Subject: [PATCH] 修改了AGV的接口以及mas获取的数据
---
src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 167 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
index 2e41247..d0b7de7 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderPakoutServiceImpl.java
@@ -2,21 +2,23 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.core.common.Cools;
-import com.core.common.DateUtils;
-import com.core.common.SnowflakeIdWorker;
+import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.mapper.OrderDetlPakoutMapper;
import com.zy.asrs.mapper.OrderPakoutMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.DetlDto;
+import com.zy.common.model.LocDto;
+import com.zy.common.model.TaskDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@@ -38,6 +40,19 @@
private WrkDetlService wrkDetlService;
@Autowired
private OrderDetlPakoutServiceImpl orderDetlPakoutService;
+ @Autowired
+ private LocDetlService locDetlService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private StaDescService staDescService;
+ @Autowired
+ private WorkService workService;
+ @Autowired
+ private BasDevpService basDevpService;
+
+ @Resource
+ private OrderPakoutService orderPakOutService;
@Override
public OrderPakout selectByNo(String orderNo) {
@@ -203,4 +218,153 @@
return this.baseMapper.selectOrderMoveStatusInitial();
}
+ @Override
+ public R pakout(List<LocDto> locDtos) {
+ if (Cools.isEmpty(locDtos)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ List<LocDto> locDtoArrayList = new ArrayList<>();
+ for (LocDto locDto : locDtos) {
+ if (locDto.getFrozen() != 1 && locDto.getFrozenLoc() != 1) {
+ locDtoArrayList.add(locDto);
+ }
+ }
+ locDtos = locDtoArrayList;
+ if (Cools.isEmpty(locDtos)) {
+ return R.parse("搴撳瓨/搴撲綅琚喕缁擄紝璇峰鐞嗗悗鍑哄簱锛侊紒锛�");
+ }
+ boolean lack = true;
+ for (LocDto locDto : locDtos) {
+ if (!locDto.isLack()) {
+ lack = false;
+ break;
+ }
+ }
+ if (lack) {
+ return R.error("搴撳瓨涓嶈冻");
+ }
+
+ List<TaskDto> taskDtos = new ArrayList<>();
+ // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
+ for (LocDto locDto : locDtos) {
+ if (locDto.isLack()) {
+ continue;
+ }
+ TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
+ if (TaskDto.has(taskDtos, taskDto)) {
+ TaskDto dto = TaskDto.find(taskDtos, taskDto);
+ assert dto != null;
+ dto.getLocDtos().addAll(taskDto.getLocDtos());
+ } else {
+ taskDtos.add(taskDto);
+ }
+ }
+ OrderPakout orderPakout = orderPakOutService.selectByNo(locDtos.get(0).getOrderNo());
+
+ //閰嶇洏鍑哄簱鍗曠敤锛� i=5鏃舵垨鑰呭嚭搴撳埌鏈�鍚庢椂涓嬪彂绌烘澘鍑哄簱浠诲姟
+ int i = 0;
+ //闇�瑕佸嚭搴撶殑鎵樼洏鏁伴噺
+ int size = taskDtos.size();
+ //浼樺厛绾�
+ int ioPri = 50;
+ //宸蹭笅绌烘澘鍑哄簱浠诲姟鏁伴噺
+ int j = 1;
+ // -----------------------------------------------------------------------------------------------
+ for (TaskDto taskDto : taskDtos) {
+ BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
+ workService.stockOut(staNo, taskDto, 9995L, ioPri);
+ ioPri--;
+ i++;
+ //閰嶇洏鍑哄簱鍗曚娇鐢紝涓嬪彂闇�瑕佸嚭鐨勭┖鏉夸换鍔�
+ if (orderPakout.getDocType() == 11) {
+ if (i == size) {
+ for (; j <= orderPakout.getPayType(); j++) {
+ LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", taskDto.getLocNo()));
+ Integer locType = Integer.valueOf(locMast1.getLocType2());
+ //閰嶇洏 鍑哄簱鍗曞嚭搴撳尯鍩熸椂Q-L4鏃�,鍑哄ぇ鎵樼洏绌烘澘
+ if(!Cools.isEmpty(orderPakout.getCstmrName())&&orderPakout.getCstmrName().equals("Q-L4")){
+ locType = 2;
+ }
+ String bar = "";
+ //鍏蜂綋寰呭畾
+// if(!Cools.isEmpty(orderPakout.getShipCode())&&orderPakout.getShipCode().equals("A01")){
+// bar = "A01";
+// }
+ LocMast locMast = new LocMast();
+ if (Cools.isEmpty(bar)) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).orderBy("row1",false));
+ } else {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).like("barcode", bar).orderBy("row1",false));
+ }
+
+ if (Cools.isEmpty(locMast)) {
+ return R.error("搴撳瓨娌℃湁绌烘澘");
+ }
+ String locNo = locMast.getLocNo();
+ EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+ emptyPlateOutParam.setOutSite(303);
+ emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
+ add(locNo);
+ }});
+ String agvSta = "";
+ if (locMast.getLocType3() == 2) {
+ agvSta = "Z-LZP26";
+ }else if(locType ==2){
+
+ } else {
+ agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
+ }
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam, ioPri, agvSta);
+ ioPri--;
+
+ }
+ } else if (i == 4) {
+ LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", taskDto.getLocNo()));
+ Integer locType = Integer.valueOf(locMast1.getLocType2());
+ //閰嶇洏 鍑哄簱鍗曞嚭搴撳尯鍩熸椂Q-L4鏃�,鍑哄ぇ鎵樼洏绌烘澘
+ if(orderPakout.getCstmrName().equals("Q-L4")){
+ locType = 2;
+ }
+
+ String bar = "";
+ if (!Cools.isEmpty(orderPakout.getShipCode()) && orderPakout.getShipCode().equals("A01")) {
+ bar = "A01";
+ }
+ LocMast locMast = null;
+ if (Cools.isEmpty(bar)) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).orderBy("row1",false));
+ } else {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("loc_sts", "D").eq("loc_type2", locType).like("barcode", bar).orderBy("row1",false));
+ }
+
+ if (Cools.isEmpty(locMast)) {
+ return R.error("搴撳瓨娌℃湁绌烘澘");
+ }
+ String locNo = locMast.getLocNo();
+ EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
+ emptyPlateOutParam.setOutSite(303);
+ emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
+ add(locNo);
+ }});
+ String agvSta = "";
+ if (locMast.getLocType3() == 2) {
+ agvSta = "Z-LZP26";
+ }else if(locType ==2){
+
+ } else {
+ agvSta = orderPakout.getCstmrName();//agv鐩爣绔欑偣浣嶇疆
+ }
+ WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam, ioPri, agvSta);
+ ioPri--;
+ j++;
+ }
+ }
+ }
+ return R.ok();
+ }
+
}
--
Gitblit v1.9.1