From 50904787dcb3ea277f6956fcbc09f9efefece2ce Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期二, 02 一月 2024 16:03:48 +0800
Subject: [PATCH] 提交
---
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 98 insertions(+), 5 deletions(-)
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
index 2fa8719..90a923d 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.system.vo.DictModel;
import org.jeecg.modules.mdc.dto.EquipmentMachingDto;
+import org.jeecg.modules.mdc.dto.MdcAlarmListDto;
import org.jeecg.modules.mdc.dto.MdcEquipmentRunningSectionDto;
import org.jeecg.modules.mdc.entity.*;
import org.jeecg.modules.mdc.mapper.MdcEquipmentRunningSectionMapper;
@@ -12,6 +14,7 @@
import org.jeecg.modules.mdc.util.TimeFieldUtils;
import org.jeecg.modules.mdc.vo.MdcAlarmAnalyzeQueryVo;
import org.jeecg.modules.mdc.vo.MdcEquipmentRunningSectionVo;
+import org.jeecg.modules.system.service.ISysDictService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +43,12 @@
@Resource
private IEquipmentWorkLineService equipmentWorkLineService;
+ @Resource
+ private ISysDictService sysDictService;
+
+ @Resource
+ private IEquipmentRunningTraceService equipmentRunningTraceService;
+
@Override
public List<MdcEquipmentRunningSectionDto> logList(MdcEquipmentRunningSectionVo equipmentRunningSectionVo) {
@@ -65,7 +74,7 @@
for (MdcEquipmentRunningSection entity : running) {
dto = new MdcEquipmentRunningSectionDto();
BeanUtils.copyProperties(entity, dto);
- if (entity.getStatus() == 3 && StringUtils.isBlank(entity.getSequenceNumber()) && isTableExist) {
+ if (entity.getStatus() == 3 && StringUtils.isBlank(entity.getSequenceNumber()) && isTableExist && !"ZUOLAN".equals(equip.getDrivetype())) {
List<EquipmentMachingDto> esList = equipmentWorkLineService.getEquipmentSequencenumber(tableName, entity.getStartTime(), entity.getEndTime());
if (esList != null && esList.size() > 1) {
dto.setSequenceNumber(esList.get(0).getSequencenumber());
@@ -472,9 +481,9 @@
//鑾峰彇running杩愯鐨勬棩蹇楄褰�
List<MdcEquipmentRunningSection> list = this.equipmentRunningTracesLog(equipment.getEquipmentid());
if (list != null && !list.isEmpty()) {
- //List<MdcEquipmentRunningSection> equipList = addSequenceNumber(list); //娣诲姞绋嬪簭鍙�
- this.ergodicTrim(list);
- super.saveBatch(list);
+ List<MdcEquipmentRunningSection> equipList = addSequenceNumber(list); //娣诲姞绋嬪簭鍙�
+ this.ergodicTrim(equipList);
+ super.saveBatch(equipList);
}
//鑾峰彇鎶ヨ鐨勬棩蹇楄褰�
List<MdcEquipmentRunningSection> errorList = this.equipmentRunningTracesErrorLog(equipment.getEquipmentid());
@@ -483,7 +492,81 @@
//save errorList
super.saveBatch(errorList);
}
+ List<DictModel> dictList = sysDictService.queryDictItemsByCode("data_synchronization_flag");
+ if (dictList != null && !dictList.isEmpty() && "0".equals(dictList.get(0).getValue())) {
+ this.dataSynchronizationHandler(list, errorList);
+ }
}
+ }
+
+ /**
+ * 璁惧杩愯鏃ュ織娣诲姞绋嬪簭鍙�
+ *
+ * @param list
+ * @return
+ */
+ public List<MdcEquipmentRunningSection> addSequenceNumber(List<MdcEquipmentRunningSection> list) {
+ if (list == null || list.size() < 1) {
+ return Collections.emptyList();
+ }
+ Equipment equip = null;
+ for (MdcEquipmentRunningSection e : list) {
+ if (e.getStatus() == 3) {
+ equip = equipmentService.getOne(new LambdaQueryWrapper<Equipment>().eq(Equipment::getEquipmentid, e.getEquipmentId()));
+ if (StringUtils.isNotBlank(equip.getDrivetype()) && equip.getDrivetype().startsWith("FANUC")) {
+ List<EquipmentMachingDto> esList = equipmentWorkLineService.getEquipProgramNum(equip.getDrivetype(), equip.getEquipmentid(),
+ e.getStartTime(), e.getEndTime());
+ if (esList != null && esList.size() > 1) {
+ e.setSequenceNumber(esList.get(0).getProgramnumber());
+ }
+ } else if (StringUtils.isNotBlank(equip.getDrivetype()) && equip.getDrivetype().startsWith("SIEMENS")) {
+ List<EquipmentMachingDto> esList = equipmentWorkLineService.getEquipmentSequencenumber(equip.getDrivetype() + "_" + equip.getEquipmentid(), e.getStartTime(), e.getEndTime());
+ if (esList != null && esList.size() > 1) {
+ e.setSequenceNumber(esList.get(0).getSequencenumber());
+ }
+ }
+ }
+ }
+ return list;
+ }
+
+ /**
+ * 鏁版嵁鍚屾澶勭悊
+ * @param list
+ * @param errorList
+ */
+ private void dataSynchronizationHandler(List<MdcEquipmentRunningSection> list, List<MdcEquipmentRunningSection> errorList) {
+ // 鏁版嵁杞崲
+ List<EquipmentRunningTrace> equipList = new ArrayList<>();
+ if (list != null && !list.isEmpty()) {
+ list.forEach(item -> {
+ EquipmentRunningTrace equipmentRunningSection = new EquipmentRunningTrace();
+ equipmentRunningSection.setEquipment(item.getEquipmentId());
+ equipmentRunningSection.setAlarm(item.getAlarm());
+ equipmentRunningSection.setCreateTime(item.getCreateTime());
+ equipmentRunningSection.setDuration(item.getDuration());
+ equipmentRunningSection.setEndTime(item.getEndTime());
+ equipmentRunningSection.setStartTime(item.getStartTime());
+ equipmentRunningSection.setStatus(item.getStatus());
+ equipmentRunningSection.setSequencenumber(item.getSequenceNumber());
+ equipList.add(equipmentRunningSection);
+ });
+ }
+ if (errorList != null && !errorList.isEmpty()) {
+ errorList.forEach(item -> {
+ EquipmentRunningTrace equipmentRunningSection = new EquipmentRunningTrace();
+ equipmentRunningSection.setEquipment(item.getEquipmentId());
+ equipmentRunningSection.setAlarm(item.getAlarm());
+ equipmentRunningSection.setCreateTime(item.getCreateTime());
+ equipmentRunningSection.setDuration(item.getDuration());
+ equipmentRunningSection.setEndTime(item.getEndTime());
+ equipmentRunningSection.setStartTime(item.getStartTime());
+ equipmentRunningSection.setStatus(item.getStatus());
+ equipmentRunningSection.setSequencenumber(item.getSequenceNumber());
+ equipList.add(equipmentRunningSection);
+ });
+ }
+ equipmentRunningTraceService.saveBatch(equipList);
}
/**
@@ -573,7 +656,7 @@
//鏁村悎鍔犲伐鍜屽緟鏈烘椂闂村皬浜巒绉掔殑鏁版嵁
erts = mergeLessMinTimeRecords(erts, null);
List<MdcEquipmentRunningSection> running = mergeRunningTrace(erts);
- if (running != null || !running.isEmpty()) {
+ if (running != null && !running.isEmpty()) {
this.ergodicTrim(running);
}
return running;
@@ -604,6 +687,16 @@
return this.baseMapper.findAlarmCountByDate(startDate, endDate, vo);
}
+ @Override
+ public List<MdcEquipmentRunningSection> selectRunningData(String equipmentId, Date startDate, Date endDate) {
+ return this.baseMapper.selectRunningData(equipmentId, startDate, endDate);
+ }
+
+ @Override
+ public List<MdcAlarmListDto> selectAlarmList(MdcAlarmAnalyzeQueryVo mdcAlarmAnalyzeQueryVo, String startDate, String endDate) {
+ return this.baseMapper.selectAlarmList(mdcAlarmAnalyzeQueryVo, startDate, endDate);
+ }
+
private Map<String, List<MdcEquipmentRunningSectionDto>> logCharts(MdcEquipmentRunningSectionVo equipmentRunningSectionVo, String date) {
Map<String, List<MdcEquipmentRunningSectionDto>> map = new HashMap<>();
List<MdcEquipmentRunningSectionDto> normal = new ArrayList<>();
--
Gitblit v1.9.3