Commit b587c13c LN

显示重复问题修改。Reserved只出勾选的物料。

1 个父辈 53c553a0
......@@ -1395,7 +1395,7 @@ public class LiteOrderCache {
}
public synchronized String dispatchCheckOut(LiteOrder order, boolean isRetry,boolean isOver) {
public synchronized String dispatchCheckOut(LiteOrder order, boolean isRetry,boolean isOver,List<String> selRiList) {
ORDER_COLOR nextColor = getNextColor();
if (nextColor == null) {
log.info("执行工单[" + order.getOrderNo() + "] 时,已达最大可执行工单数");
......@@ -1424,7 +1424,10 @@ public class LiteOrderCache {
}
boolean checkOutRe=(!item.getStatus().equals(OrderItemStatus.CheckOk))||item.getStatus().equals(OrderItemStatus.shortage);
if (selItem.getStatus().equals(OrderItemStatus.Reserved) && isOver && checkOutRe) {
needOutBarcode.add(selItem.getRi());
if(selRiList.contains(selItem.getRi())||selRiList.size()<=0){
//只override选中的物料
needOutBarcode.add(selItem.getRi());
}
}
}
}
......
......@@ -4,10 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.google.common.base.Strings;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.common.utils.*;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS;
......@@ -201,6 +198,7 @@ public class MicronDispatchController {
private List<SelReelDetialDto> getReelDetialList(LiteOrder order) {
List<SelReelDetialDto> reelDetialDtos = new ArrayList<>();
List<String> hasBarcodes=new ArrayList<>();
//先取已验证过的数据
for (LiteOrderItem item :
order.getOrderItems()) {
......@@ -215,6 +213,7 @@ public class MicronDispatchController {
dto.setLinePrepId(lineId);
reelDetialDtos.add(dto);
hasBarcodes.add(selItem.getRi());
}
}
......@@ -235,7 +234,9 @@ public class MicronDispatchController {
for (StoragePos pos :
otherPosList) {
if(hasBarcodes.contains( pos.getBarcode().getBarcode())){
continue;
}
SelReelDetialDto dto = new SelReelDetialDto(pos.getBarcode().getPartNumber(), pos.getBarcode().getBarcode(), pos.getBarcode().getAmount(), "", "","");
reelDetialDtos.add(dto);
}
......@@ -363,7 +364,7 @@ public class MicronDispatchController {
if (liteOrderCache.dispatchOrderIsCheckOk(order)) {
log.info(order.getOrderNo() + "工单已备料完成,直接出料");
//直接开始出库
liteOrderCache.dispatchCheckOut(order, false, false);
liteOrderCache.dispatchCheckOut(order, false, false,new ArrayList<>());
}
return getTaskInfo(order);
}
......@@ -591,7 +592,8 @@ public class MicronDispatchController {
isOver = true;
}
List<Object> selectRiList = (List<Object>) params.get("submitRIS");
log.info(" itemDetial :mode=" + mode + ", itemId=" + itemId+"");
List<String> selectRis =new ArrayList<>();
log.info(" itemDetial :mode=" + mode + ", itemId=" + itemId+",selectRiList="+ JsonUtil.toJsonStr(selectRiList));
//判断有没有生成任务
LiteOrder order = getOrderByMode(mode);
if (order == null) {
......@@ -609,6 +611,7 @@ public class MicronDispatchController {
StoragePos pos = storagePosManager.getByBarcode(ri.toString());
if (pos != null) {
allBarcodes.add(pos.getBarcode());
selectRis.add(pos.getBarcode().getBarcode());
}
}
//调用API009
......@@ -697,7 +700,7 @@ public class MicronDispatchController {
log.info(order.getOrderNo() + "已勾选物料完成,直接出料");
//直接开始出库
liteOrderCache.dispatchCheckOut(order, false, isOver);
liteOrderCache.dispatchCheckOut(order, false, isOver,selectRis);
return getTaskInfo(order);
//判断是否需要勾选
......@@ -731,7 +734,7 @@ public class MicronDispatchController {
}
//调用API010扣除库存,扣除成功的才可以出库
String msg = liteOrderCache.dispatchCheckOut(order, false, isOver);
String msg = liteOrderCache.dispatchCheckOut(order, false, isOver,new ArrayList<>());
if (ObjectUtil.isNotEmpty(msg)) {
return ResultBean.newErrorResult(-1, msg, msg);
}
......@@ -764,7 +767,7 @@ public class MicronDispatchController {
return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败");
}
String msg = liteOrderCache.dispatchCheckOut(order, true, isOver);
String msg = liteOrderCache.dispatchCheckOut(order, true, isOver,new ArrayList<>());
if (ObjectUtil.isNotEmpty(msg)) {
return ResultBean.newErrorResult(-1, msg, msg);
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!