ActHxpapplyController.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. package com.zd.chemical.controller;
  2. import com.zd.chemical.domain.ActHxpapply;
  3. import com.zd.chemical.domain.vo.*;
  4. import com.zd.chemical.service.IActHxpapplyService;
  5. import com.zd.chemical.util.ChemicalUtils;
  6. import com.zd.common.core.annotation.Log;
  7. import com.zd.common.core.annotation.PreAuthorize;
  8. import com.zd.common.core.log.BusinessType;
  9. import com.zd.common.core.utils.ExcelUtil;
  10. import com.zd.common.core.utils.SecurityUtils;
  11. import com.zd.common.core.web.controller.BaseController;
  12. import com.zd.model.domain.ResultData;
  13. import com.zd.model.domain.per.PerFun;
  14. import com.zd.model.domain.per.PerPrefix;
  15. import com.zd.model.page.TableDataInfo;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.web.bind.annotation.*;
  20. import javax.servlet.http.HttpServletResponse;
  21. import java.io.IOException;
  22. import java.util.Collections;
  23. import java.util.List;
  24. import java.util.Map;
  25. import java.util.Optional;
  26. /**
  27. * 化学品申购Controller
  28. *
  29. * @author zd
  30. * @date 2022-08-17
  31. */
  32. @RestController
  33. @Api(tags = "【化学品申购】")
  34. @RequestMapping("/hxpapply")
  35. public class ActHxpapplyController extends BaseController<ActHxpapply> {
  36. @Autowired
  37. private IActHxpapplyService actHxpapplyService;
  38. /**
  39. * 查询化学品申购列表
  40. */
  41. @PreAuthorize(hasPermi = PerPrefix.ACT_HXP_APPLY + PerFun.LIST)
  42. @GetMapping("/list")
  43. @ApiOperation(value = "查询化学品申购列表")
  44. public TableDataInfo<ActHxpapplyListVo> list(ActHxpapplySearch actHxpapplySearch) {
  45. startPage();
  46. List<ActHxpapplyListVo> list = actHxpapplyService.selectActHxpapplyList(actHxpapplySearch);
  47. //去除小数点后多余的0
  48. if (list != null && list.size() > 0) {
  49. list.stream().forEach(vo -> {
  50. vo.setChemicalNames(ChemicalUtils.removeZeroForAfterPoint(vo.getChemicalNames()));
  51. });
  52. }
  53. TableDataInfo<ActHxpapplyListVo> info = new TableDataInfo<>();
  54. info.getDataTable(list);
  55. return info;
  56. }
  57. /**
  58. * 查询化学品申购列表(草稿箱)
  59. */
  60. @PreAuthorize(hasPermi = PerPrefix.ACT_HXP_APPLY + PerFun.DRAFTSLIST)
  61. @GetMapping("/draftsList")
  62. @ApiOperation(value = "查询化学品申购列表(草稿箱)")
  63. public TableDataInfo<ActHxpapplyDraftsListVo> draftsList(ActHxpapplySearch actHxpapplySearch) {
  64. actHxpapplySearch.setUserId(SecurityUtils.getUserId());
  65. startPage();
  66. List<ActHxpapplyDraftsListVo> list = actHxpapplyService.draftsList(actHxpapplySearch);
  67. //去除小数点后多余的0
  68. if (list != null && list.size() > 0) {
  69. list.stream().forEach(vo -> {
  70. vo.setChemicalNames(ChemicalUtils.removeZeroForAfterPoint(vo.getChemicalNames()));
  71. });
  72. }
  73. TableDataInfo<ActHxpapplyDraftsListVo> info = new TableDataInfo<>();
  74. info.getDataTable(list);
  75. return info;
  76. }
  77. /**
  78. * 查询化学品申购列表(学生端接口)
  79. */
  80. @GetMapping("/myList")
  81. @ApiOperation(value = "查询化学品申购列表")
  82. public TableDataInfo<ActHxpapplyListVo> mylist(ActHxpapplySearch actHxpapplySearch) {
  83. startPage();
  84. actHxpapplySearch.setUserId(SecurityUtils.getUserId());
  85. List<ActHxpapplyListVo> list = actHxpapplyService.selectActHxpapplyList(actHxpapplySearch);
  86. //去除小数点后多余的0
  87. if (list != null && list.size() > 0) {
  88. list.stream().forEach(vo -> {
  89. vo.setChemicalNames(ChemicalUtils.removeZeroForAfterPoint(vo.getChemicalNames()));
  90. });
  91. }
  92. TableDataInfo<ActHxpapplyListVo> info = new TableDataInfo<>();
  93. info.getDataTable(list);
  94. return info;
  95. }
  96. /**
  97. * 查询化学品申购列表(学生端草稿箱)
  98. */
  99. @GetMapping("/myDraftsList")
  100. @ApiOperation(value = "查询化学品申购列表(草稿箱)")
  101. public TableDataInfo<ActHxpapplyDraftsListVo> myDraftsList(ActHxpapplySearch actHxpapplySearch) {
  102. startPage();
  103. actHxpapplySearch.setUserId(SecurityUtils.getUserId());
  104. List<ActHxpapplyDraftsListVo> list = actHxpapplyService.draftsList(actHxpapplySearch);
  105. TableDataInfo<ActHxpapplyDraftsListVo> info = new TableDataInfo<>();
  106. info.getDataTable(list);
  107. return info;
  108. }
  109. /**
  110. * 导出化学品申购列表
  111. */
  112. @ApiOperation(value = "导出化学品申购列表")
  113. @PreAuthorize(hasPermi = PerPrefix.ACT_HXP_APPLY + PerFun.EXPORT)
  114. @Log(title = "化学品申购", businessType = BusinessType.EXPORT)
  115. @PostMapping("/export")
  116. public void export(HttpServletResponse response, ActHxpapplySearch actHxpapplySearch) throws IOException {
  117. List<ActHxpapplyListVo> list = actHxpapplyService.selectActHxpapplyList(actHxpapplySearch);
  118. Optional.ofNullable(list).orElseGet(Collections::emptyList)
  119. .stream()
  120. .forEach(a -> {
  121. StringBuffer currentApprover = new StringBuffer();
  122. Optional.ofNullable(a.getCurrentUserList()).orElseGet(Collections::emptyList)
  123. .stream()
  124. .forEach(b -> {
  125. currentApprover.append(",");
  126. currentApprover.append(b.get("name"));
  127. });
  128. if (currentApprover.length() > 0) {
  129. a.setCurrentApprover(currentApprover.substring(1));
  130. }
  131. StringBuffer historyApprover = new StringBuffer();
  132. Optional.ofNullable(a.getHistoryUserList()).orElseGet(Collections::emptyList)
  133. .stream()
  134. .forEach(b -> {
  135. historyApprover.append(",");
  136. historyApprover.append(b.get("name"));
  137. });
  138. if (historyApprover.length() > 0) {
  139. a.setHistoryApprover(historyApprover.substring(1));
  140. }
  141. });
  142. ExcelUtil<ActHxpapplyListVo> util = new ExcelUtil<ActHxpapplyListVo>(ActHxpapplyListVo.class);
  143. util.exportExcel(response, list, "化学品申购数据");
  144. }
  145. /**
  146. * 获取化学品申购详细信息
  147. */
  148. @ApiOperation(value = "获取化学品申购详细信息")
  149. @PreAuthorize(hasPermi = PerPrefix.ACT_HXP_APPLY + PerFun.QUERY)
  150. @GetMapping(value = "/{id}")
  151. public ResultData<ActHxpapplyInfoVo> getInfo(@PathVariable("id") Long id) {
  152. ActHxpapplyInfoVo vo = actHxpapplyService.selectActHxpapplyById(id, 2);
  153. //去除无效小数点
  154. if (vo != null) {
  155. List <ActHxpapplyDetailVo> list = vo.getActHxpapplyDetailList();
  156. if (list != null && list.size() > 0) {
  157. list.stream().forEach(detailVo -> {
  158. detailVo.setApplyNum(ChemicalUtils.removeZeroForAfterPoint(detailVo.getApplyNum()));
  159. detailVo.setRemainingStorage(ChemicalUtils.removeZeroForAfterPoint(detailVo.getRemainingStorage()));
  160. });
  161. }
  162. }
  163. return ResultData.success(vo);
  164. }
  165. /**
  166. * 获取化学品申购详细信息(审批记录调用)
  167. */
  168. @ApiOperation(value = "获取化学品申购详细信息")
  169. @PreAuthorize(hasPermi = PerPrefix.ACT_HXP_APPLYAUDIT + PerFun.QUERY)
  170. @GetMapping(value = "/audit/{id}")
  171. public ResultData<ActHxpapplyInfoVo> auditByGetInfo(@PathVariable("id") Long id) {
  172. return ResultData.success(actHxpapplyService.selectActHxpapplyById(id, 1));
  173. }
  174. /**
  175. * 获取化学品申购详细信息(学生端接口)
  176. */
  177. @ApiOperation(value = "获取化学品申购详细信息(学生端接口)")
  178. @GetMapping(value = "/myInfo/{id}")
  179. public ResultData<ActHxpapplyInfoVo> getMyInfo(@PathVariable("id") Long id) {
  180. return ResultData.success(actHxpapplyService.selectActHxpapplyById(id, 2));
  181. }
  182. /**
  183. * 新增化学品申购
  184. */
  185. @ApiOperation(value = "新增化学品申购")
  186. @PreAuthorize(hasPermi = PerPrefix.ACT_HXP_APPLY + PerFun.ADD)
  187. @Log(title = "化学品申购", businessType = BusinessType.INSERT)
  188. @PostMapping
  189. public ResultData add(@RequestBody ActHxpapplyVo actHxpapplyVo) {
  190. return ResultData.result(actHxpapplyService.insertActHxpapply(actHxpapplyVo));
  191. }
  192. /**
  193. * 新增化学品申购(学生端接口)
  194. */
  195. @ApiOperation(value = "新增化学品申购(学生端接口)")
  196. @Log(title = "化学品申购", businessType = BusinessType.INSERT)
  197. @PostMapping("/myadd")
  198. public ResultData myadd(@RequestBody ActHxpapplyVo actHxpapplyVo) {
  199. return ResultData.result(actHxpapplyService.insertActHxpapply(actHxpapplyVo));
  200. }
  201. /**
  202. * 修改化学品申购
  203. */
  204. @ApiOperation(value = "修改化学品申购")
  205. // @PreAuthorize(hasPermi = "laboratory:hxpapply:edit")
  206. @Log(title = "化学品申购", businessType = BusinessType.UPDATE)
  207. @PutMapping
  208. public ResultData edit(@RequestBody ActHxpapply actHxpapply) {
  209. return ResultData.result(actHxpapplyService.updateActHxpapply(actHxpapply));
  210. }
  211. /**
  212. * 删除化学品申购
  213. */
  214. @ApiOperation(value = "删除化学品申购")
  215. @PreAuthorize(hasPermi = PerPrefix.ACT_HXP_APPLY + PerFun.REMOVE)
  216. @Log(title = "化学品申购", businessType = BusinessType.DELETE)
  217. @DeleteMapping("/{ids}")
  218. public ResultData remove(@PathVariable Long[] ids) {
  219. return ResultData.result(actHxpapplyService.deleteActHxpapplyByIds(ids));
  220. }
  221. /**
  222. * 删除化学品申购(学生端接口)
  223. */
  224. @ApiOperation(value = "删除化学品申购(学生端接口)")
  225. @Log(title = "化学品申购", businessType = BusinessType.DELETE)
  226. @DeleteMapping("/myDel/{ids}")
  227. public ResultData myDel(@PathVariable Long[] ids) {
  228. return ResultData.result(actHxpapplyService.deleteActHxpapplyByIds(ids));
  229. }
  230. /**
  231. * 获取化学品剩余可存放量
  232. */
  233. @ApiOperation(value = "获取化学品剩余可存放量")
  234. @GetMapping(value = "/getRestStock")
  235. public ResultData<Map<String, String>> getRestStock(ActRestStockVo actRestStockVo) {
  236. return ResultData.success(actHxpapplyService.getRestStock(actRestStockVo));
  237. }
  238. /**
  239. * 获取化学品剩余可存放量(化学品存放用,一个化学品多个机柜用)
  240. */
  241. @ApiOperation(value = "获取化学品剩余可存放量")
  242. @GetMapping(value = "/getRestStockByManyCabinet")
  243. public ResultData<List<ActRestStockManyVo>> getRestStockByManyCabinet(ActRestStockManySearch actRestStockVo) {
  244. List<ActRestStockManyVo> list = actHxpapplyService.getRestStockByManyCabinet(actRestStockVo);
  245. //去除小数点后多余的0
  246. if (list != null && list.size() > 0) {
  247. list.stream().forEach(vo -> {
  248. vo.setRestStock(ChemicalUtils.removeZeroForAfterPoint(vo.getRestStock()));
  249. });
  250. }
  251. return ResultData.success(list);
  252. }
  253. }