dev
王杰 2 years ago
parent 5906e82fd2
commit dfdc0122f0

@ -29,4 +29,11 @@ public interface IJxProduceSnExtService {
@ApiOperation(value = "设置条码产线 工位 工序 下一道工序", notes = "设置条码产线 工位 工序 下一道工序")
void doPackSnExtProcess(StationRequestBean reqBean, MesProduceSnExt produceSnExt);
/**
*
* @param produceSnExt
*/
@ApiOperation(value = "清空条码工序信息", notes = "清空条码工序信息")
void clearProduceSnProcess(MesProduceSnExt produceSnExt);
}

@ -79,7 +79,7 @@ public class JxProdBusiStrategyAttemptService implements IJxProdBusiStrategyServ
@Override
public StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) {
((IJxProdBusiStrategyService) params.getStrategyService()).checkLineOn(params);
((IJxProdBusiStrategyService) params.getStrategyService()).checkFinalInspection(params);
StepResult stepResult = StepResult.getNonComplete();
@ -105,6 +105,9 @@ public class JxProdBusiStrategyAttemptService implements IJxProdBusiStrategyServ
if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType())
return stepResult.msg(String.format("%s[%s]对应的产品条码信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo()));
if (MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.DEFECTED.getValue() == params.getProduceSnExtDb().getQcStatus())
return stepResult.msg(String.format("%s[%s]对应的产品条码信息当前质量状态[不合格],验证失败!", params.getScanName(), params.getScanInfo()));
return stepResult.isCompleted(true).msg(String.format("%s[%s]已匹配产品条码信息,验证成功!", params.getScanName(), params.getScanInfo()));
}
@ -114,9 +117,12 @@ public class JxProdBusiStrategyAttemptService implements IJxProdBusiStrategyServ
if (!params.getProduceSnMcRecordDb().getWorkOrderNo().equals(params.getOrderModel().getOrderNo()))
return stepResult.msg(String.format("%s[%s]对应的管理编码与工单条码关系信息关联的工单号[%s]与当前生产的工单号[%s]不一致,验证失败!", params.getScanName(), params.getScanInfo(), params.getProduceSnMcRecordDb().getWorkOrderNo(), params.getOrderModel().getOrderNo()));
if (MesPcnExtEnumUtil.MC_RECORD_QC_STATUS.FALSE.getValue() == params.getProduceSnMcRecordDb().getQcStatus())
if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnMcRecordDb().getOperateType())
return stepResult.msg(String.format("%s[%s]对应的管理编码与工单条码关系信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo()));
if (MesPcnExtEnumUtil.MC_RECORD_QC_STATUS.FALSE.getValue() == params.getProduceSnMcRecordDb().getQcStatus())
return stepResult.msg(String.format("%s[%s]对应的管理编码与工单条码关系信息当前质量状态[不合格],验证失败!", params.getScanName(), params.getScanInfo()));
if (MesPcnExtEnumUtil.MC_RECORD_LINE_ON_STATUS.FALSE.getValue() == params.getProduceSnMcRecordDb().getLineOnStatus())
return stepResult.msg(String.format("%s[%s]对应的管理编码与工单条码关系信息当前状态[上线未完成],验证失败!", params.getScanName(), params.getScanInfo()));
@ -146,7 +152,7 @@ public class JxProdBusiStrategyAttemptService implements IJxProdBusiStrategyServ
if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType())
return stepResult.msg(String.format("产品条码[%s]信息当前业务类型[返修],验证失败!", params.getScanInfo()));
if (MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.QUALIFIED.getValue() != params.getProduceSnExtDb().getQcStatus())
if (MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.DEFECTED.getValue() == params.getProduceSnExtDb().getQcStatus())
return stepResult.msg(String.format("产品条码[%s]信息当前质量状态[不合格],验证失败!", params.getScanInfo()));
return stepResult.isCompleted(true);

@ -194,7 +194,7 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi
if (null == produceSnMcRecordDb) return stepResult.isCompleted(false).msg(String.format("管理编码[%s]ID[%s]对应的管理编码与工单条码关系信息不存在!", manageCodeArr[0], manageCodeArr[1]));
if (MesPcnExtEnumUtil.MC_RECORD_QC_STATUS.FALSE.getValue() == produceSnMcRecordDb.getQcStatus()) return stepResult.isCompleted(false).msg(String.format("管理编码[%s]ID[%s]对应的管理编码与工单条码关系信息当前业务状态[返修]!", manageCodeArr[0], manageCodeArr[1]));
if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == produceSnMcRecordDb.getOperateType()) return stepResult.isCompleted(false).msg(String.format("管理编码[%s]ID[%s]对应的管理编码与工单条码关系信息当前业务状态[返修]!", manageCodeArr[0], manageCodeArr[1]));
if (MesPcnExtEnumUtil.MC_RECORD_LINE_ON_STATUS.TRUE.getValue() == produceSnMcRecordDb.getLineOnStatus()) return stepResult;
@ -216,7 +216,11 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi
public StepResult execLineOnBindMc(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); }
@Override
public StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); }
public StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) {
if (MesPcnExtEnumUtil.WORK_ORDER_TYPE.REWORK_ORDER.getValue() != params.getOrderModel().getWorkOrderType()) queryBusiData4Mc(params.manageCode(params.getScanInfo()));
else queryProduceSnInfo(params.productSn(params.getScanInfo())).scanName();
return StepResult.getSuccessComplete();
}
@Override
public StepResult checkThirdPartyPs(JxProdBusiStrategyParamsBuilder params) { return StepResult.getSuccessComplete(); }
@ -288,6 +292,7 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi
MesProduceSnExt produceSnExtDb = params.getProduceSnExtDb();
produceSnExtDb.setOperateType(MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue());
produceSnExtService.clearProduceSnProcess(produceSnExtDb);
ConvertBean.serviceModelUpdate(produceSnExtDb, params.getUserInfo());
produceSnExtDb.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
new ConvertBeanExt(produceSnExtDb).convertBean(produceSnExtDb);
@ -304,7 +309,7 @@ public class JxProdBusiStrategyCommonService implements IJxProdBusiStrategyServi
MesProduceSnMcRecord produceSnMcRecordDb = produceSnMcRecordRepository.getById(Long.parseLong(manageCodeArr[1]));
produceSnMcRecordDb.setQcStatus(MesPcnExtEnumUtil.MC_RECORD_QC_STATUS.FALSE.getValue());
produceSnMcRecordDb.setOperateType(MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue());
ConvertBean.serviceModelUpdate(produceSnMcRecordDb, params.getUserInfo());
produceSnMcRecordDb.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());

