zhanghl
2025-05-23 dec8951aae400e54f6ee83a8f95867dba9da8af1
aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java
@@ -10,8 +10,10 @@
import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.common.security.utils.SecurityUtils;
import com.aps.core.domain.ApsGasPipelineCapacityPlan;
import com.aps.core.domain.ApsShop;
import com.aps.core.domain.ApsStandardProcess;
import com.aps.core.service.IApsGasPipelineCapacityPlanService;
import com.aps.core.service.IApsShopService;
import com.aps.core.service.IApsStandardProcessService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -20,7 +22,9 @@
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
/**
 * 气体管路产能规划Controller
@@ -39,6 +43,9 @@
    @Autowired
    private IApsStandardProcessService apsStandardProcessService;
    @Autowired
    private IApsShopService apsShopService;
    /**
     * 查询气体管路产能规划列表
     */
@@ -52,16 +59,35 @@
        apsStandardProcess.setMajor(apsGasPipelineCapacityPlan.getMajor());
        apsStandardProcess.setPlant(apsGasPipelineCapacityPlan.getOrgCode());
        List<ApsStandardProcess> processList = apsStandardProcessService.selectApsStandardProcessListAll(apsStandardProcess);
        List<ApsShop> apsShops = apsShopService.findShopByFactory(apsGasPipelineCapacityPlan.getOrgCode());
        if (list.isEmpty()) {
            for (ApsStandardProcess apsStandardProcessTemp : processList) {
                ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlanTemp = new ApsGasPipelineCapacityPlan();
                apsGasPipelineCapacityPlanTemp.setProcessName(apsStandardProcessTemp.getProcessName());
                apsGasPipelineCapacityPlanTemp.setOrgCode(apsStandardProcessTemp.getPlant());
                apsGasPipelineCapacityPlanTemp.setWorkshop(apsShops.stream()
                        .filter(shop -> Objects.equals(shop.getShopCode(), apsStandardProcessTemp.getWorkShop()))
                        .map(ApsShop::getShopName)
                        .findFirst()
                        .orElse(null));
                list.add(apsGasPipelineCapacityPlanTemp);
            }
        } else {
            list.forEach(capacityPlan -> {
                processList.stream().filter(p -> Objects.equals(p.getPlant(), capacityPlan.getOrgCode()))
                        .filter(p -> Objects.equals(p.getMajor(), capacityPlan.getMajor()))
                        .filter(p -> p.getWorkShop() != null)
                        .findFirst().ifPresent(p -> {
                            capacityPlan.setWorkshop(apsShops.stream()
                                    .filter(shop -> Objects.equals(shop.getShopCode(), p.getWorkShop()))
                                    .map(ApsShop::getShopName)
                                    .findFirst()
                                    .orElse(null));
                        });
            });
        }
        if (processList.size() > list.size()) {
            List<String> newProcess = new ArrayList<>();
            List<ApsStandardProcess> newProcess = new ArrayList<>();
            for (ApsStandardProcess apsStandardProcessTemp : processList) {
                boolean flag = true;
                for (ApsGasPipelineCapacityPlan temp : list) {
@@ -71,16 +97,22 @@
                    }
                }
                if (flag) {
                    newProcess.add(apsStandardProcessTemp.getProcessName());
                    newProcess.add(apsStandardProcessTemp);
                }
            }
            for (String processName : newProcess) {
            for (ApsStandardProcess process : newProcess) {
                ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlanTemp = new ApsGasPipelineCapacityPlan();
                apsGasPipelineCapacityPlanTemp.setProcessName(processName);
                apsGasPipelineCapacityPlanTemp.setProcessName(process.getProcessName());
                apsGasPipelineCapacityPlanTemp.setOrgCode(process.getPlant());
                apsGasPipelineCapacityPlanTemp.setWorkshop(apsShops.stream()
                        .filter(shop -> Objects.equals(shop.getShopCode(), process.getWorkShop()))
                        .map(ApsShop::getShopName)
                        .findFirst()
                        .orElse(null));
                list.add(apsGasPipelineCapacityPlanTemp);
            }
        }
        list.sort((a, b) -> a.getProcessName().compareTo(b.getProcessName()));
        list.sort(Comparator.comparing(ApsGasPipelineCapacityPlan::getProcessName));
        return getDataTable(list);
    }
@@ -102,7 +134,7 @@
     * 复制气体管路产能规划
     */
    @Operation(summary = "复制气体管路产能规划", description = "复制")
//    @RequiresPermissions("aps:gasPipelineCapacityPlan:copy")
    @RequiresPermissions("aps:gasPipelineCapacityPlan:copy")
    @Log(title = "复制气体管路产能规划", businessType = BusinessType.INSERT)
    @PutMapping("/copy")
    public AjaxResult copy(