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/MdcEquipmentStatisticalShiftInfoServiceImpl.java | 96 +++++++++++++++++++++++++++++-------------------
1 files changed, 58 insertions(+), 38 deletions(-)
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java
index cc27400..0b5c5b2 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java
@@ -18,6 +18,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -74,6 +75,24 @@
}
}
+ /**
+ * 鏌ヨ涓昏酱杩愯鏃堕棿
+ *
+ * @param equipmentId
+ * @param validDate
+ * @return
+ */
+ @Override
+ public BigDecimal findSpindleRunDuration(String equipmentId, String validDate) {
+ validDate = validDate.replaceAll("-", "");
+ BigDecimal duration = this.baseMapper.findSpindleRunDuration(equipmentId, validDate);
+ if (duration != null && duration.compareTo(BigDecimal.ZERO) != 0) {
+ return duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP);
+ } else {
+ return new BigDecimal("0");
+ }
+ }
+
@Transactional(readOnly = true)
List<MdcEquipmentStatisticalShiftInfo> equipmentShiftStatisticalProcess(Equipment equipment, String dateTime) {
Date initDate = null;
@@ -113,7 +132,7 @@
}
//鏌ヨ鐝埗鐝淇℃伅
Map<String, List<MdcDeviceCalendarVo>> listMap = this.mdcDeviceCalendarMap(equipment.getEquipmentid(), stringDates);
- if (listMap.isEmpty()) {
+ if (listMap == null || listMap.isEmpty()) {
listMap = new HashMap<>();
}
List<MdcEquipmentStatisticalShiftInfo> resultList = new ArrayList<>();
@@ -143,6 +162,7 @@
equipmentStatisticalShiftInfo.setCloseLong(equipmentStatisticalShiftInfo.getCloseLong().add(shiftInfo.getCloseLong()));
equipmentStatisticalShiftInfo.setOpenLong(equipmentStatisticalShiftInfo.getOpenLong().add(shiftInfo.getOpenLong()));
equipmentStatisticalShiftInfo.setErrorLong(equipmentStatisticalShiftInfo.getErrorLong().add(shiftInfo.getErrorLong()));
+ equipmentStatisticalShiftInfo.setTotalLong(equipmentStatisticalShiftInfo.getTotalLong().add(shiftInfo.getTotalLong()));
}
resultList.add(equipmentStatisticalShiftInfo);
}
@@ -172,10 +192,10 @@
MdcEquipmentStatisticalShiftInfo shiftInfo = mdcRateEquipment(equipmentid, dates.getStartDate(), dates.getEndDate());
return shiftInfo;
} else {
- if (repairList.size() == 1 ) {
+ if (repairList.size() == 1) {
long start = repairList.get(0).getStartTime().getTime();
long end = repairList.get(0).getEndTime().getTime();
- if ( start > dates.getStart() && end < dates.getEnd() ) {
+ if (start > dates.getStart() && end < dates.getEnd()) {
MdcDateVo d1 = new MdcDateVo();
d1.setStartTime(dates.getStartDate());
d1.setEndTime(repairList.get(0).getStartTime());
@@ -184,7 +204,7 @@
d2.setStartTime(repairList.get(0).getEndTime());
d2.setEndTime(dates.getEndDate());
dateList.add(d2);
- } else if (start == dates.getStart() && end < dates.getEnd()){
+ } else if (start == dates.getStart() && end < dates.getEnd()) {
MdcDateVo d2 = new MdcDateVo();
d2.setStartTime(repairList.get(0).getEndTime());
d2.setEndTime(dates.getEndDate());
@@ -207,11 +227,11 @@
}
} else {
long s = dates.getStartDate().getTime();
- for (int i = 0 ; i < repairList.size(); i ++) {
+ for (int i = 0; i < repairList.size(); i++) {
long start = repairList.get(i).getStartTime().getTime();
long end = repairList.get(i).getEndTime().getTime();
- if (start > s ) {
+ if (start > s) {
MdcDateVo d = new MdcDateVo();
d.setStartTime(dates.getStartDate());
d.setEndTime(repairList.get(i).getStartTime());
@@ -222,8 +242,8 @@
} else if (start == s) {
dates.setStartDate(repairList.get(i).getEndTime());
}
- if(i == repairList.size() -1 ) {
- if(dates.getStartDate().getTime() >= end) {
+ if (i == repairList.size() - 1) {
+ if (dates.getStartDate().getTime() >= end) {
MdcDateVo d = new MdcDateVo();
d.setStartTime(repairList.get(i).getEndTime());
d.setEndTime(dates.getEndDate());
@@ -258,7 +278,7 @@
if (runningSections == null || runningSections.isEmpty()) {
runningSections = mdcEquipmentRunningSectionService.listRunningSectionFromLog(equipmentid, startDate.getTime(), endDate.getTime());
}
- if(runningSections == null || runningSections.isEmpty()) {
+ if (runningSections == null || runningSections.isEmpty()) {
runningSections = new ArrayList<>();
}
List<MdcEquipmentRunningSection> sectionErrors = mdcEquipmentRunningSectionService.listEquipmentRunningSectionError(equipmentid, startDate.getTime(), endDate.getTime());
@@ -298,7 +318,7 @@
/*鏁呴殰鏃堕棿 errs => 鍏虫満鏁版嵁 + 鎶ヨ鏁版嵁 */
BigDecimal faultLong = new BigDecimal("0");
- faultLong = faultLongInfo(errs);
+ faultLong = faultLongInfo(errs);
//鎶ヨ鏁版嵁
List<MdcEquipmentRunningSection> alarms = errs.stream().filter(section -> section.getStatus() == 22).collect(Collectors.toList());
@@ -380,75 +400,75 @@
//TODO
return null;
}
- Long startMdc = mdcDate.getStartTime().getTime();
- Long endMdc = mdcDate.getEndTime().getTime();
+ Long startMdc = mdcDate.getStartTime().getTime();
+ Long endMdc = mdcDate.getEndTime().getTime();
if (sRun != null && !sRun.isEmpty()) {
- for (int i = 0 ; i < sRun.size() ; i ++) {
+ for (int i = 0; i < sRun.size(); i++) {
Long start = sRun.get(i).getStartTime().getTime();
- Long end = sRun.get(i).getEndTime().getTime();
- if (startMdc <= start ) {
- sRun.get(i).setStartTime( sRun.get(i).getStartTime());
+ Long end = sRun.get(i).getEndTime().getTime();
+ if (startMdc <= start) {
+ sRun.get(i).setStartTime(sRun.get(i).getStartTime());
} else {
sRun.get(i).setStartTime(mdcDate.getStartTime());
}
if (endMdc >= end) {
- sRun.get(i).setEndTime( sRun.get(i).getEndTime());
+ sRun.get(i).setEndTime(sRun.get(i).getEndTime());
} else {
sRun.get(i).setEndTime(mdcDate.getEndTime());
}
- Long sen = DateUtils.differentSecond( sRun.get(i).getStartTime(),
+ Long sen = DateUtils.differentSecond(sRun.get(i).getStartTime(),
sRun.get(i).getEndTime());
if (sen <= 0) {
sRun.remove(i);
i--;
} else {
sRun.get(i).setDuration(sen);
- sRun.get(i).setStartLong( sRun.get(i).getStartTime().getTime());
- sRun.get(i).setEndLong( sRun.get(i).getEndTime().getTime());
+ sRun.get(i).setStartLong(sRun.get(i).getStartTime().getTime());
+ sRun.get(i).setEndLong(sRun.get(i).getEndTime().getTime());
}
}
}
//閮ㄥ垎鏁版嵁鏄淮淇� 1銆佽繍琛岀姸鎬佷笅鎶ヨ鎯呭喌
List<MdcEquipmentRunningSection> faultRun = new ArrayList<>();
//鍒跺害鏃堕棿娈靛唴鎶ヨ鏁版嵁
- if (errors != null && !errors.isEmpty() ) {
- for (int i = 0 ; i < errors.size() ; i ++) {
+ if (errors != null && !errors.isEmpty()) {
+ for (int i = 0; i < errors.size(); i++) {
Long start = errors.get(i).getStartTime().getTime();
- Long end = errors.get(i).getEndTime().getTime();
- if (startMdc <= start ) {
- errors.get(i).setStartTime( errors.get(i).getStartTime());
+ Long end = errors.get(i).getEndTime().getTime();
+ if (startMdc <= start) {
+ errors.get(i).setStartTime(errors.get(i).getStartTime());
} else {
errors.get(i).setStartTime(mdcDate.getStartTime());
}
if (endMdc >= end) {
- errors.get(i).setEndTime( errors.get(i).getEndTime());
+ errors.get(i).setEndTime(errors.get(i).getEndTime());
} else {
errors.get(i).setEndTime(mdcDate.getEndTime());
}
- Long sen = DateUtils.differentSecond( errors.get(i).getStartTime(),
+ Long sen = DateUtils.differentSecond(errors.get(i).getStartTime(),
errors.get(i).getEndTime());
if (sen <= 0) {
errors.remove(i);
i--;
} else {
errors.get(i).setDuration(sen);
- errors.get(i).setStartLong( errors.get(i).getStartTime().getTime());
- errors.get(i).setEndLong( errors.get(i).getEndTime().getTime());
+ errors.get(i).setStartLong(errors.get(i).getStartTime().getTime());
+ errors.get(i).setEndLong(errors.get(i).getEndTime().getTime());
}
}
//鎶婅繍琛屼腑瀛樺湪鐨勬姤璀﹀墧闄ゆ帀
for (MdcEquipmentRunningSection se : sRun) {
long runStart = se.getStartTime().getTime();
- long runEnd = se.getEndTime().getTime();
+ long runEnd = se.getEndTime().getTime();
if (se.getStatus() == 3) {
- if (errors != null && !errors.isEmpty() ) {
+ if (errors != null && !errors.isEmpty()) {
//澶勭悊鎶ヨ鏁版嵁
- for (int i = 0 ; i < errors.size(); i ++ ) {
+ for (int i = 0; i < errors.size(); i++) {
long errStart = errors.get(i).getStartTime().getTime();
long errEnd = errors.get(i).getEndTime().getTime();
// 鎶ヨ寮�濮� 灏忎簬 杩愯寮�濮� 鎶ヨ缁撴潫 灏忎簬杩愯缁撴潫 鎶ヨ缁撴潫 澶т簬 杩愯寮�濮�
- if ( errStart < runStart && errEnd <= runEnd && errEnd > runStart ) {
+ if (errStart < runStart && errEnd <= runEnd && errEnd > runStart) {
errors.get(i).setEndTime(se.getStartTime());
Long sen = DateUtils.differentSecond(errors.get(i).getStartTime(),
errors.get(i).getEndTime());
@@ -457,7 +477,7 @@
errors.get(i).setEndLong(errors.get(i).getEndTime().getTime());
}
// 鎶ヨ寮�濮� 澶т簬 杩愯寮�濮� 锛� 鎶ヨ寮�濮� 灏忎簬 杩愯缁撴潫 锛屾姤璀︾粨鏉� 澶т簬 杩愯缁撴潫
- else if (errStart >= runStart && errStart < runEnd && errEnd > runEnd ) {
+ else if (errStart >= runStart && errStart < runEnd && errEnd > runEnd) {
errors.get(i).setStartTime(se.getEndTime());
Long sen = DateUtils.differentSecond(errors.get(i).getStartTime(),
errors.get(i).getEndTime());
@@ -467,13 +487,13 @@
}
// 鎶ヨ寮�濮� 澶т簬 杩愯寮�濮� 锛� 鎶ヨ寮�濮� 灏忎簬 杩愯缁撴潫 锛屾姤璀︾粨鏉� 澶т簬 杩愯寮�濮嬶紝鎶ヨ缁撴潫 灏忎簬 杩愯缁撴潫
else if (errStart >= runStart && errStart < runEnd &&
- errEnd > runStart && errEnd <= runEnd ){
+ errEnd > runStart && errEnd <= runEnd) {
errors.remove(i);
i--;
}
//濡傛灉瓒呭嚭鑼冨洿
else if (errStart <= runStart && errStart < runEnd &&
- errEnd > runStart && errEnd >= runEnd ) {
+ errEnd > runStart && errEnd >= runEnd) {
MdcEquipmentRunningSection errOne = new MdcEquipmentRunningSection();
errOne.setEndTime(errors.get(i).getEndTime());
@@ -497,9 +517,9 @@
errOne.setEndLong(errOne.getEndTime().getTime());
if (sen <= 0) {
errors.remove(i);
- errors.add(i,errOne);
+ errors.add(i, errOne);
} else {
- errors.add(i+1,errOne);
+ errors.add(i + 1, errOne);
i++;
}
} else {
--
Gitblit v1.9.3