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 ab717a5..b807ecb 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 @@ -17,10 +17,11 @@ public interface IMesEquipmentLogExtService { @ApiOperation(value = "根据设备ID,是否常变值状态,设备数据变量ID集合 查询设备ID分表采集数据") List getEquipmentLogList(String organizeCode, Integer equipId, Integer needNewValue, List equipVariableIdList); - @ApiOperation(value = "根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态") - void updateEquipmentLogList(String organizeCode, Integer equipId, List equipVariableIdList); + @ApiOperation(value = "根据设备ID 查询设备ID分表所有采集数据") + MesEquipmentLog queryMesEquipmentLog(String organizeCode, Integer equipId, Long equipVariableId); - void updateEquipmentLogValue(String organizeCode, Integer equipId, Long equipVariableId, String value); + @ApiOperation(value = "根据设备ID,设备LOG表ID集合 修改设备ID分表采集数据的状态") + void updateEquipmentLogList(String organizeCode, Integer equipId, List equipmentLogIdList); @ApiOperation(value = "获取设备数据变量对应的采集数据") MesEquipLogDispatchContext getEquipLogDispatchContext(MesCellEquipContext cellEquipContext, List equipmentVariableList, List equipmentVariableCfgList); @@ -28,7 +29,6 @@ public interface IMesEquipmentLogExtService { @ApiOperation(value = "验证设备通信质量") Boolean checkEquipQuality(Integer quality); - @ApiOperation(value = "根据设备ID 查询设备ID分表所有采集数据") - MesEquipmentLog queryMesEquipmentLog(String organizeCode, Integer equipId, Long equipVariableId); + } 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 new file mode 100644 index 0000000..abf02a6 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesEquipmentLogDao.java @@ -0,0 +1,17 @@ +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.MesEquipmentVariable; +import io.swagger.annotations.ApiOperation; + +import java.util.List; + +public interface IMesEquipmentLogDao { + + @ApiOperation(value = "根据设备ID, 变量类型查询设备日志表") + List queryMesEquipmentLog(List equipmentVariableList, String organizeCode, Integer equipId, Integer variableType); + + @ApiOperation(value = "根据设备ID, 设备LOG表ID集合修改设备日志表的数据状态") + void updateEquipVariableStatus(String organizeCode, Integer equipId, List equipmentLogIdList, Integer equipVariableStatus); + +} 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 new file mode 100644 index 0000000..28d4e6f --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesEquipmentLogDao.java @@ -0,0 +1,111 @@ +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.pojo.mes.bean.MesEquipmentVariable; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Description : MES物料信息Dao + * @Reference : + * @Author : xiangming.liao + * @CreateDate : 2020-02-21 + * @Modify: + **/ +@Service +public class MesEquipmentLogDao implements IMesEquipmentLogDao { + + @Autowired + private EntityManager entityManager; + + @Override + public List queryMesEquipmentLog(List equipmentVariableList, String organizeCode, Integer equipId, Integer variableType) { + + if (CollectionUtils.isEmpty(equipmentVariableList) || StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || StringUtils.isEmpty(variableType)) return null; + + StringBuffer builder = new StringBuffer(); + + builder.append(" select e.equip_variable_id, e.equip_variable_value, e.equip_variable_status, e.quality, e.modify_date_time, e.id "); + builder.append(" from mes_equipment_log_"); + builder.append(equipId); + builder.append(" e where e.organize_code = :organizeCode and e.variable_type = :variableType "); + + Query query = entityManager.createNativeQuery(builder.toString()); + query.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); + query.setParameter(MesPcnExtConstWords.VARIABLE_TYPE, variableType); + List list = query.getResultList(); + + if (CollectionUtils.isEmpty(list)) return null; + + List equipVariableIdList = equipmentVariableList.stream().filter(o -> null != o).map(MesEquipmentVariable::getId).collect(Collectors.toList()); + + List equipVariableCollectContextList = generateEquipVariableCollectContextList(equipmentVariableList); + + for (Object equipmentLog : list) { + + if (null == equipmentLog) continue; + + Object[] equipmentLogArr = (Object[]) equipmentLog; + + if (null == equipmentLogArr || equipmentLogArr.length != 6 || equipVariableIdList.contains(equipmentLogArr[0])) continue; + + equipVariableCollectContextList.stream().filter(o -> (null != o && o.getEquipVariableId().compareTo((Long) equipmentLogArr[0]) == 0)).findFirst().get().copyValue(equipmentLogArr[1], equipmentLogArr[2], equipmentLogArr[3], equipmentLogArr[4], equipmentLogArr[5]); + + } + + return equipVariableCollectContextList; + } + + @Override + public void updateEquipVariableStatus(String organizeCode, Integer equipId, List equipmentLogIdList, Integer equipVariableStatus) { + + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipmentLogIdList)) return; + + StringBuffer builder = new StringBuffer(); + + for (int i = 0; i < equipmentLogIdList.size(); i ++) { + + if (StringUtils.isEmpty(equipmentLogIdList.get(i))) continue; + + if (!StringUtils.isEmpty(builder)) builder.append(MesPcnExtConstWords.SEMICOLON); + builder.append(" update mes_equipment_log_"); + builder.append(equipId); + builder.append(" set equip_variable_status = :equipVariableStatus where id = :id_"); + builder.append(i); + + } + + Query update = entityManager.createNativeQuery(builder.toString()); + + for (int i = 0; i < equipmentLogIdList.size(); i ++) { + if (StringUtils.isEmpty(equipmentLogIdList.get(i))) continue; + update.setParameter(String.format("id_%s", i), equipVariableStatus); + } + + update.executeUpdate(); + + } + + private List generateEquipVariableCollectContextList(List equipmentVariableList) { + List equipVariableCollectContextList = new ArrayList<>(); + equipmentVariableList.stream().filter(o -> null != o).forEach(o -> { + MesEquipVariableCollectContext equipVariableCollectContext = new MesEquipVariableCollectContext(o.getId()); + BeanUtils.copyProperties(o, equipVariableCollectContext); + equipVariableCollectContextList.add(equipVariableCollectContext); + }); + return equipVariableCollectContextList; + } + +} 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 87588c5..aa595ae 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 @@ -1,9 +1,11 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.equiplog; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesEquipmentLogExtService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesEquipmentLogDao; 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; @@ -34,6 +36,9 @@ 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; @@ -54,21 +59,18 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService { } @Override - public void updateEquipmentLogList(String organizeCode, Integer equipId, List equipVariableIdList) { - if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipVariableIdList)) return; - 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); - equipmentLogRepository.updateByProperties(new String[]{MesPcnExtConstWords.EQUIP_VARIABLE_STATUS}, new Object[]{MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue()}, packBean); + 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 updateEquipmentLogValue(String organizeCode, Integer equipId, Long equipVariableId, String value) { - DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, packBean); - DdlPreparedPack.getNumEqualPack(equipVariableId, MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean); - equipmentLogRepository.updateByProperties(new String[]{MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS}, new Object[]{value, MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getEquipVariableStatus()}, packBean); + public void updateEquipmentLogList(String organizeCode, Integer equipId, List equipmentLogIdList) { + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipmentLogIdList)) return; + equipmentLogDao.updateEquipVariableStatus(organizeCode, equipId, equipmentLogIdList, MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.FALSE.getEquipVariableStatus()); } @Override @@ -84,100 +86,52 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService { if (CollectionUtils.isEmpty(equipmentVariableList) || CollectionUtils.isEmpty(equipmentVariableCfgList)) return equipLogDispatchContext; - //封装数据变量接口逻辑、数据变量、设备LOG信息的嵌套对象集合 - List collectContextList = generateEquipVariableCfgCollectLogContextList(equipLogDispatchContext, equipmentVariableList, equipmentVariableCfgList); - - //标记当前设备通信默认正常 - cellEquipContext.setQuality(MesExtEnumUtil.EQUIP_LOG_QUALITY.defaultQuality()); - //根据常变值分别获取设备ID分表的采集数据 - Map> needNewValue2Collect = getEquipmentLog(equipLogDispatchContext, cellEquipContext, collectContextList, MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue()); - Map> unNeedNewValue2Collect = getEquipmentLog(equipLogDispatchContext, cellEquipContext, collectContextList, MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.FALSE.getValue()); + List equipVariableCollectContextList = equipmentLogDao.queryMesEquipmentLog(equipmentVariableList, cellEquipContext.getOrganizeCode(), cellEquipContext.getEquipId(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue()); - //标记需要修改的设备数据变量ID 【在主方法体中修改常变值配置对应的设备ID分表的采集数据的状态为1】 - if (!CollectionUtils.isEmpty(needNewValue2Collect) && checkEquipQuality(cellEquipContext.getQuality())) equipLogDispatchContext.resetEquipVariableIdList(new ArrayList<>(needNewValue2Collect.keySet())); + // 标记当前设备通信是否正常 + Optional optional = CollectionUtils.isEmpty(equipVariableCollectContextList) ? null : equipVariableCollectContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getQuality()) && !checkEquipQuality(o.getQuality()))).findFirst(); + cellEquipContext.setQuality((null != optional && optional.isPresent()) ? optional.get().getQuality() : MesExtEnumUtil.EQUIP_LOG_QUALITY.defaultQuality()); - for (MesEquipVariableCfgCollectContext equipVariableCfgCollectContext : collectContextList) { - if (null == equipVariableCfgCollectContext || CollectionUtils.isEmpty(equipVariableCfgCollectContext.getEquipVariableCollectContextList())) continue; - equipVariableCfgCollectContext.getEquipVariableCollectContextList().forEach(o -> o.copyValue(filterEquipmentLog(needNewValue2Collect, unNeedNewValue2Collect, o.getEquipVariableId(), equipVariableCfgCollectContext.getNeedNewValue()))); - } + // 封装数据变量接口逻辑、数据变量、设备LOG信息的嵌套对象集合 + List collectContextList = generateEquipVariableCfgCollectLogContextList(equipLogDispatchContext, cellEquipContext, equipVariableCollectContextList, equipmentVariableCfgList); return equipLogDispatchContext.equipVariableCfgCollectContextList(collectContextList); } - private List generateEquipVariableCfgCollectLogContextList(MesEquipLogDispatchContext equipLogDispatchContext, List equipmentVariableList, List equipmentVariableCfgList) { + private List generateEquipVariableCfgCollectLogContextList(MesEquipLogDispatchContext equipLogDispatchContext, MesCellEquipContext cellEquipContext, + List equipVariableCollectContextList, List equipmentVariableCfgList) { - List equipVariableCollectContextList = null; + List equipVariableCfgCollectContextList = null; - Map> categoryLevelTwoMap = equipmentVariableList.stream().filter(o -> null != o).collect(Collectors.groupingBy(MesEquipmentVariable::getCategoryLevelTwo)); + Map> categoryLevelTwoMap = equipVariableCollectContextList.stream().filter(o -> null != o).collect(Collectors.groupingBy(MesEquipVariableCollectContext::getCategoryLevelTwo)); for (MesEquipmentVariableCfg equipmentVariableCfg : equipmentVariableCfgList) { if (null == equipmentVariableCfg) continue; - MesEquipVariableCfgCollectContext equipVariableCfgCollect = new MesEquipVariableCfgCollectContext(); - BeanUtils.copyProperties(equipmentVariableCfg, equipVariableCfgCollect); - equipVariableCfgCollect.equipVariableCollectContextList(categoryLevelTwoMap.get(equipmentVariableCfg.getCategoryLevelTwo())); - - if (StringUtils.isEmpty(equipmentVariableCfg.getNeedNewValue())) equipVariableCfgCollect.setNeedNewValue(MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.FALSE.getValue()); + MesEquipVariableCfgCollectContext equipVariableCfgCollectContext = new MesEquipVariableCfgCollectContext(); + BeanUtils.copyProperties(equipmentVariableCfg, equipVariableCfgCollectContext); - if (MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == equipVariableCfgCollect.getNeedNewValue()) equipLogDispatchContext.needNewValue(); + if (StringUtils.isEmpty(equipmentVariableCfg.getNeedNewValue())) equipVariableCfgCollectContext.setNeedNewValue(MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.FALSE.getValue()); + if (MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == equipVariableCfgCollectContext.getNeedNewValue()) equipLogDispatchContext.needNewValue(); - if (CollectionUtils.isEmpty(equipVariableCollectContextList)) equipVariableCollectContextList = new ArrayList<>(); + // 内部方法: 根据常变值重写查询出来的设备变量值,赋值设备变量ID集合 + equipVariableCfgCollectContext.equipVariableCollectContextList(categoryLevelTwoMap.get(equipmentVariableCfg.getCategoryLevelTwo())); - equipVariableCollectContextList.add(equipVariableCfgCollect); - } - - return equipVariableCollectContextList; + // 已经采集到任何数据情况下isCollectValue标记为true + if (equipLogDispatchContext.getIsCollectValue() || equipVariableCfgCollectContext.getIsCollectValue()) equipLogDispatchContext.isCollectValue(); - } + if (CollectionUtils.isEmpty(equipVariableCfgCollectContextList)) equipVariableCfgCollectContextList = new ArrayList<>(); - private MesEquipmentLog filterEquipmentLog(Map> needNewValue2Collect, Map> unNeedNewValue2Collect, Long equipVariableId, Integer needNewValue) { - if (!StringUtils.isEmpty(needNewValue) && MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == needNewValue) return filterEquipmentLog(needNewValue2Collect, equipVariableId); - else return filterEquipmentLog(unNeedNewValue2Collect, equipVariableId); - } + equipVariableCfgCollectContextList.add(equipVariableCfgCollectContext); - private MesEquipmentLog filterEquipmentLog(Map> collectMap, Long equipVariableId) { - return (!CollectionUtils.isEmpty(collectMap) && collectMap.containsKey(equipVariableId)) ? collectMap.get(equipVariableId).get(0) : null; - } - - private Map> getEquipmentLog(MesEquipLogDispatchContext equipLogDispatchContext, MesCellEquipContext cellEquipContext, List equipVariableCollectContextList, Integer needNewValue) { - List filterList = equipVariableCollectContextList.stream().filter(o -> (null != o && o.getNeedNewValue().compareTo(needNewValue) == 0)).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(filterList)) return null; - List equipmentLogList = getEquipmentLogList(cellEquipContext.getOrganizeCode(), cellEquipContext.getEquipId(), needNewValue, collectEquipVariableIdList(filterList)); - Optional optional = CollectionUtils.isEmpty(equipmentLogList) ? null : equipmentLogList.stream().filter(o -> (null != o && !checkEquipQuality(o.getQuality()))).findFirst(); - if (null != optional && optional.isPresent()) cellEquipContext.setQuality(optional.get().getQuality()); - - //【已经采集到任何数据 或者 (equipmentLogList有数据且是长变值方式获取的 或者 不是常变值方式获取的但必须有value) 】 情况下isCollectValue标记为true - if (equipLogDispatchContext.getIsCollectValue() || (!CollectionUtils.isEmpty(equipmentLogList) && (needNewValue == MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() || checkEquipmentLogHasValue(equipmentLogList)))) equipLogDispatchContext.isCollectValue(); - - return CollectionUtils.isEmpty(equipmentLogList) ? null : equipmentLogList.stream().filter(o -> null != o).collect(Collectors.groupingBy(MesEquipmentLog::getEquipVariableId)); - } - - private Boolean checkEquipmentLogHasValue(List equipmentLogList) { - Optional optional = CollectionUtils.isEmpty(equipmentLogList) ? null : equipmentLogList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipVariableValue()))).findFirst(); - return null != optional && optional.isPresent() ? true : false; - } - - private List collectEquipVariableIdList(List equipVariableCollectContextList) { - List equipVariableIdList = null; - for (MesEquipVariableCfgCollectContext equipVariableCfgCollectContext : equipVariableCollectContextList) { - if (null == equipVariableCfgCollectContext || CollectionUtils.isEmpty(equipVariableCfgCollectContext.getEquipVariableIdList())) continue; - if (CollectionUtils.isEmpty(equipVariableIdList)) equipVariableIdList = new ArrayList<>(); - equipVariableIdList.addAll(equipVariableCfgCollectContext.getEquipVariableIdList()); + // 标记需要修改的设备数据变量ID 【在主方法体中修改常变值配置对应的设备ID分表的采集数据的状态为1】 + if (equipVariableCfgCollectContext.getIsCollectValue() && checkEquipQuality(cellEquipContext.getQuality())) equipLogDispatchContext.resetEquipmentLogIdList(equipVariableCfgCollectContext.getEquipmentLogIdList()); } - return CollectionUtils.isEmpty(equipVariableIdList) ? null : equipVariableIdList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); - } - - @Override - public MesEquipmentLog queryMesEquipmentLog(String organizeCode, Integer equipId, Long equipVariableId) { - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); - - DdlPreparedPack.getStringEqualPack(organizeCode, "organizeCode", ddlPackBean); - DdlPreparedPack.getNumEqualPack(equipId, "equipId", ddlPackBean); - DdlPreparedPack.getNumEqualPack(equipVariableId, "equipVariableId", ddlPackBean); + return equipVariableCfgCollectContextList; - return equipmentLogRepository.getByProperty(ddlPackBean); } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyReadStepService.java index 8504395..ead326a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesAssemblyReadStepService.java @@ -152,7 +152,7 @@ public class MesAssemblyReadStepService extends BaseStepService { matchAssemblySnValid(reqBean, resultBean, stepParamMap, stepResult, productionProcessContext, cellEquipContext, equipLogDispatchContext); //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); return stepResult; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesEquipByPassReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesEquipByPassReadStepService.java index fcb9bb1..8571886 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesEquipByPassReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesEquipByPassReadStepService.java @@ -107,7 +107,7 @@ public class MesEquipByPassReadStepService extends BaseStepService { this.sendMessage(reqBean, resultBean.busiType(MesPcnEnumUtil.STATION_BUSI_TYPE.BYPASS_MODULE.getValue()).dataType(MesPcnEnumUtil.STATION_DATA_TYPE.COLOR.getValue()).resultObj(result ? MesExtEnumUtil.COLOR.GREEN.getValue() : MesExtEnumUtil.COLOR.RED.getValue())); //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); return stepDynamicsCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.READ.getValue()).checkRepeat().scanInfo(resultBean.getResultObj().toString()), stepResult, true, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT, String.format("当前已读取到设备[%s]BYSS信号[%s]!", cellEquipContext.getEquipmentName(), resultBean.getResultObj())); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java index 9965831..e2bba49 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java @@ -157,7 +157,7 @@ public class MesFirstMouldNoReadStepService extends BaseStepService { //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.READ.getValue()), String.format("读取到设备[%s]头道模具号的详细JSON内容: %s", cellEquipContext.getEquipmentName(), JSONObject.toJSONString(equipLogDispatchContext)), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesMembraneSignalReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesMembraneSignalReadStepService.java index 157ff7b..b29d20d 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesMembraneSignalReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesMembraneSignalReadStepService.java @@ -124,7 +124,7 @@ public class MesMembraneSignalReadStepService extends BaseStepService { matchMembraneSignal(reqBean, resultBean, stepParamMap, stepResult, productionProcessContext, cellEquipContext, equipLogDispatchContext); //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); return stepResult; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesMouldNoReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesMouldNoReadStepService.java index 03f9c0e..9e5f855 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesMouldNoReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesMouldNoReadStepService.java @@ -165,7 +165,7 @@ public class MesMouldNoReadStepService extends BaseStepService { } //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.READ.getValue()), String.format("读取到设备[%s]模具号的详细JSON内容: %s", cellEquipContext.getEquipmentName(), JSONObject.toJSONString(equipLogDispatchContext)), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductResultReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductResultReadStepService.java index 6696155..59a08bc 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductResultReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductResultReadStepService.java @@ -129,7 +129,7 @@ public class MesProductResultReadStepService extends BaseStepService { matchProductResult(reqBean, resultBean, stepParamMap, stepResult, productionProcessContext, cellEquipContext, equipLogDispatchContext, shotCounter(equipmentVariableList)); //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.READ.getValue()), String.format("读取到设备[%s]加工结果的详细JSON内容: %s", cellEquipContext.getEquipmentName(), JSONObject.toJSONString(equipLogDispatchContext)), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnReadStepService.java index f199098..ec48e23 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnReadStepService.java @@ -168,7 +168,7 @@ public class MesProductSnReadStepService extends BaseStepService { } //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.READ.getValue()).checkRepeat(), String.format("读取到设备[%s]主条码的详细JSON内容: %s", cellEquipContext.getEquipmentName(), JSONObject.toJSONString(equipLogDispatchContext)), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoReadStepService.java index 0b1b221..70876ef 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoReadStepService.java @@ -169,7 +169,7 @@ public class MesProductionPartNoReadStepService extends BaseStepService { } //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.READ.getValue()), String.format("读取到设备[%s]产出零件号的详细JSON内容: %s", cellEquipContext.getEquipmentName(), JSONObject.toJSONString(equipLogDispatchContext)), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesReadySignalReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesReadySignalReadStepService.java index d0ddfc8..be44d36 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesReadySignalReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesReadySignalReadStepService.java @@ -124,7 +124,7 @@ public class MesReadySignalReadStepService extends BaseStepService { matchReadySignal(reqBean, resultBean, stepParamMap, stepResult, productionProcessContext, cellEquipContext, equipLogDispatchContext); //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); return stepResult; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderReadStepService.java index 15d4b8a..6380146 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderReadStepService.java @@ -141,7 +141,7 @@ public class MesWorkOrderReadStepService extends BaseStepService { matchWorkOrderValid(reqBean, resultBean, stepParamMap, stepResult, productionProcessContext, cellEquipContext, equipLogDispatchContext); //根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 - equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipVariableIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList()); return stepResult; diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipLogDispatchContext.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipLogDispatchContext.java index 0f629e0..da2b79f 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipLogDispatchContext.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipLogDispatchContext.java @@ -2,9 +2,13 @@ package cn.estsh.i3plus.ext.mes.pcn.pojo.context; import io.swagger.annotations.ApiParam; import lombok.Data; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.io.Serializable; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 生产过程上下文对象-设备LOG采集处理对象 @@ -26,8 +30,8 @@ public class MesEquipLogDispatchContext implements Serializable { @ApiParam("数据变量接口逻辑信息集合") private List equipVariableCfgCollectContextList; - @ApiParam("需要重置设备变量ID集合") - private List resetEquipVariableIdList; + @ApiParam("需要重置设备LOG表ID集合") + private List resetEquipmentLogIdList; public MesEquipLogDispatchContext() {} @@ -50,8 +54,11 @@ public class MesEquipLogDispatchContext implements Serializable { return this; } - public MesEquipLogDispatchContext resetEquipVariableIdList(List resetEquipVariableIdList) { - this.resetEquipVariableIdList = resetEquipVariableIdList; + public MesEquipLogDispatchContext resetEquipmentLogIdList(List equipmentLogIdList) { + if (CollectionUtils.isEmpty(equipmentLogIdList)) return this; + if (CollectionUtils.isEmpty(this.resetEquipmentLogIdList)) this.resetEquipmentLogIdList = new ArrayList<>(); + this.resetEquipmentLogIdList.addAll(equipmentLogIdList); + this.resetEquipmentLogIdList = CollectionUtils.isEmpty(this.resetEquipmentLogIdList) ? null : this.resetEquipmentLogIdList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); return this; } diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipVariableCfgCollectContext.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipVariableCfgCollectContext.java index 57dd3e2..9e376fa 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipVariableCfgCollectContext.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesEquipVariableCfgCollectContext.java @@ -1,14 +1,17 @@ package cn.estsh.i3plus.ext.mes.pcn.pojo.context; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import io.swagger.annotations.ApiParam; import lombok.Data; import org.springframework.beans.BeanUtils; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.io.Serializable; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * 生产过程上下文对象-数据变量接口逻辑信息 @@ -42,20 +45,25 @@ public class MesEquipVariableCfgCollectContext implements Serializable { @ApiParam("数据变量集合") private List equipVariableCollectContextList; - @ApiParam("设备变量ID集合") - private List equipVariableIdList; - - public MesEquipVariableCfgCollectContext equipVariableCollectContextList(List equipVariableList) { - if (CollectionUtils.isEmpty(equipVariableList)) return this; - this.equipVariableCollectContextList = new ArrayList<>(); - this.equipVariableIdList = new ArrayList<>(); - for (MesEquipmentVariable equipmentVariable : equipVariableList) { - if (null == equipmentVariable) continue; - MesEquipVariableCollectContext equipVariableCollectContext = new MesEquipVariableCollectContext(equipmentVariable.getId()); - BeanUtils.copyProperties(equipmentVariable, equipVariableCollectContext); - equipVariableCollectContextList.add(equipVariableCollectContext); - equipVariableIdList.add(equipmentVariable.getId()); + @ApiParam("设备LOG表ID集合") + private List equipmentLogIdList; + + @ApiParam("是否采集到数据") + private Boolean isCollectValue = false; + + public MesEquipVariableCfgCollectContext equipVariableCollectContextList(List equipVariableCollectContextList) { + if (CollectionUtils.isEmpty(equipVariableCollectContextList)) return this; + for (MesEquipVariableCollectContext equipVariableCollectContext : equipVariableCollectContextList) { + if (null == equipVariableCollectContext) continue; + //判断是否常变值, 常变值equipVariableStatus必须状态=0 + if (MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == this.needNewValue && (StringUtils.isEmpty(equipVariableCollectContext.getEquipVariableStatus()) || + MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getEquipVariableStatus() != equipVariableCollectContext.getEquipVariableStatus())) equipVariableCollectContext.setEquipVariableValue(null); + //已经采集到任何数据情况下isCollectValue标记为true + if (!StringUtils.isEmpty(equipVariableCollectContext.getEquipVariableValue())) isCollectValue = true; } + this.equipVariableCollectContextList = equipVariableCollectContextList; + this.equipmentLogIdList = equipVariableCollectContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipmentLogId()))).map(MesEquipVariableCollectContext::getEquipmentLogId).collect(Collectors.toList()); return this; } + } 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 fcb9028..8e08780 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 @@ -1,12 +1,10 @@ package cn.estsh.i3plus.ext.mes.pcn.pojo.context; -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.util.MesExtEnumUtil; import io.swagger.annotations.ApiParam; import lombok.Data; -import org.springframework.beans.BeanUtils; +import org.springframework.util.StringUtils; import java.io.Serializable; @@ -24,6 +22,9 @@ public class MesEquipVariableCollectContext implements Serializable { @ApiParam("设备变量ID") private Long equipVariableId; + @ApiParam("设备LOG表ID") + private Long equipmentLogId; + @ApiParam("设备ID") private Integer equipId; @@ -82,7 +83,7 @@ public class MesEquipVariableCollectContext implements Serializable { private String equipVariableValue; @ApiParam("变量状态") - private String equipVariableStatus; + private Integer equipVariableStatus; @ApiParam("设备质量") private Integer quality; @@ -110,10 +111,12 @@ public class MesEquipVariableCollectContext implements Serializable { } //读取信息赋值 - public void copyValue(MesEquipmentLog equipmentLog) { - if (null == equipmentLog) return; - BeanUtils.copyProperties(equipmentLog, this, MesPcnExtConstWords.CATEGORY_LEVEL_TWO); - this.writeDatetime = equipmentLog.getModifyDatetime(); + public void copyValue(Object equipVariableValue, Object equipVariableStatus, Object quality, Object modifyDatetime, Object id) { + if (!StringUtils.isEmpty(equipVariableValue)) this.equipVariableValue = (String) equipVariableValue; + if (!StringUtils.isEmpty(equipVariableStatus)) this.equipVariableStatus = (Integer) equipVariableStatus; + if (!StringUtils.isEmpty(quality)) this.quality = (Integer) quality; + if (!StringUtils.isEmpty(modifyDatetime)) this.writeDatetime = (String) modifyDatetime; + if (!StringUtils.isEmpty(id)) this.equipmentLogId = (Long) id; this.messageSource = MesExtEnumUtil.CELL_MESSAGE_SOURCE.READ.getValue(); }