InsSettleController.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. package com.ydtech.modules.ins.controller;
  2. import com.ydtech.aop.exception.DescribeException;
  3. import com.ydtech.constants.SysConstants;
  4. import com.ydtech.core.page.HttpResult;
  5. import com.ydtech.modules.base.controller.BaseController;
  6. import com.ydtech.modules.ins.model.vo.InsIncomeAndCmainReqVo;
  7. import com.ydtech.modules.ins.model.vo.InsSettleReqListVo;
  8. import com.ydtech.modules.ins.model.vo.InsSettleReqVo;
  9. import com.ydtech.modules.ins.model.vo.req.InsCminReqVo;
  10. import com.ydtech.modules.ins.service.InsSettleService;
  11. import com.ydtech.utils.StringUtils;
  12. import io.swagger.annotations.*;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.PostMapping;
  15. import org.springframework.web.bind.annotation.RequestBody;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import javax.servlet.http.HttpServletRequest;
  19. import javax.servlet.http.HttpServletResponse;
  20. /**
  21. * @Author: shixk
  22. * @create: 2021/8/18 9:00
  23. * description: 结算单信息控制层
  24. */
  25. @Api(tags = {"InsSettleController"}, description = "结算单信息控制层")
  26. @ApiResponses({
  27. @ApiResponse(code = 500, message = "出现异常"),
  28. @ApiResponse(code = 200, message = "请求成功")
  29. })
  30. @RestController
  31. @RequestMapping("/insSettle")
  32. public class InsSettleController extends BaseController {
  33. @Autowired
  34. private InsSettleService insSettleService;
  35. // @PreAuthorize("hasAuthority('sys:insSettle:view')")
  36. @ApiOperation(value = "根据settle查询结算单数据")
  37. @PostMapping("/selectSettle")
  38. public HttpResult selectSettle(@RequestBody @ApiParam(name = "settle", value = "结算单主表实体类") InsSettleReqVo settle, HttpServletRequest request) {
  39. HttpResult result = null;
  40. try {
  41. String comcode = checkAuth(request, settle.getComcode());
  42. settle.setComcode(comcode);
  43. result = insSettleService.selectSettle(settle);
  44. } catch (Exception e) {
  45. result = HttpResult.error("查询结算单信息失败!" + e.getMessage());
  46. e.printStackTrace();
  47. }
  48. return result;
  49. }
  50. // @PreAuthorize("hasAuthority('sys:insSettle:view')")
  51. @ApiOperation(value = "根据settle查询结算单数据并导出")
  52. @PostMapping("/exportSettle")
  53. public void exportSettle(@RequestBody @ApiParam(name = "settle", value = "结算单主表实体类") InsSettleReqVo settle, HttpServletRequest request, HttpServletResponse response) {
  54. try {
  55. String comcode = checkAuth(request, settle.getComcode());
  56. settle.setComcode(comcode);
  57. insSettleService.exportSettle(settle, request, response);
  58. } catch (Exception e) {
  59. e.printStackTrace();
  60. throw new DescribeException("导出失败!" + e.getMessage());
  61. }
  62. }
  63. // @PreAuthorize("hasAuthority('sys:insSettle:view')")
  64. @ApiOperation(value = "根据settle查询结算单明细数据")
  65. @PostMapping("/selectSettleDetail")
  66. public HttpResult selectSettleDetail(@RequestBody @ApiParam(name = "settle", value = "结算单主表实体类") InsSettleReqVo settle) {
  67. HttpResult result = null;
  68. try {
  69. result = insSettleService.selectSettleDetail(settle);
  70. } catch (Exception e) {
  71. result = HttpResult.error("查询结算单明细信息失败!" + e.getMessage());
  72. e.printStackTrace();
  73. }
  74. return result;
  75. }
  76. // @PreAuthorize("hasAuthority('sys:insSettle:view')")
  77. @ApiOperation(value = "根据settle查询结算单明细数据导出")
  78. @PostMapping("/exportSettleDetail")
  79. public void exportSettleDetail(@RequestBody @ApiParam(name = "settle", value = "结算单主表实体类") InsSettleReqVo settle, HttpServletRequest request, HttpServletResponse response) {
  80. try {
  81. insSettleService.exportSettleDetail(settle, request, response);
  82. } catch (Exception e) {
  83. e.printStackTrace();
  84. throw new DescribeException("导出失败!" + e.getMessage());
  85. }
  86. }
  87. // @PreAuthorize("hasAuthority('sys:insSettle:view')")
  88. @ApiOperation(value = "结算单生成前查询的保单信息")
  89. @PostMapping("/generateBeforePolicyno")
  90. public HttpResult generateBeforePolicyno(@RequestBody @ApiParam(name = "vo", value = "保单请求类") InsCminReqVo vo, HttpServletRequest request) {
  91. HttpResult result = null;
  92. try {
  93. // 设置查询权限
  94. String comcode = checkAuth(request, vo.getComcode());
  95. vo.setComcode(comcode);
  96. result = insSettleService.generateBeforePolicyno(vo);
  97. } catch (Exception e) {
  98. result = HttpResult.error("查询保单信息失败!" + e.getMessage());
  99. e.printStackTrace();
  100. }
  101. return result;
  102. }
  103. // @PreAuthorize("hasAuthority('sys:insSettle:add') and hasAuthority('sys:insSettle:edit')")
  104. @ApiOperation(value = "结算单生成")
  105. @PostMapping("/generateSettleAndDetail")
  106. public HttpResult generateSettleAndDetail(@RequestBody @ApiParam(name = "reqVo", value = "结算单生成请求类") InsIncomeAndCmainReqVo reqVo, HttpServletRequest request) {
  107. HttpResult result;
  108. try {
  109. String comcode = checkAuth(request, reqVo.getComcode());
  110. reqVo.setComcode(comcode);
  111. result = insSettleService.generateSettleAndDetail(reqVo);
  112. } catch (Exception e) {
  113. result = HttpResult.error("结算单生成失败!" + e.getMessage());
  114. e.printStackTrace();
  115. }
  116. return result;
  117. }
  118. // @PreAuthorize("hasAuthority('sys:insSettle:add') and hasAuthority('sys:insSettle:edit')")
  119. @ApiOperation(value = "结算单确认")
  120. @PostMapping("/enterSettle")
  121. public HttpResult enterSettle(@ApiParam(name = "reqListVo", value = "结算单确认请求类") @RequestBody InsSettleReqListVo reqListVo) {
  122. HttpResult result;
  123. try {
  124. result = insSettleService.enterSettle(reqListVo);
  125. } catch (Exception e) {
  126. result = HttpResult.error("结算单确认时发生错误!" + e.getMessage());
  127. e.printStackTrace();
  128. }
  129. return result;
  130. }
  131. /**
  132. * 校验权限
  133. *
  134. * @param request
  135. * @param comcode2
  136. * @return
  137. */
  138. private String checkAuth(HttpServletRequest request, String comcode2) {
  139. // 设置查询权限
  140. String tokenDeptId = getDeptId();
  141. String comcode = comcode2;
  142. if (StringUtils.isNullOrEmpty(comcode)) {
  143. comcode = tokenDeptId.contains("D") ? tokenDeptId.substring(0, tokenDeptId.indexOf("D")) : tokenDeptId.equalsIgnoreCase(SysConstants.DEPT) ? "" : tokenDeptId;
  144. } else {
  145. if (!SysConstants.DEPT.equals(tokenDeptId)) {
  146. if (tokenDeptId.contains("D")) {
  147. tokenDeptId = tokenDeptId.substring(0, tokenDeptId.indexOf("D"));
  148. }
  149. if (!comcode.startsWith(tokenDeptId)) {
  150. comcode = tokenDeptId;
  151. }
  152. }
  153. }
  154. return comcode;
  155. }
  156. }