diff --git a/src/main/java/com/wms/controller/TaskController.java b/src/main/java/com/wms/controller/TaskController.java index 60b697a..3f2fa5d 100644 --- a/src/main/java/com/wms/controller/TaskController.java +++ b/src/main/java/com/wms/controller/TaskController.java @@ -128,10 +128,6 @@ public class TaskController { * DBS服务 */ private final KateDBSService kateDBSService; - /** - * 工单服务 - */ - private final KateOrdersService kateOrdersService; /** * 上一次标签配置的服务 */ @@ -1082,15 +1078,12 @@ public class TaskController { response.setMessage("查询拣选站台错误。"); return convertJsonString(response); } + StandPickVo standPickVo = new StandPickVo(); if (StringUtils.isEmpty(targetStand.getPickGoods())) { // 返回成功 - StandPickVo standPickVo = new StandPickVo(); standPickVo.setTip(targetStand.getPickTip()); - // 获取完成工作信息 - getFinishedInfo(targetStand.getStandId(), standPickVo); response.setCode(ResponseCode.OK.getCode()); response.setMessage("当前物料拣货完成。"); - response.setReturnData(standPickVo); } else { // 查询当前站台的拣货任务 PickTask pickTask = pickTaskService.getOne(new LambdaQueryWrapper() @@ -1113,6 +1106,9 @@ public class TaskController { } } } + // 获取完成工作信息 + getFinishedInfo(targetStand.getStandId(), standPickVo); + response.setReturnData(standPickVo); return convertJsonString(response); } catch (Exception e) { // 回滚事务 @@ -2221,61 +2217,23 @@ public class TaskController { response.setMessage("当前大盒子号不装大盒子。"); return convertJsonString(response); } - if (orderQuantity == 1) { - // 查询这个大盒子对应的小盒子 - List smallBoxListOfAll = stationConfigs.stream().map(WorkStationConfig::getSmallBox).distinct().toList(); - // 找出本次工作中的标签位 - List eConfigLastList = eLocationConfigLastService.list(new LambdaQueryWrapper() - .eq(ELocationConfigLast::getWorkStation, standId) - .in(ELocationConfigLast::getWorkCenter, smallBoxListOfAll) - .eq(ELocationConfigLast::getBoxStatus, 0) - .last("limit 1")); - // 实际本次需要亮灯的小盒子 - List smallBoxList = eConfigLastList.stream().map(ELocationConfigLast::getWorkCenter).distinct().toList(); - - } else { - // - - } - - - - - - // 筛选小盒子号 + // 查询这个大盒子对应的小盒子 List smallBoxListOfAll = stationConfigs.stream().map(WorkStationConfig::getSmallBox).distinct().toList(); - // 查询该盒子下面所有的工单 - List orders = kateOrdersService.list(new LambdaQueryWrapper() - .in(KateOrders::getSupplyArea, smallBoxListOfAll)); - List orderIds = orders.stream().map(KateOrders::getOrderId).distinct().toList(); - // 查询DBS - List dbsList = kateDBSService.list(new LambdaQueryWrapper() - .in(KateDBS::getWorkOrder, orderIds) - .orderByAsc(KateDBS::getWorkSequence)); - if (dbsList.isEmpty()) { - logger.error("DBS查询不到对应信息。"); - response.setCode(ResponseCode.ERROR.getCode()); - response.setMessage("DBS查询不到对应信息。"); - return convertJsonString(response); - } - // 获取要打印的工单号 - String currentOrderId = dbsList.get(sortBoxRequest.getOrderOfOrders() - 1).getWorkOrder(); - List smallBoxList = orders.stream().filter(order -> order.getWorkOrder().equals(currentOrderId)).map(KateOrders::getSupplyArea).distinct().toList(); + // 找出本次工作中的标签位 + List eConfigLastList = eLocationConfigLastService.list(new LambdaQueryWrapper() + .eq(ELocationConfigLast::getWorkStation, standId) + .in(ELocationConfigLast::getWorkCenter, smallBoxListOfAll) + .eq(ELocationConfigLast::getBoxStatus, 0)); // 亮灯列表 List eTaskDataList = new ArrayList<>(); - for (String smallBox : smallBoxList) { - // 查找对应的标签配置 - ELocationConfigLast eConfigLast = eLocationConfigLastService.getOne(new LambdaQueryWrapper() - .eq(ELocationConfigLast::getWorkStation, standId) - .eq(ELocationConfigLast::getWorkCenter, smallBox) - .eq(ELocationConfigLast::getBoxStatus, 0) - .last("limit 1")); - if (eConfigLast != null) { + // 生成亮灯数据 + if (!eConfigLastList.isEmpty()) { + for (ELocationConfigLast eConfigLast : eConfigLastList) { // 当次拣选数量 ETaskData eTaskData = new ETaskData(); - eTaskData.setTaskId(generateId(smallBox + "_"));// 用户查询对应的拣选任务 - eTaskData.setETaskId(generateId(smallBox + "_")); - eTaskData.setGoodsId(smallBox); + eTaskData.setTaskId(generateId(eConfigLast.getOrderBoxNo() + "_"));// 用户查询对应的拣选任务 + eTaskData.setETaskId(generateId(eConfigLast.getOrderBoxNo() + "_")); + eTaskData.setGoodsId(eConfigLast.getOrderBoxNo()); eTaskData.setGoodsName(""); eTaskData.setNeedNum(1); eTaskData.setLocation(eConfigLast.getELocationId()); @@ -2320,10 +2278,15 @@ public class TaskController { .in(ETagLocation::getELocationId, eTaskDataList.stream().map(ETaskData::getLocation).collect(Collectors.toList()))); } } - - - - sortBoxRequest.setOrderOfOrders(1); + // 根据这些小盒子号找到对应的工单 + List orderIds = eConfigLastList.stream().map(ELocationConfigLast::getWorkOrder).distinct().toList(); + // 查询DBS + List dbsList = kateDBSService.list(new LambdaQueryWrapper() + .in(KateDBS::getWorkOrder, orderIds) + .orderByAsc(KateDBS::getWorkSequence)); + List machineNoList = dbsList.stream().map(KateDBS::getMachineNo).distinct().toList(); + // 查询到本次序列号个数 + sortBoxRequest.setOrderOfOrders(machineNoList.size()); logger.info("处理整理盒子请求成功。"); response.setCode(ResponseCode.OK.getCode()); response.setMessage("请根据灯光拣选盒子。"); diff --git a/src/main/java/com/wms/utils/excel/vo/GoodsExcelVo.java b/src/main/java/com/wms/utils/excel/vo/GoodsExcelVo.java index f951a8a..f3c1037 100644 --- a/src/main/java/com/wms/utils/excel/vo/GoodsExcelVo.java +++ b/src/main/java/com/wms/utils/excel/vo/GoodsExcelVo.java @@ -3,7 +3,6 @@ package com.wms.utils.excel.vo; import cn.hutool.core.bean.BeanUtil; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; -import com.fasterxml.jackson.annotation.JsonProperty; import com.wms.entity.table.Goods; import lombok.Data; import lombok.EqualsAndHashCode;