Merge branch 'dev-wuhan-temp' of http://git.estsh.com/I3-YF/i3plus-mes-pcn-yfai into dev-wuhan-temp

tags/yfai-pcn-ext-v2.3
王杰 6 months ago
commit 4305ea53ab

@ -64,7 +64,7 @@ public class MesSortShippingCheckController {
shippingOrderManagement.setOrganizeCode(organizeCode);
ConvertBean.serviceModelUpdate(shippingOrderManagement, userInfo);
MesSortShippingCheckModel model = sortShippingCheckService.doShippingOrderNoQuery(shippingOrderManagement);
return ResultBean.success("查询成功").setResultObject(model);
return ResultBean.success(model.getMsg()).setResultObject(model);
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
@ -110,7 +110,7 @@ public class MesSortShippingCheckController {
model.setOrganizeCode(organizeCode);
model.setUserInfo(userInfo);
sortShippingCheckService.saveSn(model);
return ResultBean.success("扫描成功").setResultObject(model);
return ResultBean.success(model.getMsg()).setResultObject(model);
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {

@ -124,6 +124,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
if (!Objects.isNull(lastShippingOrder)) {
model.setRecentlyScanShippingCode(lastShippingOrder.getShippingCode());
}
model.setMsg(String.format("发运单【%s】扫描成功请扫描条码",model.getShippingCode()));
return model;
}
@ -145,6 +146,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
if (model.getIsScanCount() == model.getDetailList().size() && StringUtils.isEmpty(orderManagement.getCheckSeqCode())) {
//保存数据库
saveDate(orderManagement, model, model.getOrganizeCode(), model.getUserInfo());
model.setMsg(String.format("发运单【%s】已发运完成请扫描下一个发运单",model.getShippingCode()));
}
return model;
}
@ -213,7 +215,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
}
//校验发运单状态 必须是未装车条码
if (!Stream.of(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPING.getValue(),MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getValue()).collect(Collectors.toList()).contains(orderManagement.getStatus())) {
throw new ImppBusiException(String.format("【%s】此发运单状态为【%s】,请选择状态为【%s】或【%s】状态的发运单", shippingOrderManagement.getShippingCode(),
throw new ImppBusiException(String.format("【%s】此发运单状态为【%s】,请选择状态为【%s】或【%s】状态的发运单,请检查数据!", shippingOrderManagement.getShippingCode(),
MesExtEnumUtil.SHIPPING_ORDER_STATUS.valueOfDescription(orderManagement.getStatus()),
MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPING.getDescription(), MesExtEnumUtil.SHIPPING_ORDER_STATUS.PUBLISHED.getDescription()));
}
@ -281,7 +283,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
if (Objects.equals(orderManagement.getIsFirstInstall(), MesCommonConstant.TRUE_INTEGER)) {
//若没进行装车校验,则提示【%s】此发运单对应的【%s】此装车单状态为【%s】请选择状态为【%s】的数据
if (loadingList.getStatus() != MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getValue()) {
throw new ImppBusiException(String.format("【%s】此发运单对应的【%s】此装车单状态为【%s】请选择状态为【%s】的数据",
throw new ImppBusiException(String.format("【%s】此发运单对应的【%s】此装车单状态为【%s】请选择状态为【%s】的数据请检查数据!",
shippingOrderManagement.getShippingCode(), loadingList.getOrderCode(),
MesExtEnumUtil.MES_LOADING_STATUS.valueOfDescription(loadingList.getStatus()),
MesExtEnumUtil.MES_LOADING_STATUS.SCANNED.getDescription()));
@ -405,12 +407,12 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
private void checkStatus(MesSortShippingCheckModel model, MesProduceSn produceSn) {
//校验产品条码状态 必须是状态为已下线条码
if (produceSn.getSnStatus() != MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue() && produceSn.getSnStatus() != MesExtEnumUtil.PRODUCE_SN_STATUS.CREATE.getValue()) {
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择状态为【%s】或【%s】状态的条码", model.getSn(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus()),
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择状态为【%s】或【%s】状态的条码,请检查数据!", model.getSn(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus()),
MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getDescription(),MesExtEnumUtil.PRODUCE_SN_STATUS.CREATE.getDescription()));
}
//校验产品质量状态 必须是状态为合格条码
if (produceSn.getQcStatus() != MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()) {
throw new ImppBusiException(String.format("【%s】此条码质量状态为【%s】,请选择【%s】状态的条码", model.getSn(), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(produceSn.getQcStatus()),
throw new ImppBusiException(String.format("【%s】此条码质量状态为【%s】,请选择【%s】状态的条码,请检查数据!", model.getSn(), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(produceSn.getQcStatus()),
MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getDescription()));
}
}

@ -60,9 +60,6 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
private MesCustomerPartRepository mesCustomerPartRepository;
@Autowired
private IMesConfigService mesConfigService;
@Autowired
private IMesWorkOrderExtService mesWorkOrderExtService;
@Override
@ -76,10 +73,12 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
checkVisualOrderNoIsScan(model);
detail.setVisualOrderNo(model.getSn());
model.setSn(detail.getBarcode());
model.setMsg(String.format("条码【%s】扫描成功请扫描下一个目视单",model.getSn()));
} else {
//校验条码是否已经扫描
checkIsScan(model);
detail.setBarcode(model.getSn());
model.setMsg(String.format("目视单【%s】扫描成功请扫描下一个条码",model.getSn()));
}
MesProduceSn produceSn = checkSn(model);
updateOrderManagementDetails(orderManagement, detail, getMesWorkOrder(model, produceSn, detail), produceSn, model.getUserInfo());
@ -109,6 +108,12 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
if (!scanFlg) {
throw new ImppBusiException(String.format("【%s】此目视单对应的【%s】物料号与发运单中物料号不匹配请检查数据", model.getSn(), partNo));
}
//提示信息
if(Objects.isNull(workOrder)){
model.setMsg(String.format("条码【%s】扫描成功请扫描目视单",model.getSn()));
}else{
model.setMsg(String.format("目视单【%s】扫描成功请扫描条码",model.getSn()));
}
}
return model;
@ -125,7 +130,7 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
checkVisualOrderNoIsScan(model);
//校验目视单状态
if (MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue() != workOrder.getWorkOrderStatus() || MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue() != workOrder.getQcStatus()) {
throw new ImppBusiException(String.format("目视单【%s】状态为【%s】质量状态为【%s】不允许发运", model.getSn(), MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus()), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(workOrder.getQcStatus())));
throw new ImppBusiException(String.format("目视单【%s】状态为【%s】质量状态为【%s】不允许发运请检查数据!", model.getSn(), MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus()), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(workOrder.getQcStatus())));
}
return workOrder.getCustPartNo();
}
@ -138,15 +143,15 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
}
//校验目视单状态
if (MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue() != workOrder.getWorkOrderStatus() || MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue() != workOrder.getQcStatus()) {
throw new ImppBusiException(String.format("目视单【%s】状态为【%s】质量状态为【%s】不允许发运", detail.getVisualOrderNo(), MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus()), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(workOrder.getQcStatus())));
throw new ImppBusiException(String.format("目视单【%s】状态为【%s】质量状态为【%s】不允许发运请检查数据!", detail.getVisualOrderNo(), MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus()), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(workOrder.getQcStatus())));
}
//校验条码是否匹配
if (!Objects.equals(produceSn.getCustSn(), workOrder.getCustSn())) {
throw new ImppBusiException(String.format("目视单【%s】条码【%s】与扫描条码【%s】不匹配", detail.getVisualOrderNo(), workOrder.getCustSn(), produceSn.getCustSn()));
throw new ImppBusiException(String.format("目视单【%s】条码【%s】与扫描条码【%s】不匹配请检查数据!", detail.getVisualOrderNo(), workOrder.getCustSn(), produceSn.getCustSn()));
}
//校验零件是否匹配
if (!Objects.equals(produceSn.getCustPartNo(), workOrder.getCustPartNo())) {
throw new ImppBusiException(String.format("目视单【%s】零件【%s】与发运单零件【%s】不匹配", detail.getVisualOrderNo(), workOrder.getCustPartNo(), detail.getCustPartNo()));
throw new ImppBusiException(String.format("目视单【%s】零件【%s】与发运单零件【%s】不匹配请检查数据!", detail.getVisualOrderNo(), workOrder.getCustPartNo(), detail.getCustPartNo()));
}
return workOrder;
}
@ -213,12 +218,12 @@ public class MesShippingScanSnAndOrderStrategyServiceImpl implements IMesShippin
private void checkStatus(MesSortShippingCheckModel model, MesProduceSn produceSn) {
//校验产品条码状态 必须是状态为已下线条码
if (produceSn.getSnStatus() != MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue() && produceSn.getSnStatus() != MesExtEnumUtil.PRODUCE_SN_STATUS.CREATE.getValue()) {
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择状态为【%s】或【%s】状态的条码", model.getSn(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus()),
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择状态为【%s】或【%s】状态的条码,请检查数据!", model.getSn(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus()),
MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getDescription(), MesExtEnumUtil.PRODUCE_SN_STATUS.CREATE.getDescription()));
}
//校验产品质量状态 必须是状态为合格条码
if (produceSn.getQcStatus() != MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()) {
throw new ImppBusiException(String.format("【%s】此条码质量状态为【%s】,请选择【%s】状态的条码", model.getSn(), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(produceSn.getQcStatus()),
throw new ImppBusiException(String.format("【%s】此条码质量状态为【%s】,请选择【%s】状态的条码,请检查数据!", model.getSn(), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(produceSn.getQcStatus()),
MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getDescription()));
}
}

@ -86,6 +86,7 @@ public class MesShippingScanSnStrategyServiceImpl implements IMesShippingScanStr
if (!scanFlg) {
throw new ImppBusiException(String.format("【%s】此条码对应的【%s】物料号与发运单中物料号不匹配请检查数据", model.getSn(), produceSn.getPartNo()));
}
model.setMsg(String.format("条码【%s】扫描完成请扫描下一个条码",model.getSn()));
return model;
}
@ -143,12 +144,12 @@ public class MesShippingScanSnStrategyServiceImpl implements IMesShippingScanStr
private void checkStatus(MesSortShippingCheckModel model, MesProduceSn produceSn) {
//校验产品条码状态 必须是状态为已下线条码
if (produceSn.getSnStatus() != MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue() && produceSn.getSnStatus() != MesExtEnumUtil.PRODUCE_SN_STATUS.CREATE.getValue()) {
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择状态为【%s】或【%s】状态的条码", model.getSn(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus()),
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择状态为【%s】或【%s】状态的条码,请检查数据!", model.getSn(), MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus()),
MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getDescription(), MesExtEnumUtil.PRODUCE_SN_STATUS.CREATE.getDescription()));
}
//校验产品质量状态 必须是状态为合格条码
if (produceSn.getQcStatus() != MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()) {
throw new ImppBusiException(String.format("【%s】此条码质量状态为【%s】,请选择【%s】状态的条码", model.getSn(), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(produceSn.getQcStatus()),
throw new ImppBusiException(String.format("【%s】此条码质量状态为【%s】,请选择【%s】状态的条码,请检查数据!", model.getSn(), MesExtEnumUtil.PRODUCE_QC_STATUS.valueOfDescription(produceSn.getQcStatus()),
MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getDescription()));
}
}

@ -51,6 +51,9 @@ public class MesSortShippingCheckModel {
@ApiParam("最后扫描的发运单明细ID")
private Long lastShippingDetailId;
@ApiParam("提示引导信息")
private String msg;
public void setDetailList(List<MesShippingOrderManagementDetail> detailList) {
this.detailList = detailList;
this.isScanCount = (int) detailList.stream().filter(k -> Objects.equals(k.getIsScanFlg(), MesCommonConstant.TRUE_INTEGER)).count();

Loading…
Cancel
Save