|
|
@ -89,7 +89,7 @@ public class MesProductSnSaveStepService extends BaseStepService {
|
|
|
|
String productResult = productionDispatchContextStepService.getProductResultContext(reqBean);
|
|
|
|
String productResult = productionDispatchContextStepService.getProductResultContext(reqBean);
|
|
|
|
Map<String, MesPart> partMap = (Map<String, MesPart>) stepResult.getObj();
|
|
|
|
Map<String, MesPart> partMap = (Map<String, MesPart>) stepResult.getObj();
|
|
|
|
|
|
|
|
|
|
|
|
productionPsOutContextList.stream().filter(o -> null != o).forEach(o -> o.copy(saveProduceSnData(reqBean, resultBean, stepResult, productionProcessContext, o, partMap, prodShiftContext, productResult)));
|
|
|
|
productionPsOutContextList.stream().filter(o -> null != o).forEach(o -> saveProduceSnData(reqBean, resultBean, stepResult, productionProcessContext, o, partMap, prodShiftContext, productResult));
|
|
|
|
|
|
|
|
|
|
|
|
//保存上下文产出条码数据信息集合
|
|
|
|
//保存上下文产出条码数据信息集合
|
|
|
|
productionDispatchContextStepService.dispatchProductionPsOutContext(reqBean, productionPsOutContextList);
|
|
|
|
productionDispatchContextStepService.dispatchProductionPsOutContext(reqBean, productionPsOutContextList);
|
|
|
@ -98,47 +98,57 @@ public class MesProductSnSaveStepService extends BaseStepService {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private MesProduceSn saveProduceSnData(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesProductionPsOutContext productionPsOutContext, Map<String, MesPart> partMap, MesProdShiftContext prodShiftContext, String productResult) {
|
|
|
|
private MesProductionPsOutContext saveProduceSnData(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesProductionPsOutContext productionPsOutContext, Map<String, MesPart> partMap, MesProdShiftContext prodShiftContext, String productResult) {
|
|
|
|
|
|
|
|
|
|
|
|
//根据零件条码ID查询零件条码信息
|
|
|
|
//根据零件条码ID查询零件条码信息
|
|
|
|
MesProduceSn produceSn = produceSnExtService.getProduceSn(reqBean.getOrganizeCode(), productionPsOutContext.getId());
|
|
|
|
MesProduceSn produceSn = produceSnExtService.getProduceSn(reqBean.getOrganizeCode(), productionPsOutContext.getId());
|
|
|
|
|
|
|
|
|
|
|
|
if (null == produceSn) stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), String.format("请检查零件条码信息,产出零件条码[%s]ID[%s]信息不存在!", productionPsOutContext.getProductSn(), productionPsOutContext.getId()));
|
|
|
|
if (null == produceSn) stepExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), String.format("请检查零件条码信息,产出零件条码[%s]ID[%s]信息不存在!", productionPsOutContext.getProductSn(), productionPsOutContext.getId()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{}:FSM STATE DISPATCHER --- DO STEP --- {} EXEC --- PS:{} {} --- ID:{} --- QURERY:{}",
|
|
|
|
|
|
|
|
reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(),
|
|
|
|
|
|
|
|
StringUtil.toLowerCaseFirst(this.getClass().getSimpleName()), produceSn.getProductSn(), produceSn.getPartNo(), produceSn.getId(), JSONObject.toJSONString(produceSn));
|
|
|
|
|
|
|
|
|
|
|
|
//零件信息
|
|
|
|
//零件信息
|
|
|
|
MesPart part = partMap.get(produceSn.getPartNo());
|
|
|
|
MesPart part = partMap.get(produceSn.getPartNo());
|
|
|
|
|
|
|
|
|
|
|
|
produceSn.setAreaCode(reqBean.getAreaCode());
|
|
|
|
productionPsOutContext.setAreaCode(reqBean.getAreaCode());
|
|
|
|
produceSn.setWorkCenterCode(reqBean.getWorkCenterCode());
|
|
|
|
productionPsOutContext.setWorkCenterCode(reqBean.getWorkCenterCode());
|
|
|
|
produceSn.setWorkCellCode(reqBean.getWorkCellCode());
|
|
|
|
productionPsOutContext.setWorkCellCode(reqBean.getWorkCellCode());
|
|
|
|
|
|
|
|
|
|
|
|
produceSn.setRouteCode(reqBean.getRouteCode());
|
|
|
|
productionPsOutContext.setRouteCode(reqBean.getRouteCode());
|
|
|
|
produceSn.setProcessCode(reqBean.getProcessCode());
|
|
|
|
productionPsOutContext.setProcessCode(reqBean.getProcessCode());
|
|
|
|
produceSn.setCraftCode(productionProcessContext.getCraftCode());
|
|
|
|
productionPsOutContext.setCraftCode(productionProcessContext.getCraftCode());
|
|
|
|
//TODO 获取下个工艺代码
|
|
|
|
|
|
|
|
//produceSn.setNextCraftCode();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue());
|
|
|
|
productionPsOutContext.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue());
|
|
|
|
produceSn.setQcStatus(!StringUtils.isEmpty(productResult) ? Integer.valueOf(productResult) : MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue());
|
|
|
|
productionPsOutContext.setQcStatus(!StringUtils.isEmpty(productResult) ? Integer.valueOf(productResult) : MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue());
|
|
|
|
|
|
|
|
|
|
|
|
produceSn.setShiftCode(prodShiftContext.getShiftCode());
|
|
|
|
productionPsOutContext.setShiftCode(prodShiftContext.getShiftCode());
|
|
|
|
produceSn.setShiftGroup(prodShiftContext.getShiftGroup());
|
|
|
|
productionPsOutContext.setShiftGroup(prodShiftContext.getShiftGroup());
|
|
|
|
|
|
|
|
|
|
|
|
produceSn.setProcessLabelTemplate(part.getProcessLabelTemplate());
|
|
|
|
productionPsOutContext.setProcessLabelTemplate(part.getProcessLabelTemplate());
|
|
|
|
produceSn.setProdLabelTemplate(part.getProductLabelTemplate());
|
|
|
|
productionPsOutContext.setProdLabelTemplate(part.getProductLabelTemplate());
|
|
|
|
produceSn.setCustLabelTemplate(part.getCustLabelTemplate());
|
|
|
|
productionPsOutContext.setCustLabelTemplate(part.getCustLabelTemplate());
|
|
|
|
|
|
|
|
|
|
|
|
ConvertBean.serviceModelUpdate(produceSn, reqBean.getUserInfo());
|
|
|
|
ConvertBean.serviceModelUpdate(productionPsOutContext, reqBean.getUserInfo());
|
|
|
|
produceSn.setOutWorkCenterTime(produceSn.getModifyDatetime());
|
|
|
|
productionPsOutContext.setOutWorkCenterTime(productionPsOutContext.getModifyDatetime());
|
|
|
|
produceSn.setLotNo(produceSn.getModifyDatetime().substring(0, 10));
|
|
|
|
productionPsOutContext.setLotNo(productionPsOutContext.getModifyDatetime().substring(0, 10));
|
|
|
|
|
|
|
|
|
|
|
|
produceSnExtService.update(produceSn);
|
|
|
|
produceSnRepository.updateByProperties(
|
|
|
|
|
|
|
|
new String[]{"id", "organizeCode"},
|
|
|
|
|
|
|
|
new Object[]{produceSn.getId(), reqBean.getOrganizeCode()},
|
|
|
|
|
|
|
|
new String[]{"areaCode", "workCenterCode", "workCellCode", "routeCode", "processCode", "craftCode",
|
|
|
|
|
|
|
|
"snStatus", "qcStatus", "shiftCode", "shiftGroup", "processLabelTemplate", "prodLabelTemplate",
|
|
|
|
|
|
|
|
"custLabelTemplate", "modifyDatetime", "modifyUser", "outWorkCenterTime", "lotNo"},
|
|
|
|
|
|
|
|
new Object[]{productionPsOutContext.getAreaCode(), productionPsOutContext.getWorkCenterCode(), productionPsOutContext.getWorkCellCode(), productionPsOutContext.getRouteCode(), productionPsOutContext.getProcessCode(), productionPsOutContext.getCraftCode(),
|
|
|
|
|
|
|
|
productionPsOutContext.getSnStatus(), productionPsOutContext.getQcStatus(), productionPsOutContext.getShiftCode(), productionPsOutContext.getShiftGroup(), productionPsOutContext.getProcessLabelTemplate(), productionPsOutContext.getProdLabelTemplate(),
|
|
|
|
|
|
|
|
productionPsOutContext.getCustLabelTemplate(), productionPsOutContext.getModifyDatetime(), productionPsOutContext.getModifyUser(), productionPsOutContext.getModifyDatetime(), productionPsOutContext.getModifyDatetime().substring(0, 10)});
|
|
|
|
|
|
|
|
|
|
|
|
log.info("工厂{}生产线{}工位{}:FSM STATE DISPATCHER --- DO STEP --- {} EXEC --- MesProductionPsOutContext:{} --- MesProduceSn:{}",
|
|
|
|
log.info("工厂{}生产线{}工位{}:FSM STATE DISPATCHER --- DO STEP --- {} EXEC --- PS:{} {} --- ID:{} --- UPDATE:{}",
|
|
|
|
reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(),
|
|
|
|
reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(),
|
|
|
|
StringUtil.toLowerCaseFirst(this.getClass().getSimpleName()), JSONObject.toJSONString(productionPsOutContext), JSONObject.toJSONString(produceSn));
|
|
|
|
StringUtil.toLowerCaseFirst(this.getClass().getSimpleName()), productionPsOutContext.getProductSn(), productionPsOutContext.getPartNo(), productionPsOutContext.getId(), JSONObject.toJSONString(productionPsOutContext));
|
|
|
|
|
|
|
|
|
|
|
|
return produceSn;
|
|
|
|
return productionPsOutContext;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|