46428 PCN:龙兴条码打印直接从数据库里取,不走redis

uat-temp-wj-chongqingdaqu-prod-huaweiyun-46428
王杰 2 months ago
parent ce0e486efb
commit 7742daad31

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush;
import cn.estsh.i3plus.pojo.mes.bean.MesRawPartCharging;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingQueue;
@ -10,6 +11,7 @@ import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
/**
* BUSI
@ -25,6 +27,21 @@ public interface IMesProductionDispatchContextStepService {
@ApiOperation(value = "获取展示组件MODULE_CONTENT内容")
List<List<StationKvBean>> getModuleContentContext(StationRequestBean reqBean);
@ApiOperation(value = "获取上下文零件数据信息")
Map<String, MesPart> getPartDataContext(StationRequestBean reqBean);
@ApiOperation(value = "获取上下文零件数据信息")
Map<String, MesPartContext> getPartDataExtContext(StationRequestBean reqBean);
@ApiOperation(value = "获取上下文零件数据信息")
Map<String, ? extends MesPart> getPartDataContext(StationRequestBean reqBean, Boolean isExt);
@ApiOperation(value = "保存上下文零件数据信息", notes = "[JSON]Map<String, MesPart>")
Boolean dispatchPartDataContext(StationRequestBean reqBean, Map<String, ? extends MesPart> partDataMap);
@ApiOperation(value = "删除上下文零件数据信息")
void removePartDataContext(StationRequestBean reqBean);
@ApiOperation(value = "获取上下文加工结果")
String getProductResultContext(StationRequestBean reqBean);

@ -101,21 +101,6 @@ public interface IMesProductionProcessContextStepService {
@ApiOperation(value = "存储设备的装配件清单")
Boolean dispatchAssemblyNosortCfgContext(StationRequestBean reqBean, List<MesProductionAssemblyNosortContext> assemblyNosortCfgList);
@ApiOperation(value = "获取上下文零件数据信息")
Map<String, MesPart> getPartDataContext(StationRequestBean reqBean);
@ApiOperation(value = "获取上下文零件数据信息")
Map<String, MesPartContext> getPartDataExtContext(StationRequestBean reqBean);
@ApiOperation(value = "获取上下文零件数据信息")
Map<String, ? extends MesPart> getPartDataContext(StationRequestBean reqBean, Boolean isExt);
@ApiOperation(value = "保存上下文零件数据信息", notes = "[JSON]Map<String, MesPart>")
Boolean dispatchPartDataContext(StationRequestBean reqBean, Map<String, ? extends MesPart> partDataMap);
@ApiOperation(value = "删除上下文零件数据信息")
void removePartDataContext(StationRequestBean reqBean);
@ApiOperation(value = "获取手动选择的腔数及工单信息上下文")
List<StationKvBean> getFunctionChooseCavityOrderContext(StationRequestBean reqBean);

@ -204,7 +204,7 @@ public class MesFirstMouldNoReadStepService extends BaseStepService {
//保存零件数据信息
public void savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List<MesProductionPartContext> productionPartContextList, Boolean isBackError, Boolean isFilter) {
//保存零件数据信息
partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, false, false);
partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, false, true, false);
}
//验证一模多腔信息

@ -132,7 +132,7 @@ public class MesProductSnGenerateStepService extends BaseStepService {
//获取上下文零件数据信息
List<String> partNoList = (prodRuleContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getOutPartNo()))).map(MesProdRuleContext::getOutPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, false, false);
partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, false, true, false);
//从上下文中取出工位对象
MesWorkCell workCell = productionProcessContext.getWorkCell();

@ -214,7 +214,7 @@ public class MesProductSnPrintNosortStepService extends BaseStepService {
//获取上下文零件数据信息
List<String> partNoList = (prodRuleDataContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getOutPartNo()))).map(MesProdRuleContext::getOutPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
//保存零件数据信息
partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, false);
partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true, false);
return stepResult.isCompleted() ? (Map<String, MesPart>) stepResult.getObj() : null;
}

@ -111,7 +111,7 @@ public class MesProductSnPrintSortStepService extends BaseStepService {
Map<Integer, MesProdRuleContext> prodRuleContextMap = prodRuleContextList.stream().filter(o -> null != o).collect(Collectors.toMap(MesProdRuleContext::getForeignKey, o -> o));
// 获取零件信息上下文
Map<String, MesPart> partDataContext = productionProcessContextStepService.getPartDataContext(reqBean);
Map<String, MesPart> partDataContext = productionDispatchContextStepService.getPartDataContext(reqBean);
//默认客户条码编码规则配置代码
String defaultCustMatchRule = getDefaultCustMatchRule(reqBean.getOrganizeCode());

@ -89,7 +89,7 @@ public class MesProductSnSaveStepService extends BaseStepService {
//获取上下文零件数据信息
List<String> partNoList = (productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPsOutContext::getPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, false, false);
partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, false, true, false);
//获取上下文加工结果
String productResult = productionDispatchContextStepService.getProductResultContext(reqBean);

@ -173,7 +173,7 @@ public class MesProductionPartNoReadStepService extends BaseStepService {
List<String> readList = equipVariableCollectContextList.stream().filter(o -> null != o).map(MesEquipVariableCollectContext::getEquipVariableValue).collect(Collectors.toList());
List<String> partNoList = readList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList());
if (!partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, false).isCompleted()) {
if (!partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true, false).isCompleted()) {
this.sendMessage(reqBean, new StationResultBean().writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.READ.getValue()).checkRepeat(),
String.format("当前未读取到设备[%s]有效的产出零件号,%s持续监听中...%s", cellEquipContext.getEquipmentName(), stepResult.getMsg(), JSONObject.toJSONString(equipLogDispatchContext)), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
stepThreadSleepAndSendTaskCompleteAndThrowEx(reqBean, resultBean,

@ -105,7 +105,7 @@ public class MesProductionPartNoScanStepService extends BaseStepService {
partNoList = readList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList());
//验证零件编码有效性
if (!CollectionUtils.isEmpty(partNoList)) partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, false);
if (!CollectionUtils.isEmpty(partNoList)) partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true, false);
//验证失败,删除手动选择的腔数及零件信息上下文
if (CollectionUtils.isEmpty(partNoList) || !stepResult.isCompleted()) productionProcessContextStepService.removeFunctionChooseCavityPartContext(reqBean);
@ -129,7 +129,7 @@ public class MesProductionPartNoScanStepService extends BaseStepService {
partNoList = readList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList());
//验证零件编码有效性
if (!CollectionUtils.isEmpty(partNoList)) partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true);
if (!CollectionUtils.isEmpty(partNoList)) partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true, false);
if (stepResult.isCompleted()) suffix = String.format("%s:%s[%s]", MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getDescription(), !scanInfo.equals(productionProcessContext.getFinishCode()) ? "零件编码" : "空腔嘛", scanInfo);

@ -109,7 +109,7 @@ public class MesWorkOrderCheckNosortStepService extends MesWorkOrderCheckStepSer
if (partDataMapSaveStepService.checkIsAllFinishCode(productionPartContextList)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前加工单信息全部为空腔,已清除当前的空腔数据!");
//保存零件数据信息
if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true, false).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
//保存上下文产出零件信息
productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList);

@ -124,7 +124,7 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi
if (checkPartProdGroupCodeIsExistRepeat(reqBean, productionPartContextList, cachedProductionPartContextList)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "不支持生产相同的零件生产组的加工单,已清除当前的加工单数据!");
//保存零件数据信息
if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true, false).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
//保存上下文产出零件信息
productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList);

@ -116,7 +116,7 @@ public class MesWorkOrderCheckSortStepServiceBak extends MesWorkOrderCheckStepSe
if (checkPartProdGroupCodeIsExistRepeat(reqBean, productionPartContextList, cachedProductionPartContextList)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "不支持生产相同的零件生产组的加工单,已清除当前的加工单数据!");
//保存零件数据信息
if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true, false).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
//保存上下文产出零件信息
productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList);

@ -219,7 +219,7 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService {
packProductionPartContextList(productionProcessContext, equipVariableCollectContextList, productionPartContextList, cutScheme, mesWorkOrderCutDetailList, workOrderList);
//保存 上下文 零件数据信息
if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true, false, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, false, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg());
// 裁片方案成品配置
List<MesCutSchemeFg> mesCutSchemeFgList = workOrderCutService.queryCutSchemeFgList(cutScheme.getCutCode(), reqBean.getOrganizeCode());
@ -281,7 +281,7 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService {
}
productionProcessContextStepService.dispatchPartDataContext(reqBean, partDataExtContext);
productionDispatchContextStepService.dispatchPartDataContext(reqBean, partDataExtContext);
productionDispatchContextStepService.dispatchMesWorkOrderCutFgDataContext(reqBean, workOrderCutDetailModelList);

@ -2,7 +2,8 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPartContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.actor.shipping.dispatch.IFsmRouteDataService;
@ -12,12 +13,13 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCutPackage;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderCutPackageRepository;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import lombok.extern.slf4j.Slf4j;
@ -70,7 +72,7 @@ public class MesWorkOrderCutPackageSnSaveStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
// 获取产成零件信息
Map<String, MesPartContext> partDataContext = productionProcessContextStepService.getPartDataExtContext(reqBean);
Map<String, MesPartContext> partDataContext = productionDispatchContextStepService.getPartDataExtContext(reqBean);
//从上下文中取出工位对象
MesWorkCell workCell = productionProcessContext.getWorkCell();

@ -109,7 +109,7 @@ public class MesWorkOrderCutProductSnSaveStepService extends BaseStepService {
Map<String, MesProdRuleContext> prodRuleContextMapByOutPartNo = prodRuleContextList.stream().collect(Collectors.toMap(MesProdRuleContext::getOutPartNo, Function.identity(), (x, y) -> y));
// 获取产成零件信息
Map<String, MesPart> partDataContext = productionProcessContextStepService.getPartDataContext(reqBean);
Map<String, MesPart> partDataContext = productionDispatchContextStepService.getPartDataContext(reqBean);
//从上下文中取出工位对象
MesWorkCell workCell = productionProcessContext.getWorkCell();

@ -6,6 +6,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush;
import cn.estsh.i3plus.pojo.mes.bean.MesRawPartCharging;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingQueue;
@ -20,6 +21,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.List;
import java.util.Map;
import java.util.StringJoiner;
/**
@ -58,6 +60,41 @@ public class MesProductionDispatchContextStepService extends BaseStepService imp
return StringUtils.isEmpty(moduleContent) ? null : JSONObject.parseObject(moduleContent, new TypeReference<List<List<StationKvBean>>>() {});
}
//获取上下文零件数据信息
@Override
public Map<String, MesPart> getPartDataContext(StationRequestBean reqBean) {
String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT);
return !StringUtils.isEmpty(partDataJson) ? JSONObject.parseObject(partDataJson, new TypeReference<Map<String, MesPart>>() {}) : null;
}
//获取上下文零件数据信息
@Override
public Map<String, MesPartContext> getPartDataExtContext(StationRequestBean reqBean) {
String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT);
return !StringUtils.isEmpty(partDataJson) ? JSONObject.parseObject(partDataJson, new TypeReference<Map<String, MesPartContext>>() {}) : null;
}
//获取上下文零件数据信息
@Override
public Map<String, ? extends MesPart> getPartDataContext(StationRequestBean reqBean, Boolean isExt) {
String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT);
return !StringUtils.isEmpty(partDataJson) ?
(!isExt ? JSONObject.parseObject(partDataJson, new TypeReference<Map<String, MesPart>>() {}) : JSONObject.parseObject(partDataJson, new TypeReference<Map<String, MesPartContext>>() {})) : null;
}
//保存上下文零件数据信息 [JSON]Map<String, MesPart>
@Override
public Boolean dispatchPartDataContext(StationRequestBean reqBean, Map<String, ? extends MesPart> partDataMap) {
if (CollectionUtils.isEmpty(partDataMap)) return false;
return dispatchFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT, JSONObject.toJSONString(partDataMap));
}
//删除上下文零件数据信息
@Override
public void removePartDataContext(StationRequestBean reqBean) {
removeFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT);
}
//获取上下文加工结果
@Override
public String getProductResultContext(StationRequestBean reqBean) {

@ -389,41 +389,6 @@ public class MesProductionProcessContextStepService extends BaseStepService impl
return dispatchFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.ASSEMBLY_NOSORT_CFG_CONTEXT, JSONObject.toJSONString(assemblyNosortCfgList));
}
//获取上下文零件数据信息
@Override
public Map<String, MesPart> getPartDataContext(StationRequestBean reqBean) {
String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT);
return !StringUtils.isEmpty(partDataJson) ? JSONObject.parseObject(partDataJson, new TypeReference<Map<String, MesPart>>() {}) : null;
}
//获取上下文零件数据信息
@Override
public Map<String, MesPartContext> getPartDataExtContext(StationRequestBean reqBean) {
String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT);
return !StringUtils.isEmpty(partDataJson) ? JSONObject.parseObject(partDataJson, new TypeReference<Map<String, MesPartContext>>() {}) : null;
}
//获取上下文零件数据信息
@Override
public Map<String, ? extends MesPart> getPartDataContext(StationRequestBean reqBean, Boolean isExt) {
String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT);
return !StringUtils.isEmpty(partDataJson) ?
(!isExt ? JSONObject.parseObject(partDataJson, new TypeReference<Map<String, MesPart>>() {}) : JSONObject.parseObject(partDataJson, new TypeReference<Map<String, MesPartContext>>() {})) : null;
}
//保存上下文零件数据信息 [JSON]Map<String, MesPart>
@Override
public Boolean dispatchPartDataContext(StationRequestBean reqBean, Map<String, ? extends MesPart> partDataMap) {
if (CollectionUtils.isEmpty(partDataMap)) return false;
return dispatchFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT, JSONObject.toJSONString(partDataMap));
}
//删除上下文零件数据信息
@Override
public void removePartDataContext(StationRequestBean reqBean) {
removeFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT);
}
//获取手动选择的腔数及工单信息上下文
@Override
public List<StationKvBean> getFunctionChooseCavityOrderContext(StationRequestBean reqBean) {

@ -1,6 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step.method;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPartContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
@ -33,45 +33,25 @@ import java.util.stream.Collectors;
public class MesPartDataMapSaveStepService extends BaseStepService {
@Autowired
private IMesProductionProcessContextStepService productionProcessContextStepService;
private IMesProductionDispatchContextStepService productionDispatchContextStepService;
@Autowired
private IPartService partService;
//保存零件数据信息
public StepResult savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List<MesProductionPartContext> productionPartContextList, Boolean isBackError, Boolean isFilter, Boolean isSave, Boolean isExt) {
public StepResult savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List<MesProductionPartContext> productionPartContextList, Boolean isBackError, Boolean isSave, Boolean isExt) {
//从一模多腔信息中搜集零件编码并去重
List<String> partNoList = (productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPartContext::getPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, isFilter, isSave, isExt);
return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, true, isSave, isExt);
}
//保存零件数据信息
public StepResult savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List<MesProductionPartContext> productionPartContextList, Boolean isBackError, Boolean isFilter, Boolean isSave) {
public StepResult savePartDataMap(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List<String> partNoList, Boolean isBackError, Boolean isSave, Boolean isExt) {
//从一模多腔信息中搜集零件编码并去重
List<String> partNoList = (productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPartContext::getPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, isFilter, isSave, false);
}
//保存零件数据信息
public StepResult savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List<MesProductionPartContext> productionPartContextList, Boolean isBackError, Boolean isFilter) {
//从一模多腔信息中搜集零件编码并去重
List<String> partNoList = (productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPartContext::getPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, isFilter, true, false);
}
//保存零件数据信息
public StepResult savePartDataMap(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List<String> partNoList, Boolean isBackError, Boolean isFilter) {
return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, isFilter, true, false);
return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, true, isSave, isExt);
}
@ -84,7 +64,7 @@ public class MesPartDataMapSaveStepService extends BaseStepService {
}
//从上下文中取出零件信息集合
Map<String, ? extends MesPart> partDataMap = productionProcessContextStepService.getPartDataContext(reqBean, isExt);
Map<String, ? extends MesPart> partDataMap = productionDispatchContextStepService.getPartDataContext(reqBean, isExt);
//验证上下文中取出零件信息集合是否匹配当前搜集的零件编码
if (!CollectionUtils.isEmpty(partDataMap) && partDataMap.keySet().containsAll(partNoList)) return stepResult.obj(partDataMap);
@ -126,7 +106,7 @@ public class MesPartDataMapSaveStepService extends BaseStepService {
//保存上下文零件数据信息
if (!CollectionUtils.isEmpty(finalPartList) && CollectionUtils.isEmpty(filterList)) {
if (isSave) productionProcessContextStepService.dispatchPartDataContext(reqBean, !isExt ? finalPartDataMap : finalPartDataExtMap);
if (isSave) productionDispatchContextStepService.dispatchPartDataContext(reqBean, !isExt ? finalPartDataMap : finalPartDataExtMap);
return stepResult.obj(!isExt ? finalPartDataMap : finalPartDataExtMap);
}

Loading…
Cancel
Save