Commit b587c13c LN

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

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