@ -51,7 +51,7 @@ public class JxProdBusiStrategyRepairService implements IJxProdBusiStrategyServi
@Override
public StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) {
((IJxProdBusiStrategyService) params.getStrategyService()).checkLineOn(params);
((IJxProdBusiStrategyService) params.getStrategyService()).checkFinalInspection(params);
StepResult stepResult = StepResult.getNonComplete();
@ -75,6 +75,9 @@ public class JxProdBusiStrategyRepairService implements IJxProdBusiStrategyServi
if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType())
return stepResult.msg(String.format("%s[%s]对应的产品条码信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo()));
if (MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.DEFECTED.getValue() == params.getProduceSnExtDb().getQcStatus())
return stepResult.msg(String.format("%s[%s]对应的产品条码信息当前质量状态[不合格],验证失败!", params.getScanName(), params.getScanInfo()));
return stepResult.isCompleted(true).msg(String.format("%s[%s]已匹配产品条码信息,验证成功!", params.getScanName(), params.getScanInfo()));
}

@ -87,7 +87,7 @@ public class JxProdBusiStrategyStandardService implements IJxProdBusiStrategySer
if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType())
return stepResult.msg(String.format("%s[%s]对应的产品条码信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo()));
if (null != params.getProduceSnMcRecordDb() && MesPcnExtEnumUtil.MC_RECORD_QC_STATUS.FALSE.getValue() == params.getProduceSnMcRecordDb().getQcStatus())
if (null != params.getProduceSnMcRecordDb() && MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnMcRecordDb().getOperateType())
return stepResult.msg(String.format("%s[%s]对应的管理编码与工单条码关系信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo()));
if (null != params.getProduceSnMcRecordDb() && !params.getProduceSnMcRecordDb().getWorkOrderNo().equals(params.getOrderModel().getOrderNo()))
@ -181,7 +181,7 @@ public class JxProdBusiStrategyStandardService implements IJxProdBusiStrategySer
@Override
public StepResult checkFinalInspection(JxProdBusiStrategyParamsBuilder params) {
((IJxProdBusiStrategyService) params.getStrategyService()).checkLineOn(params);
((IJxProdBusiStrategyService) params.getStrategyService()).checkFinalInspection(params);
StepResult stepResult = StepResult.getNonComplete();
@ -205,9 +205,15 @@ public class JxProdBusiStrategyStandardService implements IJxProdBusiStrategySer
if (MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnExtDb().getOperateType())
return stepResult.msg(String.format("%s[%s]对应的产品条码信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo()));
if (null != params.getProduceSnMcRecordDb() && MesPcnExtEnumUtil.MC_RECORD_QC_STATUS.FALSE.getValue() == params.getProduceSnMcRecordDb().getQcStatus())
if (MesPcnExtEnumUtil.PRODUCE_SN_QC_STATUS.DEFECTED.getValue() == params.getProduceSnExtDb().getQcStatus())
return stepResult.msg(String.format("%s[%s]对应的产品条码信息当前质量状态[不合格],验证失败!", params.getScanName(), params.getScanInfo()));
if (null != params.getProduceSnMcRecordDb() && MesPcnExtEnumUtil.SN_OPERATE_TYPE.REPAIR.getValue() == params.getProduceSnMcRecordDb().getOperateType())
return stepResult.msg(String.format("%s[%s]对应的管理编码与工单条码关系信息当前业务类型[返修],验证失败!", params.getScanName(), params.getScanInfo()));
if (null != params.getProduceSnMcRecordDb() && MesPcnExtEnumUtil.MC_RECORD_QC_STATUS.FALSE.getValue() == params.getProduceSnMcRecordDb().getQcStatus())
return stepResult.msg(String.format("%s[%s]对应的管理编码与工单条码关系信息当前质量状态[不合格],验证失败!", params.getScanName(), params.getScanInfo()));
if (null != params.getProduceSnMcRecordDb() && !params.getProduceSnMcRecordDb().getWorkOrderNo().equals(params.getOrderModel().getOrderNo()))
return stepResult.msg(String.format("%s[%s]对应的管理编码与工单条码关系信息关联的工单号[%s]与当前生产的工单号[%s]不一致,验证失败!", params.getScanName(), params.getScanInfo(), params.getProduceSnMcRecordDb().getWorkOrderNo(), params.getOrderModel().getOrderNo()));

@ -58,6 +58,14 @@ public class JxProduceSnExtService implements IJxProduceSnExtService {
}
@Override
public void clearProduceSnProcess(MesProduceSnExt produceSnExt) {
if (null == produceSnExt) return;
produceSnExt.setRouteCode(null);
produceSnExt.setProcessCode(null);
produceSnExt.setWorkCellCode(null);
}
private String getNextProcessCode(String processCode, List<MesRouteProcess> routeProcessList) {
Optional<MesRouteProcess> routeProcessOp = routeProcessList.stream().filter(o -> (null != o && o.getProcessCode().equals(processCode))).findFirst();
if (null == routeProcessOp || !routeProcessOp.isPresent()) return null;

Loading…
Cancel
Save