| | |
| | | package com.aps.core.controller.basicData; |
| | | |
| | | import com.aps.common.core.utils.DateUtils; |
| | | import com.aps.common.core.utils.poi.ExcelUtil; |
| | | import com.aps.common.core.web.controller.BaseController; |
| | | import com.aps.common.core.web.domain.AjaxResult; |
| | |
| | | import com.aps.common.log.annotation.Log; |
| | | import com.aps.common.log.enums.BusinessType; |
| | | 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 |
| | | * |
| | | * |
| | | * @author hjy |
| | | * @date 2025-04-24 |
| | | */ |
| | |
| | | @Tag(name = "气体管路产能规划", description = "气体管路产能规划接口") |
| | | @RestController |
| | | @RequestMapping("/gasPipelineCapacityPlan") |
| | | public class ApsGasPipelineCapacityPlanController extends BaseController |
| | | { |
| | | public class ApsGasPipelineCapacityPlanController extends BaseController { |
| | | @Autowired |
| | | private IApsGasPipelineCapacityPlanService apsGasPipelineCapacityPlanService; |
| | | |
| | | @Autowired |
| | | private IApsStandardProcessService apsStandardProcessService; |
| | | |
| | | @Autowired |
| | | private IApsShopService apsShopService; |
| | | |
| | | /** |
| | | * 查询气体管路产能规划列表 |
| | |
| | | @Operation(summary = "查询气体管路产能规划列表", description = "分页查询") |
| | | @RequiresPermissions("aps:gasPipelineCapacityPlan:list") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) |
| | | { |
| | | public TableDataInfo list(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) { |
| | | // startPage(); |
| | | List<ApsGasPipelineCapacityPlan> list = apsGasPipelineCapacityPlanService.selectApsGasPipelineCapacityPlanList(apsGasPipelineCapacityPlan); |
| | | ApsStandardProcess apsStandardProcess = new ApsStandardProcess(); |
| | | apsStandardProcess.setMajor(apsGasPipelineCapacityPlan.getMajor()); |
| | | apsStandardProcess.setPlant(apsGasPipelineCapacityPlan.getOrgCode()); |
| | | List<ApsStandardProcess> processList = apsStandardProcessService.selectApsStandardProcessListAll(apsStandardProcess); |
| | | if(list.isEmpty()){ |
| | | for(ApsStandardProcess apsStandardProcessTemp : processList){ |
| | | 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<>(); |
| | | for(ApsStandardProcess apsStandardProcessTemp : processList){ |
| | | if (processList.size() > list.size()) { |
| | | List<ApsStandardProcess> newProcess = new ArrayList<>(); |
| | | for (ApsStandardProcess apsStandardProcessTemp : processList) { |
| | | boolean flag = true; |
| | | for(ApsGasPipelineCapacityPlan temp : list){ |
| | | if(apsStandardProcessTemp.getProcessName().equals(temp.getProcessName())){ |
| | | for (ApsGasPipelineCapacityPlan temp : list) { |
| | | if (apsStandardProcessTemp.getProcessName().equals(temp.getProcessName())) { |
| | | flag = false; |
| | | break; |
| | | } |
| | | } |
| | | if(flag){ |
| | | newProcess.add(apsStandardProcessTemp.getProcessName()); |
| | | if (flag) { |
| | | 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); |
| | | } |
| | | |
| | |
| | | @RequiresPermissions("aps:gasPipelineCapacityPlan:export") |
| | | @Log(title = "气体管路产能规划", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) |
| | | { |
| | | public void export(HttpServletResponse response, ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) { |
| | | List<ApsGasPipelineCapacityPlan> list = apsGasPipelineCapacityPlanService.selectApsGasPipelineCapacityPlanList(apsGasPipelineCapacityPlan); |
| | | ExcelUtil<ApsGasPipelineCapacityPlan> util = new ExcelUtil<ApsGasPipelineCapacityPlan>(ApsGasPipelineCapacityPlan.class); |
| | | util.exportExcel(response, list, "气体管路产能规划数据"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 复制气体管路产能规划 |
| | | */ |
| | | @Operation(summary = "复制气体管路产能规划", description = "复制") |
| | | @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, major, toStart, toEnd); |
| | | return success(); |
| | | } |
| | | |
| | | /** |
| | |
| | | @Operation(summary = "获取气体管路产能规划详细信息", description = "根据id获取") |
| | | @RequiresPermissions("aps:gasPipelineCapacityPlan:query") |
| | | @GetMapping(value = "/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) |
| | | { |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) { |
| | | return success(apsGasPipelineCapacityPlanService.selectApsGasPipelineCapacityPlanById(id)); |
| | | } |
| | | |
| | |
| | | @RequiresPermissions("aps:gasPipelineCapacityPlan:add") |
| | | @Log(title = "气体管路产能规划", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody List<ApsGasPipelineCapacityPlan> apsGasPipelineCapacityPlan) |
| | | { |
| | | public AjaxResult add(@RequestBody List<ApsGasPipelineCapacityPlan> apsGasPipelineCapacityPlan) { |
| | | apsGasPipelineCapacityPlan.forEach(apsGasPipelineCapacityPlanTemp -> { |
| | | if(apsGasPipelineCapacityPlanTemp.getId()==null){ |
| | | if (apsGasPipelineCapacityPlanTemp.getId() == null) { |
| | | apsGasPipelineCapacityPlanTemp.setCreateBy(SecurityUtils.getUsername()); |
| | | apsGasPipelineCapacityPlanTemp.setCreateTime(DateUtils.getNowDate()); |
| | | apsGasPipelineCapacityPlanService.insertApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlanTemp); |
| | | }else{ |
| | | } else { |
| | | apsGasPipelineCapacityPlanTemp.setUpdateBy(SecurityUtils.getUsername()); |
| | | apsGasPipelineCapacityPlanTemp.setUpdateTime(DateUtils.getNowDate()); |
| | | apsGasPipelineCapacityPlanService.updateApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlanTemp); |
| | | } |
| | | }); |
| | |
| | | @RequiresPermissions("aps:gasPipelineCapacityPlan:edit") |
| | | @Log(title = "气体管路产能规划", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) |
| | | { |
| | | public AjaxResult edit(@RequestBody ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) { |
| | | return toAjax(apsGasPipelineCapacityPlanService.updateApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlan)); |
| | | } |
| | | |
| | |
| | | @Operation(summary = "删除气体管路产能规划", description = "批量删除") |
| | | @RequiresPermissions("aps:gasPipelineCapacityPlan:remove") |
| | | @Log(title = "气体管路产能规划", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) |
| | | { |
| | | @DeleteMapping("/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | return toAjax(apsGasPipelineCapacityPlanService.deleteApsGasPipelineCapacityPlanByIds(ids)); |
| | | } |
| | | } |