Commit be5f0b65 zshaohui

pk出库 获取未完成的任务

1 个父辈 d4a64955
......@@ -954,9 +954,13 @@ public class LiteOrderCache {
int orderTaskReelCount = 0;
List<String> pnList = liteOrder.getOrderItems().stream().map(LiteOrderItem::getPn).collect(Collectors.toList());
List<StoragePos> allStoragePosList = storagePosManager.findStoragePosByPartNumber(pnList);
for (LiteOrderItem orderItem : liteOrder.getOrderItems()){
List<StoragePos> allStoragePosList = new ArrayList();
//List<StoragePos> allStoragePosList = new ArrayList();
//6.排除的仓位信息
Collection excludeIdList = excludeOutPosIds();
......@@ -994,18 +998,16 @@ public class LiteOrderCache {
String warehouseCode = orderItem.getWarehouseCode(); //厂别
String brand = orderItem.getBrand(); //供应商
String pn = orderItem.getPn(); //料号
StoragePos pos = storagePosManager.findPartNumberInStorages(storageIdList,pn,excludeIdList,dataCache.getCheckOutType(),warehouseCode,brand,true);
if (pos == null) {
if (allStoragePosList == null || allStoragePosList.isEmpty()) {
allStoragePosList = storagePosManager.findStoragePosByPartNumber(Arrays.asList(orderItem.getPn()));
}
pos = getStoragePosByPartNumberAndBrand(allStoragePosList, pn, excludeIdList);
}
StoragePos pos = getStoragePosByPartNumberAndBrand(allStoragePosList, pn, excludeIdList);
if (pos == null) {
log.info(orderItem.getOrderId() + "厂商:" + warehouseCode + ",供应商:" + brand + ",料号:" + pn + "未找到存在库位,跳过");
break;
}
Barcode barcode = pos.getBarcode();
log.info(orderItem.getId() + "厂商:" + warehouseCode + ",供应商:" + brand + ",料号:" + pn + "找到的库位是:"+pos.getPosName()+",箱子号为:"+barcode.getBarcode());
List<Barcode> subCodeList = barcode.getSubCodeList();
//进行排序
subCodeList = subCodeList.stream().sorted(Comparator.comparing(Barcode::getCreateDate)).collect(Collectors.toList());
......
......@@ -3,6 +3,8 @@ package com.neotel.smfcore.custom.luxsan.factory_c.rawstor.controller;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.language.util.MessageUtils;
import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.core.order.enums.LITEORDER_SOURCE;
......@@ -21,8 +23,11 @@ import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.bean.dto.QueryPickingD
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.enums.LiteorderCheckType;
import com.neotel.smfcore.custom.luxsan.factory_c.rawstor.util.CheckOutUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
......@@ -46,6 +51,9 @@ public class PkCheckOutController {
@Autowired
private TaskService taskService;
@Autowired
private IBarcodeManager barcodeManager;
@ApiOperation("出库目的地")
@RequestMapping("/checkLoc")
......@@ -196,4 +204,31 @@ public class PkCheckOutController {
}
return ResultBean.newOkResult("");
}
@ApiOperation("pk未出库的料箱")
@RequestMapping("/checkOutBoxInfo")
@AnonymousAccess
public ResultBean checkOutBoxInfo(String pickingId) {
//1.判断是否存在
LiteOrder liteOrder = liteOrderCache.getLiteOrder(pickingId);
if (liteOrder == null) {
liteOrder = liteOrderManager.findByOrderNo(pickingId);
}
if (liteOrder == null) {
return ResultBean.newErrorResult(-1, "", "工单:" + pickingId + "不存在");
}
List<LiteOrderItem> orderItems = liteOrder.getOrderItems();
List<String> orderItemIdList = orderItems.stream().map(LiteOrderItem::getId).collect(Collectors.toList());
List<Barcode> barcodeList = barcodeManager.findByQuery(new Query(Criteria.where("orderItemId").in(orderItemIdList)));
if (barcodeList != null && !barcodeList.isEmpty()) {
List<String> posNameList = barcodeList.stream().map(Barcode::getPosName).collect(Collectors.toList());
posNameList = posNameList.stream().distinct().collect(Collectors.toList());
return ResultBean.newOkResult(posNameList);
}
return ResultBean.newErrorResult(-1,"","工单:"+pickingId+"没有要出库的料箱");
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!