package com.aps.core.controller.mainPlan; import com.aps.common.core.constant.SecurityConstants; import com.aps.common.core.domain.R; 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.ApsBomHeader; import com.aps.core.service.IApsBomHeaderService; import com.aps.system.api.RemoteJobService; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * BOM Header 数据管理Controller * * @author zhl * @date 2025-05-06 */ @RestController @RequestMapping("/ApsBomHeader") public class ApsBomHeaderController extends BaseController { @Autowired private IApsBomHeaderService apsBomHeaderService; @Autowired private RemoteJobService remoteJobService; /** * 查询BOM Header 数据管理列表 */ @RequiresPermissions("Aps:ApsBomHeader:list") @GetMapping("/list") public TableDataInfo list(ApsBomHeader apsBomHeader) { startPage(); List list = apsBomHeaderService.selectApsBomHeaderList(apsBomHeader); return getDataTable(list); } /** * 导出BOM Header 数据管理列表 */ @RequiresPermissions("Aps:ApsBomHeader:export") @Log(title = "BOM Header 数据管理", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ApsBomHeader apsBomHeader) { List list = apsBomHeaderService.selectApsBomHeaderList(apsBomHeader); ExcelUtil util = new ExcelUtil(ApsBomHeader.class); util.exportExcel(response, list, "BOM Header 数据管理数据"); } /** * 获取BOM Header 数据管理详细信息 */ @RequiresPermissions("Aps:ApsBomHeader:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(apsBomHeaderService.selectApsBomHeaderById(id)); } /** * 新增BOM Header 数据管理 */ @RequiresPermissions("Aps:ApsBomHeader:add") @Log(title = "BOM Header 数据管理", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody ApsBomHeader apsBomHeader) { return toAjax(apsBomHeaderService.insertApsBomHeader(apsBomHeader)); } /** * 修改BOM Header 数据管理 */ @RequiresPermissions("Aps:ApsBomHeader:edit") @Log(title = "BOM Header 数据管理", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody ApsBomHeader apsBomHeader) { return toAjax(apsBomHeaderService.updateApsBomHeader(apsBomHeader)); } /** * 删除BOM Header 数据管理 */ @RequiresPermissions("Aps:ApsBomHeader:remove") @Log(title = "BOM Header 数据管理", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(apsBomHeaderService.deleteApsBomHeaderByIds(ids)); } /** * 刷新全量BOM数据 */ @RequiresPermissions("Aps:ApsBomHeader:refreshBomData") @PostMapping("/refreshBomData") public AjaxResult refreshBomData() { R res = remoteJobService.refreshBomData(SecurityConstants.INNER); if (R.isSuccess(res)) { apsBomHeaderService.setBomDataToRedis("FORTUNA"); return success(); } return error(); } @PostMapping("/setBomDataToRedis") public void setBomDataToRedis() { apsBomHeaderService.setBomDataToRedis("FORTUNA"); //apsBomHeaderService.setBomDataToRedis("FORTUNE"); } @PostMapping("/test") public void test() { apsBomHeaderService.setBomDataToRedis("FORTUNA"); } @GetMapping("/getBomRdsCount/{orgCode}") public Integer getBomRdsCount(String orgCode) { return apsBomHeaderService.getBomKeys(orgCode); } }