StockChangeController.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package com.kmall.admin.controller.haikong;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import com.kmall.admin.dto.StockChangeDto;
  7. import com.kmall.admin.dto.StockChangeRecordDto;
  8. import com.kmall.admin.entity.haikong.StockChangeEntity;
  9. import com.kmall.admin.haikong.constant.Constants;
  10. import com.kmall.admin.service.haikong.StockChangeService;
  11. import com.kmall.common.constant.JxlsXmlTemplateName;
  12. import com.kmall.common.utils.PageUtils;
  13. import com.kmall.common.utils.Query;
  14. import com.kmall.common.utils.R;
  15. import com.kmall.common.utils.excel.ExcelUtil;
  16. import org.apache.shiro.authz.annotation.RequiresPermissions;
  17. import org.slf4j.Logger;
  18. import org.slf4j.LoggerFactory;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Controller;
  21. import org.springframework.web.bind.annotation.*;
  22. import org.springframework.web.multipart.MultipartFile;
  23. /**
  24. * Controller
  25. *
  26. * @author emato
  27. * @email admin@qhdswl.com
  28. * @date 2021-12-29 14:46:49
  29. */
  30. @Controller
  31. @RequestMapping("stockchange")
  32. public class StockChangeController {
  33. @Autowired
  34. private StockChangeService stockChangeService;
  35. @Autowired
  36. private ExcelUtil excelUtil;
  37. private final static Logger log = LoggerFactory.getLogger(StockChangeController.class);
  38. /**
  39. * 查看列表
  40. */
  41. @RequestMapping("/list")
  42. @ResponseBody
  43. public R list(@RequestParam Map<String, Object> params) {
  44. //查询列表数据
  45. Query query = new Query(params);
  46. List<StockChangeEntity> stockChangeList = stockChangeService.queryList(query);
  47. int total = stockChangeService.queryTotal(query);
  48. PageUtils pageUtil = new PageUtils(stockChangeList, total, query.getLimit(), query.getPage());
  49. return R.ok().put("page", pageUtil);
  50. }
  51. /**
  52. * 查看信息
  53. */
  54. @RequestMapping("/info/{id}")
  55. @ResponseBody
  56. public R info(@PathVariable("id") String id) {
  57. StockChangeEntity stockChange = stockChangeService.queryObject(id);
  58. return R.ok().put("stockChange", stockChange);
  59. }
  60. /**
  61. * 保存
  62. */
  63. @RequestMapping("/save")
  64. @ResponseBody
  65. public R save(@RequestBody StockChangeEntity stockChange) {
  66. stockChangeService.save(stockChange);
  67. return R.ok();
  68. }
  69. /**
  70. * 修改
  71. */
  72. @RequestMapping("/update")
  73. @ResponseBody
  74. public R update(@RequestBody StockChangeEntity stockChange) {
  75. stockChangeService.update(stockChange);
  76. return R.ok();
  77. }
  78. /**
  79. * 删除
  80. */
  81. @RequestMapping("/delete")
  82. @ResponseBody
  83. public R delete(@RequestBody String[]ids) {
  84. stockChangeService.deleteBatch(ids);
  85. return R.ok();
  86. }
  87. /**
  88. * 查看所有列表
  89. */
  90. @RequestMapping("/queryAll")
  91. @ResponseBody
  92. public R queryAll(@RequestParam Map<String, Object> params) {
  93. List<StockChangeEntity> list = stockChangeService.queryList(params);
  94. return R.ok().put("list", list);
  95. }
  96. /**
  97. * 导入excel
  98. */
  99. @PostMapping("/upload")
  100. @ResponseBody
  101. public R storeUpload(@RequestParam("file") MultipartFile file) {
  102. List<StockChangeRecordDto> stockChangeRecordDtos = new ArrayList<>();
  103. StockChangeDto stockChangeDto = new StockChangeDto();
  104. try {
  105. StockChangeRecordDto stockChangeRecordDto = new StockChangeRecordDto();
  106. Map<String, Object> beans = new HashMap<String, Object>();
  107. beans.put("StockChangeRecordDto", stockChangeRecordDto);
  108. beans.put("StockChangeRecordDtoList", stockChangeRecordDtos);
  109. beans.put("StockChangeDto", stockChangeDto);
  110. if (file.isEmpty()) {
  111. return R.error("文件不能为空!");
  112. }
  113. excelUtil.readExcel(JxlsXmlTemplateName.STOCK_CHANGE_DTO_LIST, beans, file.getInputStream());
  114. } catch (Exception e) {
  115. log.error("导入出入库记录失败:", e);
  116. return R.error("导入失败!");
  117. }
  118. try {
  119. stockChangeService.uploadExcel(stockChangeRecordDtos, stockChangeDto);
  120. } catch (RuntimeException e){
  121. log.error("出入库记录导入数据写入表失败:", e);
  122. return R.error(e.getMessage());
  123. }
  124. //上传文件
  125. return R.ok("导入成功!");
  126. }
  127. @PostMapping("/audit")
  128. // @RequiresPermissions("stockchange:audit")
  129. @ResponseBody
  130. public R audit (@RequestBody Map<String, Object> params) {
  131. String[] strings = new String[]{};
  132. stockChangeService.updateAuditStatus(((List<String>) params.get("ids")).toArray(strings), (String) params.get("type"));
  133. return R.ok();
  134. }
  135. }