zhanghl
2025-04-16 55b27f5ff82fcb1e81340bb3793ad4d5abd51072
焊缝统计表-逻辑更新
已修改1个文件
17 ■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsWeldSeamServiceImpl.java
@@ -139,20 +139,27 @@
        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) {