| | |
| | | List<Long> years = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getYear).distinct().toList(); |
| | | List<Long> months = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getMonth).distinct().toList(); |
| | | List<String> bases = apsWeldSeamStatistics.stream().map(ApsWeldSeamStatistics::getProductionBase).distinct().toList(); |
| | | |
| | | /*工单类型:订单*/ |
| | | String WorkOrderType_Order="0"; |
| | | /*工单类型:预测*/ |
| | | String WorkOrderType_Prediction="1"; |
| | | /*类型:气体*/ |
| | | String Classification_Gas="0"; |
| | | /*类型:管路*/ |
| | | String Classification_Piping="1"; |
| | | for (Long year : years) { |
| | | for (Long month : months) { |
| | | for (String basis : bases) { |
| | | List<ApsWeldSeamStatistics> list = apsWeldSeamStatistics.stream() |
| | | .filter(x -> x.getYear().equals(year) && x.getMonth().equals(month) && x.getProductionBase().equals(basis)).toList(); |
| | | |
| | | long gasOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("0") && x.getClassification().equals("0")) |
| | | long gasOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals(WorkOrderType_Order) && x.getClassification().equals(Classification_Gas)) |
| | | .mapToLong(ApsWeldSeamStatistics::getTotal).sum(); |
| | | long gasPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("1") && x.getClassification().equals("0")) |
| | | long gasPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals(WorkOrderType_Prediction) && x.getClassification().equals(Classification_Gas)) |
| | | .mapToLong(ApsWeldSeamStatistics::getTotal).sum(); |
| | | long pipingOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("0") && x.getClassification().equals("1")) |
| | | long pipingOrderRequirement = list.stream().filter(x -> x.getWorkOrderType().equals(WorkOrderType_Order) && x.getClassification().equals(Classification_Piping)) |
| | | .mapToLong(ApsWeldSeamStatistics::getTotal).sum(); |
| | | long pipingPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals("1") && x.getClassification().equals("1")) |
| | | long pipingPredictionRequirement = list.stream().filter(x -> x.getWorkOrderType().equals(WorkOrderType_Prediction) && x.getClassification().equals(Classification_Piping)) |
| | | .mapToLong(ApsWeldSeamStatistics::getTotal).sum(); |
| | | long total = gasOrderRequirement + gasPredictionRequirement + pipingOrderRequirement + pipingPredictionRequirement; |
| | | if(total>0) { |