新增了一个状态字段
parent
b1b962db96
commit
edae909b8b
|
|
@ -61,4 +61,7 @@ public class WarningRuleInfo {
|
||||||
*/
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<WarningCondition> conditions;
|
private List<WarningCondition> conditions;
|
||||||
|
|
||||||
|
@TableField("status")
|
||||||
|
private Integer status;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -263,6 +263,12 @@ public class RiceRqWaterService extends ServiceImpl<RiceRqWaterMapper, RiceRqWat
|
||||||
BigDecimal irrigationVolume = BigDecimal.ZERO;
|
BigDecimal irrigationVolume = BigDecimal.ZERO;
|
||||||
|
|
||||||
// 计算泡田期在当前月份的耗水量
|
// 计算泡田期在当前月份的耗水量
|
||||||
|
/**
|
||||||
|
* 由于这个方法是按照月份进行计算的,所以当后面的生长期有属于泡田期的月份时,那么也要把泡田期的算上
|
||||||
|
* 比如 泡田期3.30~4.25
|
||||||
|
* 返青期4·26~5·6
|
||||||
|
* 属于四月份的有泡田期和返青期,那么计算的时候就要把泡田期在四月份的灌溉用水量和返青期在四月份的灌溉用水量计算上
|
||||||
|
*/
|
||||||
if (isMonthInKaPeriod(sortedMonth, kaStartTime, kaEndTime)) {
|
if (isMonthInKaPeriod(sortedMonth, kaStartTime, kaEndTime)) {
|
||||||
int kaDaysInMonth = calculateKaDaysInMonth(kaStartTime, kaEndTime, sortedMonth);
|
int kaDaysInMonth = calculateKaDaysInMonth(kaStartTime, kaEndTime, sortedMonth);
|
||||||
BigDecimal kaConsumption = kaQuota.divide(BigDecimal.valueOf(totalKaDays), 100, RoundingMode.HALF_UP)
|
BigDecimal kaConsumption = kaQuota.divide(BigDecimal.valueOf(totalKaDays), 100, RoundingMode.HALF_UP)
|
||||||
|
|
@ -318,8 +324,17 @@ public class RiceRqWaterService extends ServiceImpl<RiceRqWaterMapper, RiceRqWat
|
||||||
totalConsumption = totalConsumption.add(growPeriod.getWaterRqStage());
|
totalConsumption = totalConsumption.add(growPeriod.getWaterRqStage());
|
||||||
} else {
|
} else {
|
||||||
// 跨月份:按天数比例分配耗水量
|
// 跨月份:按天数比例分配耗水量
|
||||||
|
//当前月份对应阶段的耗水量/当前阶段的全天数
|
||||||
|
/**
|
||||||
|
* 比如
|
||||||
|
* 泡田期 3.30~4.25
|
||||||
|
* 返青期 4·26~5·6 这里就跨月份了
|
||||||
|
* 同时month为4 表示4月份
|
||||||
|
* 那么计算公式为 返青期耗水量/返青期天数11天*返青期四月份天数(ps 泡田期在四月份的耗水量已经计算完了)
|
||||||
|
*/
|
||||||
BigDecimal dailyConsumption = growPeriod.getWaterRqStage()
|
BigDecimal dailyConsumption = growPeriod.getWaterRqStage()
|
||||||
.divide(BigDecimal.valueOf(growPeriod.getDays()), 10, RoundingMode.HALF_UP);
|
.divide(BigDecimal.valueOf(growPeriod.getDays()), 10, RoundingMode.HALF_UP);
|
||||||
|
//再去乘当前阶段在当前月份的天数
|
||||||
BigDecimal monthlyConsumption = dailyConsumption.multiply(BigDecimal.valueOf(daysInMonth));
|
BigDecimal monthlyConsumption = dailyConsumption.multiply(BigDecimal.valueOf(daysInMonth));
|
||||||
totalConsumption = totalConsumption.add(monthlyConsumption);
|
totalConsumption = totalConsumption.add(monthlyConsumption);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,7 @@ public class WarningRuleTask {
|
||||||
String ruleInfo = generateRuleInfo(conditions);
|
String ruleInfo = generateRuleInfo(conditions);
|
||||||
|
|
||||||
WarningRuleInfo warningRuleInfo = new WarningRuleInfo();
|
WarningRuleInfo warningRuleInfo = new WarningRuleInfo();
|
||||||
|
warningRuleInfo.setCreateName(warningRule.getCreateName());
|
||||||
warningRuleInfo.setRuleId(warningRule.getId());
|
warningRuleInfo.setRuleId(warningRule.getId());
|
||||||
warningRuleInfo.setRuleName(warningRule.getRuleName());
|
warningRuleInfo.setRuleName(warningRule.getRuleName());
|
||||||
warningRuleInfo.setConditions(conditions);
|
warningRuleInfo.setConditions(conditions);
|
||||||
|
|
@ -111,6 +112,7 @@ public class WarningRuleTask {
|
||||||
warningRuleInfo.setRuleInfo(ruleInfo);
|
warningRuleInfo.setRuleInfo(ruleInfo);
|
||||||
warningRuleInfo.setWarningType(warningType);
|
warningRuleInfo.setWarningType(warningType);
|
||||||
warningRuleInfo.setWarningLevel(warningRule.getWarningLevel());
|
warningRuleInfo.setWarningLevel(warningRule.getWarningLevel());
|
||||||
|
warningRuleInfo.setStatus(warningRule.getStatus());
|
||||||
warningRuleInfoService.save(warningRuleInfo);
|
warningRuleInfoService.save(warningRuleInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue