|
@@ -26,6 +26,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
|
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -187,8 +189,73 @@ public class FpgLeanModelServiceImpl extends ServiceImpl<FpgLeanModelMapper, Fpg
|
|
|
// 谷峰差统计报表
|
|
|
jsonResult = JSON.parseArray(JSON.toJSONString(combinedList));
|
|
|
}else if ("total_day_wp_report".equals(leanModelCode)) {
|
|
|
+
|
|
|
// 龙钢变各工序报表
|
|
|
- jsonResult = JSON.parseArray(JSON.toJSONString(combinedList));
|
|
|
+ List<ModelDataResult> modelDataResults = new ArrayList<>();
|
|
|
+ for (ModelReportFormResult modelReportFormResult : combinedList) {
|
|
|
+
|
|
|
+ BigDecimal sum = modelReportFormResult.getTopsPower().add(modelReportFormResult.getPeaksPower()).add(modelReportFormResult.getFlatPower()).add(modelReportFormResult.getValleysPower());
|
|
|
+
|
|
|
+ // 先获取公共属性值,避免在循环内多次重复获取
|
|
|
+ String deviceTitle = modelReportFormResult.getDeviceTitle();
|
|
|
+ String deviceRegionId = modelReportFormResult.getDeviceRegionId();
|
|
|
+ String deviceInformationId = modelReportFormResult.getDeviceInformationId();
|
|
|
+ String createTime = modelReportFormResult.getCreateTime();
|
|
|
+ for (int i = 0; i < 9; i++) {
|
|
|
+ ModelDataResult modelDataResult = new ModelDataResult();
|
|
|
+ if (i == 0){
|
|
|
+ modelDataResult.setKey("尖");
|
|
|
+ modelDataResult.setKey1("尖");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getTopsPower());
|
|
|
+ }
|
|
|
+ if (i == 1){
|
|
|
+ modelDataResult.setKey("尖");
|
|
|
+ modelDataResult.setKey1("尖(%)");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getTopsPower().divide(sum, 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ if (i == 2){
|
|
|
+ modelDataResult.setKey("峰");
|
|
|
+ modelDataResult.setKey1("峰");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getPeaksPower());
|
|
|
+ }
|
|
|
+ if (i == 3){
|
|
|
+ modelDataResult.setKey("峰");
|
|
|
+ modelDataResult.setKey1("峰(%)");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getPeaksPower().divide(sum, 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ if (i == 4){
|
|
|
+ modelDataResult.setKey("平");
|
|
|
+ modelDataResult.setKey1("平");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getFlatPower());
|
|
|
+ }
|
|
|
+ if (i == 5){
|
|
|
+ modelDataResult.setKey("平");
|
|
|
+ modelDataResult.setKey1("平(%)");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getFlatPower().divide(sum, 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
+ if (i == 6){
|
|
|
+ modelDataResult.setKey("谷");
|
|
|
+ modelDataResult.setKey1("谷");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getValleysPower());
|
|
|
+ }
|
|
|
+ if (i == 7){
|
|
|
+ modelDataResult.setKey("谷");
|
|
|
+ modelDataResult.setKey1("谷(%)");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getValleysPower().add(modelReportFormResult.getPeaksPower()).add(modelReportFormResult.getFlatPower()).add(modelReportFormResult.getValleysPower()));
|
|
|
+ }
|
|
|
+ if (i == 8){
|
|
|
+ modelDataResult.setKey("反有总");
|
|
|
+ modelDataResult.setKey1("反有总");
|
|
|
+ modelDataResult.setValue(modelReportFormResult.getTopsPower().add(modelReportFormResult.getPeaksPower()).add(modelReportFormResult.getFlatPower()).add(modelReportFormResult.getValleysPower()));
|
|
|
+ }
|
|
|
+ modelDataResult.setDeviceTitle(deviceTitle);
|
|
|
+ modelDataResult.setDeviceRegionId(deviceRegionId);
|
|
|
+ modelDataResult.setDeviceInformationId(deviceInformationId);
|
|
|
+ modelDataResult.setCreateTime(createTime);
|
|
|
+ modelDataResults.add(modelDataResult);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ jsonResult = JSON.parseArray(JSON.toJSONString(modelDataResults));
|
|
|
}
|
|
|
result.put("data", jsonResult);
|
|
|
return result;
|
|
@@ -298,4 +365,5 @@ public class FpgLeanModelServiceImpl extends ServiceImpl<FpgLeanModelMapper, Fpg
|
|
|
modelDataResult.setDeviceInformationId(modelReportFormResult.getDeviceInformationId());
|
|
|
modelDataResult.setCreateTime(modelReportFormResult.getCreateTime());
|
|
|
}
|
|
|
+
|
|
|
}
|