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