|
|
|
@ -66,22 +66,27 @@ public class MesProductionRecordGenerateStepService extends BaseStepService {
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(productionPsOutContextList)) execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), "上下文中不存在产出零件条码信息,请重置工序解决!");
|
|
|
|
|
|
|
|
|
|
//获取上下文(头道)模具号
|
|
|
|
|
MesEquipVariableCollectContext equipVariableCollectContext = productionDispatchContextStepService.getFirstMouldNoContext(reqBean);
|
|
|
|
|
if (null == equipVariableCollectContext) equipVariableCollectContext = productionDispatchContextStepService.getMouldNoContext(reqBean);
|
|
|
|
|
|
|
|
|
|
//从上下文中取出工位当前要使用的设备
|
|
|
|
|
MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip();
|
|
|
|
|
|
|
|
|
|
Map<Integer, MesProdRuleContext> prMap = CollectionUtils.isEmpty(prodRuleContextList) ? null : prodRuleContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getForeignKey()))).collect(Collectors.toMap(MesProdRuleContext::getForeignKey, o -> o));
|
|
|
|
|
|
|
|
|
|
//生成加工记录
|
|
|
|
|
String mouldNo = null != equipVariableCollectContext ? equipVariableCollectContext.getEquipVariableValue() : null;
|
|
|
|
|
productionPsOutContextList.stream().filter(o -> null != o).forEach(o -> saveProductionRecordData(reqBean, resultBean, stepResult, mouldNo, productionProcessContext, o, prMap, cellEquipContext));
|
|
|
|
|
productionPsOutContextList.stream().filter(o -> null != o).forEach(o -> saveProductionRecordData(reqBean, resultBean, stepResult, mouldNo, prodRuleContextList, productionProcessContext, o, prMap, cellEquipContext));
|
|
|
|
|
|
|
|
|
|
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "保存装配记录成功!");
|
|
|
|
|
//保存上下文产品加工规则信息集合
|
|
|
|
|
productionDispatchContextStepService.saveProdRuleDataContext(reqBean, prodRuleContextList);
|
|
|
|
|
|
|
|
|
|
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "生成加工记录成功!");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void saveProductionRecordData(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, String mouldNo,
|
|
|
|
|
private void saveProductionRecordData(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, String mouldNo, List<MesProdRuleContext> prodRuleContextList,
|
|
|
|
|
MesProductionProcessContext productionProcessContext, MesProductionPsOutContext productionPsOutContext, Map<Integer, MesProdRuleContext> prMap, MesCellEquipContext cellEquipContext) {
|
|
|
|
|
|
|
|
|
|
MesProdRuleContext prodRuleContext = CollectionUtils.isEmpty(prMap) ? null : prMap.get(productionPsOutContext.getForeignKey());
|
|
|
|
@ -93,7 +98,7 @@ public class MesProductionRecordGenerateStepService extends BaseStepService {
|
|
|
|
|
productionRecord.setEquipmentCode(cellEquipContext.getEquipmentCode());
|
|
|
|
|
productionRecord.setEquipmentName(cellEquipContext.getEquipmentName());
|
|
|
|
|
|
|
|
|
|
productionRecord.setReportType(!StringUtils.isEmpty(prodRuleContext.getReportType()) ? prodRuleContext.getReportType() : MesExtEnumUtil.NOSORT_REPORT_TYPE.NO_REPORT.getValue());
|
|
|
|
|
productionRecord.setReportType((null != prodRuleContext && !StringUtils.isEmpty(prodRuleContext.getReportType())) ? prodRuleContext.getReportType() : MesExtEnumUtil.NOSORT_REPORT_TYPE.NO_REPORT.getValue());
|
|
|
|
|
if (MesExtEnumUtil.NOSORT_REPORT_TYPE.NO_REPORT.getValue() != productionRecord.getReportType()) productionRecord.setReportPartNo(productionPsOutContext.getPartNo());
|
|
|
|
|
productionRecord.setReportStatus(MesExtEnumUtil.NOSORT_REPORT_TYPE.NO_REPORT.getValue() != productionRecord.getReportType() ? MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue() : MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue());
|
|
|
|
|
|
|
|
|
@ -110,7 +115,10 @@ public class MesProductionRecordGenerateStepService extends BaseStepService {
|
|
|
|
|
ConvertBean.serviceModelInitialize(productionRecord, reqBean.getUserInfo());
|
|
|
|
|
productionRecord.setCompleteDateTime(productionRecord.getModifyDatetime());
|
|
|
|
|
|
|
|
|
|
productionRecordRepository.insert(productionRecord);
|
|
|
|
|
productionRecord = productionRecordRepository.insert(productionRecord);
|
|
|
|
|
|
|
|
|
|
if (null != prodRuleContext) prodRuleContextList.stream().filter(o -> (null != o &&
|
|
|
|
|
!StringUtils.isEmpty(o.getForeignKey()) && o.getForeignKey().compareTo(productionPsOutContext.getForeignKey()) == 0)).findFirst().get().productionRecordId(productionRecord.getId()).mouldNo(mouldNo);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|