QpTaskManageController.java 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. package com.zd.airbottle.controller;
  2. import com.zd.airbottle.domain.QpBottleStorage;
  3. import com.zd.airbottle.domain.QpTask;
  4. import com.zd.airbottle.domain.QpTaskDetail;
  5. import com.zd.airbottle.domain.vo.*;
  6. import com.zd.airbottle.service.*;
  7. import com.zd.common.core.domain.per.PerFun;
  8. import com.zd.common.core.domain.per.PerPrefix;
  9. import com.zd.common.core.utils.poi.ExcelUtil;
  10. import com.zd.common.core.web.controller.BaseController;
  11. import com.zd.common.core.web.domain.AjaxResult;
  12. import com.zd.common.core.web.page.TableDataInfo;
  13. import com.zd.common.log.annotation.Log;
  14. import com.zd.common.log.enums.BusinessType;
  15. import com.zd.common.response.ResultData;
  16. import com.zd.common.security.annotation.PreAuthorize;
  17. import com.zd.common.security.service.TokenService;
  18. import com.zd.system.api.domain.SysUser;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiOperation;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.*;
  23. import javax.servlet.http.HttpServletResponse;
  24. import java.io.IOException;
  25. import java.text.SimpleDateFormat;
  26. import java.time.LocalDate;
  27. import java.util.ArrayList;
  28. import java.util.HashMap;
  29. import java.util.List;
  30. import java.util.Map;
  31. /**
  32. * 待办清单表Controller
  33. *
  34. * @author zd
  35. * @date 2022-05-11
  36. */
  37. @RestController
  38. @Api(tags = "【待办清单表-管理端】")
  39. //作者手动加入 ,在接口上加作者@ApiOperationSupport(author = "XXX")
  40. //@ApiSupport(author = Knife4jConfiguration.Author.)
  41. @RequestMapping("/taskManage")
  42. public class QpTaskManageController extends BaseController
  43. {
  44. @Autowired
  45. private IQpTaskService qpTaskService;
  46. @Autowired
  47. private IQpTaskDetailService qpTaskDetailService;
  48. @Autowired
  49. private TokenService tokenService;
  50. //@Autowired
  51. //private IQpTransportUserService qpTransportUserService;
  52. @Autowired
  53. private IQpAirGoodsConfigService qpAirGoodsConfigService;
  54. @Autowired
  55. private IQpUseRecordService qpUseRecordService;
  56. @Autowired
  57. private IQpBottleStorageService qpBottleStorageService;
  58. /**
  59. * 查询待办清单表列表
  60. */
  61. // @PreAuthorize(hasPermi = "airbottle:task:list")
  62. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ PerFun.LIST)
  63. @GetMapping("/list")
  64. @ApiOperation(value = "查询待办清单表列表",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_TASK+ PerFun.LIST)
  65. public TableDataInfo<QpTaskVO> list(QpTaskVO qpTask)
  66. {
  67. if("login".equals(qpTask.getRemark())){
  68. //获取当前登录用户信息
  69. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  70. qpTask.setUserId(sysUser.getUserId());//当前登陆人申请数据
  71. }
  72. startPage();
  73. List<QpTaskVO> list = qpTaskService.selectQpTaskList(qpTask);
  74. if(!list.isEmpty()){
  75. for (QpTaskVO qpTaskVO : list) {
  76. List<QpTaskDetailVO> detailList = qpTaskDetailService.selectQpTaskDetailByIdRelation(qpTaskVO.getId());
  77. qpTaskVO.setDetailListVO(detailList);
  78. }
  79. }
  80. return getDataTable(list);
  81. }
  82. /****
  83. * 查询供应商的货物配置信息
  84. * @param relationVo
  85. * @return
  86. */
  87. @GetMapping("/listGood")
  88. @ApiOperation(value = "查询供应商的货物配置信息")
  89. public TableDataInfo<QpAirGoodsConfigRelationVo> listGood(QpAirGoodsConfigRelationVo relationVo)
  90. {
  91. startPage();
  92. List<QpAirGoodsConfigRelationVo> list = qpAirGoodsConfigService.selectQpAirGoodsConfigRelationList(relationVo);
  93. return getDataTable(list);
  94. }
  95. /**
  96. * 导出待办清单表列表
  97. */
  98. @ApiOperation(value = "导出待办清单表列表",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_TASK+ PerFun.EXPORT)
  99. // @PreAuthorize(hasPermi = "airbottle:task:export")
  100. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ PerFun.EXPORT)
  101. @Log(title = "待办清单表", businessType = BusinessType.EXPORT)
  102. @PostMapping("/export")
  103. public void export(HttpServletResponse response,QpTaskVO qpTask) throws IOException
  104. {
  105. if("login".equals(qpTask.getRemark())){
  106. //获取当前登录用户信息
  107. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  108. qpTask.setUserId(sysUser.getUserId());//当前登陆人申请数据
  109. }
  110. List<QpTaskVO> list = qpTaskService.selectQpTaskList(qpTask);
  111. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  112. List<QpTaskExcelVo> listExcel = new ArrayList<>();
  113. for (QpTaskVO taskVO:list) {
  114. QpTaskExcelVo excelVo = new QpTaskExcelVo();
  115. excelVo.setUserName(taskVO.getUserName());//申领人
  116. excelVo.setPhone(taskVO.getPhone());//联系方式
  117. excelVo.setLocation(taskVO.getLocation());//实验地点
  118. excelVo.setStrTime(sdf.format(taskVO.getCreateTime()));//申领时间
  119. listExcel.add(excelVo);
  120. }
  121. ExcelUtil<QpTaskExcelVo> util = new ExcelUtil<>(QpTaskExcelVo.class);
  122. //本地日期,不包括时分秒
  123. LocalDate nowDate = LocalDate.now();
  124. util.exportExcel(response, listExcel, "申领记录数据", null, "申领记录信息数据导出表"+nowDate);
  125. }
  126. /**
  127. * 获取待办清单表详细信息
  128. */
  129. @ApiOperation(value = "根据待办清单id获取待办清单详情",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_TASK+ PerFun.QUERY)
  130. // @PreAuthorize(hasPermi = "airbottle:task:query")
  131. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ PerFun.QUERY)
  132. @GetMapping(value = "/{id}")
  133. public AjaxResult getInfo(@PathVariable("id") Long id)
  134. {
  135. Map<String,Object> map = new HashMap<String,Object>();
  136. //待办清单信息
  137. QpTask qpTask = qpTaskService.selectQpTaskById(id);
  138. map.put("qpTask",qpTask);
  139. //待办清单详情信息
  140. List<QpTaskDetailVO> detailList = qpTaskDetailService.selectQpTaskDetailByIdRelation(id);
  141. map.put("detailList",detailList);
  142. return AjaxResult.success(map);
  143. }
  144. /**
  145. * 管理端根据taskID查询任务清单
  146. */
  147. @ApiOperation(value = "管理端根据taskID查询任务清单",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_TASK+ PerFun.QUERY)
  148. // @PreAuthorize(hasPermi = "airbottle:task:query")
  149. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ PerFun.QUERY)
  150. @GetMapping(value = "/detail/{taskId}")
  151. public AjaxResult getDetailsInfo(@PathVariable("taskId") Long taskId)
  152. {
  153. List<QpTaskDetailVO> detailVOS=qpTaskDetailService.getDetailsInfo(taskId);
  154. return AjaxResult.success(detailVOS);
  155. }
  156. /**
  157. * 新增待办清单表
  158. */
  159. @ApiOperation(value = "新增待办清单表",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_TASK+ PerFun.ADD)
  160. // @PreAuthorize(hasPermi = "airbottle:task:add")
  161. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ PerFun.ADD)
  162. @Log(title = "待办清单表", businessType = BusinessType.INSERT)
  163. @PostMapping
  164. public ResultData add(@RequestBody QpTaskVO qpTaskVO)
  165. {
  166. return ResultData.result(qpTaskService.insertQpTask(qpTaskVO));
  167. }
  168. /**
  169. * 修改待办清单表
  170. */
  171. @ApiOperation(value = "修改待办清单表",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_TASK+ PerFun.EDIT )
  172. // @PreAuthorize(hasPermi = "airbottle:task:edit")
  173. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ PerFun.EDIT)
  174. @Log(title = "待办清单表", businessType = BusinessType.UPDATE)
  175. @PutMapping
  176. public ResultData edit(@RequestBody QpTaskVO qpTaskVo)
  177. {
  178. return ResultData.result(qpTaskService.updateQpTask(qpTaskVo));
  179. }
  180. /**
  181. * 删除待办清单表
  182. */
  183. @ApiOperation(value = "删除待办清单表",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_TASK+ PerFun.REMOVE)
  184. // @PreAuthorize(hasPermi = "airbottle:task:remove")
  185. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ PerFun.REMOVE)
  186. @Log(title = "待办清单表", businessType = BusinessType.DELETE)
  187. @DeleteMapping("/{ids}")
  188. public ResultData remove(@PathVariable Long[] ids)
  189. {
  190. return ResultData.result(qpTaskService.deleteQpTaskByIds(ids));
  191. }
  192. /**
  193. * 气瓶信息列表-管理端
  194. * @param airGoodsConfigRelationVo
  195. * @return
  196. */
  197. @GetMapping("/taskListDetail")
  198. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ "bottlelist")
  199. @ApiOperation(value = "气瓶信息列表-管理端")
  200. public TableDataInfo<QpAirGoodsConfigRelationVo> taskListDetail(QpAirGoodsConfigRelationVo airGoodsConfigRelationVo){
  201. //当前登陆人申请的已经入库的气瓶
  202. SysUser sysUser = tokenService.getLoginUser().getSysUser();
  203. startPage();
  204. airGoodsConfigRelationVo.setUserId(sysUser.getUserId());
  205. List<QpAirGoodsConfigRelationVo> relationVoList = qpTaskDetailService.selectQpTaskDetailRelationList(airGoodsConfigRelationVo);
  206. return getDataTable(relationVoList);
  207. }
  208. /**
  209. * 气瓶信息详情
  210. * @param id 入库id
  211. * @return
  212. */
  213. @ApiOperation(value = "气瓶信息详情",notes = "权限字符:"+ PerPrefix.AIRBOTTLE_TASK+ "bottleDetails")
  214. // @PreAuthorize(hasPermi = "airbottle:task:query")
  215. @PreAuthorize(hasPermi = PerPrefix.AIRBOTTLE_TASK+ PerFun.QUERY)
  216. @GetMapping(value = "/bottleDetails")
  217. public AjaxResult bottleDetails(Long id)
  218. {
  219. Map<String,Object> map = new HashMap<String,Object>();
  220. //查询入库信息
  221. QpBottleStorage bottleStorage = qpBottleStorageService.selectQpBottleStorageById(id);
  222. //待办清单信息
  223. QpTask qpTask = qpTaskService.selectQpTaskById(bottleStorage.getTaskId());
  224. map.put("qpTask",qpTask);
  225. //使用记录详情
  226. QpUseRecordVo qpUseRecordVo = new QpUseRecordVo();
  227. qpUseRecordVo.setStorageId(id);//入库表id
  228. List<QpUseRecordVo> list = qpUseRecordService.getUseDetailsListByStorageId(qpUseRecordVo);
  229. map.put("list",list);
  230. return AjaxResult.success(map);
  231. }
  232. }