TwinEmpController.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.jjt.emp.controller;
  2. import com.jjt.common.annotation.Log;
  3. import com.jjt.common.core.controller.BaseController;
  4. import com.jjt.common.core.domain.AjaxResult;
  5. import com.jjt.common.core.page.TableDataInfo;
  6. import com.jjt.common.enums.BusinessType;
  7. import com.jjt.common.utils.DateUtils;
  8. import com.jjt.common.utils.StringUtils;
  9. import com.jjt.common.utils.poi.ExcelUtil;
  10. import com.jjt.emp.domain.TwinEmp;
  11. import com.jjt.emp.service.ITwinEmpService;
  12. import io.swagger.annotations.Api;
  13. import io.swagger.annotations.ApiOperation;
  14. import org.springframework.security.access.prepost.PreAuthorize;
  15. import org.springframework.web.bind.annotation.*;
  16. import javax.annotation.Resource;
  17. import javax.servlet.http.HttpServletResponse;
  18. import java.util.List;
  19. /**
  20. * 员工排班Controller
  21. *
  22. * @author wukai
  23. * @date 2025-01-18
  24. */
  25. @Api(tags = "员工排班")
  26. @RestController
  27. @RequestMapping("/emp/emp")
  28. public class TwinEmpController extends BaseController {
  29. @Resource
  30. private ITwinEmpService twinEmpService;
  31. /**
  32. * 查询员工排班列表
  33. */
  34. @ApiOperation("查询员工排班列表")
  35. //@PreAuthorize("@ss.hasPermi('emp:emp:list')")
  36. @GetMapping("/list")
  37. public TableDataInfo list(TwinEmp twinEmp) {
  38. startPage();
  39. List<TwinEmp> list = twinEmpService.selectTwinEmpList(twinEmp);
  40. return getDataTable(list);
  41. }
  42. /**
  43. * 导出员工排班列表
  44. */
  45. @ApiOperation("导出员工排班列表")
  46. //@PreAuthorize("@ss.hasPermi('emp:emp:export')")
  47. @Log(title = "员工排班", businessType = BusinessType.EXPORT)
  48. @PostMapping("/export")
  49. public void export(HttpServletResponse response, TwinEmp twinEmp) {
  50. List<TwinEmp> list = twinEmpService.selectTwinEmpList(twinEmp);
  51. ExcelUtil<TwinEmp> util = new ExcelUtil<TwinEmp>(TwinEmp.class);
  52. util.exportExcel(response, list, "员工排班数据");
  53. }
  54. /**
  55. * 获取员工排班详细信息
  56. */
  57. @ApiOperation("获取员工排班详细信息")
  58. //@PreAuthorize("@ss.hasPermi('emp:emp:query')")
  59. @GetMapping(value = "/{empId}")
  60. public AjaxResult getInfo(@PathVariable("empId") Long empId) {
  61. return success(twinEmpService.selectTwinEmpByEmpId(empId));
  62. }
  63. /**
  64. * 新增员工排班
  65. */
  66. @ApiOperation("新增员工排班")
  67. //@PreAuthorize("@ss.hasPermi('emp:emp:add')")
  68. @Log(title = "员工排班", businessType = BusinessType.INSERT)
  69. @PostMapping
  70. public AjaxResult add(@RequestBody TwinEmp twinEmp) {
  71. TwinEmp search = new TwinEmp();
  72. search.setEmpDate(twinEmp.getEmpDate());
  73. List list = twinEmpService.selectTwinEmpList(search);
  74. if (list.size() > 0) {
  75. return AjaxResult.error("已经有\"" + DateUtils.parseDateToStr(twinEmp.getEmpDate()) + "\"排班,请到对应排班日期修改");
  76. } else {
  77. if (StringUtils.isNull(twinEmp.getTwinEmpDetailListA()) || StringUtils.isNull(twinEmp.getTwinEmpDetailListB())) {
  78. return AjaxResult.error("AB班员工排班明细不能为空");
  79. } else {
  80. return toAjax(twinEmpService.insertTwinEmp(twinEmp));
  81. }
  82. }
  83. }
  84. /**
  85. * 修改员工排班
  86. */
  87. @ApiOperation("修改员工排班")
  88. //@PreAuthorize("@ss.hasPermi('emp:emp:edit')")
  89. @Log(title = "员工排班", businessType = BusinessType.UPDATE)
  90. @PutMapping
  91. public AjaxResult edit(@RequestBody TwinEmp twinEmp) {
  92. return toAjax(twinEmpService.updateTwinEmp(twinEmp));
  93. }
  94. /**
  95. * 删除员工排班
  96. */
  97. @ApiOperation("删除员工排班")
  98. //@PreAuthorize("@ss.hasPermi('emp:emp:remove')")
  99. @Log(title = "员工排班", businessType = BusinessType.DELETE)
  100. @DeleteMapping("/{empIds}")
  101. public AjaxResult remove(@PathVariable Long[] empIds) {
  102. return toAjax(twinEmpService.deleteTwinEmpByEmpIds(empIds));
  103. }
  104. }