| | |
| | | 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; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 气体管路产能规划Controller |
| | |
| | | @Autowired |
| | | private IApsStandardProcessService apsStandardProcessService; |
| | | |
| | | @Autowired |
| | | private IApsShopService apsShopService; |
| | | |
| | | /** |
| | | * 查询气体管路产能规划列表 |
| | | */ |
| | |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | 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); |
| | | } |
| | | |
| | |
| | | * 复制气体管路产能规划 |
| | | */ |
| | | @Operation(summary = "复制气体管路产能规划", description = "复制") |
| | | // @RequiresPermissions("aps:gasPipelineCapacityPlan:copy") |
| | | @RequiresPermissions("aps:gasPipelineCapacityPlan:copy") |
| | | @Log(title = "复制气体管路产能规划", businessType = BusinessType.INSERT) |
| | | @PutMapping("/copy") |
| | | public AjaxResult copy( |
| | | // 格式:yyyy-MM |
| | | @RequestParam String date, |
| | | @RequestParam String factory, |
| | | @RequestParam String major, |
| | | // 格式:yyyy-MM |
| | | @RequestParam String toStart, |
| | | // 格式:yyyy-MM |
| | | @RequestParam String toEnd) { |
| | | apsGasPipelineCapacityPlanService.copyPlan(date, factory, toStart, toEnd); |
| | | apsGasPipelineCapacityPlanService.copyPlan(date, factory, major, toStart, toEnd); |
| | | return success(); |
| | | } |
| | | |