Merge remote-tracking branch 'origin/dev-wuhan' into dev-wuhan

tags/yfai-pcn-ext-v2.3
yxw 8 months ago
commit df3f552348

@ -68,11 +68,11 @@ public class MesProduceSeqCheckCustOrderNoStepService extends MesProduceSeqCheck
List<MesProductionPartContext> productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
//验证是否存在加工单
if (!checkIsExistWorkOrder(productionPartContextList)) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前无加工单信息,无需进行顺序防错验证!");
if (!checkIsExistWorkOrder(productionPartContextList)) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前无加工单信息,无需进行加工单客户订单号顺序防错验证!");
//验证工位是否设置需要顺序防错
if (!isNeedCheckProduceSeq(productionPartContextList))
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]未设置顺序防错,无需进行顺序防错验证!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]未设置顺序防错,无需进行加工单客户订单号顺序防错验证!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
//验证是否存在工艺强过码, 存在则保存 并返回强过的加工单
List<String> workOrderNoList2Jump = doHandleCraftJumpCode(reqBean, productionPartContextList);
@ -89,6 +89,30 @@ public class MesProduceSeqCheckCustOrderNoStepService extends MesProduceSeqCheck
}
//验证是否存在工艺强过码, 存在则保存 并返回强过的加工单
public List<String> doHandleCraftJumpCode(StationRequestBean reqBean, List<MesProductionPartContext> productionPartContextList) {
List<String> workOrderNoList2Jump = null;
for (MesProductionPartContext productionPartContext : productionPartContextList) {
if (null == productionPartContext || productionPartContext.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) != 0 || StringUtils.isEmpty(productionPartContext.getCraftJumpCode())) continue;
if (CollectionUtils.isEmpty(workOrderNoList2Jump)) workOrderNoList2Jump = new ArrayList<>();
workOrderNoList2Jump.add(productionPartContext.getWorkOrderNo());
productionPartContext.checkSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
}
//保存上下文产出零件信息
if (!CollectionUtils.isEmpty(workOrderNoList2Jump)) productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList);
return workOrderNoList2Jump;
}
//顺序防错验证处理
private void doHandleProduceSeqCheck(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, List<MesProductionPartContext> productionPartContextList) {

@ -66,11 +66,11 @@ public class MesProduceSeqCheckNosortStepService extends MesProduceSeqCheckStepS
List<MesProductionPartContext> productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
//验证是否存在加工单
if (!checkIsExistWorkOrder(productionPartContextList)) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前无加工单信息,无需进行顺序防错验证!");
if (!checkIsExistWorkOrder(productionPartContextList)) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前无加工单信息,无需进行加工单顺序防错验证!");
//验证工位是否设置需要顺序防错
if (!isNeedCheckProduceSeq(productionPartContextList))
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]未设置顺序防错,无需进行顺序防错验证!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]未设置顺序防错,无需进行加工单顺序防错验证!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
//验证是否存在工艺强过码, 存在则保存 并返回强过的加工单
List<String> workOrderNoList2Jump = doHandleCraftJumpCode(reqBean, productionPartContextList);

@ -68,11 +68,11 @@ public class MesProduceSeqCheckSortStepService extends MesProduceSeqCheckStepSer
List<MesProductionPartContext> productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
//验证是否存在加工单
if (!checkIsExistWorkOrder(productionPartContextList)) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前无加工单信息,无需进行顺序防错验证!");
if (!checkIsExistWorkOrder(productionPartContextList)) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前无加工单信息,无需进行加工单顺序防错验证!");
//验证工位是否设置需要顺序防错
if (!isNeedCheckProduceSeq(productionPartContextList))
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]未设置顺序防错,无需进行顺序防错验证!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]未设置顺序防错,无需进行加工单顺序防错验证!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
//验证是否存在工艺强过码, 存在则保存 并返回强过的加工单
List<String> workOrderNoList2Jump = doHandleCraftJumpCode(reqBean, productionPartContextList);

@ -153,7 +153,7 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
String workOrderStr = equipVariableCollectContextList.stream().filter(o -> null != o).map(MesEquipVariableCollectContext::getEquipVariableValue).collect(Collectors.toList()).toString();
return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().scanInfo(workOrderStr), stepResult, String.format("当前%s加工单%s验证工单状态成功%s!",
MesExtEnumUtil.CELL_MESSAGE_SOURCE.valueOfDescription(equipVariableCollectContextList.get(0).getMessageSource()), workOrderStr,
MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getValue() == equipVariableCollectContextList.get(0).getMessageSource() ? String.format(",当前加工单个数[%s]已满足腔数", productionPartContextList.size()) : MesPcnExtConstWords.EMPTY));
(MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getValue() == equipVariableCollectContextList.get(0).getMessageSource() && productionPartContextList.size() > 1) ? String.format(",当前加工单个数[%s]已满足腔数", productionPartContextList.size()) : MesPcnExtConstWords.EMPTY));
}
@ -251,8 +251,8 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
if (!CollectionUtils.isEmpty(orderList)) {
orderList.forEach(o -> StationKvBeanUtil.addStationKvBeanList(dataList, new ArrayList<>(),
new StationKvBean(MesPcnExtConstWords.WORK_ORDER_NO, "工单号", o.getWorkOrderNo()), new StationKvBean(MesPcnExtConstWords.PART_NO, "零件编码", o.getPartNo()),
new StationKvBean(MesPcnExtConstWords.QTY, "工单数", String.valueOf(o.getQty().intValue())),
new StationKvBean(MesPcnExtConstWords.CAVITY, "腔数", new StringJoiner(MesPcnExtConstWords.SLANT_R).add(String.valueOf(index.updateAndGet(v -> v + 1))).add(String.valueOf(productionPartContextList.size())).toString())));
new StationKvBean(MesPcnExtConstWords.CAR_MODEL_CODE, "车型配置", o.getCarModelCode()), new StationKvBean(MesPcnExtConstWords.CUST_ORDER_NO, "客户订单号", o.getCustOrderNo()),
productionPartContextList.size() == 1 ? null : new StationKvBean(MesPcnExtConstWords.CAVITY, "腔数", new StringJoiner(MesPcnExtConstWords.SLANT_R).add(String.valueOf(index.updateAndGet(v -> v + 1))).add(String.valueOf(productionPartContextList.size())).toString())));
}
if (!CollectionUtils.isEmpty(finishCodeList)) {

@ -76,13 +76,16 @@ public class MesProductionPartContext implements Serializable {
@ApiParam("零件生产组代码")
private String partProdGroupCode;
@ApiParam("车型大类")
private String carModelCode;
@ApiParam("信息来源")
private Integer messageSource;
@ApiParam("生产序号")
private Long produceSeq;
@ApiParam("客户订单号【用于发送设备加工参数】")
@ApiParam("客户订单号")
private String custOrderNo;
@ApiParam("vin号【用于发送设备加工参数】")

@ -177,6 +177,10 @@ public class MesPcnExtConstWords {
public static final String COLOR = "color";
// 设备计数点位固定二级变量
public static final String SHOT_COUNTER = "shot_counter";
// 车型大类
public static final String CAR_MODEL_CODE = "carModelCode";
// 客户订单号
public static final String CUST_ORDER_NO = "custOrderNo";
// 客制化条码长度:通用
public static final Integer CUSTOMER_SN_LENGTH_GM = 58;

Loading…
Cancel
Save