DeptAssessmentDeclarationController.java 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. package com.ims.eval.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.ims.eval.config.CustomException;
  4. import com.ims.eval.entity.DeptAssessmentDeclaration;
  5. import com.ims.eval.entity.DeptAssessmentDeclarationContent;
  6. import com.ims.eval.entity.dto.result.R;
  7. import com.ims.eval.service.IDeptAssessmentDeclarationContentService;
  8. import com.ims.eval.service.IDeptAssessmentDeclarationService;
  9. import com.ims.eval.util.ExcelUtil;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import org.springframework.web.multipart.MultipartFile;
  14. import java.io.InputStream;
  15. import java.util.ArrayList;
  16. import java.util.Arrays;
  17. import java.util.List;
  18. /**
  19. * 绩效结果考核申报
  20. *
  21. * @author hlf
  22. * @date 2023/5/29 15:15
  23. * 文件说明:
  24. */
  25. @Slf4j
  26. @RestController
  27. @RequestMapping("//evaluation-dept-ad")
  28. public class DeptAssessmentDeclarationController {
  29. @Autowired
  30. private IDeptAssessmentDeclarationService deptAssessmentDeclarationService;
  31. @Autowired
  32. private IDeptAssessmentDeclarationContentService deptAssessmentDeclarationContentService;
  33. /**
  34. * 绩效结果考核申报列表信息(分页)
  35. *
  36. * @param pageNum 当前记录起始索引
  37. * @param pageSize 每页显示记录数
  38. * @param orderNumber 单号
  39. * @param deptId 部门主键
  40. * @param annual 年度
  41. * @param declarationMonth 申报月份
  42. * @return 结果
  43. */
  44. @GetMapping(value = "/list")
  45. public R list(
  46. @RequestParam(value = "pageNum") Integer pageNum,
  47. @RequestParam(value = "pageSize") Integer pageSize,
  48. @RequestParam(value = "orderNumber", required = false) String orderNumber,
  49. @RequestParam(value = "deptId", required = false) String deptId,
  50. @RequestParam(value = "annual", required = false) String annual,
  51. @RequestParam(value = "declarationMonth", required = false) String declarationMonth) {
  52. IPage<DeptAssessmentDeclaration> list = deptAssessmentDeclarationService.listPage(pageNum, pageSize, orderNumber, deptId, annual, declarationMonth);
  53. return R.ok().data(list);
  54. }
  55. /**
  56. * 绩效结果考核申报信息
  57. *
  58. * @return 结果
  59. */
  60. @GetMapping(value = "/listAll")
  61. public R listAll() {
  62. List<DeptAssessmentDeclaration> list = deptAssessmentDeclarationService.list();
  63. return R.ok().data(list);
  64. }
  65. /**
  66. * 新增绩效结果考核申报信息
  67. *
  68. * @param deptAssessmentDeclaration 绩效结果考核申报实体
  69. * @return 结果
  70. */
  71. @PostMapping(value = "/save")
  72. public R addAll(@RequestBody DeptAssessmentDeclaration deptAssessmentDeclaration) {
  73. try {
  74. boolean b = deptAssessmentDeclarationService.save(deptAssessmentDeclaration);
  75. if (b) {
  76. return R.ok().data(b);
  77. } else {
  78. return R.error().data("保存失败!");
  79. }
  80. } catch (CustomException e) {
  81. return R.customError(e.getMessage()).data("失败!");
  82. }
  83. }
  84. /**
  85. * 修改绩效结果考核申报信息
  86. *
  87. * @param deptAssessmentDeclaration 绩效结果考核申报实体
  88. * @return 结果
  89. */
  90. @PostMapping(value = "/modify")
  91. public R modify(@RequestBody DeptAssessmentDeclaration deptAssessmentDeclaration) {
  92. try {
  93. boolean b = deptAssessmentDeclarationService.updateById(deptAssessmentDeclaration);
  94. if (b) {
  95. return R.ok().data(b);
  96. } else {
  97. return R.error().data("修改失败!");
  98. }
  99. } catch (CustomException e) {
  100. return R.customError(e.getMessage()).data("失败!");
  101. }
  102. }
  103. /**
  104. * 批量删除绩效结果考核申报信息
  105. *
  106. * @param ids 主键s
  107. * @return 结果
  108. */
  109. @PostMapping(value = "/removeAll/{ids}")
  110. public R deleteAll(@PathVariable("ids") String ids) {
  111. String[] strings = ids.split(",");
  112. boolean b = deptAssessmentDeclarationService.removeByIds(Arrays.asList(strings));
  113. if (b) {
  114. return R.ok().data(b);
  115. } else {
  116. return R.error().data("删除失败!");
  117. }
  118. }
  119. /**
  120. * 详情-头部信息
  121. *
  122. * @param id 业务主键
  123. * @return 结果
  124. */
  125. @GetMapping(value = "/detailsHead/{id}")
  126. public R detailsHead(@PathVariable("id") String id) {
  127. DeptAssessmentDeclaration deptAssessmentDeclaration = deptAssessmentDeclarationService.getById(id);
  128. return R.ok().data(deptAssessmentDeclaration);
  129. }
  130. /**
  131. * 详情
  132. *
  133. * @param id 业务主键
  134. * @return 结果
  135. */
  136. @GetMapping(value = "/details/{id}")
  137. public R details(@PathVariable("id") String id) {
  138. List<DeptAssessmentDeclarationContent> list = deptAssessmentDeclarationContentService.detailsList(id);
  139. return R.ok().data(list);
  140. }
  141. /**
  142. * 详情-修改/新增
  143. *
  144. * @param deptAssessmentDeclarationContentList 修改内容
  145. * @return 结果
  146. */
  147. @PostMapping(value = "/update")
  148. public R update(@RequestBody List<DeptAssessmentDeclarationContent> deptAssessmentDeclarationContentList) {
  149. try {
  150. boolean b = deptAssessmentDeclarationContentService.saveOrUpdateBatch(deptAssessmentDeclarationContentList);
  151. if (b) {
  152. return R.ok().data(b);
  153. } else {
  154. return R.error().data("修改失败!");
  155. }
  156. } catch (CustomException e) {
  157. return R.customError(e.getMessage()).data("失败!");
  158. }
  159. }
  160. /**
  161. * 导入
  162. *
  163. * @param file 文件
  164. * @return 结果
  165. */
  166. @PostMapping(value = "/import")
  167. public R importData(@RequestParam("file") MultipartFile file) {
  168. if (!file.isEmpty()) {
  169. try {
  170. //获取原始的文件名
  171. String originalFilename = file.getOriginalFilename();
  172. //获取文件类型
  173. String fileType = originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length());
  174. //默认从第一行开始读取
  175. int startRows = 1;
  176. //获取输入流
  177. InputStream is = file.getInputStream();
  178. List<DeptAssessmentDeclarationContent> deptAssessmentDeclarationContentList = new ArrayList<>();
  179. //Excel导入导出的单元类
  180. List<String[]> strings = ExcelUtil.readData(fileType, startRows, true, is);
  181. //遍历Excel表每一行的数据
  182. for (String[] str : strings) {
  183. DeptAssessmentDeclarationContent deptAssessmentDeclarationContent = new DeptAssessmentDeclarationContent();
  184. deptAssessmentDeclarationContent.setId(str[0]);
  185. deptAssessmentDeclarationContent.setAssessmentDeclarationId(str[1]);
  186. deptAssessmentDeclarationContent.setEmployeeId(str[2]);
  187. deptAssessmentDeclarationContent.setEmployeeName(str[3]);
  188. deptAssessmentDeclarationContent.setSerialNumber(str[4]);
  189. deptAssessmentDeclarationContent.setSuggestedValue(str[5]);
  190. deptAssessmentDeclarationContentList.add(deptAssessmentDeclarationContent);
  191. }
  192. boolean b = deptAssessmentDeclarationContentService.saveOrUpdateBatch(deptAssessmentDeclarationContentList);
  193. if (b) {
  194. return R.ok().data(b);
  195. } else {
  196. return R.error().data("保存失败!");
  197. }
  198. } catch (Exception e) {
  199. log.error("错误", e);
  200. return R.customError(e.getMessage()).data("失败!");
  201. }
  202. }
  203. return R.customError("上传文件为空!");
  204. }
  205. /**
  206. * 修改状态
  207. *
  208. * @param id 主键
  209. * @param stage 状态
  210. * @return 结果
  211. */
  212. @PostMapping(value = "/targetStart")
  213. public R targetStart(@RequestParam(value = "id") String id,
  214. @RequestParam(value = "stage") String stage) {
  215. try {
  216. DeptAssessmentDeclaration deptAssessmentDeclaration = deptAssessmentDeclarationService.getById(id);
  217. deptAssessmentDeclaration.setStage(stage);
  218. boolean b = deptAssessmentDeclarationService.updateById(deptAssessmentDeclaration);
  219. if (b) {
  220. return R.ok().data(b);
  221. } else {
  222. return R.error().data("失败!");
  223. }
  224. } catch (CustomException e) {
  225. return R.customError(e.getMessage()).data("失败!");
  226. }
  227. }
  228. }