From 094a9290c836827bc1f45fd3549e7cd2ea1e1e45 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 07 十一月 2023 09:45:36 +0800
Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/mdc_430 into develop

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java |   94 ++++++++++++++++++++++++++++------------------
 1 files changed, 57 insertions(+), 37 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 ac902e9..a24c990 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.*;
@@ -71,6 +72,25 @@
         }
         if (!result.isEmpty()) {
             this.saveBatch(result);
+        }
+    }
+
+    /**
+     * 鏌ヨ涓昏酱杩愯鏃堕棿
+     *
+     * @param equipmentId
+     * @param validDate
+     * @param shiftSubId
+     * @return
+     */
+    @Override
+    public BigDecimal findSpindleRunDuration(String equipmentId, String validDate, String shiftSubId) {
+        validDate = validDate.replaceAll("-", "");
+        BigDecimal duration = this.baseMapper.findSpindleRunDuration(equipmentId, validDate, shiftSubId);
+        if (duration != null && duration.compareTo(BigDecimal.ZERO) != 0) {
+            return duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP);
+        } else {
+            return new BigDecimal("0");
         }
     }
 
@@ -173,10 +193,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());
@@ -185,7 +205,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());
@@ -208,11 +228,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());
@@ -223,8 +243,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());
@@ -259,7 +279,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());
@@ -299,7 +319,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());
@@ -381,75 +401,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());
@@ -458,7 +478,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());
@@ -468,13 +488,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());
 
@@ -498,9 +518,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