设备查询点位数据去除事务

tags/yfai-pcn-ext-v1.9
王杰 8 months ago
parent bc60e1a2c1
commit 27b40d6709

@ -23,7 +23,7 @@ public interface IMesEquipmentLogExtService {
void updateEquipmentLogValue(String organizeCode, Integer equipId, Long equipVariableId, String value);
@ApiOperation(value = "获取设备数据变量对应的采集数据")
MesEquipLogDispatchContext doHandleEquipmentLogList(MesCellEquipContext cellEquipContext, List<MesEquipmentVariable> equipmentVariableList, List<MesEquipmentVariableCfg> equipmentVariableCfgList, Boolean isResetEquipVariable);
MesEquipLogDispatchContext getEquipLogDispatchContext(MesCellEquipContext cellEquipContext, List<MesEquipmentVariable> equipmentVariableList, List<MesEquipmentVariableCfg> equipmentVariableCfgList);
@ApiOperation(value = "验证设备通信质量")
Boolean checkEquipQuality(Integer quality);

@ -16,6 +16,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
@ -75,7 +77,8 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService {
}
@Override
public MesEquipLogDispatchContext doHandleEquipmentLogList(MesCellEquipContext cellEquipContext, List<MesEquipmentVariable> equipmentVariableList, List<MesEquipmentVariableCfg> equipmentVariableCfgList, Boolean isResetEquipVariable) {
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public MesEquipLogDispatchContext getEquipLogDispatchContext(MesCellEquipContext cellEquipContext, List<MesEquipmentVariable> equipmentVariableList, List<MesEquipmentVariableCfg> equipmentVariableCfgList) {
MesEquipLogDispatchContext equipLogDispatchContext = new MesEquipLogDispatchContext(cellEquipContext.getOrganizeCode());
@ -90,11 +93,8 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService {
Map<Long, List<MesEquipmentLog>> needNewValue2Collect = getEquipmentLog(equipLogDispatchContext, cellEquipContext, collectContextList, MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue());
Map<Long, List<MesEquipmentLog>> unNeedNewValue2Collect = getEquipmentLog(equipLogDispatchContext, cellEquipContext, collectContextList, MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.FALSE.getValue());
//根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态 【修改常变值配置对应的设备ID分表的采集数据的状态为1】 【isResetEquipVariable = false 标记需要修改的设备数据变量ID, 后续匹配成功后再调用updateEquipmentLogList进行修改】
if (!CollectionUtils.isEmpty(needNewValue2Collect) && checkEquipQuality(cellEquipContext.getQuality())) {
if (isResetEquipVariable) updateEquipmentLogList(cellEquipContext.getOrganizeCode(), cellEquipContext.getEquipId(), new ArrayList<>(needNewValue2Collect.keySet()));
else equipLogDispatchContext.resetEquipVariableIdList(new ArrayList<>(needNewValue2Collect.keySet()));
}
//标记需要修改的设备数据变量ID 【在主方法体中修改常变值配置对应的设备ID分表的采集数据的状态为1】
if (!CollectionUtils.isEmpty(needNewValue2Collect) && checkEquipQuality(cellEquipContext.getQuality())) equipLogDispatchContext.resetEquipVariableIdList(new ArrayList<>(needNewValue2Collect.keySet()));
for (MesEquipVariableCfgCollectContext equipVariableCfgCollectContext : collectContextList) {
if (null == equipVariableCfgCollectContext || CollectionUtils.isEmpty(equipVariableCfgCollectContext.getEquipVariableCollectContextList())) continue;

@ -136,7 +136,7 @@ public class MesAssemblyReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

@ -85,14 +85,14 @@ public class MesEquipByPassReadStepService extends BaseStepService {
return stepDynamicsCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().checkRepeat(), stepResult, false, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT, productionProcessContext.getMessage());
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, true);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//匹配BYPASS有效性
return matchByPassValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, equipLogDispatchContext);
return doMatchByPassValid(reqBean, resultBean, stepResult, productionProcessContext, cellEquipContext, equipLogDispatchContext);
}
private StepResult matchByPassValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult,
private StepResult doMatchByPassValid(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult,
MesProductionProcessContext productionProcessContext, MesCellEquipContext cellEquipContext, MesEquipLogDispatchContext equipLogDispatchContext) {
//未采集到数据
if (!equipLogDispatchContext.getIsCollectValue()) return stepDynamicsCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().checkRepeat(), stepResult, false,
@ -106,6 +106,9 @@ public class MesEquipByPassReadStepService extends BaseStepService {
//发送BYPASS信号给客户端
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());
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()));

@ -118,7 +118,7 @@ public class MesFirstMouldNoReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

@ -108,7 +108,7 @@ public class MesMembraneSignalReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

@ -114,7 +114,7 @@ public class MesMouldNoReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

@ -113,7 +113,7 @@ public class MesProductResultReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

@ -130,7 +130,7 @@ public class MesProductSnReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

@ -131,7 +131,7 @@ public class MesProductionPartNoReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

@ -108,7 +108,7 @@ public class MesReadySignalReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

@ -129,7 +129,7 @@ public class MesWorkOrderReadStepService extends BaseStepService {
productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext);
//获取设备LOG采集数据
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.doHandleEquipmentLogList(cellEquipContext, equipmentVariableList, equipmentVariableCfgList, false);
MesEquipLogDispatchContext equipLogDispatchContext = equipmentLogExtService.getEquipLogDispatchContext(cellEquipContext, equipmentVariableList, equipmentVariableCfgList);
//验证设备通信质量
productionCustomContextStepService.sendEquipQualityMessage(reqBean, cellEquipContext);

Loading…
Cancel
Save