|
@@ -300,137 +300,139 @@ public class LeanModelStatistics {
|
|
|
String dayPowerproportioncurrentRunMonKey = "total_day_powerproportioncurrent";
|
|
|
DeviceStatiscsModelData dayPowerproportioncurrentRunData = new DeviceStatiscsModelData(fpgGatherData, dayPowerproportioncurrentRunMonKey, dayDate, classs, curentDate, curentDate);
|
|
|
// 组合mongodb条件
|
|
|
- Query queryDayPowerproportioncurrentRun = new Query()
|
|
|
- .addCriteria(Criteria.where("deviceRegionId").is(fpgGatherData.getDeviceRegionId())).addCriteria(Criteria.where("deviceInformationId").is(fpgGatherData.getDeviceInformationId())).addCriteria(Criteria.where("dates").is(dayDate));
|
|
|
- DeviceStatiscsModelMongodb dayPowerproportioncurrentMongo = mongoTemplate.findOne(queryDayPowerproportioncurrentRun, DeviceStatiscsModelMongodb.class, dayPowerproportioncurrentRunMonKey);
|
|
|
- if(dayPowerproportioncurrentMongo != null){ // 不为空更新
|
|
|
- // 历史数据
|
|
|
- BigDecimal runNewPower = dayPowerproportioncurrentMongo.getPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getPower().add(runPower);
|
|
|
- BigDecimal oldRunTime = dayPowerproportioncurrentMongo.getIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getIngTime();
|
|
|
- BigDecimal oldSelectricCurrent = dayPowerproportioncurrentMongo.getSelectricCurrent() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getSelectricCurrent();
|
|
|
- // 更新运行数据
|
|
|
- UpdateDefinition update = new Update();
|
|
|
- ((Update) update).set("power", runNewPower);
|
|
|
- ((Update) update).set("selectricCurrent", oldSelectricCurrent.add(selectricCurrent));
|
|
|
- ((Update) update).set("ingTime", oldRunTime.add(runTime));
|
|
|
- ((Update) update).set("updateTime", curentDate);
|
|
|
- // 尖峰平谷判定
|
|
|
- if("tops".equals(jfpgStr.get())){ // 尖
|
|
|
- // 功率处理
|
|
|
- BigDecimal oldtopsPower = dayPowerproportioncurrentMongo.getTopsPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getTopsPower();
|
|
|
- BigDecimal topsPower = oldtopsPower.add(runPower);
|
|
|
- ((Update) update).set("topsPower", topsPower);
|
|
|
- // 运行时常处理
|
|
|
- BigDecimal oldtopsIngTime = dayPowerproportioncurrentMongo.getTopsIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getTopsIngTime();
|
|
|
- ((Update) update).set("topsIngTime", oldtopsIngTime.add(runTime));
|
|
|
- // 占比
|
|
|
- if(topsPower.compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("topsProportion", topsPower.divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- // 其他三个重新核算
|
|
|
- if(dayPowerproportioncurrentMongo.getFlatPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("flatProportion", dayPowerproportioncurrentMongo.getFlatPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- if(dayPowerproportioncurrentMongo.getPeaksPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("peaksProportion", dayPowerproportioncurrentMongo.getPeaksPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- if(dayPowerproportioncurrentMongo.getTopsPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("topsProportion", dayPowerproportioncurrentMongo.getTopsPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- } else if("peaks".equals(jfpgStr.get())){ // 峰
|
|
|
- // 功率处理
|
|
|
- BigDecimal oldpeaksPower = dayPowerproportioncurrentMongo.getPeaksPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getPeaksPower();
|
|
|
- BigDecimal peaksPower = oldpeaksPower.add(runPower);
|
|
|
- ((Update) update).set("peaksPower", peaksPower);
|
|
|
- // 运行时常处理
|
|
|
- BigDecimal oldpeaksIngTime = dayPowerproportioncurrentMongo.getPeaksIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getPeaksIngTime();
|
|
|
- ((Update) update).set("peaksIngTime", oldpeaksIngTime.add(runTime));
|
|
|
- // 占比
|
|
|
- if(peaksPower.compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("peaksProportion", peaksPower.divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- // 其他三个重新核算
|
|
|
- if(dayPowerproportioncurrentMongo.getValleysPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("valleysProportion", dayPowerproportioncurrentMongo.getValleysPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- if(dayPowerproportioncurrentMongo.getPeaksPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("peaksProportion", dayPowerproportioncurrentMongo.getPeaksPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- if(dayPowerproportioncurrentMongo.getTopsPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("topsProportion", dayPowerproportioncurrentMongo.getTopsPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- } else if("flat".equals(jfpgStr.get())){ // 平
|
|
|
- // 功率处理
|
|
|
- BigDecimal oldflatPower = dayPowerproportioncurrentMongo.getFlatPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getFlatPower();
|
|
|
- BigDecimal flatPower = oldflatPower.add(runPower);
|
|
|
- ((Update) update).set("flatPower", flatPower);
|
|
|
- // 运行时常处理
|
|
|
- BigDecimal oldflatIngTime = dayPowerproportioncurrentMongo.getFlatIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getFlatIngTime();
|
|
|
- ((Update) update).set("flatIngTime", oldflatIngTime.add(runTime));
|
|
|
- // 占比
|
|
|
- if(flatPower.compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("flatProportion", flatPower.divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- // 其他三个重新核算
|
|
|
- if(dayPowerproportioncurrentMongo.getValleysPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("valleysProportion", dayPowerproportioncurrentMongo.getValleysPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- if(dayPowerproportioncurrentMongo.getPeaksPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("peaksProportion", dayPowerproportioncurrentMongo.getPeaksPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- if(dayPowerproportioncurrentMongo.getTopsPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("topsProportion", dayPowerproportioncurrentMongo.getTopsPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- } else if("valleys".equals(jfpgStr.get())){ // 谷
|
|
|
- // 功率处理
|
|
|
- BigDecimal oldvalleysPower = dayPowerproportioncurrentMongo.getValleysPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getValleysPower();
|
|
|
- BigDecimal valleysPower = oldvalleysPower.add(runPower);
|
|
|
- ((Update) update).set("valleysPower", oldvalleysPower.add(runPower));
|
|
|
- // 运行时常处理
|
|
|
- BigDecimal oldvalleysIngTime = dayPowerproportioncurrentMongo.getValleysIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getValleysIngTime();
|
|
|
- ((Update) update).set("valleysIngTime", oldvalleysIngTime.add(runTime));
|
|
|
- // 占比核算
|
|
|
- if(valleysPower.compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("valleysProportion", valleysPower.divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- // 其他三个重新核算
|
|
|
- if(dayPowerproportioncurrentMongo.getFlatPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("flatProportion", dayPowerproportioncurrentMongo.getFlatPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- if(dayPowerproportioncurrentMongo.getPeaksPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("peaksProportion", dayPowerproportioncurrentMongo.getPeaksPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
- }
|
|
|
- if(dayPowerproportioncurrentMongo.getTopsPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- ((Update) update).set("topsProportion", dayPowerproportioncurrentMongo.getTopsPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ if(fpgGatherData.getRunCurrent().compareTo(new BigDecimal(systemVariable.getDefaultValue())) > 0) {
|
|
|
+ Query queryDayPowerproportioncurrentRun = new Query()
|
|
|
+ .addCriteria(Criteria.where("deviceRegionId").is(fpgGatherData.getDeviceRegionId())).addCriteria(Criteria.where("deviceInformationId").is(fpgGatherData.getDeviceInformationId())).addCriteria(Criteria.where("dates").is(dayDate));
|
|
|
+ DeviceStatiscsModelMongodb dayPowerproportioncurrentMongo = mongoTemplate.findOne(queryDayPowerproportioncurrentRun, DeviceStatiscsModelMongodb.class, dayPowerproportioncurrentRunMonKey);
|
|
|
+ if (dayPowerproportioncurrentMongo != null) { // 不为空更新
|
|
|
+ // 历史数据
|
|
|
+ BigDecimal runNewPower = dayPowerproportioncurrentMongo.getPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getPower().add(runPower);
|
|
|
+ BigDecimal oldRunTime = dayPowerproportioncurrentMongo.getIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getIngTime();
|
|
|
+ BigDecimal oldSelectricCurrent = dayPowerproportioncurrentMongo.getSelectricCurrent() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getSelectricCurrent();
|
|
|
+ // 更新运行数据
|
|
|
+ UpdateDefinition update = new Update();
|
|
|
+ ((Update) update).set("power", runNewPower);
|
|
|
+ ((Update) update).set("selectricCurrent", oldSelectricCurrent.add(selectricCurrent));
|
|
|
+ ((Update) update).set("ingTime", oldRunTime.add(runTime));
|
|
|
+ ((Update) update).set("updateTime", curentDate);
|
|
|
+ // 尖峰平谷判定
|
|
|
+ if ("tops".equals(jfpgStr.get())) { // 尖
|
|
|
+ // 功率处理
|
|
|
+ BigDecimal oldtopsPower = dayPowerproportioncurrentMongo.getTopsPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getTopsPower();
|
|
|
+ BigDecimal topsPower = oldtopsPower.add(runPower);
|
|
|
+ ((Update) update).set("topsPower", topsPower);
|
|
|
+ // 运行时常处理
|
|
|
+ BigDecimal oldtopsIngTime = dayPowerproportioncurrentMongo.getTopsIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getTopsIngTime();
|
|
|
+ ((Update) update).set("topsIngTime", oldtopsIngTime.add(runTime));
|
|
|
+ // 占比
|
|
|
+ if (topsPower.compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("topsProportion", topsPower.divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ // 其他三个重新核算
|
|
|
+ if (dayPowerproportioncurrentMongo.getFlatPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("flatProportion", dayPowerproportioncurrentMongo.getFlatPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ if (dayPowerproportioncurrentMongo.getPeaksPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("peaksProportion", dayPowerproportioncurrentMongo.getPeaksPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ if (dayPowerproportioncurrentMongo.getTopsPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("topsProportion", dayPowerproportioncurrentMongo.getTopsPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ } else if ("peaks".equals(jfpgStr.get())) { // 峰
|
|
|
+ // 功率处理
|
|
|
+ BigDecimal oldpeaksPower = dayPowerproportioncurrentMongo.getPeaksPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getPeaksPower();
|
|
|
+ BigDecimal peaksPower = oldpeaksPower.add(runPower);
|
|
|
+ ((Update) update).set("peaksPower", peaksPower);
|
|
|
+ // 运行时常处理
|
|
|
+ BigDecimal oldpeaksIngTime = dayPowerproportioncurrentMongo.getPeaksIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getPeaksIngTime();
|
|
|
+ ((Update) update).set("peaksIngTime", oldpeaksIngTime.add(runTime));
|
|
|
+ // 占比
|
|
|
+ if (peaksPower.compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("peaksProportion", peaksPower.divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ // 其他三个重新核算
|
|
|
+ if (dayPowerproportioncurrentMongo.getValleysPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("valleysProportion", dayPowerproportioncurrentMongo.getValleysPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ if (dayPowerproportioncurrentMongo.getPeaksPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("peaksProportion", dayPowerproportioncurrentMongo.getPeaksPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ if (dayPowerproportioncurrentMongo.getTopsPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("topsProportion", dayPowerproportioncurrentMongo.getTopsPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ } else if ("flat".equals(jfpgStr.get())) { // 平
|
|
|
+ // 功率处理
|
|
|
+ BigDecimal oldflatPower = dayPowerproportioncurrentMongo.getFlatPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getFlatPower();
|
|
|
+ BigDecimal flatPower = oldflatPower.add(runPower);
|
|
|
+ ((Update) update).set("flatPower", flatPower);
|
|
|
+ // 运行时常处理
|
|
|
+ BigDecimal oldflatIngTime = dayPowerproportioncurrentMongo.getFlatIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getFlatIngTime();
|
|
|
+ ((Update) update).set("flatIngTime", oldflatIngTime.add(runTime));
|
|
|
+ // 占比
|
|
|
+ if (flatPower.compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("flatProportion", flatPower.divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ // 其他三个重新核算
|
|
|
+ if (dayPowerproportioncurrentMongo.getValleysPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("valleysProportion", dayPowerproportioncurrentMongo.getValleysPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ if (dayPowerproportioncurrentMongo.getPeaksPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("peaksProportion", dayPowerproportioncurrentMongo.getPeaksPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ if (dayPowerproportioncurrentMongo.getTopsPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("topsProportion", dayPowerproportioncurrentMongo.getTopsPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ } else if ("valleys".equals(jfpgStr.get())) { // 谷
|
|
|
+ // 功率处理
|
|
|
+ BigDecimal oldvalleysPower = dayPowerproportioncurrentMongo.getValleysPower() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getValleysPower();
|
|
|
+ BigDecimal valleysPower = oldvalleysPower.add(runPower);
|
|
|
+ ((Update) update).set("valleysPower", oldvalleysPower.add(runPower));
|
|
|
+ // 运行时常处理
|
|
|
+ BigDecimal oldvalleysIngTime = dayPowerproportioncurrentMongo.getValleysIngTime() == null ? new BigDecimal("0.00") : dayPowerproportioncurrentMongo.getValleysIngTime();
|
|
|
+ ((Update) update).set("valleysIngTime", oldvalleysIngTime.add(runTime));
|
|
|
+ // 占比核算
|
|
|
+ if (valleysPower.compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("valleysProportion", valleysPower.divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ // 其他三个重新核算
|
|
|
+ if (dayPowerproportioncurrentMongo.getFlatPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("flatProportion", dayPowerproportioncurrentMongo.getFlatPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ if (dayPowerproportioncurrentMongo.getPeaksPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("peaksProportion", dayPowerproportioncurrentMongo.getPeaksPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
+ if (dayPowerproportioncurrentMongo.getTopsPower().compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ ((Update) update).set("topsProportion", dayPowerproportioncurrentMongo.getTopsPower().divide(runNewPower, 2, RoundingMode.HALF_UP).multiply(zb));
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- mongoTemplate.updateFirst(queryDayPowerproportioncurrentRun, update, DeviceStatiscsModelMongodb.class, dayPowerproportioncurrentRunMonKey);
|
|
|
- } else { // 为空直接插入
|
|
|
- // 尖峰平谷判定
|
|
|
- if("tops".equals(jfpgStr.get())){ // 尖
|
|
|
- // 功率处理
|
|
|
- dayPowerproportioncurrentRunData.setTopsPower(runPower);
|
|
|
- dayPowerproportioncurrentRunData.setTopsIngTime(runTime);
|
|
|
+ mongoTemplate.updateFirst(queryDayPowerproportioncurrentRun, update, DeviceStatiscsModelMongodb.class, dayPowerproportioncurrentRunMonKey);
|
|
|
+ } else { // 为空直接插入
|
|
|
+ // 尖峰平谷判定
|
|
|
+ if ("tops".equals(jfpgStr.get())) { // 尖
|
|
|
+ // 功率处理
|
|
|
+ dayPowerproportioncurrentRunData.setTopsPower(runPower);
|
|
|
+ dayPowerproportioncurrentRunData.setTopsIngTime(runTime);
|
|
|
// dayPowerproportioncurrentRunData.setTopsSelectricCurrent(selectricCurrent);
|
|
|
- } else if("peaks".equals(jfpgStr.get())){ // 峰
|
|
|
- // 功率处理
|
|
|
- dayPowerproportioncurrentRunData.setPeaksPower(runPower);
|
|
|
- dayPowerproportioncurrentRunData.setPeaksIngTime(runTime);
|
|
|
+ } else if ("peaks".equals(jfpgStr.get())) { // 峰
|
|
|
+ // 功率处理
|
|
|
+ dayPowerproportioncurrentRunData.setPeaksPower(runPower);
|
|
|
+ dayPowerproportioncurrentRunData.setPeaksIngTime(runTime);
|
|
|
// dayPowerproportioncurrentRunData.setPeaksSelectricCurrent(selectricCurrent);
|
|
|
- } else if("flat".equals(jfpgStr.get())){ // 平
|
|
|
- // 功率处理
|
|
|
- dayPowerproportioncurrentRunData.setFlatPower(runPower);
|
|
|
- dayPowerproportioncurrentRunData.setFlatIngTime(runTime);
|
|
|
+ } else if ("flat".equals(jfpgStr.get())) { // 平
|
|
|
+ // 功率处理
|
|
|
+ dayPowerproportioncurrentRunData.setFlatPower(runPower);
|
|
|
+ dayPowerproportioncurrentRunData.setFlatIngTime(runTime);
|
|
|
// dayPowerproportioncurrentRunData.setFlatSelectricCurrent(selectricCurrent);
|
|
|
- } else if("valleys".equals(jfpgStr.get())){ // 谷
|
|
|
- dayPowerproportioncurrentRunData.setValleysPower(runPower);
|
|
|
- dayPowerproportioncurrentRunData.setValleysIngTime(runTime);
|
|
|
+ } else if ("valleys".equals(jfpgStr.get())) { // 谷
|
|
|
+ dayPowerproportioncurrentRunData.setValleysPower(runPower);
|
|
|
+ dayPowerproportioncurrentRunData.setValleysIngTime(runTime);
|
|
|
// dayPowerproportioncurrentRunData.setValleysSelectricCurrent(selectricCurrent);
|
|
|
- }
|
|
|
- dayPowerproportioncurrentRunData.setPower(runPower);
|
|
|
- dayPowerproportioncurrentRunData.setIngTime(runTime);
|
|
|
+ }
|
|
|
+ dayPowerproportioncurrentRunData.setPower(runPower);
|
|
|
+ dayPowerproportioncurrentRunData.setIngTime(runTime);
|
|
|
// dayPowerproportioncurrentRunData.setSelectricCurrent(selectricCurrent);
|
|
|
- mongoTemplate.insert(dayPowerproportioncurrentRunData, dayPowerproportioncurrentRunMonKey);
|
|
|
+ mongoTemplate.insert(dayPowerproportioncurrentRunData, dayPowerproportioncurrentRunMonKey);
|
|
|
+ }
|
|
|
}
|
|
|
// 日统计尖峰平谷数据(功率+占比+电流+运行时长) end
|
|
|
// 执行完成数据 标记已处理
|
|
@@ -884,25 +886,30 @@ public class LeanModelStatistics {
|
|
|
*/
|
|
|
public static boolean containsCreateTime(LocalDateTime createTime, String startTime, String endTime) {
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+
|
|
|
+ // 将字符串转换为 LocalDateTime
|
|
|
LocalDateTime start_time = LocalDateTime.parse(startTime, formatter);
|
|
|
LocalDateTime end_time = LocalDateTime.parse(endTime, formatter);
|
|
|
|
|
|
- // 检查 createTime 的时分秒部分
|
|
|
- LocalTime createTimeTime = createTime.toLocalTime();
|
|
|
- LocalTime midnight = LocalTime.MIDNIGHT;
|
|
|
-
|
|
|
- // createTime 的时分秒大于 00:00:00 时,startTime 减去一天
|
|
|
- if (createTimeTime.isAfter(midnight) && end_time.isBefore(start_time)) {
|
|
|
- start_time = start_time.minusDays(1); // 将 startTime 减去一天
|
|
|
- }
|
|
|
+ // 判断是否跨天
|
|
|
+ boolean isCrossDay = end_time.isBefore(start_time);
|
|
|
|
|
|
- // createTime 的时分秒小于 00:00:00 时,endTime 加一天
|
|
|
- if (createTimeTime.isBefore(midnight) && end_time.isBefore(start_time)) {
|
|
|
- end_time = end_time.plusDays(1); // 将 endTime 加一天
|
|
|
+ // 根据 createTime 调整 start_time 和 end_time
|
|
|
+ if (isCrossDay) {
|
|
|
+ // 如果 createTime 在 startTime 后且在 endTime 前,且跨天,endTime 应该加一天
|
|
|
+ if (createTime.isAfter(start_time) && createTime.isAfter(end_time)) {
|
|
|
+ end_time = end_time.plusDays(1); // 加一天到第二天
|
|
|
+ }
|
|
|
+ // 如果 createTime 在 startTime 之前且在 endTime 后,startTime 应该减去一天
|
|
|
+ if (createTime.isBefore(start_time) && createTime.isBefore(end_time)) {
|
|
|
+ start_time = start_time.minusDays(1); // 减一天
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- // 检查createTime是否在区间内
|
|
|
- return createTime!= null && (createTime.isAfter(start_time) || createTime.equals(start_time)) &&
|
|
|
+ // 检查 createTime 是否在调整后的区间内
|
|
|
+ return createTime != null && (createTime.isAfter(start_time) || createTime.equals(start_time)) &&
|
|
|
(createTime.isBefore(end_time) || createTime.equals(end_time));
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|