diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java index 7b5bec0..da49646 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesEquipmentLogService.java @@ -24,6 +24,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.util.ArrayList; @@ -120,7 +121,12 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { mesEquipmentLogDetail.setCraftCode(mesEquipmentRecord.getCraftCode()); mesEquipmentLogDetail.setProcessCode(mesEquipmentRecord.getProcessCode()); mesEquipmentLogDetail.setWorkCenterCode(mesEquipmentRecord.getWorkCenterCode()); - mesEquipmentLogDetail.setExtend(mesEquipmentRecord.getProduceSnJson()); + + String jsonStr = mesEquipmentRecord.getProduceSnJson(); + if (!StringUtils.isEmpty(jsonStr)) { + + mesEquipmentLogDetail.setExtend(mesEquipmentRecord.getProduceSnJson()); + } mesEquipmentLogDetails.add(mesEquipmentLogDetail); } mesEquipmentLogDetailRepository.saveAll(mesEquipmentLogDetails); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesNumberRuleMatchDispatchService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesNumberRuleMatchDispatchService.java index 68a8d84..3e2d986 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesNumberRuleMatchDispatchService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesNumberRuleMatchDispatchService.java @@ -29,10 +29,10 @@ public class MesNumberRuleMatchDispatchService implements IMesNumberRuleMatchDis if (numberRuleList.get(0) instanceof MesProdRuleNosortCfg) numberRuleList.forEach(o -> matchNumberRule(organizeCode, sn, resultList, o, "mesNumberRuleMatchRegularExpressionService",o, ((MesProdRuleNosortCfg) o).getInPartNoRule())); - if (numberRuleList.get(0) instanceof MesProductionAssemblyNosortContext) numberRuleList.forEach(o -> matchNumberRule(organizeCode, sn, resultList, o, "mesNumberRuleMatchRegularExpressionService",o, ((MesProdRuleNosortCfg) o).getInPartNoRule())); + if (numberRuleList.get(0) instanceof MesProductionAssemblyNosortContext) numberRuleList.forEach(o -> matchNumberRule(organizeCode, sn, resultList, o, "mesNumberRuleMatchRegularExpressionService",o, ((MesProductionAssemblyNosortContext) o).getMatchRule())); - if (numberRuleList.get(0) instanceof MesProductionAssemblySortContext) numberRuleList.forEach(o -> matchNumberRule(organizeCode, sn, resultList, o, "mesNumberRuleMatchRegularExpressionService",o, ((MesProdRuleNosortCfg) o).getInPartNoRule())); + if (numberRuleList.get(0) instanceof MesProductionAssemblySortContext) numberRuleList.forEach(o -> matchNumberRule(organizeCode, sn, resultList, o, "mesNumberRuleMatchRegularExpressionService",o, ((MesProductionAssemblySortContext) o).getMatchRule())); return resultList; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java index 5b3b599..57ee2a1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java @@ -83,7 +83,7 @@ public class MesProductionNoSortModuleService extends BaseModuleService { // 整合班次加工数量 List productionStatisticsContext = productionCustomContextStepService.getProductionStatisticsContext(reqBean); if (CollectionUtils.isEmpty(productionStatisticsContext)) { - productionStatisticsContext = StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(), new StationKvBean(new StringJoiner(MesPcnExtConstWords.AND).add(mesProdShiftKvBean.getShiftGroup()).add(mesProdShiftKvBean.getShiftCode()).toString(), "加次数", "0"), + productionStatisticsContext = StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(), new StationKvBean(new StringJoiner(MesPcnExtConstWords.AND).add(mesProdShiftKvBean.getShiftGroup()).add(mesProdShiftKvBean.getShiftCode()).toString(), "加工数", "0"), new StationKvBean("color", "颜色", MesExtEnumUtil.COLOR.BLACK.getValue())); } StationResultBean shiftCountBean = getStationResultBean(reqBean, productionStatisticsContext,mesWorkCell); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyMatchNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyMatchNosortStepService.java index 02d4b14..cc14197 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyMatchNosortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyMatchNosortStepService.java @@ -251,6 +251,8 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService { } + prodRuleContext.assemblyDataJson(productionAssemblyNosortContextList); + //TODO 发送设备加工参数 if (equipVariableCollectContextList.get(0).getMessageSource().compareTo(MesExtEnumUtil.CELL_MESSAGE_SOURCE.READ.getValue()) != 0) doSendEquipProdParam(reqBean, resultBean, stepResult, prodRuleContext, productionAssemblyNosortContextList); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepService.java index b09f0f1..91911c8 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionReocrdGenerateStepService.java @@ -71,13 +71,14 @@ public class MesProductionReocrdGenerateStepService extends BaseStepService { */ MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getEquipmentVariableList(reqBean, MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue()); MesWorkCell mesWorkCell = productionProcessContext.getWorkCell(); + MesProdShiftContext mesProdShiftKvBean = productionCustomContextStepService.getMesProdShiftKvBean(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode()); List mesProduceSnContexts = mesProductionDispatchContextStepService.getProductionPsOutContext(reqBean); List mesProductionRecords = new ArrayList<>(); mesProduceSnContexts.forEach(mesProductionPsOutContext -> { - MesProductionRecord mesProductionRecord = getMesProductionRecord(productionProcessContext, mesProductionPsOutContext, reqBean); + MesProductionRecord mesProductionRecord = getMesProductionRecord(productionProcessContext, mesProductionPsOutContext,mesProdShiftKvBean, reqBean); ConvertBean.serviceModelInitialize(mesProductionRecord, reqBean.getUserInfo()); mesProductionRecords.add(mesProductionRecord); }); @@ -91,7 +92,7 @@ public class MesProductionReocrdGenerateStepService extends BaseStepService { return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "生成加工记录成功"); } - private MesProductionRecord getMesProductionRecord(MesProductionProcessContext productionProcessContext, MesProductionPsOutContext mesProduceSn, StationRequestBean reqBean) { + private MesProductionRecord getMesProductionRecord(MesProductionProcessContext productionProcessContext, MesProductionPsOutContext mesProduceSn,MesProdShiftContext mesProdShiftKvBean, StationRequestBean reqBean) { MesProductionRecord mesProductionRecord = new MesProductionRecord(); mesProductionRecord.setSerialNumber(mesProduceSn.getSerialNumber()); @@ -106,8 +107,9 @@ public class MesProductionReocrdGenerateStepService extends BaseStepService { mesProductionRecord.setIsComplete(MesEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); mesProductionRecord.setCompleteDateTime(DateUtil.formatDateTime(new Date())); mesProductionRecord.setLotNo(mesProduceSn.getLotNo()); - //mesProductionRecord.setShiftGroup(); - //mesProductionRecord.setWorkOrderNo(productionProcessContext.get); + mesProductionRecord.setShiftGroup(mesProdShiftKvBean.getShiftGroup()); + mesProductionRecord.setShiftCode(mesProdShiftKvBean.getShiftCode()); + mesProductionRecord.setWorkOrderNo(mesProduceSn.getWorkOrderNo()); String mouldNo = ""; MesEquipVariableCollectContext mesFirstMouldNoCollectContext = mesProductionDispatchContextStepService.getFirstMouldNoContext(reqBean); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java index 741ef20..d65cc19 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesVariableWhenFinishedReadStepService.java @@ -8,6 +8,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ActorMessage; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesOrderModel; import cn.estsh.i3plus.mes.pcn.config.SpringExtProvider; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; @@ -22,9 +23,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; /** * @Description : 保存工艺参数 @@ -73,7 +76,11 @@ public class MesVariableWhenFinishedReadStepService extends BaseStepService { // 通过上下文获取工位设备信息 MesCellEquipContext curCellEquip = productionProcessContext.getCurCellEquip(); - String mesProduceSnsStr = !CollectionUtils.isEmpty(mesProduceSnContexts) ? JSONObject.toJSONString(mesProduceSnContexts) : null; + List modelList = mesProduceSnContexts.stream().map(order -> + MesOrderModel.builder().workOrderNo(order.getWorkOrderNo()).productSn(order.getProductSn()).partNo(order.getPartNo()).build() + ).collect(Collectors.toList()); + + String mesProduceSnsStr = !CollectionUtils.isEmpty(modelList) ? JSONObject.toJSONString(modelList) : null; ActorMessage actorMessage = ActorMessage.builder() .equipmentCode(curCellEquip.getEquipmentCode()) .equipId(curCellEquip.getEquipId()) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionCustomContextStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionCustomContextStepService.java index 6cb4005..c0ad6e0 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionCustomContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionCustomContextStepService.java @@ -204,7 +204,7 @@ public class MesProductionCustomContextStepService extends BaseStepService imple List stationKvBeans = getProductionStatisticsContext(reqBean); if (CollectionUtils.isEmpty(stationKvBeans)) { - String name = "加次数"; + String name = "加工数"; String value = count + ""; List generateStationKvBeans = StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(), new StationKvBean(key, name, value), new StationKvBean("color", "颜色", MesExtEnumUtil.COLOR.BLACK.getValue())); diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesOrderModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesOrderModel.java new file mode 100644 index 0000000..9b90b10 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesOrderModel.java @@ -0,0 +1,27 @@ +package cn.estsh.i3plus.ext.mes.pcn.pojo.model; + +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; +import io.swagger.annotations.ApiParam; +import lombok.Builder; +import lombok.Data; + +import javax.persistence.Column; +import java.io.Serializable; + +/** + * + */ +@Data +@Builder +public class MesOrderModel implements Serializable { + + @ApiParam("产品条码") + private String productSn; + + @ApiParam("生产工单号") + private String workOrderNo; + + @ApiParam("物料号") + private String partNo; + +}