SuppliesManageController.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. package org.dromara.web.controller;
  2. import java.util.List;
  3. import lombok.RequiredArgsConstructor;
  4. import jakarta.servlet.http.HttpServletResponse;
  5. import jakarta.validation.constraints.*;
  6. import cn.dev33.satoken.annotation.SaCheckPermission;
  7. import org.dromara.common.mybatis.core.page.TableDataInfo;
  8. import org.dromara.web.domain.bo.BatchProductNuyritionBo;
  9. import org.dromara.web.domain.bo.BatchSuppliesManageBo;
  10. import org.dromara.web.domain.bo.SuppliesManageBo;
  11. import org.dromara.web.domain.vo.SuppliesManageVo;
  12. import org.dromara.web.service.ISuppliesManageService;
  13. import org.springframework.web.bind.annotation.*;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.dromara.common.idempotent.annotation.RepeatSubmit;
  16. import org.dromara.common.log.annotation.Log;
  17. import org.dromara.common.web.core.BaseController;
  18. import org.dromara.common.mybatis.core.page.PageQuery;
  19. import org.dromara.common.core.domain.R;
  20. import org.dromara.common.core.validate.AddGroup;
  21. import org.dromara.common.core.validate.EditGroup;
  22. import org.dromara.common.log.enums.BusinessType;
  23. import org.dromara.common.excel.utils.ExcelUtil;
  24. import org.springframework.web.multipart.MultipartFile;
  25. /**
  26. * 耗材管理
  27. *
  28. * @author Lion Li
  29. * @date 2025-07-02
  30. */
  31. @Validated
  32. @RequiredArgsConstructor
  33. @RestController
  34. @RequestMapping("/warehouse/suppliesManage")
  35. public class SuppliesManageController extends BaseController {
  36. private final ISuppliesManageService suppliesManageService;
  37. /**
  38. * 查询耗材管理列表
  39. */
  40. @SaCheckPermission("warehouse:suppliesManage:list")
  41. @GetMapping("/list")
  42. public TableDataInfo<SuppliesManageVo> list(SuppliesManageBo bo, PageQuery pageQuery) {
  43. return suppliesManageService.queryPageList(bo, pageQuery);
  44. }
  45. @SaCheckPermission("warehouse:suppliesManage:list")
  46. @GetMapping("/listAll")
  47. public TableDataInfo<SuppliesManageVo> listAll() {
  48. return suppliesManageService.listAll();
  49. }
  50. /**
  51. * 导出耗材管理列表
  52. */
  53. @SaCheckPermission("warehouse:suppliesManage:export")
  54. @Log(title = "耗材管理", businessType = BusinessType.EXPORT)
  55. @PostMapping("/export")
  56. public void export(SuppliesManageBo bo, HttpServletResponse response) {
  57. List<SuppliesManageVo> list = suppliesManageService.queryList(bo);
  58. ExcelUtil.exportExcel(list, "耗材管理", SuppliesManageVo.class, response);
  59. }
  60. /*下载模板*/
  61. @SaCheckPermission("warehouse:suppliesManage:export")
  62. @RequestMapping(value = "/downLoadTemplate", method = RequestMethod.GET)
  63. public void downLoadTemplate(HttpServletResponse response) {
  64. ExcelUtil.downLoadTemplate("suppliesManage.xlsx", "耗材管理模版", response);
  65. }
  66. /**
  67. * 获取耗材管理详细信息
  68. *
  69. * @param id 主键
  70. */
  71. @SaCheckPermission("warehouse:suppliesManage:query")
  72. @GetMapping("/{id}")
  73. public R<SuppliesManageVo> getInfo(@NotNull(message = "主键不能为空")
  74. @PathVariable Long id) {
  75. return R.ok(suppliesManageService.queryById(id));
  76. }
  77. /**
  78. * 新增耗材管理
  79. */
  80. @SaCheckPermission("warehouse:suppliesManage:add")
  81. @Log(title = "耗材管理", businessType = BusinessType.INSERT)
  82. @RepeatSubmit()
  83. @PostMapping()
  84. public R<Void> add(@Validated(AddGroup.class) @RequestBody SuppliesManageBo bo) {
  85. return toAjax(suppliesManageService.insertByBo(bo));
  86. }
  87. /**
  88. * 修改耗材管理
  89. */
  90. @SaCheckPermission("warehouse:suppliesManage:edit")
  91. @Log(title = "耗材管理", businessType = BusinessType.UPDATE)
  92. @RepeatSubmit()
  93. @PutMapping()
  94. public R<Void> edit(@Validated(EditGroup.class) @RequestBody SuppliesManageBo bo) {
  95. return toAjax(suppliesManageService.updateByBo(bo));
  96. }
  97. /**
  98. * 批量修改耗材管理中的许可证和保质期到期提醒
  99. */
  100. @Log(title = "耗材管理")
  101. @RepeatSubmit()
  102. @PostMapping("/batchUpdate")
  103. public R<Void> batchUpdate(@Validated(EditGroup.class) @RequestBody BatchSuppliesManageBo bo) {
  104. return toAjax(suppliesManageService.batchUpdateSuppliesManage(bo));
  105. }
  106. /**
  107. * 删除耗材管理
  108. *
  109. * @param ids 主键串
  110. */
  111. @SaCheckPermission("warehouse:suppliesManage:remove")
  112. @Log(title = "耗材管理", businessType = BusinessType.DELETE)
  113. @DeleteMapping("/{ids}")
  114. public R<Void> remove(@NotEmpty(message = "主键不能为空")
  115. @PathVariable Long[] ids) {
  116. return toAjax(suppliesManageService.deleteWithValidByIds(List.of(ids), true));
  117. }
  118. @SaCheckPermission("warehouse:suppliesManage:import")
  119. @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
  120. public R<?> importExcel(MultipartFile file) throws Exception {
  121. return suppliesManageService.importExcel(file);
  122. }
  123. }