ReplacementInstrumentActivityController.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.ym.mec.web.controller;
  2. import com.ym.mec.auth.api.client.SysUserFeignService;
  3. import com.ym.mec.auth.api.entity.SysUser;
  4. import com.ym.mec.biz.dal.dao.EmployeeDao;
  5. import com.ym.mec.biz.dal.dao.ReplacementInstrumentActivityDao;
  6. import com.ym.mec.biz.dal.dto.ReplacementInstrumentActivityStatDto;
  7. import com.ym.mec.biz.dal.dto.StudentInstrumentExportDto;
  8. import com.ym.mec.biz.dal.entity.Employee;
  9. import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
  10. import com.ym.mec.biz.dal.entity.StudentRegistration;
  11. import com.ym.mec.biz.dal.page.ReplacementInstrumentActivityQueryInfo;
  12. import com.ym.mec.biz.service.ReplacementInstrumentActivityService;
  13. import com.ym.mec.common.controller.BaseController;
  14. import com.ym.mec.common.entity.HttpResponseResult;
  15. import com.ym.mec.common.exception.BizException;
  16. import com.ym.mec.common.page.PageInfo;
  17. import com.ym.mec.util.date.DateUtil;
  18. import com.ym.mec.util.excel.POIUtil;
  19. import io.swagger.annotations.Api;
  20. import io.swagger.annotations.ApiOperation;
  21. import org.apache.commons.lang3.StringUtils;
  22. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.security.access.prepost.PreAuthorize;
  25. import org.springframework.web.bind.annotation.GetMapping;
  26. import org.springframework.web.bind.annotation.RequestMapping;
  27. import org.springframework.web.bind.annotation.RestController;
  28. import javax.servlet.http.HttpServletResponse;
  29. import java.io.IOException;
  30. import java.io.OutputStream;
  31. import java.util.Arrays;
  32. import java.util.Date;
  33. import java.util.List;
  34. @RequestMapping("replacementInstrumentActivity")
  35. @Api(tags = "乐器置换-调查问卷服务")
  36. @RestController
  37. public class ReplacementInstrumentActivityController extends BaseController {
  38. @Autowired
  39. private ReplacementInstrumentActivityService replacementInstrumentActivityService;
  40. @Autowired
  41. private SysUserFeignService sysUserFeignService;
  42. @Autowired
  43. private EmployeeDao employeeDao;
  44. @Autowired
  45. private ReplacementInstrumentActivityDao replacementInstrumentActivityDao;
  46. @ApiOperation(value = "分页查询列表")
  47. @GetMapping("/queryPage")
  48. @PreAuthorize("@pcs.hasPermissions('replacementInstrumentActivity/queryPage')")
  49. public HttpResponseResult<PageInfo<ReplacementInstrumentActivityStatDto>> queryPage(ReplacementInstrumentActivityQueryInfo queryInfo) {
  50. SysUser sysUser = sysUserFeignService.queryUserInfo();
  51. if (sysUser == null) {
  52. return failed("用户信息获取失败");
  53. }
  54. Employee employee = employeeDao.get(sysUser.getId());
  55. if (StringUtils.isEmpty(queryInfo.getOrganId())) {
  56. queryInfo.setOrganId(employee.getOrganIdList());
  57. } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
  58. return failed("用户所在分部异常");
  59. } else {
  60. List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
  61. if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
  62. return failed("非法请求");
  63. }
  64. }
  65. queryInfo.setHasInstrumentsId(true);
  66. return succeed(replacementInstrumentActivityService.getPageList(queryInfo));
  67. }
  68. @ApiOperation(value = "统计信息查询")
  69. @GetMapping("/queryReplacementsStat")
  70. public HttpResponseResult<PageInfo<ReplacementInstrumentActivityStatDto>> queryReplacementsStat(ReplacementInstrumentActivityQueryInfo queryInfo) {
  71. return succeed(replacementInstrumentActivityService.queryReplacementsStat(queryInfo));
  72. }
  73. @ApiOperation(value = "修改")
  74. @GetMapping("/update")
  75. @PreAuthorize("@pcs.hasPermissions('replacementInstrumentActivity/update')")
  76. public HttpResponseResult<ReplacementInstrumentActivity> update(ReplacementInstrumentActivity replacementInstrumentActivity) {
  77. ReplacementInstrumentActivity oldReplacementInstrumentActivity = replacementInstrumentActivityDao.getLock(replacementInstrumentActivity.getId());
  78. if (oldReplacementInstrumentActivity.getInstrumentsId().equals(replacementInstrumentActivity.getInstrumentsId())) {
  79. return succeed();
  80. }
  81. oldReplacementInstrumentActivity.setSubjectId(replacementInstrumentActivity.getSubjectId());
  82. oldReplacementInstrumentActivity.setInstrumentsId(replacementInstrumentActivity.getInstrumentsId());
  83. oldReplacementInstrumentActivity.setUpdateTime(new Date());
  84. replacementInstrumentActivityService.update(oldReplacementInstrumentActivity);
  85. return succeed(replacementInstrumentActivity);
  86. }
  87. @ApiOperation(value = "导出")
  88. @RequestMapping("/export")
  89. @PreAuthorize("@pcs.hasPermissions('replacementInstrumentActivity/export')")
  90. public void export(ReplacementInstrumentActivityQueryInfo queryInfo, HttpServletResponse response) throws Exception {
  91. SysUser sysUser = sysUserFeignService.queryUserInfo();
  92. if (sysUser == null) {
  93. throw new BizException("用户信息获取失败");
  94. }
  95. Employee employee = employeeDao.get(sysUser.getId());
  96. if (StringUtils.isEmpty(queryInfo.getOrganId())) {
  97. queryInfo.setOrganId(employee.getOrganIdList());
  98. } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
  99. throw new BizException("用户所在分部异常");
  100. } else {
  101. List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
  102. if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
  103. throw new BizException("非法请求");
  104. }
  105. }
  106. queryInfo.setHasInstrumentsId(true);
  107. queryInfo.setRows(99999);
  108. PageInfo<ReplacementInstrumentActivityStatDto> pageList = replacementInstrumentActivityService.getPageList(queryInfo);
  109. if (pageList.getTotal() <=0) {
  110. throw new BizException("没有可导出的记录");
  111. }
  112. OutputStream outputStream = response.getOutputStream();
  113. HSSFWorkbook workbook = null;
  114. try {
  115. String[] header = {"合作单位编号", "合作单位", "学员编号", "学员姓名", "联系电话", "声部", "品牌", "型号"};
  116. String[] body = {"cooperationOrganId", "cooperationOrganName","userId", "userName", "mobileNo", "subjectName", "brand", "specification"};
  117. workbook = POIUtil.exportExcel(header, body, pageList.getRows());
  118. response.setContentType("application/octet-stream");
  119. response.setHeader("Content-Disposition", "attachment;filename=replacement-" + DateUtil.getDate(new Date()) + ".xls");
  120. response.flushBuffer();
  121. outputStream = response.getOutputStream();
  122. workbook.write(outputStream);
  123. outputStream.flush();
  124. workbook.close();
  125. } catch (Exception e) {
  126. e.printStackTrace();
  127. } finally {
  128. if (outputStream != null) {
  129. try {
  130. workbook.close();
  131. outputStream.close();
  132. } catch (IOException e) {
  133. e.printStackTrace();
  134. }
  135. }
  136. }
  137. }
  138. }