mirror of
https://codeup.aliyun.com/64f7d6b8ce01efaafef1e678/coal/coal.git
synced 2026-01-25 15:55:18 +08:00
完善生产报表
This commit is contained in:
@@ -32,6 +32,12 @@ public class CoalWashingDailyAnalysisController extends BaseController {
|
||||
return this.service.calculate(dto);
|
||||
}
|
||||
|
||||
// @PostMapping("/predict")
|
||||
// @SysLog(action = "预测分析")
|
||||
// public CoalWashingDailyAnalysisDto predict(
|
||||
// @RequestBody CreateCoalWashingDailyAnalysisDto dto) {
|
||||
// return this.service.predict(dto);
|
||||
// }
|
||||
@PostMapping("/create")
|
||||
@SysLog(action = "新增")
|
||||
public CoalWashingDailyAnalysisDto create(@RequestBody CreateCoalWashingDailyAnalysisDto dto) {
|
||||
|
||||
@@ -29,10 +29,10 @@ public class CoalWashingDailyAnalysisDto extends OrgCommonDto {
|
||||
@CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
private List<CoalWashingDailyAnalysisItemVo> inputItems;
|
||||
|
||||
@ElementCollection
|
||||
@Comment("连续平均值")
|
||||
@CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;
|
||||
// @ElementCollection
|
||||
// @Comment("连续平均值")
|
||||
// @CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
// private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;
|
||||
|
||||
@ElementCollection
|
||||
@Comment("参数配置")
|
||||
@@ -42,17 +42,35 @@ public class CoalWashingDailyAnalysisDto extends OrgCommonDto {
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1;
|
||||
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1Min;
|
||||
|
||||
@Comment("目标大堆 硫")
|
||||
private Double ddp2;
|
||||
private Double ddp2Min;
|
||||
|
||||
@Comment("目标大堆 挥发")
|
||||
private Double ddp3;
|
||||
private Double ddp3Min;
|
||||
|
||||
@Comment("目标大堆 粘结")
|
||||
private Double ddp4;
|
||||
private Double ddp4Min;
|
||||
|
||||
@Comment("目标大堆 备用")
|
||||
private Double ddp5;
|
||||
private Double ddp5Min;
|
||||
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1Max;
|
||||
|
||||
@Comment("目标大堆 硫")
|
||||
private Double ddp2Max;
|
||||
|
||||
@Comment("目标大堆 挥发")
|
||||
private Double ddp3Max;
|
||||
|
||||
@Comment("目标大堆 粘结")
|
||||
private Double ddp4Max;
|
||||
|
||||
@Comment("目标大堆 备用")
|
||||
private Double ddp5Max;
|
||||
|
||||
@Comment("产量初始值")
|
||||
private Double initTotalNumber = 0.0;
|
||||
|
||||
@@ -29,10 +29,10 @@ public class CreateCoalWashingDailyAnalysisDto extends OrgCommonDto {
|
||||
@CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
private List<CoalWashingDailyAnalysisItemVo> inputItems;
|
||||
|
||||
@ElementCollection
|
||||
@Comment("连续平均值")
|
||||
@CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;
|
||||
// @ElementCollection
|
||||
// @Comment("连续平均值")
|
||||
// @CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
// private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;
|
||||
|
||||
@ElementCollection
|
||||
@Comment("参数配置")
|
||||
@@ -40,19 +40,34 @@ public class CreateCoalWashingDailyAnalysisDto extends OrgCommonDto {
|
||||
private List<CoalWashingDailyAnalysisParamVo> paramsInfo;
|
||||
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1;
|
||||
private Double ddp1Min;
|
||||
|
||||
@Comment("目标大堆 硫")
|
||||
private Double ddp2;
|
||||
private Double ddp2Min;
|
||||
|
||||
@Comment("目标大堆 挥发")
|
||||
private Double ddp3;
|
||||
private Double ddp3Min;
|
||||
|
||||
@Comment("目标大堆 粘结")
|
||||
private Double ddp4;
|
||||
private Double ddp4Min;
|
||||
|
||||
@Comment("目标大堆 备用")
|
||||
private Double ddp5;
|
||||
private Double ddp5Min;
|
||||
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1Max;
|
||||
|
||||
@Comment("目标大堆 硫")
|
||||
private Double ddp2Max;
|
||||
|
||||
@Comment("目标大堆 挥发")
|
||||
private Double ddp3Max;
|
||||
|
||||
@Comment("目标大堆 粘结")
|
||||
private Double ddp4Max;
|
||||
|
||||
@Comment("目标大堆 备用")
|
||||
private Double ddp5Max;
|
||||
|
||||
@Comment("产量初始值")
|
||||
private Double initTotalNumber = 0.0;
|
||||
@@ -61,4 +76,6 @@ public class CreateCoalWashingDailyAnalysisDto extends OrgCommonDto {
|
||||
private String remark2;
|
||||
private String remark3;
|
||||
private String remark4;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package cn.lihongjie.coal.coalWashingDailyAnalysis.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import org.hibernate.annotations.Comment;
|
||||
|
||||
@Data
|
||||
public class PredictCoalWashingDailyAnalysisDto extends CreateCoalWashingDailyAnalysisDto {
|
||||
|
||||
@Comment("选中行索引")
|
||||
private Integer rowIndex;
|
||||
|
||||
@Comment("选中字段名称")
|
||||
private String fieldName;
|
||||
|
||||
@Comment("需要计算的参数编码 c0 c1 c2 c3")
|
||||
private String predictFieldName;
|
||||
}
|
||||
@@ -29,10 +29,10 @@ public class UpdateCoalWashingDailyAnalysisDto extends OrgCommonDto {
|
||||
@CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
private List<CoalWashingDailyAnalysisItemVo> inputItems;
|
||||
|
||||
@ElementCollection
|
||||
@Comment("连续平均值")
|
||||
@CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;
|
||||
// @ElementCollection
|
||||
// @Comment("连续平均值")
|
||||
// @CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
// private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;
|
||||
|
||||
@ElementCollection
|
||||
@Comment("参数配置")
|
||||
@@ -40,19 +40,34 @@ public class UpdateCoalWashingDailyAnalysisDto extends OrgCommonDto {
|
||||
private List<CoalWashingDailyAnalysisParamVo> paramsInfo;
|
||||
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1;
|
||||
private Double ddp1Min;
|
||||
|
||||
@Comment("目标大堆 硫")
|
||||
private Double ddp2;
|
||||
private Double ddp2Min;
|
||||
|
||||
@Comment("目标大堆 挥发")
|
||||
private Double ddp3;
|
||||
private Double ddp3Min;
|
||||
|
||||
@Comment("目标大堆 粘结")
|
||||
private Double ddp4;
|
||||
private Double ddp4Min;
|
||||
|
||||
@Comment("目标大堆 备用")
|
||||
private Double ddp5;
|
||||
private Double ddp5Min;
|
||||
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1Max;
|
||||
|
||||
@Comment("目标大堆 硫")
|
||||
private Double ddp2Max;
|
||||
|
||||
@Comment("目标大堆 挥发")
|
||||
private Double ddp3Max;
|
||||
|
||||
@Comment("目标大堆 粘结")
|
||||
private Double ddp4Max;
|
||||
|
||||
@Comment("目标大堆 备用")
|
||||
private Double ddp5Max;
|
||||
|
||||
@Comment("产量初始值")
|
||||
private Double initTotalNumber = 0.0;
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.hibernate.annotations.Comment;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
@@ -30,10 +29,10 @@ public class CoalWashingDailyAnalysisEntity extends OrgCommonEntity {
|
||||
@CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
private List<CoalWashingDailyAnalysisItemVo> inputItems;
|
||||
|
||||
@ElementCollection
|
||||
@Comment("连续平均值")
|
||||
@CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;
|
||||
// @ElementCollection
|
||||
// @Comment("连续平均值")
|
||||
// @CollectionTable(foreignKey = @ForeignKey(ConstraintMode.NO_CONSTRAINT))
|
||||
// private List<CoalWashingDailyAnalysisItemVo> rollingAvgItems;
|
||||
|
||||
@ElementCollection
|
||||
@Comment("参数配置")
|
||||
@@ -41,19 +40,34 @@ public class CoalWashingDailyAnalysisEntity extends OrgCommonEntity {
|
||||
private List<CoalWashingDailyAnalysisParamVo> paramsInfo;
|
||||
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1;
|
||||
private Double ddp1Min;
|
||||
|
||||
@Comment("目标大堆 硫")
|
||||
private Double ddp2;
|
||||
private Double ddp2Min;
|
||||
|
||||
@Comment("目标大堆 挥发")
|
||||
private Double ddp3;
|
||||
private Double ddp3Min;
|
||||
|
||||
@Comment("目标大堆 粘结")
|
||||
private Double ddp4;
|
||||
private Double ddp4Min;
|
||||
|
||||
@Comment("目标大堆 备用")
|
||||
private Double ddp5;
|
||||
private Double ddp5Min;
|
||||
|
||||
@Comment("目标大堆 灰")
|
||||
private Double ddp1Max;
|
||||
|
||||
@Comment("目标大堆 硫")
|
||||
private Double ddp2Max;
|
||||
|
||||
@Comment("目标大堆 挥发")
|
||||
private Double ddp3Max;
|
||||
|
||||
@Comment("目标大堆 粘结")
|
||||
private Double ddp4Max;
|
||||
|
||||
@Comment("目标大堆 备用")
|
||||
private Double ddp5Max;
|
||||
|
||||
@Comment("产量初始值")
|
||||
private Double initTotalNumber = 0.0;
|
||||
@@ -63,231 +77,34 @@ public class CoalWashingDailyAnalysisEntity extends OrgCommonEntity {
|
||||
private String remark3;
|
||||
private String remark4;
|
||||
|
||||
public void rollingAvg() {
|
||||
|
||||
rollingAvgItems = new ArrayList<>();
|
||||
public void calculate() {
|
||||
|
||||
if (CollectionUtils.isEmpty(inputItems)) {
|
||||
return;
|
||||
}
|
||||
inputItems.sort(
|
||||
Comparator.comparing(x -> ObjectUtils.defaultIfNull(x.getTime(), LocalTime.MIN)));
|
||||
inputItems.forEach(x -> x.calculate());
|
||||
inputItems.forEach(CoalWashingDailyAnalysisItemVo::calculate);
|
||||
|
||||
for (int i = 0; i < inputItems.size(); i++) {
|
||||
Double prevNumber = ObjectUtils.defaultIfNull(initTotalNumber, 0.0);
|
||||
// 总的权重
|
||||
Double totalWeight = 0.0;
|
||||
// 大堆平均之和
|
||||
Double avgSum1 = 0.0;
|
||||
Double avgSum2 = 0.0;
|
||||
|
||||
List<CoalWashingDailyAnalysisItemVo> current = inputItems.subList(0, i + 1);
|
||||
rollingAvgItems.add(rollingAvg(current));
|
||||
for (CoalWashingDailyAnalysisItemVo inputItem : inputItems) {
|
||||
|
||||
totalWeight +=
|
||||
inputItem.getTotalNumber() == null
|
||||
? 1
|
||||
: inputItem.getTotalNumber() - prevNumber;
|
||||
avgSum1 += ObjectUtils.defaultIfNull(inputItem.getAvgDdp1(), 0.0);
|
||||
avgSum2 += ObjectUtils.defaultIfNull(inputItem.getAvgDdp2(), 0.0);
|
||||
|
||||
inputItem.setRollingAvgDdp1(avgSum1 / totalWeight);
|
||||
inputItem.setRollingAvgDdp2(avgSum2 / totalWeight);
|
||||
}
|
||||
}
|
||||
|
||||
private CoalWashingDailyAnalysisItemVo rollingAvg(
|
||||
List<CoalWashingDailyAnalysisItemVo> current) {
|
||||
|
||||
CoalWashingDailyAnalysisItemVo vo = new CoalWashingDailyAnalysisItemVo();
|
||||
int size = current.size();
|
||||
vo.setTime(current.get(size - 1).getTime());
|
||||
vo.setTotalNumber(current.get(size - 1).getTotalNumber());
|
||||
|
||||
vo.setC0p0(current.get(size - 1).getC0p0());
|
||||
|
||||
vo.setC1p0(current.get(size - 1).getC1p0());
|
||||
|
||||
vo.setC2p0(current.get(size - 1).getC2p0());
|
||||
|
||||
vo.setC3p0(current.get(size - 1).getC3p0());
|
||||
|
||||
vo.setC4p0(current.get(size - 1).getC4p0());
|
||||
|
||||
vo.setC5p0(current.get(size - 1).getC5p0());
|
||||
|
||||
vo.setC6p0(current.get(size - 1).getC6p0());
|
||||
|
||||
vo.setC7p0(current.get(size - 1).getC7p0());
|
||||
|
||||
vo.setC8p0(current.get(size - 1).getC8p0());
|
||||
|
||||
vo.setC9p0(current.get(size - 1).getC9p0());
|
||||
|
||||
for (int i = 0; i < size; i++) {
|
||||
var c = current.get(i);
|
||||
var p = i == 0 ? c.withTotalNumber(initTotalNumber) : current.get(i - 1);
|
||||
double diff = c.getTotalNumber() - p.getTotalNumber();
|
||||
if (vo.getC0p0() != null && vo.getC0p0() > 0) {
|
||||
vo.setC0p1(ObjectUtils.defaultIfNull(vo.getC0p1(), 0.0) + diff * c.getC0p1());
|
||||
vo.setC0p2(ObjectUtils.defaultIfNull(vo.getC0p2(), 0.0) + diff * c.getC0p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC0p1(vo.getC0p1() / c.getTotalNumber());
|
||||
vo.setC0p2(vo.getC0p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC1p0() != null && vo.getC1p0() > 0) {
|
||||
vo.setC1p1(ObjectUtils.defaultIfNull(vo.getC1p1(), 0.0) + diff * c.getC1p1());
|
||||
vo.setC1p2(ObjectUtils.defaultIfNull(vo.getC1p2(), 0.0) + diff * c.getC1p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC1p1(vo.getC1p1() / c.getTotalNumber());
|
||||
vo.setC1p2(vo.getC1p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC2p0() != null && vo.getC2p0() > 0) {
|
||||
vo.setC2p1(ObjectUtils.defaultIfNull(vo.getC2p1(), 0.0) + diff * c.getC2p1());
|
||||
vo.setC2p2(ObjectUtils.defaultIfNull(vo.getC2p2(), 0.0) + diff * c.getC2p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC2p1(vo.getC2p1() / c.getTotalNumber());
|
||||
vo.setC2p2(vo.getC2p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC3p0() != null && vo.getC3p0() > 0) {
|
||||
vo.setC3p1(ObjectUtils.defaultIfNull(vo.getC3p1(), 0.0) + diff * c.getC3p1());
|
||||
vo.setC3p2(ObjectUtils.defaultIfNull(vo.getC3p2(), 0.0) + diff * c.getC3p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC3p1(vo.getC3p1() / c.getTotalNumber());
|
||||
vo.setC3p2(vo.getC3p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC4p0() != null && vo.getC4p0() > 0) {
|
||||
vo.setC4p1(ObjectUtils.defaultIfNull(vo.getC4p1(), 0.0) + diff * c.getC4p1());
|
||||
vo.setC4p2(ObjectUtils.defaultIfNull(vo.getC4p2(), 0.0) + diff * c.getC4p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC4p1(vo.getC4p1() / c.getTotalNumber());
|
||||
vo.setC4p2(vo.getC4p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC5p0() != null && vo.getC5p0() > 0) {
|
||||
vo.setC5p1(ObjectUtils.defaultIfNull(vo.getC5p1(), 0.0) + diff * c.getC5p1());
|
||||
vo.setC5p2(ObjectUtils.defaultIfNull(vo.getC5p2(), 0.0) + diff * c.getC5p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC5p1(vo.getC5p1() / c.getTotalNumber());
|
||||
vo.setC5p2(vo.getC5p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC6p0() != null && vo.getC6p0() > 0) {
|
||||
vo.setC6p1(ObjectUtils.defaultIfNull(vo.getC6p1(), 0.0) + diff * c.getC6p1());
|
||||
vo.setC6p2(ObjectUtils.defaultIfNull(vo.getC6p2(), 0.0) + diff * c.getC6p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC6p1(vo.getC6p1() / c.getTotalNumber());
|
||||
vo.setC6p2(vo.getC6p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC7p0() != null && vo.getC7p0() > 0) {
|
||||
vo.setC7p1(ObjectUtils.defaultIfNull(vo.getC7p1(), 0.0) + diff * c.getC7p1());
|
||||
vo.setC7p2(ObjectUtils.defaultIfNull(vo.getC7p2(), 0.0) + diff * c.getC7p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC7p1(vo.getC7p1() / c.getTotalNumber());
|
||||
vo.setC7p2(vo.getC7p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC8p0() != null && vo.getC8p0() > 0) {
|
||||
vo.setC8p1(ObjectUtils.defaultIfNull(vo.getC8p1(), 0.0) + diff * c.getC8p1());
|
||||
vo.setC8p2(ObjectUtils.defaultIfNull(vo.getC8p2(), 0.0) + diff * c.getC8p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC8p1(vo.getC8p1() / c.getTotalNumber());
|
||||
vo.setC8p2(vo.getC8p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
if (vo.getC9p0() != null && vo.getC9p0() > 0) {
|
||||
vo.setC9p1(ObjectUtils.defaultIfNull(vo.getC9p1(), 0.0) + diff * c.getC9p1());
|
||||
vo.setC9p2(ObjectUtils.defaultIfNull(vo.getC9p2(), 0.0) + diff * c.getC9p1());
|
||||
if (i == size - 1) {
|
||||
vo.setC9p1(vo.getC9p1() / c.getTotalNumber());
|
||||
vo.setC9p2(vo.getC9p2() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
|
||||
vo.setDdp1(
|
||||
ObjectUtils.defaultIfNull(vo.getDdp1(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getDdp1(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setDdp1(vo.getDdp1() / c.getTotalNumber());
|
||||
}
|
||||
vo.setDdp2(
|
||||
ObjectUtils.defaultIfNull(vo.getDdp2(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getDdp2(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setDdp2(vo.getDdp2() / c.getTotalNumber());
|
||||
}
|
||||
vo.setDdp3(
|
||||
ObjectUtils.defaultIfNull(vo.getDdp3(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getDdp3(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setDdp3(vo.getDdp3() / c.getTotalNumber());
|
||||
}
|
||||
vo.setDdp4(
|
||||
ObjectUtils.defaultIfNull(vo.getDdp4(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getDdp4(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setDdp4(vo.getDdp4() / c.getTotalNumber());
|
||||
}
|
||||
vo.setDdp5(
|
||||
ObjectUtils.defaultIfNull(vo.getDdp5(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getDdp5(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setDdp5(vo.getDdp5() / c.getTotalNumber());
|
||||
}
|
||||
|
||||
vo.setSysDdp1(
|
||||
ObjectUtils.defaultIfNull(vo.getSysDdp1(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getSysDdp1(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setSysDdp1(vo.getSysDdp1() / c.getTotalNumber());
|
||||
}
|
||||
vo.setSysDdp2(
|
||||
ObjectUtils.defaultIfNull(vo.getSysDdp2(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getSysDdp2(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setSysDdp2(vo.getSysDdp2() / c.getTotalNumber());
|
||||
}
|
||||
vo.setSysDdp3(
|
||||
ObjectUtils.defaultIfNull(vo.getSysDdp3(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getSysDdp3(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setSysDdp3(vo.getSysDdp3() / c.getTotalNumber());
|
||||
}
|
||||
vo.setSysDdp4(
|
||||
ObjectUtils.defaultIfNull(vo.getSysDdp4(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getSysDdp4(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setSysDdp4(vo.getSysDdp4() / c.getTotalNumber());
|
||||
}
|
||||
vo.setSysDdp5(
|
||||
ObjectUtils.defaultIfNull(vo.getSysDdp5(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getSysDdp5(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setSysDdp5(vo.getSysDdp5() / c.getTotalNumber());
|
||||
}
|
||||
|
||||
vo.setAvgDdp1(
|
||||
ObjectUtils.defaultIfNull(vo.getAvgDdp1(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getAvgDdp1(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setAvgDdp1(vo.getAvgDdp1() / c.getTotalNumber());
|
||||
}
|
||||
vo.setAvgDdp2(
|
||||
ObjectUtils.defaultIfNull(vo.getAvgDdp2(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getAvgDdp2(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setAvgDdp2(vo.getAvgDdp2() / c.getTotalNumber());
|
||||
}
|
||||
vo.setAvgDdp3(
|
||||
ObjectUtils.defaultIfNull(vo.getAvgDdp3(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getAvgDdp3(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setAvgDdp3(vo.getAvgDdp3() / c.getTotalNumber());
|
||||
}
|
||||
vo.setAvgDdp4(
|
||||
ObjectUtils.defaultIfNull(vo.getAvgDdp4(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getAvgDdp4(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setAvgDdp4(vo.getAvgDdp4() / c.getTotalNumber());
|
||||
}
|
||||
vo.setAvgDdp5(
|
||||
ObjectUtils.defaultIfNull(vo.getAvgDdp5(), 0.0)
|
||||
+ diff * ObjectUtils.defaultIfNull(c.getAvgDdp5(), 0.0));
|
||||
if (i == size - 1) {
|
||||
vo.setAvgDdp5(vo.getAvgDdp5() / c.getTotalNumber());
|
||||
}
|
||||
}
|
||||
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,6 +179,21 @@ public class CoalWashingDailyAnalysisItemVo {
|
||||
@Comment("用户输入与系统计算的平均值 大堆 备用")
|
||||
private Double avgDdp5;
|
||||
|
||||
@Comment("累计平均 大堆 灰")
|
||||
private Double rollingAvgDdp1;
|
||||
|
||||
@Comment("累计平均 大堆 硫")
|
||||
private Double rollingAvgDdp2;
|
||||
|
||||
@Comment("累计平均 大堆 挥发")
|
||||
private Double rollingAvgDdp3;
|
||||
|
||||
@Comment("累计平均 大堆 粘结")
|
||||
private Double rollingAvgDdp4;
|
||||
|
||||
@Comment("累计平均 大堆 备用")
|
||||
private Double rollingAvgDdp5;
|
||||
|
||||
public void calculate() {
|
||||
|
||||
if (Stream.of(c0p0, c1p0, c2p0, c3p0, c4p0, c5p0, c6p0, c7p0, c8p0, c9p0)
|
||||
|
||||
@@ -49,7 +49,7 @@ public class CoalWashingDailyAnalysisService
|
||||
|
||||
CoalWashingDailyAnalysisEntity entity = mapper.toEntity(request);
|
||||
|
||||
entity.rollingAvg();
|
||||
entity.calculate();
|
||||
|
||||
return mapper.toDto(roundMapper.round(entity));
|
||||
}
|
||||
@@ -87,4 +87,6 @@ public class CoalWashingDailyAnalysisService
|
||||
|
||||
return page.map(this.mapper::toDto);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ class CoalWashingDailyAnalysisEntityTest {
|
||||
|
||||
analysis.setInputItems(Arrays.asList(vo1, vo2));
|
||||
|
||||
analysis.rollingAvg();
|
||||
analysis.calculate();
|
||||
|
||||
System.out.println(analysis);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user