Merge branch 'master' into dev-wuhan-temp

tags/yfai-pcn-ext-v2.3
王杰 8 months ago
commit 857f7c4fc2

@ -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<Long> equipmentLogIdList);
void updateEquipmentLogList(String organizeCode, Integer equipId, Map<Long, String> equipmentLogIdMap);
@ApiOperation(value = "获取设备数据变量对应的采集数据")
MesEquipLogDispatchContext getEquipLogDispatchContext(MesCellEquipContext cellEquipContext, List<MesEquipmentVariable> equipmentVariableList, List<MesEquipmentVariableCfg> equipmentVariableCfgList);

@ -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<MesEquipVariableCollectContext> queryMesEquipmentLog(List<MesEquipmentVariable> equipmentVariableList, String organizeCode, Integer equipId, Integer variableType);
@ApiOperation(value = "根据设备ID, 设备LOG表ID集合修改设备日志表的数据状态")
void updateEquipVariableStatus(String organizeCode, Integer equipId, List<Long> equipmentLogIdList, Integer equipVariableStatus);
void updateEquipVariableStatus(String organizeCode, Integer equipId, Map<Long, String> equipmentLogIdMap, Integer equipVariableStatus);
}

@ -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 : MESDao
* @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<Long> equipmentLogIdList, Integer equipVariableStatus) {
public void updateEquipVariableStatus(String organizeCode, Integer equipId, Map<Long, String> 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<Long, String> 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();

@ -68,9 +68,9 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService {
}
@Override
public void updateEquipmentLogList(String organizeCode, Integer equipId, List<Long> 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<Long, String> 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;

@ -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;

@ -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.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
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()));

@ -157,7 +157,7 @@ public class MesFirstMouldNoReadStepService extends BaseStepService {
//根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
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);

@ -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.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
return stepResult;

@ -165,7 +165,7 @@ public class MesMouldNoReadStepService extends BaseStepService {
}
//根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
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);

@ -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.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
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);

@ -168,7 +168,7 @@ public class MesProductSnReadStepService extends BaseStepService {
}
//根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
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);

@ -169,7 +169,7 @@ public class MesProductionPartNoReadStepService extends BaseStepService {
}
//根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
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);

@ -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.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
return stepResult;

@ -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.getResetEquipmentLogIdList());
equipmentLogExtService.updateEquipmentLogList(reqBean.getOrganizeCode(), cellEquipContext.getEquipId(), equipLogDispatchContext.getResetEquipmentLogIdMap());
return stepResult;

@ -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<MesEquipVariableCfgCollectContext> equipVariableCfgCollectContextList;
@ApiParam("需要重置设备LOG表ID集合")
private List<Long> resetEquipmentLogIdList;
private Map<Long, String> resetEquipmentLogIdMap;
public MesEquipLogDispatchContext() {}
@ -54,11 +56,10 @@ public class MesEquipLogDispatchContext implements Serializable {
return this;
}
public MesEquipLogDispatchContext resetEquipmentLogIdList(List<Long> 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<Long, String> equipmentLogIdMap) {
if (CollectionUtils.isEmpty(equipmentLogIdMap)) return this;
if (CollectionUtils.isEmpty(this.resetEquipmentLogIdMap)) this.resetEquipmentLogIdMap = new HashMap<>();
this.resetEquipmentLogIdMap.putAll(equipmentLogIdMap);
return this;
}

@ -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<MesEquipVariableCollectContext> equipVariableCollectContextList;
@ApiParam("设备LOG表ID集合")
private List<Long> equipmentLogIdList;
private Map<Long, String> 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;
}

Loading…
Cancel
Save