From fdf8c283e84d7b493ec533e043878741aa88ec77 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Fri, 11 Oct 2024 08:18:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E5=88=86=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/api/base/IMesEquipmentLogService.java | 2 +- .../pcn/api/busi/IMesEquipmentLogExtService.java | 12 +- .../apiservice/controller/busi/TestController.java | 27 +--- .../pcn/apiservice/dao/IMesEquipmentLogDao.java | 4 + .../pcn/apiservice/daoimpl/MesEquipmentLogDao.java | 104 ++++++++++++++++ .../apiservice/schedulejob/MesSaveVariableJob.java | 23 ++-- .../serviceimpl/base/MesEquipmentLogService.java | 136 ++++++++++++--------- .../equiplog/MesEquipmentLogExtService.java | 41 +------ .../ext/mes/pcn/pojo/util/MesPcnExtConstWords.java | 4 + 9 files changed, 217 insertions(+), 136 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java index 0e8990c..56bff8f 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesEquipmentLogService.java @@ -7,7 +7,7 @@ public interface IMesEquipmentLogService { void saveEquipmentLogToRedis(ActorMessage actorMessage); - void saveEquipmentLogDetails(String organizeCode); + void saveEquipmentLogDetails(String organizeCode, String userInfo, Integer qty); void updateValue(EquipLogMqttMsg equipLogMqttMsg); } diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesEquipmentLogExtService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesEquipmentLogExtService.java index 2ba0cc5..4f022e9 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesEquipmentLogExtService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesEquipmentLogExtService.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipLogDispatchContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariableCfg; import io.swagger.annotations.ApiOperation; @@ -13,15 +14,6 @@ import java.util.Map; public interface IMesEquipmentLogExtService { - @ApiOperation(value = "根据设备ID 查询设备ID分表所有采集数据") - List getEquipmentLogList(String organizeCode, Integer equipId); - - @ApiOperation(value = "根据设备ID,是否常变值状态,设备数据变量ID集合 查询设备ID分表采集数据") - List getEquipmentLogList(String organizeCode, Integer equipId, Integer needNewValue, List equipVariableIdList); - - @ApiOperation(value = "根据设备ID 查询设备ID分表所有采集数据") - MesEquipmentLog queryMesEquipmentLog(String organizeCode, Integer equipId, Long equipVariableId); - @ApiOperation(value = "根据设备ID,设备LOG表ID集合 修改设备ID分表采集数据的状态") void updateEquipmentLogList(String organizeCode, Integer equipId, Map equipmentLogIdMap); @@ -37,4 +29,6 @@ public interface IMesEquipmentLogExtService { @ApiOperation(value = "根据设备ID,是否常变值状态,设备数据变量ID集合,变量类型 查询设备ID分表采集数据") List getEquipmentLogCollectList(String organizeCode, Integer equipId, Integer needNewValue, Integer variableType, List equipVariableIdList); + @ApiOperation(value = "根据设备ID, 批量写入设备LOG明细数据") + void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord mesEquipmentRecord, List equipmentLogList); } 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 9605122..c41c47b 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 @@ -1,21 +1,18 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesEquipmentLogExtService; -import cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.MesReportNoSortJob; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.MesReportNoSortJob; import cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.MesReportWorkByPreDayJob; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.test.TestService; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; -import cn.estsh.i3plus.pojo.base.bean.ListPager; -import cn.estsh.i3plus.pojo.base.common.Pager; -import cn.estsh.i3plus.pojo.mes.bean.*; -import cn.estsh.i3plus.pojo.mes.bean.rework.MesReworkTask; +import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; +import cn.estsh.i3plus.pojo.mes.bean.MesShift; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository; import cn.estsh.i3plus.pojo.mes.repository.MesShiftRepository; -import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ResultBean; @@ -33,8 +30,7 @@ import java.util.stream.Collectors; @RestController @RequestMapping(MesCommonConstant.MES_YANFEN + "/test") public class TestController { - @Autowired - private IMesEquipmentLogExtService mesEquipmentLogExtService; + @Autowired private MesReportNoSortJob mesReportNoSortJob; @@ -54,19 +50,6 @@ public class TestController { @Autowired private TestService testService; - @GetMapping("/equipment/log/query") - @ApiOperation(value = "查询设备交互") - public ResultBean queryReworkTaskByPager(String organizeCode, Integer equipId) { - try { - List equipmentLogList = mesEquipmentLogExtService.getEquipmentLogList(organizeCode, equipId); - return ResultBean.success("查询成功").setResultList(equipmentLogList); - } catch (ImppBusiException imppException) { - return ResultBean.fail(imppException); - } catch (Exception e) { - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - @GetMapping("/reportWorkByPreDayJob") @ApiOperation(value = "查询设备交互") public ResultBean queryReworkTaskByPager(String organizeCode) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesEquipmentLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesEquipmentLogDao.java index 61b7c8b..dd2283f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesEquipmentLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesEquipmentLogDao.java @@ -1,6 +1,8 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.dao; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; import io.swagger.annotations.ApiOperation; @@ -21,4 +23,6 @@ public interface IMesEquipmentLogDao { @ApiOperation(value = "根据设备ID, 变量类型查询设备日志表") List queryMesEquipmentLog(String organizeCode, Integer equipId, Integer variableType); + @ApiOperation(value = "根据设备ID, 批量写入设备LOG明细数据") + void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord mesEquipmentRecord, List equipmentLogList); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java index d87c590..0659beb 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java @@ -5,6 +5,8 @@ import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesEquipmentLogDao; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog; +import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -186,4 +188,106 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { return equipVariableCollectContextList; } + @Override + public void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord mesEquipmentRecord, List equipmentLogList) { + + StringBuffer builder = new StringBuffer(); + + for (MesEquipmentLog equipmentLog : equipmentLogList) { + + if (null == equipmentLog) continue; + + + + + } + + + + + + + + + + + + + + + + + + + + + + + + +// StringBuffer builder = new StringBuffer(); +// +// builder.append(" insert into mes_work_cell_scan_monitor_log_"); +// if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(resultBean.getOrganizeCode().toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); +// builder.append(resultBean.getWorkCenterCode().toLowerCase()); +// builder.append("( id, organize_code, is_valid, is_deleted, create_user, create_date_time, modify_user, modify_date_time,"); +// builder.append(" description, remark, system_sync_date_time, system_sync_status,"); +// builder.append(" area_code, work_center_code, work_cell_code, equipment_code, equipment_name, process_code, process_name, craft_code, craft_name,"); +// builder.append(" mould_record_id, scan_info, work_order_no, serial_number, product_sn, cust_sn, part_no, part_name,"); +// builder.append(" step_code, log_type, message, message_type, deal_status, org_work_code)"); +// builder.append(" values ( :id , :organizeCode , :isValid , :isDeleted , :createUser , :createDatetime , :modifyUser , :modifyDatetime ,"); +// builder.append(" :description , :remark , :systemSyncDatetime , :systemSyncStatus ,"); +// builder.append(" :areaCode , :workCenterCode , :workCellCode , :equipmentCode , :equipmentName , :processCode , :processName , :craftCode , :craftName ,"); +// builder.append(" :mouldRecordId , :scanInfo , :workOrderNo , :serialNumber , :productSn , :custSn , :partNo , :partName ,"); +// builder.append(" :stepCode , :logType , :message , :messageType , :dealStatus , :orgWorkCode )"); +// +// Query insert = entityManager.createNativeQuery(builder.toString()); +// +// insert.setParameter(MesPcnExtConstWords.ID, snowflakeIdMaker.nextId()); +// insert.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, resultBean.getOrganizeCode()); +// insert.setParameter(MesPcnExtConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue()); +// insert.setParameter(MesPcnExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); +// insert.setParameter(MesPcnExtConstWords.CREATE_USER, resultBean.getUserInfo()); +// insert.setParameter(MesPcnExtConstWords.CREATE_DATE_TIME, TimeTool.getNowTime(true)); +// insert.setParameter(MesPcnExtConstWords.MODIFY_USER, resultBean.getUserInfo()); +// insert.setParameter(MesPcnExtConstWords.MODIFY_DATE_TIME, TimeTool.getNowTime(true)); +// insert.setParameter(MesPcnExtConstWords.DESCRIPTION, null); +// insert.setParameter(MesPcnExtConstWords.REMARK, null); +// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, null); +// insert.setParameter(MesPcnExtConstWords.AREA_CODE, resultBean.getAreaCode()); +// insert.setParameter(MesPcnExtConstWords.WORK_CENTER_CODE, resultBean.getWorkCenterCode()); +// insert.setParameter(MesPcnExtConstWords.WORK_CELL_CODE, resultBean.getWorkCellCode()); +// insert.setParameter(MesPcnExtConstWords.EQUIPMENT_CODE, scanMonitorContext.getEquipmentCode()); +// insert.setParameter(MesPcnExtConstWords.EQUIPMENT_NAME, scanMonitorContext.getEquipmentName()); +// insert.setParameter(MesPcnExtConstWords.PROCESS_CODE, scanMonitorContext.getProcessCode()); +// insert.setParameter(MesPcnExtConstWords.PROCESS_NAME, scanMonitorContext.getProcessName()); +// insert.setParameter(MesPcnExtConstWords.CRAFT_CODE, scanMonitorContext.getCraftCode()); +// insert.setParameter(MesPcnExtConstWords.CRAFT_NAME, scanMonitorContext.getCraftName()); +// insert.setParameter(MesPcnExtConstWords.MOULD_RECORD_ID, scanMonitorContext.getMouldRecordId()); +// insert.setParameter(MesPcnExtConstWords.SCAN_INFO, resultBean.getScanInfo()); +// insert.setParameter(MesPcnExtConstWords.WORK_ORDER_NO, null); +// insert.setParameter(MesPcnExtConstWords.SERIAL_NUMBER, null); +// insert.setParameter(MesPcnExtConstWords.PRODUCT_SN, null); +// insert.setParameter(MesPcnExtConstWords.CUST_SN, null); +// insert.setParameter(MesPcnExtConstWords.PART_NO, null); +// insert.setParameter(MesPcnExtConstWords.PART_NAME, null); +// insert.setParameter(MesPcnExtConstWords.STEP_CODE, resultBean.getStepCode()); +// insert.setParameter(MesPcnExtConstWords.LOG_TYPE, resultBean.getLogType()); +// insert.setParameter(MesPcnExtConstWords.MESSAGE, resultBean.getMessage()); +// insert.setParameter(MesPcnExtConstWords.MESSAGE_TYPE, MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_MESSAGE_TYPE.codeOfValue(resultBean.getDataType())); +// insert.setParameter(MesPcnExtConstWords.ORG_WORK_CODE, new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(resultBean.getOrganizeCode()).add(resultBean.getWorkCenterCode()).toString()); +// //存在开模ID的记录延迟同步 +// if (!StringUtils.isEmpty(scanMonitorContext.getMouldRecordId())) { +// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_STATUS, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); +// insert.setParameter(MesPcnExtConstWords.DEAL_STATUS, MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue()); +// } else { +// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_STATUS, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); +// insert.setParameter(MesPcnExtConstWords.DEAL_STATUS, MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue()); +// } +// +// insert.executeUpdate(); + + + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesSaveVariableJob.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesSaveVariableJob.java index 2965988..ffccf45 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesSaveVariableJob.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesSaveVariableJob.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentLogService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.impp.framework.boot.init.ApplicationProperties; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; @@ -11,6 +12,7 @@ import org.quartz.DisallowConcurrentExecution; import org.quartz.JobExecutionContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.util.StringUtils; /** * @author wangjie @@ -26,6 +28,9 @@ public class MesSaveVariableJob extends BaseMesScheduleJob { @Autowired private IMesEquipmentLogService mesEquipmentLogService; + //默认批量一次性最大写800条数据 + private static final Integer DEFAULT_QTY = 800; + public MesSaveVariableJob() { super(MesSaveVariableJob.class, "保存工艺参数job"); } @@ -33,24 +38,26 @@ public class MesSaveVariableJob extends BaseMesScheduleJob { @Override public void executeMesJob(JobExecutionContext context, ApplicationProperties applicationProperties) { - log.info("保存工艺参数job -- START "); + log.info("保存工艺参数JOB --- START "); - /*String jobParam = this.getJobParam(); - JSONObject jsonObject= JSONUtil.parseObj(jobParam);*/ - String organizeCode = "CK01"; + String jobParam = this.getJobParam(); + JSONObject params= JSONUtil.parseObj(jobParam); + String organizeCode = (null == params || !params.containsKey(MesPcnExtConstWords.ORGANIZE_CODE)) ? null : params.get(MesPcnExtConstWords.ORGANIZE_CODE).toString(); + Integer qty = (null == params || !params.containsKey(MesPcnExtConstWords.QTY)) ? DEFAULT_QTY : Integer.valueOf(params.get(MesPcnExtConstWords.QTY).toString()); + qty = qty.compareTo(DEFAULT_QTY) > 0 ? DEFAULT_QTY : qty; - if (null == organizeCode){ - log.error("请添加需要报工的工厂代码!"); + if (StringUtils.isEmpty(organizeCode)){ + log.info("保存工艺参数JOB --- ERROR --- JOB未配置工厂参数"); return; } long startTime = System.currentTimeMillis(); - mesEquipmentLogService.saveEquipmentLogDetails(organizeCode); + mesEquipmentLogService.saveEquipmentLogDetails(organizeCode, MesPcnExtConstWords.JOB, qty); long endTime = System.currentTimeMillis(); - log.info("保存工艺参数job --- END --- 耗时: {} ms", endTime - startTime); + log.info("保存工艺参数JOB --- END --- 耗时: {} ms", endTime - startTime); } 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 70aece6..58bc8b4 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 @@ -36,10 +36,7 @@ import org.springframework.util.StringUtils; import javax.annotation.Resource; import javax.persistence.EntityManager; import javax.persistence.Query; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.StringJoiner; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -52,17 +49,17 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { private MesEquipmentVariableRepository equipmentVariableRepository; @Autowired - private MesEquipmentLogExtService mesEquipmentLogExtService; - @Autowired - private MesEquipmentExtService mesEquipmentExtService; - @Autowired - private MesEquipmentLogDetailRepository mesEquipmentLogDetailRepository; + private MesEquipmentLogExtService equipmentLogExtService; + @Autowired - private MesEquipmentLogRepository mesEquipmentLogRepository; + private MesEquipmentExtService equipmentExtService; + @Autowired private MesEquipmentRecordRepository mesEquipmentRecordRepository; + @Autowired private SnowflakeIdMaker snowflakeIdMaker; + @Resource(name = "redisMesPcn") private ImppRedis redisMesPcn; @@ -75,7 +72,7 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { @Override public void saveEquipmentLogToRedis(ActorMessage actorMessage) { // 获取设备变量属性 - List equipmentVariableList = mesEquipmentExtService.getEquipmentVariableList(actorMessage.getOrganizeCode(), actorMessage.getEquipmentCode(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue()); + List equipmentVariableList = equipmentExtService.getEquipmentVariableList(actorMessage.getOrganizeCode(), actorMessage.getEquipmentCode(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue()); // 获取变量ID集合 Map equipVariableMap = CollectionUtils.isEmpty(equipmentVariableList) ? null : equipmentVariableList.stream().filter(o -> null != o).collect(Collectors.toMap(MesEquipmentVariable::getId, o -> o)); if (CollectionUtils.isEmpty(equipVariableMap)) { @@ -84,7 +81,7 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { } // 获取设备数据采集信息 - List equipmentLogList = mesEquipmentLogExtService.getEquipmentLogCollectList(actorMessage.getOrganizeCode(), actorMessage.getEquipId(), MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.FALSE.getValue(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue()); + List equipmentLogList = equipmentLogExtService.getEquipmentLogCollectList(actorMessage.getOrganizeCode(), actorMessage.getEquipId(), MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.FALSE.getValue(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue()); // 筛选出该设备中设备变量属性对应的数据采集信息 equipmentLogList = CollectionUtils.isEmpty(equipmentLogList) ? null : equipmentLogList.stream().filter(o -> equipVariableMap.containsKey(o.getEquipVariableId())).collect(Collectors.toList()); if (CollectionUtils.isEmpty(equipmentLogList)) { @@ -119,37 +116,44 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { } @Override - public void saveEquipmentLogDetails(String organizeCode) { + public void saveEquipmentLogDetails(String organizeCode, String userInfo, Integer qty) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_10.getValue(), "recordStatus", ddlPackBean); - DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, ddlPackBean); + DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_10.getValue(), MesPcnExtConstWords.RECORD_STATUS, ddlPackBean); + DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{MesPcnExtConstWords.CREATE_DATE_TIME}, ddlPackBean); List mesEquipmentRecords = mesEquipmentRecordRepository.findByHqlTopWhere(ddlPackBean, 10); - LOGGER.info("保存工艺参数job --- 读取到设备记录信息[{}]条 ---", CollectionUtils.isEmpty(mesEquipmentRecords) ? MesPcnExtConstWords.ZERO : mesEquipmentRecords.size()); + LOGGER.info("保存工艺参数JOB --- 读取到设备记录信息[{}]条 ---", CollectionUtils.isEmpty(mesEquipmentRecords) ? MesPcnExtConstWords.ZERO : mesEquipmentRecords.size()); if (CollectionUtils.isEmpty(mesEquipmentRecords)) return; for (MesEquipmentRecord mesEquipmentRecord : mesEquipmentRecords) { if (null == mesEquipmentRecord) continue; - saveEquipmentLogDetail(mesEquipmentRecord); + saveEquipmentLogDetail(organizeCode, userInfo, qty, mesEquipmentRecord); } } - private void saveEquipmentLogDetail(MesEquipmentRecord mesEquipmentRecord) { + private void saveEquipmentLogDetail(String organizeCode, String userInfo, Integer qty, MesEquipmentRecord mesEquipmentRecord) { String key = getKey(mesEquipmentRecord); List equipmentLogList = (List)redisMesPcn.getList(key, 0, -1); - if (CollectionUtils.isEmpty(equipmentLogList)) { - // 修改状态 - mesEquipmentRecord.setRecordStatus(MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_20.getValue()); - mesEquipmentRecordRepository.save(mesEquipmentRecord); - // 删除key - redisMesPcn.deleteKey(key); - return; - } - List mesEquipmentLogDetails = new ArrayList<>(); + + // 修改状态 + mesEquipmentRecord.setRecordStatus(CollectionUtils.isEmpty(equipmentLogList) ? MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_20.getValue() : MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_30.getValue()); + ConvertBean.serviceModelUpdate(mesEquipmentRecord, userInfo); + mesEquipmentRecordRepository.save(mesEquipmentRecord); + // 删除key + redisMesPcn.deleteKey(key); + + if (CollectionUtils.isEmpty(equipmentLogList)) return; + + Optional optional = equipmentLogList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipId()))).findFirst(); + if (null == optional || !optional.isPresent()) return; + + + insertBatchEquipmentLogDetail(organizeCode, optional.get().getEquipId(), userInfo, qty, mesEquipmentRecord, equipmentLogList); + for (MesEquipmentLog mesEquipmentLog : equipmentLogList) { MesEquipmentLogDetail mesEquipmentLogDetail = new MesEquipmentLogDetail(); @@ -163,20 +167,29 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { mesEquipmentLogDetail.setCreateUser(null); mesEquipmentLogDetail.setOrgEquipId(mesEquipmentLogDetail.getOrganizeCode()+"_"+mesEquipmentLogDetail.getEquipId()); - String jsonStr = mesEquipmentRecord.getProduceSnJson(); - if (!StringUtils.isEmpty(jsonStr)) { + if (!StringUtils.isEmpty(mesEquipmentRecord.getProduceSnJson())) mesEquipmentLogDetail.setExtend(mesEquipmentRecord.getProduceSnJson()); - mesEquipmentLogDetail.setExtend(mesEquipmentRecord.getProduceSnJson()); - } ConvertBean.serviceModelInitialize(mesEquipmentLogDetail, "job"); mesEquipmentLogDetails.add(mesEquipmentLogDetail); } - mesEquipmentLogDetailRepository.saveAll(mesEquipmentLogDetails); - // 修改状态 - mesEquipmentRecord.setRecordStatus(MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_20.getValue()); - mesEquipmentRecordRepository.save(mesEquipmentRecord); - // 删除key - redisMesPcn.deleteKey(key); + + } + + private void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, Integer qty, MesEquipmentRecord mesEquipmentRecord, List equipmentLogList) { + + if (CollectionUtils.isEmpty(equipmentLogList)) return; + + if (qty.compareTo(equipmentLogList.size()) >= 0) { + equipmentLogExtService.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, equipmentLogList); + equipmentLogList = null; + } else { + List handleList = equipmentLogList.subList(0, qty); + equipmentLogExtService.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, handleList); + equipmentLogList = equipmentLogList.subList(qty, equipmentLogList.size()); + } + + insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, qty, mesEquipmentRecord, equipmentLogList); + } @Override @@ -191,12 +204,12 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { if (mesEquipmentVariable == null) { return; } - // 获取设备点位数据 + // 获取设备点位数据 //TODO 暂不使用此代码块 使用需要调整代码 此表已不支持shardingsphere配置 MesEquipmentLog equipmentLog = getMesEquipmentLog(equipLogMqttMsg, mesEquipmentVariable); if (equipmentLog == null) { return; } - // 更新设备点位数据 + // 更新设备点位数据 //TODO 暂不使用此代码块 使用需要调整代码 此表已不支持shardingsphere配置 updateEquipmentLog(equipLogMqttMsg, mesEquipmentVariable, equipmentLog); @@ -213,12 +226,12 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { } private void updateEquipmentLog(EquipLogMqttMsg equipLogMqttMsg, MesEquipmentVariable mesEquipmentVariable, MesEquipmentLog equipmentLog) { - DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesEquipmentVariable.getOrganizeCode()); - DdlPreparedPack.getNumEqualPack(equipmentLog.getEquipId(), MesPcnExtConstWords.EQUIP_ID, packBean); - DdlPreparedPack.getNumEqualPack(equipmentLog.getEquipVariableId(), MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean); - log.info("== MesEquipmentLog修改开始"); - mesEquipmentLogRepository.updateByProperties(new String[]{MesPcnExtConstWords.EQUIP_VARIABLE_STATUS,"equipVariableValue"}, new Object[]{MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(), equipLogMqttMsg.getValue() }, packBean); - log.info("== MesEquipmentLog修改结束"); +// DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesEquipmentVariable.getOrganizeCode()); +// DdlPreparedPack.getNumEqualPack(equipmentLog.getEquipId(), MesPcnExtConstWords.EQUIP_ID, packBean); +// DdlPreparedPack.getNumEqualPack(equipmentLog.getEquipVariableId(), MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean); +// log.info("== MesEquipmentLog修改开始"); +// mesEquipmentLogRepository.updateByProperties(new String[]{MesPcnExtConstWords.EQUIP_VARIABLE_STATUS,"equipVariableValue"}, new Object[]{MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(), equipLogMqttMsg.getValue() }, packBean); +// log.info("== MesEquipmentLog修改结束"); } private MesEquipmentVariable getMesEquipmentVariable(EquipLogMqttMsg equipLogMqttMsg) { @@ -245,22 +258,23 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { } private MesEquipmentLog getMesEquipmentLog(EquipLogMqttMsg equipLogMqttMsg, MesEquipmentVariable mesEquipmentVariable) { - String variableKey = getVariableKey(equipLogMqttMsg.getPTCode(), "MES_EQUIPMENT_LOG"); - Object obj = redisMesPcn.getHash(variableKey, equipLogMqttMsg.getKey()); - MesEquipmentLog equipmentLog = new MesEquipmentLog(); - if (obj == null) { - log.info("== MesEquipmentLog查询开始"); - equipmentLog = mesEquipmentLogExtService.queryMesEquipmentLog(mesEquipmentVariable.getOrganizeCode(), Integer.valueOf(equipLogMqttMsg.getPTCode()), mesEquipmentVariable.getId()); - log.info("== MesEquipmentLog查询结束"); - if (equipmentLog == null) { - LOGGER.info("log信息不存在 不存在【{}】", equipLogMqttMsg.getTagAddress()); - return null; - } - redisMesPcn.putHash(variableKey, equipLogMqttMsg.getKey(), equipmentLog); - } else { - equipmentLog = (MesEquipmentLog) obj; - } - return equipmentLog; +// String variableKey = getVariableKey(equipLogMqttMsg.getPTCode(), "MES_EQUIPMENT_LOG"); +// Object obj = redisMesPcn.getHash(variableKey, equipLogMqttMsg.getKey()); +// MesEquipmentLog equipmentLog = new MesEquipmentLog(); +// if (obj == null) { +// log.info("== MesEquipmentLog查询开始"); +// equipmentLog = mesEquipmentLogExtService.queryMesEquipmentLog(mesEquipmentVariable.getOrganizeCode(), Integer.valueOf(equipLogMqttMsg.getPTCode()), mesEquipmentVariable.getId()); +// log.info("== MesEquipmentLog查询结束"); +// if (equipmentLog == null) { +// LOGGER.info("log信息不存在 不存在【{}】", equipLogMqttMsg.getTagAddress()); +// return null; +// } +// redisMesPcn.putHash(variableKey, equipLogMqttMsg.getKey(), equipmentLog); +// } else { +// equipmentLog = (MesEquipmentLog) obj; +// } +// return equipmentLog; + return null; } public void saveLogDetail(MesEquipmentLogDetail mesEquipmentLogDetail) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesEquipmentLogExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesEquipmentLogExtService.java index 3daf5f5..840e937 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesEquipmentLogExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesEquipmentLogExtService.java @@ -6,13 +6,10 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipLogDispatchContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCfgCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; -import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; -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.MesEquipmentRecord; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariableCfg; -import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentLogRepository; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -34,40 +31,9 @@ import java.util.stream.Collectors; public class MesEquipmentLogExtService implements IMesEquipmentLogExtService { @Autowired - private MesEquipmentLogRepository equipmentLogRepository; - - @Autowired private IMesEquipmentLogDao equipmentLogDao; @Override - public List getEquipmentLogList(String organizeCode, Integer equipId) { - if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId)) return null; - DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, packBean); - return equipmentLogRepository.findByHqlWhere(packBean); - } - - @Override - public List getEquipmentLogList(String organizeCode, Integer equipId, Integer needNewValue, List equipVariableIdList) { - if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipVariableIdList)) return null; - DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, packBean); - if (!CollectionUtils.isEmpty(equipVariableIdList) && equipVariableIdList.size() == 1) DdlPreparedPack.getNumEqualPack(equipVariableIdList.get(0), MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean); - else DdlPreparedPack.getInPackList(equipVariableIdList, MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean); - if (!StringUtils.isEmpty(needNewValue) && MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == needNewValue) DdlPreparedPack.getNegativeNumEqualPack(MesPcnExtConstWords.ZERO, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, packBean); - return equipmentLogRepository.findByHqlWhere(packBean); - } - - @Override - public MesEquipmentLog queryMesEquipmentLog(String organizeCode, Integer equipId, Long equipVariableId) { - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); - DdlPreparedPack.getStringEqualPack(organizeCode, MesPcnExtConstWords.ORGANIZE_CODE, ddlPackBean); - DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, ddlPackBean); - DdlPreparedPack.getNumEqualPack(equipVariableId, MesPcnExtConstWords.EQUIP_VARIABLE_ID, ddlPackBean); - return equipmentLogRepository.getByProperty(ddlPackBean); - } - - @Override public void updateEquipmentLogList(String organizeCode, Integer equipId, Map equipmentLogIdMap) { if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipmentLogIdMap)) return; equipmentLogDao.updateEquipVariableStatus(organizeCode, equipId, equipmentLogIdMap, MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.FALSE.getEquipVariableStatus()); @@ -175,4 +141,9 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService { } + @Override + public void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord mesEquipmentRecord, List equipmentLogList) { + equipmentLogDao.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, equipmentLogList); + } + } 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 5ac9c41..87ef227 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 @@ -195,6 +195,10 @@ public class MesPcnExtConstWords { public static final String MESSAGE_TYPE = "messageType"; // 工厂_工作中心 public static final String ORG_WORK_CODE = "orgWorkCode"; + // JOB + public static final String JOB = "JOB"; + // 记录状态 + public static final String RECORD_STATUS = "recordStatus"; // 时间格式 public static final String DATE_FORMAT_SSS = "yyyy-MM-dd HH:mm:ss.SSS"; From 5ab9d9098b7bb8f8ef136e9390a34a0e5e20e9be Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Tue, 15 Oct 2024 13:26:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=B7=A5=E8=89=BA=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=AE=8C=E6=88=90=20=E5=8A=A8=E6=80=81sql=E5=86=99=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcn/apiservice/daoimpl/MesEquipmentLogDao.java | 164 ++++++++++----------- .../serviceimpl/base/MesEquipmentLogService.java | 36 +---- .../MesVariableWhenFinishedReadStepService.java | 6 + .../ext/mes/pcn/pojo/model/ActorMessage.java | 16 +- .../ext/mes/pcn/pojo/util/MesPcnExtConstWords.java | 14 ++ 5 files changed, 122 insertions(+), 114 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java index 0659beb..c998082 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java @@ -4,6 +4,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.daoimpl; import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesEquipmentLogDao; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; +import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; @@ -20,6 +21,7 @@ import javax.persistence.Query; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.StringJoiner; import java.util.stream.Collectors; @Service @@ -31,6 +33,17 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { @Autowired private EntityManager entityManager; + private final static String TWO_S_APPEND = "%s_%s"; + + private final static String[] equipmentLogDetailFields = {MesPcnExtConstWords.ID, MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, + MesPcnExtConstWords.CREATE_USER, MesPcnExtConstWords.CREATE_DATE_TIME, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, + MesPcnExtConstWords.DESCRIPTION, MesPcnExtConstWords.REMARK, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, + MesPcnExtConstWords.AREA_CODE, MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.WORK_CELL_CODE, MesPcnExtConstWords.EQUIPMENT_CODE, + MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE, MesPcnExtConstWords.MOULD_RECORD_ID, MesPcnExtConstWords.EXTEND, + MesPcnExtConstWords.ORG_EQUIP_ID, MesPcnExtConstWords.EQUIP_ID, MesPcnExtConstWords.EQUIP_VARIABLE_ID, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, + MesPcnExtConstWords.EQUIP_VARIABLE_DESC, MesPcnExtConstWords.READ_WRITE_FLAG, MesPcnExtConstWords.DATA_TYPE, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, + MesPcnExtConstWords.VARIABLE_TYPE, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, MesPcnExtConstWords.QUALITY}; + @Override public List queryMesEquipmentLog(List equipmentVariableList, String organizeCode, Integer equipId, Integer variableType) { @@ -97,9 +110,9 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { Integer index = 0; for (Map.Entry entry : equipmentLogIdMap.entrySet()) { if (null == entry) continue; - update.setParameter(String.format("%s_%s", MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, index), equipVariableStatus); - update.setParameter(String.format("%s_%s", MesPcnExtConstWords.ID, index), entry.getKey()); - update.setParameter(String.format("%s_%s", MesPcnExtConstWords.MODIFY_DATE_TIME, index), entry.getValue()); + update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, index), equipVariableStatus); + update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ID, index), entry.getKey()); + update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), entry.getValue()); index ++; } @@ -189,104 +202,85 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { } @Override - public void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord mesEquipmentRecord, List equipmentLogList) { - + public void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord equipmentRecord, List equipmentLogList) { + StringBuffer builder = new StringBuffer(); + Integer index = 0; for (MesEquipmentLog equipmentLog : equipmentLogList) { - if (null == equipmentLog) continue; - - - - } - - - - - - - - - - - - - - + builder.append(" insert into mes_equipment_log_"); + if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); + builder.append(equipId); + builder.append("( id, organize_code, is_valid, is_deleted, create_user, create_date_time, modify_user, modify_date_time,"); + builder.append(" description, remark, system_sync_date_time, system_sync_status,"); + builder.append(" area_code, work_center_code, work_cell_code, equipment_code, process_code, craft_code,"); + builder.append(" mould_record_id, extend, org_equip_id, equip_id, equip_variable_id, equip_variable_name, equip_variable_desc,"); + builder.append(" read_write_flag, data_type, equip_variable_value, variable_type, category_level_two, quality)"); + builder.append(" values ( "); + for (int i = 0; i < equipmentLogDetailFields.length; i ++) { + if (StringUtils.isEmpty(equipmentLogDetailFields[i])) continue; + builder.append(MesPcnExtConstWords.COLON); + builder.append(equipmentLogDetailFields[i]); + builder.append(MesPcnExtConstWords.E_UNDERLINE); + builder.append(index); + if (i != equipmentLogDetailFields.length - 1) builder.append(" , "); + } + builder.append(" );"); + index ++; + } + Query insert = entityManager.createNativeQuery(builder.toString()); + String nowTime = TimeTool.getNowTime(true); + String orgEquipId = new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(organizeCode).add(equipId.toString()).toString(); + index = 0; + for (MesEquipmentLog equipmentLog : equipmentLogList) { + if (null == equipmentLog) continue; + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ID, index), equipmentLog.getId()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORGANIZE_CODE, index), organizeCode); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_VALID, index), CommonEnumUtil.IS_VAILD.VAILD.getValue()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_DELETED, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_USER, index), userInfo); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_DATE_TIME, index), nowTime); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_USER, index), userInfo); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), nowTime); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), null); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), null); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), null); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.AREA_CODE, index), equipmentRecord.getAreaCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CENTER_CODE, index), equipmentRecord.getWorkCenterCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CELL_CODE, index), equipmentRecord.getWorkCellCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIPMENT_CODE, index), equipmentRecord.getEquipmentCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.PROCESS_CODE, index), equipmentRecord.getProcessCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CRAFT_CODE, index), equipmentRecord.getCraftCode()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MOULD_RECORD_ID, index), equipmentRecord.getId()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EXTEND, index), equipmentRecord.getProduceSnJson()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORG_EQUIP_ID, index), orgEquipId); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_ID, index), equipId); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_ID, index), equipmentLog.getEquipVariableId()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, index), equipmentLog.getEquipVariableName()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_DESC, index), equipmentLog.getEquipVariableDesc()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.READ_WRITE_FLAG, index), equipmentLog.getReadWriteFlag()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DATA_TYPE, index), equipmentLog.getDataType()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, index), equipmentLog.getEquipVariableValue()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.VARIABLE_TYPE, index), equipmentLog.getVariableType()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, index), equipmentLog.getCategoryLevelTwo()); + insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.QUALITY, index), equipmentLog.getQuality()); -// StringBuffer builder = new StringBuffer(); -// -// builder.append(" insert into mes_work_cell_scan_monitor_log_"); -// if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(resultBean.getOrganizeCode().toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE); -// builder.append(resultBean.getWorkCenterCode().toLowerCase()); -// builder.append("( id, organize_code, is_valid, is_deleted, create_user, create_date_time, modify_user, modify_date_time,"); -// builder.append(" description, remark, system_sync_date_time, system_sync_status,"); -// builder.append(" area_code, work_center_code, work_cell_code, equipment_code, equipment_name, process_code, process_name, craft_code, craft_name,"); -// builder.append(" mould_record_id, scan_info, work_order_no, serial_number, product_sn, cust_sn, part_no, part_name,"); -// builder.append(" step_code, log_type, message, message_type, deal_status, org_work_code)"); -// builder.append(" values ( :id , :organizeCode , :isValid , :isDeleted , :createUser , :createDatetime , :modifyUser , :modifyDatetime ,"); -// builder.append(" :description , :remark , :systemSyncDatetime , :systemSyncStatus ,"); -// builder.append(" :areaCode , :workCenterCode , :workCellCode , :equipmentCode , :equipmentName , :processCode , :processName , :craftCode , :craftName ,"); -// builder.append(" :mouldRecordId , :scanInfo , :workOrderNo , :serialNumber , :productSn , :custSn , :partNo , :partName ,"); -// builder.append(" :stepCode , :logType , :message , :messageType , :dealStatus , :orgWorkCode )"); -// -// Query insert = entityManager.createNativeQuery(builder.toString()); -// -// insert.setParameter(MesPcnExtConstWords.ID, snowflakeIdMaker.nextId()); -// insert.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, resultBean.getOrganizeCode()); -// insert.setParameter(MesPcnExtConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue()); -// insert.setParameter(MesPcnExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); -// insert.setParameter(MesPcnExtConstWords.CREATE_USER, resultBean.getUserInfo()); -// insert.setParameter(MesPcnExtConstWords.CREATE_DATE_TIME, TimeTool.getNowTime(true)); -// insert.setParameter(MesPcnExtConstWords.MODIFY_USER, resultBean.getUserInfo()); -// insert.setParameter(MesPcnExtConstWords.MODIFY_DATE_TIME, TimeTool.getNowTime(true)); -// insert.setParameter(MesPcnExtConstWords.DESCRIPTION, null); -// insert.setParameter(MesPcnExtConstWords.REMARK, null); -// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, null); -// insert.setParameter(MesPcnExtConstWords.AREA_CODE, resultBean.getAreaCode()); -// insert.setParameter(MesPcnExtConstWords.WORK_CENTER_CODE, resultBean.getWorkCenterCode()); -// insert.setParameter(MesPcnExtConstWords.WORK_CELL_CODE, resultBean.getWorkCellCode()); -// insert.setParameter(MesPcnExtConstWords.EQUIPMENT_CODE, scanMonitorContext.getEquipmentCode()); -// insert.setParameter(MesPcnExtConstWords.EQUIPMENT_NAME, scanMonitorContext.getEquipmentName()); -// insert.setParameter(MesPcnExtConstWords.PROCESS_CODE, scanMonitorContext.getProcessCode()); -// insert.setParameter(MesPcnExtConstWords.PROCESS_NAME, scanMonitorContext.getProcessName()); -// insert.setParameter(MesPcnExtConstWords.CRAFT_CODE, scanMonitorContext.getCraftCode()); -// insert.setParameter(MesPcnExtConstWords.CRAFT_NAME, scanMonitorContext.getCraftName()); -// insert.setParameter(MesPcnExtConstWords.MOULD_RECORD_ID, scanMonitorContext.getMouldRecordId()); -// insert.setParameter(MesPcnExtConstWords.SCAN_INFO, resultBean.getScanInfo()); -// insert.setParameter(MesPcnExtConstWords.WORK_ORDER_NO, null); -// insert.setParameter(MesPcnExtConstWords.SERIAL_NUMBER, null); -// insert.setParameter(MesPcnExtConstWords.PRODUCT_SN, null); -// insert.setParameter(MesPcnExtConstWords.CUST_SN, null); -// insert.setParameter(MesPcnExtConstWords.PART_NO, null); -// insert.setParameter(MesPcnExtConstWords.PART_NAME, null); -// insert.setParameter(MesPcnExtConstWords.STEP_CODE, resultBean.getStepCode()); -// insert.setParameter(MesPcnExtConstWords.LOG_TYPE, resultBean.getLogType()); -// insert.setParameter(MesPcnExtConstWords.MESSAGE, resultBean.getMessage()); -// insert.setParameter(MesPcnExtConstWords.MESSAGE_TYPE, MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_MESSAGE_TYPE.codeOfValue(resultBean.getDataType())); -// insert.setParameter(MesPcnExtConstWords.ORG_WORK_CODE, new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(resultBean.getOrganizeCode()).add(resultBean.getWorkCenterCode()).toString()); -// //存在开模ID的记录延迟同步 -// if (!StringUtils.isEmpty(scanMonitorContext.getMouldRecordId())) { -// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_STATUS, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); -// insert.setParameter(MesPcnExtConstWords.DEAL_STATUS, MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue()); -// } else { -// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_STATUS, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); -// insert.setParameter(MesPcnExtConstWords.DEAL_STATUS, MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue()); -// } -// -// insert.executeUpdate(); + index ++; + } + insert.executeUpdate(); } 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 58bc8b4..8cd7b78 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 @@ -16,8 +16,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLogDetail; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; -import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentLogDetailRepository; -import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentLogRepository; import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRecordRepository; import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; @@ -36,7 +34,10 @@ import org.springframework.util.StringUtils; import javax.annotation.Resource; import javax.persistence.EntityManager; import javax.persistence.Query; -import java.util.*; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.StringJoiner; import java.util.stream.Collectors; @Slf4j @@ -94,12 +95,13 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { MesEquipmentRecord mesEquipmentRecord =new MesEquipmentRecord(); BeanUtils.copyProperties(actorMessage, mesEquipmentRecord); mesEquipmentRecord.setRecordStatus(MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_10.getValue()); - mesEquipmentRecord.setId(snowflakeIdMaker.nextId()); + mesEquipmentRecord.setId(!StringUtils.isEmpty(actorMessage.getMouldRecordId()) ? actorMessage.getMouldRecordId() : snowflakeIdMaker.nextId()); ConvertBean.serviceModelInitialize(mesEquipmentRecord, actorMessage.getUserName()); String key = getKey(mesEquipmentRecord); equipmentLogList.forEach(equipLog -> redisMesPcn.putList(key, equipLog)); + //不能使用insert, 防止id偶发重复问题 mesEquipmentRecordRepository.save(mesEquipmentRecord); log.info("工厂{}生产线{}工位{}:FSM STATE DISPATCHER --- DO STEP --- {} EXEC --- KEY:{} --- 工艺参数:{}", @@ -154,25 +156,6 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { insertBatchEquipmentLogDetail(organizeCode, optional.get().getEquipId(), userInfo, qty, mesEquipmentRecord, equipmentLogList); - - for (MesEquipmentLog mesEquipmentLog : equipmentLogList) { - MesEquipmentLogDetail mesEquipmentLogDetail = new MesEquipmentLogDetail(); - BeanUtils.copyProperties(mesEquipmentLog, mesEquipmentLogDetail); - mesEquipmentLogDetail.setAreaCode(mesEquipmentRecord.getAreaCode()); - mesEquipmentLogDetail.setCraftCode(mesEquipmentRecord.getCraftCode()); - mesEquipmentLogDetail.setProcessCode(mesEquipmentRecord.getProcessCode()); - mesEquipmentLogDetail.setWorkCenterCode(mesEquipmentRecord.getWorkCenterCode()); - mesEquipmentLogDetail.setId(null); - mesEquipmentLogDetail.setCreateDatetime(null); - mesEquipmentLogDetail.setCreateUser(null); - mesEquipmentLogDetail.setOrgEquipId(mesEquipmentLogDetail.getOrganizeCode()+"_"+mesEquipmentLogDetail.getEquipId()); - - if (!StringUtils.isEmpty(mesEquipmentRecord.getProduceSnJson())) mesEquipmentLogDetail.setExtend(mesEquipmentRecord.getProduceSnJson()); - - ConvertBean.serviceModelInitialize(mesEquipmentLogDetail, "job"); - mesEquipmentLogDetails.add(mesEquipmentLogDetail); - } - } private void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, Integer qty, MesEquipmentRecord mesEquipmentRecord, List equipmentLogList) { @@ -181,15 +164,12 @@ public class MesEquipmentLogService implements IMesEquipmentLogService { if (qty.compareTo(equipmentLogList.size()) >= 0) { equipmentLogExtService.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, equipmentLogList); - equipmentLogList = null; + return; } else { List handleList = equipmentLogList.subList(0, qty); equipmentLogExtService.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, handleList); - equipmentLogList = equipmentLogList.subList(qty, equipmentLogList.size()); + insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, qty, mesEquipmentRecord, equipmentLogList.subList(qty, equipmentLogList.size())); } - - insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, qty, mesEquipmentRecord, equipmentLogList); - } @Override 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 d97a50d..ca98e35 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 @@ -7,6 +7,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepServ 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.context.MesScanMonitorContext; 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; @@ -63,8 +64,12 @@ public class MesVariableWhenFinishedReadStepService extends BaseStepService { // 获取上下文信息 MesProductionProcessContext productionProcessContext = productionProcessContextStepService.dispatchCurCellEquipment(reqBean); + //获取上下文工位扫描监控信息 + MesScanMonitorContext scanMonitorContext = productionProcessContextStepService.dispatchScanMonitorContext(reqBean, true); + // 获取条码信息 List mesProduceSnContexts = mesProductionDispatchContextStepService.getProductionPsOutContext(reqBean); + // 通过上下文获取工位设备信息 MesCellEquipContext curCellEquip = productionProcessContext.getCurCellEquip(); @@ -85,6 +90,7 @@ public class MesVariableWhenFinishedReadStepService extends BaseStepService { .processCode(reqBean.getProcessCode()) .produceSnJson(mesProduceSnsStr) .userName(reqBean.getUserInfo()) + .mouldRecordId(scanMonitorContext.getMouldRecordId()) .build(); // 数据采集信息需要存放到 redis中 diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ActorMessage.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ActorMessage.java index fe5f51a..e53aa79 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ActorMessage.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/ActorMessage.java @@ -10,24 +10,38 @@ public class ActorMessage { @ApiParam("用户名称") private String userName; + @ApiParam("组织代码") private String organizeCode; + @ApiParam("组织名称") private String organizeName; + @ApiParam("工作中心代码") private String workCenterCode; - @ApiParam("工作单元代码") + + @ApiParam("工位代码") private String workCellCode; + @ApiParam("区域代码") private String areaCode; + @ApiParam("工艺代码") private String craftCode; + @ApiParam("工序代码") private String processCode; + @ApiParam("条码信息JOSN") private String produceSnJson; + @ApiParam("设备代码") private String equipmentCode; + @ApiParam("设备ID") private Integer equipId; + + @ApiParam("开模记录ID") + private Long mouldRecordId; + } 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 87ef227..a665372 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 @@ -81,6 +81,16 @@ public class MesPcnExtConstWords { public static final String EQUIPMENT_NAME = "equipmentName"; // 设备数据变量ID public static final String EQUIP_VARIABLE_ID = "equipVariableId"; + // 设备数据变量名称 + public static final String EQUIP_VARIABLE_NAME = "equipVariableName"; + // 设备数据变量描述 + public static final String EQUIP_VARIABLE_DESC = "equipVariableDesc"; + // 读写标志 + public static final String READ_WRITE_FLAG = "readWriteFlag"; + // 数据类型 + public static final String DATA_TYPE = "dataType"; + // 设备质量 + public static final String QUALITY = "quality"; // 设备ID public static final String EQUIP_ID = "equipId"; // 变量类型 @@ -195,10 +205,14 @@ public class MesPcnExtConstWords { public static final String MESSAGE_TYPE = "messageType"; // 工厂_工作中心 public static final String ORG_WORK_CODE = "orgWorkCode"; + // 工厂_设备ID + public static final String ORG_EQUIP_ID = "orgEquipId"; // JOB public static final String JOB = "JOB"; // 记录状态 public static final String RECORD_STATUS = "recordStatus"; + // 扩展字段 + public static final String EXTEND = "extend"; // 时间格式 public static final String DATE_FORMAT_SSS = "yyyy-MM-dd HH:mm:ss.SSS";