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.core.web.page.TableDataInfo;
|
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.ApsStandardProcess;
|
import com.aps.core.service.IApsGasPipelineCapacityPlanService;
|
import com.aps.core.service.IApsStandardProcessService;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.servlet.http.HttpServletResponse;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 气体管路产能规划Controller
|
*
|
* @author hjy
|
* @date 2025-04-24
|
*/
|
|
@Tag(name = "气体管路产能规划", description = "气体管路产能规划接口")
|
@RestController
|
@RequestMapping("/gasPipelineCapacityPlan")
|
public class ApsGasPipelineCapacityPlanController extends BaseController {
|
@Autowired
|
private IApsGasPipelineCapacityPlanService apsGasPipelineCapacityPlanService;
|
|
@Autowired
|
private IApsStandardProcessService apsStandardProcessService;
|
|
/**
|
* 查询气体管路产能规划列表
|
*/
|
@Operation(summary = "查询气体管路产能规划列表", description = "分页查询")
|
@RequiresPermissions("aps:gasPipelineCapacityPlan:list")
|
@GetMapping("/list")
|
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) {
|
ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlanTemp = new ApsGasPipelineCapacityPlan();
|
apsGasPipelineCapacityPlanTemp.setProcessName(apsStandardProcessTemp.getProcessName());
|
apsGasPipelineCapacityPlanTemp.setOrgCode(apsStandardProcessTemp.getPlant());
|
list.add(apsGasPipelineCapacityPlanTemp);
|
}
|
}
|
if (processList.size() > list.size()) {
|
List<String> newProcess = new ArrayList<>();
|
for (ApsStandardProcess apsStandardProcessTemp : processList) {
|
boolean flag = true;
|
for (ApsGasPipelineCapacityPlan temp : list) {
|
if (apsStandardProcessTemp.getProcessName().equals(temp.getProcessName())) {
|
flag = false;
|
break;
|
}
|
}
|
if (flag) {
|
newProcess.add(apsStandardProcessTemp.getProcessName());
|
}
|
}
|
for (String processName : newProcess) {
|
ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlanTemp = new ApsGasPipelineCapacityPlan();
|
apsGasPipelineCapacityPlanTemp.setProcessName(processName);
|
list.add(apsGasPipelineCapacityPlanTemp);
|
}
|
}
|
list.sort((a, b) -> a.getProcessName().compareTo(b.getProcessName()));
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出气体管路产能规划列表
|
*/
|
@Operation(summary = "导出气体管路产能规划列表", description = "导出")
|
@RequiresPermissions("aps:gasPipelineCapacityPlan:export")
|
@Log(title = "气体管路产能规划", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
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,
|
// 格式:yyyy-MM
|
@RequestParam String toStart,
|
// 格式:yyyy-MM
|
@RequestParam String toEnd) {
|
apsGasPipelineCapacityPlanService.copyPlan(date, factory, toStart, toEnd);
|
return success();
|
}
|
|
/**
|
* 获取气体管路产能规划详细信息
|
*/
|
@Operation(summary = "获取气体管路产能规划详细信息", description = "根据id获取")
|
@RequiresPermissions("aps:gasPipelineCapacityPlan:query")
|
@GetMapping(value = "/{id}")
|
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
return success(apsGasPipelineCapacityPlanService.selectApsGasPipelineCapacityPlanById(id));
|
}
|
|
/**
|
* 新增气体管路产能规划
|
*/
|
@Operation(summary = "新增气体管路产能规划", description = "单个新增")
|
@RequiresPermissions("aps:gasPipelineCapacityPlan:add")
|
@Log(title = "气体管路产能规划", businessType = BusinessType.INSERT)
|
@PostMapping
|
public AjaxResult add(@RequestBody List<ApsGasPipelineCapacityPlan> apsGasPipelineCapacityPlan) {
|
apsGasPipelineCapacityPlan.forEach(apsGasPipelineCapacityPlanTemp -> {
|
if (apsGasPipelineCapacityPlanTemp.getId() == null) {
|
apsGasPipelineCapacityPlanTemp.setCreateBy(SecurityUtils.getUsername());
|
apsGasPipelineCapacityPlanTemp.setCreateTime(DateUtils.getNowDate());
|
apsGasPipelineCapacityPlanService.insertApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlanTemp);
|
} else {
|
apsGasPipelineCapacityPlanTemp.setUpdateBy(SecurityUtils.getUsername());
|
apsGasPipelineCapacityPlanTemp.setUpdateTime(DateUtils.getNowDate());
|
apsGasPipelineCapacityPlanService.updateApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlanTemp);
|
}
|
});
|
return AjaxResult.success();
|
}
|
|
/**
|
* 修改气体管路产能规划
|
*/
|
@Operation(summary = "修改气体管路产能规划", description = "单个修改")
|
@RequiresPermissions("aps:gasPipelineCapacityPlan:edit")
|
@Log(title = "气体管路产能规划", businessType = BusinessType.UPDATE)
|
@PutMapping
|
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) {
|
return toAjax(apsGasPipelineCapacityPlanService.deleteApsGasPipelineCapacityPlanByIds(ids));
|
}
|
}
|