44584 修复排序工单发运完成后,条码状态未更新为发运问题。

tags/yfai-pcn-ext-v2.81
Jason 4 months ago
parent 3707bea56e
commit df7ac14ebe

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi.shippingscan.strategy;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesCustomerSnTransformService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesEmergencyLocationService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderExtService;
@ -67,8 +68,12 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
@Autowired
private IMesEmergencyLocationService mesEmergencyLocationService;
@Autowired
private IMesCustomerSnTransformService mesCustomerSnTransformService;
@Override
public MesSortShippingCheckModel doScan(MesSortShippingCheckModel model, MesShippingOrderManagement orderManagement, MesPartShippingGroup shippingGroup) {
final String barcode = mesCustomerSnTransformService.transformBarCodeGm(model.getSn());
if (!Objects.isNull(model.getLastShippingDetailId())) {
//更新单据信息
model.getDetailList().stream().filter(t -> t.getId().equals(model.getLastShippingDetailId())).forEach(detail -> {
@ -76,13 +81,13 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
if (StringUtils.isEmpty(detail.getVisualOrderNo())) {
//校验目视单是否已经扫描
checkVisualOrderNoIsScan(model);
detail.setVisualOrderNo(model.getSn());
detail.setVisualOrderNo(barcode);
model.setSn(detail.getBarcode());
model.setMsg(String.format("条码【%s】扫描成功请扫描下一个目视单",model.getSn()));
} else {
//校验条码是否已经扫描
checkIsScan(model);
detail.setBarcode(model.getSn());
detail.setBarcode(barcode);
model.setMsg(String.format("目视单【%s】扫描成功请扫描下一个条码",model.getSn()));
}
MesProduceSn produceSn = checkSn(model);
@ -91,7 +96,7 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
model.setLastShippingDetailId(null);
} else {
//查询工单
MesWorkOrder workOrder = mesWorkOrderExtService.getWorkOrder(model.getOrganizeCode(), model.getSn());
MesWorkOrder workOrder = mesWorkOrderExtService.getWorkOrder(model.getOrganizeCode(), barcode);
//扫描的工单或条码对应的零件
String partNo = getPartNo(model, workOrder);
boolean scanFlg = false;
@ -99,10 +104,10 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
if (detail.getCustPartNo().equals(partNo) && StringUtils.isEmpty(detail.getBarcode()) && !Objects.equals(detail.getIsScanFlg(), MesCommonConstant.TRUE_INTEGER)) {
//校验发运明细
checkShippingDetails(model, orderManagement, shippingGroup, partNo, detail);
detail.setBarcode(model.getSn());
detail.setBarcode(barcode);
//如果第一次扫描的是目视单,先缓存数据用于第二次校验
if(!Objects.isNull(workOrder)){
detail.setVisualOrderNo(model.getSn());
detail.setVisualOrderNo(barcode);
}
//校验通过的明细ID
model.setLastShippingDetailId(detail.getId());

Loading…
Cancel
Save