From 41d8aae13f00ea7c61c5cf93a299587b34c865e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E7=AC=91=E7=9D=80=E9=9D=A2=E5=AF=B9=E6=98=8E?= =?UTF-8?q?=E5=A4=A9?= <752558143@qq.com> Date: Wed, 17 Jul 2024 21:19:18 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=8A=A5=E5=B7=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/pcn/api/mqtt/MqttService.java | 8 ++ .../apiservice/controller/busi/TestController.java | 2 +- .../controller/mqtt/PcnMqttController.java | 13 +++ .../serviceimpl/busi/MesWorkOrderExtService.java | 7 ++ .../serviceimpl/mqtt/MqttServiceImpl.java | 107 +++++++++++++++++++++ .../step/MesAssemblyShowNosortStepService.java | 2 +- 6 files changed, 137 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/mqtt/MqttService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/mqtt/MqttService.java index 1c58fe7..3423efc 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/mqtt/MqttService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/mqtt/MqttService.java @@ -35,4 +35,12 @@ public interface MqttService { * */ void connect(); + + /** + * 发布主题消息内容 + * + */ + void testSend(); + + void testSendList(); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java index 82b6dc9..9605122 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/TestController.java @@ -131,7 +131,7 @@ public class TestController { @GetMapping("/testInsert") @ApiOperation(value = "批量") public void testInsert() { - testService.insertList(); + //testService.insertList(); } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/mqtt/PcnMqttController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/mqtt/PcnMqttController.java index 3600434..b1c2b31 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/mqtt/PcnMqttController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/mqtt/PcnMqttController.java @@ -52,4 +52,17 @@ public class PcnMqttController { public void connect() { mqttService.connect(); } + + + @PostMapping("/testSend") + @ApiOperation(value = "批量发送") + public void testSend() { + mqttService.testSend(); + } + @PostMapping("/testSendList") + @ApiOperation(value = "批量发送") + public void testSendList() { + mqttService.testSendList(); + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderExtService.java index 705e9a7..3df4474 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderExtService.java @@ -9,12 +9,14 @@ import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository; +import cn.hutool.core.date.DateUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import java.util.Date; import java.util.List; import java.util.UUID; import java.util.stream.Collectors; @@ -77,9 +79,14 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService { @Override public List getWorkOrderListByShiftCode(String organizeCode, String workCenterCode, String shiftCode) { + String currentTime = DateUtil.formatDateTime(new Date()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); DdlPreparedPack.getStringEqualPack(shiftCode, MesPcnExtConstWords.SHIFT_CODE, packBean); + DdlPreparedPack.getStringSmallerNotEqualPack(currentTime, "planStartTime", packBean); + DdlPreparedPack.getStringBiggerNotEqualPack(currentTime, "planEndTime", packBean); + return workOrderRepository.findByHqlWhere(packBean); } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/mqtt/MqttServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/mqtt/MqttServiceImpl.java index 48e9385..d026f43 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/mqtt/MqttServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/mqtt/MqttServiceImpl.java @@ -2,16 +2,34 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.mqtt; import cn.estsh.i3plus.ext.mes.pcn.api.mqtt.MqttService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.mqtt.PcnMqttClient; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; +import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentLogRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository; +import com.google.common.collect.Lists; import org.eclipse.paho.client.mqttv3.MqttException; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + @Service public class MqttServiceImpl implements MqttService { @Autowired private PcnMqttClient myMqttClient; + @Autowired + private MesEquipmentVariableRepository mesEquipmentVariableRepository; + + @Autowired + private MesEquipmentLogRepository mesEquipmentLogRepository; + @Override public void addTopic(String topic) { myMqttClient.subscribe(topic); @@ -57,4 +75,93 @@ public class MqttServiceImpl implements MqttService { e.printStackTrace(); } } + + @Override + public void testSend() { + /* MesEquipmentVariable equipmentVariable = mesEquipmentVariableRepository.getById(1813525136173084672l); + List array = new ArrayList<>(); + for (int i = 0; i< 10000; i++) { + MesEquipmentVariable equipmentVariableNew = new MesEquipmentVariable(); + BeanUtils.copyProperties(equipmentVariable, equipmentVariableNew); + //equipmentVariableNew.setId(equipmentVariable.getId()+1); + equipmentVariableNew.setId(null); + equipmentVariableNew.setTagAddress(equipmentVariableNew.getTagAddress() +i); + equipmentVariableNew.setTagName(equipmentVariableNew.getTagName() +i); + ConvertBean.serviceModelInitialize(equipmentVariableNew,"test"); + array.add(equipmentVariableNew); + } + List> lists = Lists.partition(array, 100); + for (List list : lists) { + mesEquipmentVariableRepository.saveAll(list); + }*/ + DdlPackBean packBean = new DdlPackBean(); + DdlPreparedPack.getNumEqualPack(300, "equipId", packBean); + + List arrayEquip = new ArrayList<>(); + + List equipmentVariables = mesEquipmentVariableRepository.findByHqlWhere(packBean); + for (MesEquipmentVariable variable : equipmentVariables) { + MesEquipmentLog mesEquipmentLogNew = new MesEquipmentLog(); + + mesEquipmentLogNew.setEquipVariableName(variable.getTagAddress()); + mesEquipmentLogNew.setEquipVariableId(variable.getId()); + mesEquipmentLogNew.setEquipId(variable.getEquipId()); + mesEquipmentLogNew.setEquipmentCode(variable.getEquipmentCode()); + mesEquipmentLogNew.setEquipVariableStatus(0); + mesEquipmentLogNew.setEquipVariableValue("1"); + arrayEquip.add(mesEquipmentLogNew); + + } + List> lists1 = Lists.partition(arrayEquip, 100); + for (List list : lists1) { + mesEquipmentLogRepository.saveAll(list); + } +/* + + DdlPackBean packBean = new DdlPackBean(); + DdlPreparedPack.getNumEqualPack(1813525136173084672l, "id", packBean); + DdlPreparedPack.getNumEqualPack(300, "equipId", packBean); + + MesEquipmentLog mesEquipmentLog = mesEquipmentLogRepository.getByProperty(packBean); + + + List arrayEquip = new ArrayList<>(); + for (int i = 0; i< 10000; i++) { + Long id = 1813525136173084672l; + MesEquipmentLog mesEquipmentLogNew = new MesEquipmentLog(); + BeanUtils.copyProperties(mesEquipmentLog, mesEquipmentLogNew); + mesEquipmentLogNew.setId(mesEquipmentLog.getId()+1); + mesEquipmentLogNew.setEquipVariableId(id +i); + mesEquipmentLogNew.setEquipVariableDesc(mesEquipmentLog.getEquipVariableValue() +i); + mesEquipmentLogNew.setEquipVariableDesc(mesEquipmentLog.getEquipVariableValue() +i); + + arrayEquip.add(mesEquipmentLogNew); + } + List> lists1 = Lists.partition(arrayEquip, 100); + for (List list : lists1) { + mesEquipmentLogRepository.saveAll(list); + } +*/ + +/* + String aa = "[{\"PTCode\":\"156\",\"key\":\"DB1000,X344.0\",\"tagAddress\":\"DB1000.344.0\",\"value\":false,\"time\":\"2024-07-17 16:18:13\"}]" + + myMqttClient.publish(msgJson, topic);*/ + } + + @Override + public void testSendList() { + String start ="["; + for (int i=0; i<100 ; i++) { + String aa = "{\"PTCode\":\"156\",\"key\":\"aa " + i + + "\",\"value\":2,\"time\":\"2024-07-17 16:18:13\"}"; + + start += aa; + } + String end ="]"; + start += end; + + myMqttClient.publish(start, "ABC"); + + } } \ No newline at end of file diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyShowNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyShowNosortStepService.java index 3899344..295f83c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyShowNosortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyShowNosortStepService.java @@ -218,7 +218,7 @@ public class MesAssemblyShowNosortStepService extends BaseStepService { } // 如果配置了超工单,且比例已经超过了配置的超工单比例,也需要阻断 double rate = (complateQty - qty)/qty; - if (rate > workCenter.getOrderRate()) { + if (rate > workCenter.getOrderRate()/100) { productionPartContextList.forEach(o -> o.busiCheckToDelete()); if (!CollectionUtils.isEmpty(productionPsInContextList)) productionPsInContextList.forEach(o -> o.busiCheckToDelete()); return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult.obj(false), String.format("请检查工单数量,工单号[%s],工单数量[%s]预完成数量[%s],配置了超工单,但超过了比例[%s]!", workOrder, mesWorkOrder.getQty(), complateQty, workCenter.getOrderRate())); From e998b145114cf82e44c68b340ffd864da0da96ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E7=AC=91=E7=9D=80=E9=9D=A2=E5=AF=B9=E6=98=8E?= =?UTF-8?q?=E5=A4=A9?= <752558143@qq.com> Date: Wed, 17 Jul 2024 22:55:06 +0800 Subject: [PATCH 2/4] =?UTF-8?q?mqtt=20=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/apiservice/mqtt/PcnMqttCallback.java | 28 +++++++++++++++++++++- .../serviceimpl/base/MesEquipmentLogService.java | 2 -- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/mqtt/PcnMqttCallback.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/mqtt/PcnMqttCallback.java index 1edcaaa..850ea70 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/mqtt/PcnMqttCallback.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/mqtt/PcnMqttCallback.java @@ -17,10 +17,30 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; @Slf4j public class PcnMqttCallback implements MqttCallbackExtended { + private static ExecutorService executorService = new ThreadPoolExecutor(1, 20, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue<>(200), r -> { + Thread thread = new Thread(r); + thread.setName("executorService--"+r.hashCode()); + return thread; + },new ThreadPoolExecutor.DiscardPolicy()); + + private static ExecutorService executorServiceTwo = new ThreadPoolExecutor(1, 20, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue<>(200), r -> { + Thread thread = new Thread(r); + thread.setName("executorServiceTwo--"+r.hashCode()); + return thread; + },new ThreadPoolExecutor.DiscardPolicy()); + //手动注入 private MqttConfig mqttConfig = SpringUtils.getBean(MqttConfig.class); @@ -94,6 +114,12 @@ public class PcnMqttCallback implements MqttCallbackExtended { @Override public void messageArrived(String topic, MqttMessage mqttMessage) { log.info("== pcnMqttCallback ==> messageArrived 接收消息主题: {},接收消息内容: {}", topic, new String(mqttMessage.getPayload())); + executorService.execute(() -> saveData(topic, mqttMessage)); + } + + private void saveData(String topic, MqttMessage mqttMessage) { + log.info("== pcnMqttCallback ==> messageArrived 接收消息主题: {},异步处理开始 消息内容: {}", topic, new String(mqttMessage.getPayload())); + try{ String resStr = new String(mqttMessage.getPayload(), "UTF-8").trim(); /** @@ -102,7 +128,7 @@ public class PcnMqttCallback implements MqttCallbackExtended { //topic1主题 List equipLogMqttMsgList = JSONObject.parseArray(resStr, EquipLogMqttMsg.class); for (EquipLogMqttMsg equipLogMqttMsg : equipLogMqttMsgList) { - equipmentLogService.updateValue(equipLogMqttMsg); + executorServiceTwo.execute(()-> equipmentLogService.updateValue(equipLogMqttMsg)); } //业务处理 //doSomething1(maps); 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 e00fce8..d81e29d 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 @@ -175,14 +175,12 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { DdlPreparedPack.getNumEqualPack(equipmentLog.getEquipId(), MesPcnExtConstWords.EQUIP_ID, packBean); DdlPreparedPack.getNumEqualPack(equipmentLog.getEquipVariableId(), MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean); mesEquipmentLogRepository.updateByProperties(new String[]{MesPcnExtConstWords.EQUIP_VARIABLE_STATUS,"equipVariableValue"}, new Object[]{MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(),equipLogMqttMsg.getValue() }, packBean); - LOGGER.info("messageArrived -> value修改成功"); MesEquipmentLogDetail mesEquipmentLogDetail = new MesEquipmentLogDetail(); BeanUtils.copyProperties(equipmentLog, mesEquipmentLogDetail); ConvertBean.serviceModelInitialize(mesEquipmentLogDetail, "mqtt"); mesEquipmentLogDetailRepository.saveAll(Arrays.asList(mesEquipmentLogDetail)); - LOGGER.info("messageArrived -> detail插入成功"); } } From 15c5f128371882886c29b469131c906ae0f36dc0 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 18 Jul 2024 13:49:31 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IMesProductionProcessContextStepService.java | 3 + .../schedulejob/MesWorkCellOperationLogJob.java | 1 + .../busi/MesWorkCellScanMonitorLogServiceImpl.java | 101 +++++++++++---------- .../MesWorkCellScanMonitorLogExtService.java | 32 +++++++ .../rulematch/MesEvcRuleMatchBackValueService.java | 16 +++- .../MesProductionProcessContextStepService.java | 6 ++ .../MesProductionProcessMonitorService.java | 8 ++ .../context/MesEquipVariableCollectContext.java | 11 ++- .../ext/mes/pcn/pojo/util/MesPcnExtConstWords.java | 2 + 9 files changed, 127 insertions(+), 53 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionProcessContextStepService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionProcessContextStepService.java index aea27f1..539274d 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionProcessContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionProcessContextStepService.java @@ -124,6 +124,9 @@ public interface IMesProductionProcessContextStepService { @ApiOperation(value = "获取上下文工位扫描监控信息") MesScanMonitorContext getScanMonitorContext(String organizeCode, String workCenterCode, String workCellCode); + @ApiOperation(value = "获取上下文工位扫描监控信息的开模记录ID") + String getScanMonitorContextMouldRecordId(StationRequestBean reqBean); + @ApiOperation(value = "删除上下文工位扫描监控信息") void deleteScanMonitorContext(StationRequestBean reqBean); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesWorkCellOperationLogJob.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesWorkCellOperationLogJob.java index e411f89..b7aac0a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesWorkCellOperationLogJob.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesWorkCellOperationLogJob.java @@ -36,6 +36,7 @@ public class MesWorkCellOperationLogJob extends BaseMesScheduleJob { @Override public void executeMesJob(JobExecutionContext context, ApplicationProperties applicationProperties) { + if (true) return; /** * 入参 * { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCellScanMonitorLogServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCellScanMonitorLogServiceImpl.java index 677d642..5f9edc8 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCellScanMonitorLogServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkCellScanMonitorLogServiceImpl.java @@ -1,23 +1,24 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkCellScanMonitorLogService; -import cn.estsh.i3plus.platform.common.convert.ConvertBean; -import cn.estsh.i3plus.platform.common.tool.TimeTool; -import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellScanMonitorLog; import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository; import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellScanMonitorLogRepository; -import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; -import com.netflix.discovery.converters.Auto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; +//import cn.estsh.i3plus.platform.common.convert.ConvertBean; +//import cn.estsh.i3plus.platform.common.tool.TimeTool; +//import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +//import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +//import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +//import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; +//import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellScanMonitorLog; +//import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; +//import com.netflix.discovery.converters.Auto; + +//import java.util.List; +//import java.util.Map; +//import java.util.stream.Collectors; /** * @Description : @@ -43,44 +44,44 @@ public class MesWorkCellScanMonitorLogServiceImpl implements IMesWorkCellScanMon */ @Override public void doRecordCellOperationLog(String organizeCode, Integer pageSize, Integer times) { - //查询serviceFlag是未处理状态,mouldRecordId不为空的记录,每次查询pageSize 默认50条 - DdlPackBean logPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue(), "dealStatus", logPackBean); - DdlPreparedPack.getNumberSmallerEqualPack(times, "times", logPackBean); - DdlPreparedPack.getIsNotNull("mouldRecordId", logPackBean); - DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, logPackBean); - List monitorLogs = monitorLogRao.findByHqlTopWhere(logPackBean, pageSize); - - if (!monitorLogs.isEmpty()) { - List mouldRecordIdList = monitorLogs.stream().map(MesWorkCellScanMonitorLog::getMouldRecordId).distinct().collect(Collectors.toList()); - Map> logs = monitorLogs.stream().collect(Collectors.groupingBy(MesWorkCellScanMonitorLog::getMouldRecordId)); - for (Long mouldRecordId : mouldRecordIdList) { - DdlPackBean recordPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(mouldRecordId, "mouldRecordId", recordPackBean); - - List recordList = productionRecordRao.findByHqlWhere(recordPackBean); - //需要补录如下字段 - DdlPackBean monitorLogPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(mouldRecordId, "mouldRecordId", monitorLogPackBean); - int newTimes = logs.get(mouldRecordId).get(0).getTimes() + 1; - if (!recordList.isEmpty()) { - String workOrderNoStr = recordList.stream().map(MesProductionRecord::getWorkOrderNo).collect(Collectors.joining(",")); - String serialNoStr = recordList.stream().map(MesProductionRecord::getSerialNumber).collect(Collectors.joining(",")); - String productSnStr = recordList.stream().map(MesProductionRecord::getProductSn).collect(Collectors.joining(",")); - String custSnStr = recordList.stream().map(MesProductionRecord::getCustSn).collect(Collectors.joining(",")); - String partNoStr = recordList.stream().map(MesProductionRecord::getPartNo).collect(Collectors.joining(",")); - String partNameStr = recordList.stream().map(MesProductionRecord::getPartName).collect(Collectors.joining(",")); - monitorLogRao.updateByProperties(new String[]{"workOrderNo", "serialNumber", "productSn", "custSn", "partNo", "partName", "modifyDatetime", "modifyUser", "dealStatus", "times"}, - new Object[]{workOrderNoStr, serialNoStr, productSnStr, custSnStr, partNoStr, partNameStr, TimeTool.getNowTime(true), "JOB", MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue(), newTimes}, monitorLogPackBean); - } else { - if (newTimes > times) { - monitorLogRao.updateByProperties(new String[]{"modifyDatetime", "modifyUser", "times"}, new Object[]{TimeTool.getNowTime(true), "JOB", newTimes}, monitorLogPackBean); - } else { - monitorLogRao.updateByProperties(new String[]{"modifyDatetime", "modifyUser", "times", "dealStatus"}, new Object[]{TimeTool.getNowTime(true), "JOB", newTimes, MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_FAILURE.getValue()}, monitorLogPackBean); - } - } - } - } +// //查询serviceFlag是未处理状态,mouldRecordId不为空的记录,每次查询pageSize 默认50条 +// DdlPackBean logPackBean = DdlPackBean.getDdlPackBean(organizeCode); +// DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue(), "dealStatus", logPackBean); +// DdlPreparedPack.getNumberSmallerEqualPack(times, "times", logPackBean); +// DdlPreparedPack.getIsNotNull("mouldRecordId", logPackBean); +// DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, logPackBean); +// List monitorLogs = monitorLogRao.findByHqlTopWhere(logPackBean, pageSize); +// +// if (!monitorLogs.isEmpty()) { +// List mouldRecordIdList = monitorLogs.stream().map(MesWorkCellScanMonitorLog::getMouldRecordId).distinct().collect(Collectors.toList()); +// Map> logs = monitorLogs.stream().collect(Collectors.groupingBy(MesWorkCellScanMonitorLog::getMouldRecordId)); +// for (Long mouldRecordId : mouldRecordIdList) { +// DdlPackBean recordPackBean = DdlPackBean.getDdlPackBean(organizeCode); +// DdlPreparedPack.getNumEqualPack(mouldRecordId, "mouldRecordId", recordPackBean); +// +// List recordList = productionRecordRao.findByHqlWhere(recordPackBean); +// //需要补录如下字段 +// DdlPackBean monitorLogPackBean = DdlPackBean.getDdlPackBean(organizeCode); +// DdlPreparedPack.getNumEqualPack(mouldRecordId, "mouldRecordId", monitorLogPackBean); +// int newTimes = logs.get(mouldRecordId).get(0).getTimes() + 1; +// if (!recordList.isEmpty()) { +// String workOrderNoStr = recordList.stream().map(MesProductionRecord::getWorkOrderNo).collect(Collectors.joining(",")); +// String serialNoStr = recordList.stream().map(MesProductionRecord::getSerialNumber).collect(Collectors.joining(",")); +// String productSnStr = recordList.stream().map(MesProductionRecord::getProductSn).collect(Collectors.joining(",")); +// String custSnStr = recordList.stream().map(MesProductionRecord::getCustSn).collect(Collectors.joining(",")); +// String partNoStr = recordList.stream().map(MesProductionRecord::getPartNo).collect(Collectors.joining(",")); +// String partNameStr = recordList.stream().map(MesProductionRecord::getPartName).collect(Collectors.joining(",")); +// monitorLogRao.updateByProperties(new String[]{"workOrderNo", "serialNumber", "productSn", "custSn", "partNo", "partName", "modifyDatetime", "modifyUser", "dealStatus", "times"}, +// new Object[]{workOrderNoStr, serialNoStr, productSnStr, custSnStr, partNoStr, partNameStr, TimeTool.getNowTime(true), "JOB", MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue(), newTimes}, monitorLogPackBean); +// } else { +// if (newTimes > times) { +// monitorLogRao.updateByProperties(new String[]{"modifyDatetime", "modifyUser", "times"}, new Object[]{TimeTool.getNowTime(true), "JOB", newTimes}, monitorLogPackBean); +// } else { +// monitorLogRao.updateByProperties(new String[]{"modifyDatetime", "modifyUser", "times", "dealStatus"}, new Object[]{TimeTool.getNowTime(true), "JOB", newTimes, MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_FAILURE.getValue()}, monitorLogPackBean); +// } +// } +// } +// } } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java index 5d73101..830fc51 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java @@ -1,10 +1,12 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.equiplog; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesScanMonitorContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.swslog.ISwsWriteDbLogService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; @@ -17,8 +19,12 @@ import lombok.extern.slf4j.Slf4j; 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 java.util.List; +import java.util.stream.Collectors; + @Slf4j @Service public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogService { @@ -81,5 +87,31 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic } + @Override + public void doRestoreDbLog(StationResultBean resultBean) { + + if (StringUtils.isEmpty(resultBean.getScanInfo()) || CollectionUtils.isEmpty(resultBean.getResultList())) return; + + List productionPsOutContextList = resultBean.getResultList(); + + String workOrderNo = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkOrderNo()))).map(MesProductionPsOutContext::getWorkOrderNo).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String serialNumber = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getSerialNumber()))).map(MesProductionPsOutContext::getSerialNumber).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String productSn = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProductSn()))).map(MesProductionPsOutContext::getProductSn).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String custSn = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getCustSn()))).map(MesProductionPsOutContext::getCustSn).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String partNo = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPsOutContext::getPartNo).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String partName = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartName()))).map(MesProductionPsOutContext::getPartName).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(resultBean.getOrganizeCode()); + DdlPreparedPack.getNumEqualPack(Long.valueOf(resultBean.getScanInfo()), MesPcnExtConstWords.MOULD_RECORD_ID, packBean); + + workCellScanMonitorLogRepository.updateByProperties( + new String[]{MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.SERIAL_NUMBER, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.CUST_SN, + MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.PART_NAME, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.DEAL_STATUS}, + new Object[]{workOrderNo, serialNumber, productSn, custSn, + partNo, partName, TimeTool.getNowTime(true), resultBean.getUserInfo(), MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue()}, + packBean); + + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchBackValueService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchBackValueService.java index 9d6028d..336d51c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchBackValueService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/rulematch/MesEvcRuleMatchBackValueService.java @@ -6,9 +6,9 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; @@ -35,7 +35,7 @@ public class MesEvcRuleMatchBackValueService implements IMesEquipVariableCfgRule if (CollectionUtils.isEmpty(backList)) backList = new ArrayList<>(); - backList.add(equipVariableCollectContext); + backList.add(filterSpecialChar(equipVariableCollectContext)); } @@ -45,4 +45,16 @@ public class MesEvcRuleMatchBackValueService implements IMesEquipVariableCfgRule } + //不过滤":",tesla零件号带冒号 + //不过滤[)>字符 + private MesEquipVariableCollectContext filterSpecialChar(MesEquipVariableCollectContext equipVariableCollectContext) { + + String realEquipVariableValue = equipVariableCollectContext.getEquipVariableValue(); + + String equipVariableValue = StringUtils.removePattern(equipVariableCollectContext.getEquipVariableValue(), "[^A-Z^a-z0-9_^\\s^\\-^/^\\.^\\[^\\)^\\>^\\:]"); + + return realEquipVariableValue.equals(equipVariableValue) ? equipVariableCollectContext : equipVariableCollectContext.replaceValue(realEquipVariableValue, equipVariableValue); + + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessContextStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessContextStepService.java index e2d6967..f8fb8d3 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessContextStepService.java @@ -450,6 +450,12 @@ public class MesProductionProcessContextStepService extends BaseStepService impl return !StringUtils.isEmpty(scanMonitorContextJson) ? JSONObject.parseObject(scanMonitorContextJson, MesScanMonitorContext.class) : null; } + @Override + public String getScanMonitorContextMouldRecordId(StationRequestBean reqBean) { + MesScanMonitorContext scanMonitorContext = getScanMonitorContext(reqBean); + return (null != scanMonitorContext && !StringUtils.isEmpty(scanMonitorContext.getMouldRecordId())) ? scanMonitorContext.getMouldRecordId().toString() : null; + } + private String getContextKey(String organizeCode, String workCenterCode, String workCellCode) { return new StringJoiner(":").add(organizeCode).add(workCenterCode).add(workCellCode).add(MesPcnExtConstWords.PRODUCTION_PROCESS_CONTEXT).add(MesPcnExtConstWords.BASE_DATA_CONTEXT).toString(); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessMonitorService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessMonitorService.java index e859833..afa3d1e 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessMonitorService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessMonitorService.java @@ -3,9 +3,11 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step.context; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionCustomContextStepService; 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.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.actor.shipping.dispatch.IFsmCommonService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.process.BaseProcessMonitorService; +import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.swslog.ISwsWriteDbLogService; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; @@ -29,6 +31,9 @@ public class MesProductionProcessMonitorService extends BaseProcessMonitorServic @Autowired private IFsmCommonService fsmCommonService; + @Autowired + private ISwsWriteDbLogService writeDbLogService; + //工序开始 @Override public Boolean doProcessStart(StationRequestBean requestBean) { @@ -42,6 +47,9 @@ public class MesProductionProcessMonitorService extends BaseProcessMonitorServic //工序结束 @Override public Boolean doProcessComplete(StationRequestBean requestBean) { + //补DB日志 [获取开模ID赋值scanInfo] [获取上下文产出条码数据信息集合赋值resultList] + writeDbLogService.doRestoreDbLog(requestBean, new StationResultBean().restoreDbLog(). + scanInfo(productionProcessContextStepService.getScanMonitorContextMouldRecordId(requestBean)).resultList(productionDispatchContextStepService.getProductionPsOutContext(requestBean))); //清除上下文中的所有业务数据 productionDispatchContextStepService.doFlushProductionDispatchContext(requestBean); //发送工序完成音 diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipVariableCollectContext.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipVariableCollectContext.java index 4b8a8d9..79ab324 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipVariableCollectContext.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipVariableCollectContext.java @@ -77,7 +77,10 @@ public class MesEquipVariableCollectContext implements Serializable { @ApiParam("数据类型") private String dataType; - @ApiParam("变量当前值") + @ApiParam("变量当前值[读到的equipVariableValue值如果存在特殊字符, 原始值赋给此字段后再过滤特殊字符]") + private String realEquipVariableValue; + + @ApiParam("变量当前值[非匹配参考值的读取信息需要过滤特殊字符]") private String equipVariableValue; @ApiParam("变量状态") @@ -127,4 +130,10 @@ public class MesEquipVariableCollectContext implements Serializable { return this; } + public MesEquipVariableCollectContext replaceValue(String realEquipVariableValue, String equipVariableValue) { + this.realEquipVariableValue = realEquipVariableValue; + this.equipVariableValue = equipVariableValue; + return this; + } + } diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java index 7b22bfa..9d2b4f8 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java @@ -153,6 +153,8 @@ public class MesPcnExtConstWords { public static final String PRODUCE_SEQ = "produceSeq"; // URL public static final String URL = "url"; + // 处理状态 + public static final String DEAL_STATUS = "dealStatus"; // 时间格式 public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; From 79c2082e9c2f227a43c95b678042231a63af1b1d Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 18 Jul 2024 14:26:54 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java index 830fc51..90f9c7f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java @@ -76,6 +76,8 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic if (resultBean.getIsCheckRepeat().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) return false; DdlPackBean packBean = DdlPackBean.getDdlPackBean(resultBean.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(resultBean.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringEqualPack(resultBean.getWorkCellCode(), MesPcnExtConstWords.WORK_CELL_CODE, packBean); DdlPreparedPack.getNumEqualPack(scanMonitorContext.getMouldRecordId(), MesPcnExtConstWords.MOULD_RECORD_ID, packBean); DdlPreparedPack.getStringEqualPack(resultBean.getStepCode(), MesPcnExtConstWords.STEP_CODE, packBean); if (resultBean.getCheckRepeatType().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) DdlPreparedPack.getStringEqualPack(resultBean.getMessage(), MesPcnExtConstWords.MESSAGE, packBean); @@ -102,6 +104,8 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic String partName = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartName()))).map(MesProductionPsOutContext::getPartName).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); DdlPackBean packBean = DdlPackBean.getDdlPackBean(resultBean.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(resultBean.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringEqualPack(resultBean.getWorkCellCode(), MesPcnExtConstWords.WORK_CELL_CODE, packBean); DdlPreparedPack.getNumEqualPack(Long.valueOf(resultBean.getScanInfo()), MesPcnExtConstWords.MOULD_RECORD_ID, packBean); workCellScanMonitorLogRepository.updateByProperties(