From 3215c2957e64021d90039147c60da2ca356e3829 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Tue, 24 Sep 2024 10:21:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BC=8F=E4=BF=A1=E5=8F=B7=20=20=E6=94=B9LOG?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=A2=9E=E5=8A=A0=E4=BF=AE=E6=94=B9=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcn/api/busi/IMesEquipmentLogExtService.java | 3 ++- .../pcn/apiservice/dao/IMesEquipmentLogDao.java | 3 ++- .../pcn/apiservice/daoimpl/MesEquipmentLogDao.java | 29 ++++++++++------------ .../equiplog/MesEquipmentLogExtService.java | 8 +++--- .../step/MesAssemblyReadStepService.java | 2 +- .../pojo/context/MesEquipLogDispatchContext.java | 13 +++++----- .../context/MesEquipVariableCfgCollectContext.java | 7 +++--- 7 files changed, 33 insertions(+), 32 deletions(-) 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 b807ecb..9125dfb 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 @@ -8,6 +8,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariableCfg; import io.swagger.annotations.ApiOperation; import java.util.List; +import java.util.Map; public interface IMesEquipmentLogExtService { @@ -21,7 +22,7 @@ public interface IMesEquipmentLogExtService { MesEquipmentLog queryMesEquipmentLog(String organizeCode, Integer equipId, Long equipVariableId); @ApiOperation(value = "根据设备ID,设备LOG表ID集合 修改设备ID分表采集数据的状态") - void updateEquipmentLogList(String organizeCode, Integer equipId, List equipmentLogIdList); + void updateEquipmentLogList(String organizeCode, Integer equipId, Map equipmentLogIdMap); @ApiOperation(value = "获取设备数据变量对应的采集数据") MesEquipLogDispatchContext getEquipLogDispatchContext(MesCellEquipContext cellEquipContext, List equipmentVariableList, List equipmentVariableCfgList); 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 abf02a6..e936df1 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 @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; import io.swagger.annotations.ApiOperation; import java.util.List; +import java.util.Map; public interface IMesEquipmentLogDao { @@ -12,6 +13,6 @@ public interface IMesEquipmentLogDao { 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); + void updateEquipVariableStatus(String organizeCode, Integer equipId, Map equipmentLogIdMap, 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 index ba3ab76..b29695d 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 @@ -15,15 +15,9 @@ import javax.persistence.EntityManager; import javax.persistence.Query; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; -/** - * @Description : MES物料信息Dao - * @Reference : - * @Author : xiangming.liao - * @CreateDate : 2020-02-21 - * @Modify: - **/ @Service public class MesEquipmentLogDao implements IMesEquipmentLogDao { @@ -69,15 +63,13 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { } @Override - public void updateEquipVariableStatus(String organizeCode, Integer equipId, List equipmentLogIdList, Integer equipVariableStatus) { + public void updateEquipVariableStatus(String organizeCode, Integer equipId, Map equipmentLogIdMap, Integer equipVariableStatus) { - if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipmentLogIdList)) return; + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipmentLogIdMap) || StringUtils.isEmpty(equipVariableStatus)) return; StringBuffer builder = new StringBuffer(); - for (int i = 0; i < equipmentLogIdList.size(); i ++) { - - if (StringUtils.isEmpty(equipmentLogIdList.get(i))) continue; + for (int i = 0; i < equipmentLogIdMap.size(); i ++) { builder.append(" update mes_equipment_log_"); builder.append(equipId); @@ -85,16 +77,21 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao { builder.append(i); builder.append(" where id = :id_"); builder.append(i); + builder.append(" and modify_date_time = :modifyDatetime_"); + builder.append(i); builder.append(" ;"); } 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("%s_%s", MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, i), equipVariableStatus); - update.setParameter(String.format("%s_%s", MesPcnExtConstWords.ID, i), equipmentLogIdList.get(i)); + 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()); + index ++; } update.executeUpdate(); 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 59c438d..0281584 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 @@ -68,9 +68,9 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService { } @Override - 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()); + 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()); } @Override @@ -128,7 +128,7 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService { // 标记需要修改的设备数据变量ID 【在主方法体中修改常变值配置对应的设备ID分表的采集数据的状态为1】 if (equipVariableCfgCollectContext.getIsCollectValue() && checkEquipQuality(cellEquipContext.getQuality()) && !StringUtils.isEmpty(equipmentVariableCfg.getNeedNewValue()) && - equipmentVariableCfg.getNeedNewValue().compareTo(MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue()) == 0) equipLogDispatchContext.resetEquipmentLogIdList(equipVariableCfgCollectContext.getEquipmentLogIdList()); + equipmentVariableCfg.getNeedNewValue().compareTo(MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue()) == 0) equipLogDispatchContext.resetEquipmentLogIdMap(equipVariableCfgCollectContext.getEquipmentLogIdMap()); } return equipVariableCfgCollectContextList; 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 ead326a..1cbe688 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.getResetEquipmentLogIdList()); + equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap()); 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 da2b79f..9db0643 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 @@ -7,7 +7,9 @@ import org.springframework.util.StringUtils; import java.io.Serializable; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -31,7 +33,7 @@ public class MesEquipLogDispatchContext implements Serializable { private List equipVariableCfgCollectContextList; @ApiParam("需要重置设备LOG表ID集合") - private List resetEquipmentLogIdList; + private Map resetEquipmentLogIdMap; public MesEquipLogDispatchContext() {} @@ -54,11 +56,10 @@ public class MesEquipLogDispatchContext implements Serializable { return this; } - 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()); + public MesEquipLogDispatchContext resetEquipmentLogIdMap(Map equipmentLogIdMap) { + if (CollectionUtils.isEmpty(equipmentLogIdMap)) return this; + if (CollectionUtils.isEmpty(this.resetEquipmentLogIdMap)) this.resetEquipmentLogIdMap = new HashMap<>(); + this.resetEquipmentLogIdMap.putAll(equipmentLogIdMap); 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 9e376fa..1004802 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 @@ -11,6 +11,7 @@ import org.springframework.util.StringUtils; import java.io.Serializable; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -46,7 +47,7 @@ public class MesEquipVariableCfgCollectContext implements Serializable { private List equipVariableCollectContextList; @ApiParam("设备LOG表ID集合") - private List equipmentLogIdList; + private Map equipmentLogIdMap; @ApiParam("是否采集到数据") private Boolean isCollectValue = false; @@ -59,10 +60,10 @@ public class MesEquipVariableCfgCollectContext implements Serializable { 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; + if (!StringUtils.isEmpty(equipVariableCollectContext.getEquipVariableValue())) this.isCollectValue = true; } this.equipVariableCollectContextList = equipVariableCollectContextList; - this.equipmentLogIdList = equipVariableCollectContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipmentLogId()))).map(MesEquipVariableCollectContext::getEquipmentLogId).collect(Collectors.toList()); + this.equipmentLogIdMap = equipVariableCollectContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipmentLogId()))).collect(Collectors.toMap(MesEquipVariableCollectContext::getEquipmentLogId, MesEquipVariableCollectContext::getWriteDatetime)); return this; }