StocktakingController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. package com.jsh.erp.controller.stocktaking;
  2. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  3. import com.jsh.erp.base.AjaxResult;
  4. import com.jsh.erp.base.BaseController;
  5. import com.jsh.erp.base.TableDataInfo;
  6. import com.jsh.erp.datasource.dto.TaskStocktakingDTO;
  7. import com.jsh.erp.datasource.dto.TaskStocktakingItemDTO;
  8. import com.jsh.erp.datasource.entities.TaskStocktaking;
  9. import com.jsh.erp.datasource.entities.TaskStocktakingItem;
  10. import com.jsh.erp.datasource.entities.User;
  11. import com.jsh.erp.datasource.vo.SpinnerVO;
  12. import com.jsh.erp.datasource.vo.TaskStocktakingVO;
  13. import com.jsh.erp.service.TaskStocktakingItemService;
  14. import com.jsh.erp.service.TaskStocktakingService;
  15. import com.jsh.erp.service.UserService;
  16. import com.jsh.erp.utils.DateUtils;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiModelProperty;
  19. import io.swagger.annotations.ApiOperation;
  20. import org.springframework.web.bind.annotation.*;
  21. import javax.annotation.Resource;
  22. import java.util.Arrays;
  23. import java.util.List;
  24. @RestController
  25. @RequestMapping(value = "/stocktaking")
  26. @Api(tags = {"盘点接口"})
  27. public class StocktakingController extends BaseController {
  28. @Resource
  29. private TaskStocktakingService taskStocktakingService;
  30. @Resource
  31. private UserService userService;
  32. @Resource
  33. private TaskStocktakingItemService taskStocktakingItemService;
  34. @ApiOperation("盘点任务列表")
  35. @PostMapping("/list")
  36. public TableDataInfo list(){
  37. startPage();
  38. List<TaskStocktakingVO> list = taskStocktakingService.listBy();
  39. return getDataTable(list);
  40. }
  41. @ApiOperation("新增盘点任务")
  42. @PostMapping("/add")
  43. public AjaxResult add(@RequestBody TaskStocktakingDTO taskStocktakingDTO) {
  44. boolean b = taskStocktakingService.add(taskStocktakingDTO);
  45. if (!b){
  46. return AjaxResult.error("创建失败,请联系系统管理员");
  47. }
  48. return AjaxResult.success();
  49. }
  50. @ApiOperation("负责人下拉列表")
  51. @GetMapping("/creatorSpinnerList")
  52. public AjaxResult creatorSpinnerList() {
  53. List<SpinnerVO> spinnerVOList = userService.creatorSpinnerList();
  54. return AjaxResult.success(spinnerVOList);
  55. }
  56. /**
  57. * 查询任务详情
  58. * @param id
  59. * @return
  60. */
  61. @ApiOperation("任务详情")
  62. @GetMapping("/detail/{id}")
  63. public AjaxResult detail(@PathVariable("id") Long id) throws Exception{
  64. return AjaxResult.success(taskStocktakingService.detail(id));
  65. }
  66. /**
  67. * 任务详情-商品列表
  68. * @param taskStocktakingId 任务ID
  69. * @return
  70. */
  71. @ApiOperation("任务详情-商品列表")
  72. @GetMapping("/detailByItemList/{taskStocktakingId}")
  73. public AjaxResult detailByItemList(@PathVariable("taskStocktakingId") Long taskStocktakingId) {
  74. return AjaxResult.success(taskStocktakingService.listByTaskStocktakingId(taskStocktakingId));
  75. }
  76. @ApiOperation("任务详情-修改")
  77. @PostMapping("/detailUpdate")
  78. public AjaxResult detailUpdate(@RequestBody TaskStocktakingDTO taskStocktakingDTO) {
  79. boolean b = taskStocktakingService.detailUpdate(taskStocktakingDTO);
  80. if (!b){
  81. return AjaxResult.error("修改失败,请联系系统管理员");
  82. }
  83. return AjaxResult.success();
  84. }
  85. /**
  86. * 任务详情-商品列表-编辑
  87. * @return
  88. */
  89. @ApiModelProperty("任务详情-商品-编辑")
  90. @PostMapping("/itemUpdate")
  91. public AjaxResult itemUpdate(@RequestBody TaskStocktakingItemDTO taskStocktakingItemDTO) throws Exception {
  92. User currentUser = userService.getCurrentUser();
  93. taskStocktakingItemService.update(new UpdateWrapper<TaskStocktakingItem>()
  94. .set("new_inventory", taskStocktakingItemDTO.getNewInventory())
  95. .set("new_position", taskStocktakingItemDTO.getNewPosition())
  96. .set("difference_count", taskStocktakingItemDTO.getDifferenceCount())
  97. .set("difference_reason", taskStocktakingItemDTO.getDifferenceReason())
  98. .set("creator", currentUser.getId())
  99. .set("oper_time", DateUtils.getTime())
  100. .eq("id", taskStocktakingItemDTO.getId()));
  101. return AjaxResult.success();
  102. }
  103. /**
  104. * 任务详情-商品-删除
  105. * @param id 商品ID
  106. * @return
  107. */
  108. @ApiModelProperty("任务详情-商品-删除")
  109. @GetMapping("/itemDelete/{id}")
  110. public AjaxResult itemDelete(@PathVariable("id") Long id) {
  111. taskStocktakingItemService.update(new UpdateWrapper<TaskStocktakingItem>().set("delete_flag", true).eq("id", id));
  112. return AjaxResult.success();
  113. }
  114. @ApiOperation("取消任务")
  115. @GetMapping("/taskCancel/{ids}")
  116. public AjaxResult taskCancel(@PathVariable("ids") Long[] ids) {
  117. Arrays.asList(ids).forEach(id -> {
  118. taskStocktakingService.update(new UpdateWrapper<TaskStocktaking>().eq("id", id).set("task_status", "4"));
  119. });
  120. return AjaxResult.success();
  121. }
  122. }