ZywwController.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.ruoyi.zzb.zyww.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.ruoyi.common.config.RuoYiConfig;
  4. import com.ruoyi.common.core.domain.entity.SysUser;
  5. import com.ruoyi.common.utils.SecurityUtils;
  6. import com.ruoyi.zzb.common.bean.RspResult;
  7. import com.ruoyi.zzb.common.utils.SnowflakeIdGenerator;
  8. import com.ruoyi.zzb.common.domain.BaseFileInfo;
  9. import com.ruoyi.zzb.zyww.domain.ZywwApplyInfo;
  10. import com.ruoyi.zzb.zyww.domain.ZywwFileSetDTO;
  11. import com.ruoyi.zzb.zyww.service.ZywwService;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.List;
  17. @Slf4j
  18. @RestController
  19. @RequestMapping("/api/zyww")
  20. public class ZywwController {
  21. @Autowired
  22. private ZywwService zywwService;
  23. /**
  24. * 保存一条【住院慰问】申请信息记录,同时保存每一个上传文件项的需要提交的多个附件信息记录以及保存对应的文件到服务器
  25. * @param
  26. * @return
  27. */
  28. @PostMapping("/saveOrUpdate")
  29. public JSONObject saveOrUpdate(ZywwApplyInfo zywwApplyInfo, ZywwFileSetDTO zywwFileSetDTO, @RequestParam("moduleCode") String moduleCode){
  30. try {
  31. // 文件上传路径
  32. String fileStoragePath = RuoYiConfig.getUploadPath();
  33. SysUser user = SecurityUtils.getLoginUser().getUser();
  34. if(null != user){
  35. String applyFormId;
  36. if(StringUtils.isBlank(zywwApplyInfo.getApplyFormId())){ // 申请单ID为空代表是 新增操作
  37. // 生成申请单ID
  38. SnowflakeIdGenerator generator = new SnowflakeIdGenerator(1);
  39. applyFormId = String.valueOf(generator.nextId());
  40. } else { // 修改操作
  41. applyFormId = zywwApplyInfo.getApplyFormId();
  42. }
  43. List<BaseFileInfo> baseFileInfoList = zywwService.processUploadAndBuildParams(zywwFileSetDTO, moduleCode, applyFormId, fileStoragePath);
  44. // 等上传的文件写盘成功,再向数据库写入对应的申请信息和与之关联的文件信息
  45. zywwService.saveOrUpdateZywwApplyInfoAndBaseFileInfos(zywwApplyInfo, user, applyFormId, baseFileInfoList);
  46. return RspResult.success(true);
  47. }
  48. return RspResult.error("用户信息为空,【住院慰问】申请信息无法保存/修改");
  49. } catch (Exception e){
  50. log.error("【住院慰问】申请信息保存/修改失败", e);
  51. return RspResult.error("【住院慰问】申请信息保存/修改失败 - " + e.getMessage());
  52. }
  53. }
  54. @PostMapping("/approve")
  55. public JSONObject approve(@RequestBody JSONObject reqBody){
  56. String applyFormId = reqBody.getString("applyFormId");
  57. String optFlag = reqBody.getString("optFlag");
  58. if(StringUtils.isBlank(applyFormId) || StringUtils.isBlank(optFlag)){
  59. log.error("审批参数为空");
  60. return RspResult.error("审批参数为空");
  61. }
  62. SysUser user = SecurityUtils.getLoginUser().getUser();
  63. try {
  64. if(null != user){
  65. if(zywwService.approveAndSaveApproveInfo(applyFormId, optFlag, user)){
  66. return RspResult.success("【住院慰问】申请信息审批成功");
  67. }
  68. }
  69. return RspResult.error("用户信息为空,【住院慰问】申请信息审批失败");
  70. } catch (Exception e){
  71. log.error("【住院慰问】申请信息审批失败", e);
  72. return RspResult.error("【住院慰问】申请信息审批失败 - " + e.getMessage());
  73. }
  74. }
  75. /**
  76. * 根据 审批状态码 分页查询【住院慰问】申请信息列表
  77. * @param reqBody
  78. * @return
  79. */
  80. @PostMapping("/query")
  81. public JSONObject query(@RequestBody JSONObject reqBody){
  82. // 审批状态码 ---0:审批中,1:审批通过,2:审批驳回
  83. Integer approveStatus = reqBody.getInteger("approveStatus");
  84. String type = reqBody.getString("type");
  85. if(approveStatus == null || StringUtils.isBlank(type)){
  86. log.error("查询参数为空");
  87. return RspResult.error("查询参数为空");
  88. }
  89. try {
  90. return RspResult.success(zywwService.getDataByPage(approveStatus, type, reqBody));
  91. } catch (Exception e){
  92. log.error("根据条件分页查询【住院慰问】申请信息发生异常", e);
  93. return RspResult.error("根据条件分页查询【住院慰问】申请信息发生异常 - " + e.getMessage());
  94. }
  95. }
  96. }