package com.aps.core.controller.mainPlan; 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.core.domain.ApsMaterialProductGroupManagement; import com.aps.core.service.IApsMaterialProductGroupManagementService; 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 org.springframework.web.multipart.MultipartFile; import java.util.List; /** * 物料产品组数据管理Controller * * @author ruoyi * @date 2025-05-19 */ @Tag(name = "物料产品组数据管理", description = "物料产品组数据管理接口") @RestController @RequestMapping("/materialProductGroupManagement") public class ApsMaterialProductGroupManagementController extends BaseController { @Autowired private IApsMaterialProductGroupManagementService apsMaterialProductGroupManagementService; /** * 查询物料产品组数据管理列表 */ @Operation(summary = "查询物料产品组数据管理列表", description = "分页查询") @RequiresPermissions("materialProductGroup:management:list") @GetMapping("/list") public TableDataInfo list(ApsMaterialProductGroupManagement apsGasPipelineMo) { startPage(); List list = apsMaterialProductGroupManagementService.selectApsMaterialProductGroupManagementList(apsGasPipelineMo); return getDataTable(list); } @Operation(summary = "导入产品组数据", description = "批量导入") @Log(title = "导入产品组数据", businessType = BusinessType.IMPORT) @RequiresPermissions("materialProductGroup:management:import") @PostMapping("/importData") public AjaxResult importData(MultipartFile file) throws Exception { int i = apsMaterialProductGroupManagementService.batchInsertApsMaterialProductGroupManagement(file); return toAjax(i); } /** * 导出物料产品组数据管理列表 */ @Operation(summary = "导出物料产品组数据管理列表", description = "导出") @RequiresPermissions("materialProductGroup:management:export") @Log(title = "物料产品组数据管理", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ApsMaterialProductGroupManagement apsMaterialProductGroupManagement) { List list = apsMaterialProductGroupManagementService.selectApsMaterialProductGroupManagementList(apsMaterialProductGroupManagement); ExcelUtil util = new ExcelUtil(ApsMaterialProductGroupManagement.class); util.exportExcel(response, list, "物料产品组数据管理数据"); } /** * 获取物料产品组数据管理详细信息 */ @Operation(summary = "获取物料产品组数据管理详细信息", description = "根据id获取") @RequiresPermissions("materialProductGroup:management:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(apsMaterialProductGroupManagementService.selectApsMaterialProductGroupManagementById(id)); } /** * 新增物料产品组数据管理 */ @Operation(summary = "新增物料产品组数据管理", description = "单个新增") @RequiresPermissions("materialProductGroup:management:add") @Log(title = "物料产品组数据管理", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ApsMaterialProductGroupManagement apsMaterialProductGroupManagement) { return toAjax(apsMaterialProductGroupManagementService.insertApsMaterialProductGroupManagement(apsMaterialProductGroupManagement)); } /** * 修改物料产品组数据管理 */ @Operation(summary = "修改物料产品组数据管理", description = "单个修改") @RequiresPermissions("materialProductGroup:management:edit") @Log(title = "修改物料产品组数据管理", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ApsMaterialProductGroupManagement apsMaterialProductGroupManagement) { return toAjax(apsMaterialProductGroupManagementService.updateApsMaterialProductGroupManagement(apsMaterialProductGroupManagement)); } /** * 删除物料产品组数据管理 */ @Operation(summary = "删除物料产品组数据管理", description = "批量删除") @RequiresPermissions("materialProductGroup:management:remove") @Log(title = "物料产品组数据管理", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(apsMaterialProductGroupManagementService.deleteApsMaterialProductGroupManagementByIds(ids)); } }