| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- package com.ydtech.modules.ins.controller;
- import com.ydtech.aop.exception.DescribeException;
- import com.ydtech.constants.SysConstants;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.ins.model.vo.InsIncomeAndCmainReqVo;
- import com.ydtech.modules.ins.model.vo.InsSettleReqListVo;
- import com.ydtech.modules.ins.model.vo.InsSettleReqVo;
- import com.ydtech.modules.ins.model.vo.req.InsCminReqVo;
- import com.ydtech.modules.ins.service.InsSettleService;
- import com.ydtech.utils.StringUtils;
- import io.swagger.annotations.*;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * @Author: shixk
- * @create: 2021/8/18 9:00
- * description: 结算单信息控制层
- */
- @Api(tags = {"InsSettleController"}, description = "结算单信息控制层")
- @ApiResponses({
- @ApiResponse(code = 500, message = "出现异常"),
- @ApiResponse(code = 200, message = "请求成功")
- })
- @RestController
- @RequestMapping("/insSettle")
- public class InsSettleController extends BaseController {
- @Autowired
- private InsSettleService insSettleService;
- // @PreAuthorize("hasAuthority('sys:insSettle:view')")
- @ApiOperation(value = "根据settle查询结算单数据")
- @PostMapping("/selectSettle")
- public HttpResult selectSettle(@RequestBody @ApiParam(name = "settle", value = "结算单主表实体类") InsSettleReqVo settle, HttpServletRequest request) {
- HttpResult result = null;
- try {
- String comcode = checkAuth(request, settle.getComcode());
- settle.setComcode(comcode);
- result = insSettleService.selectSettle(settle);
- } catch (Exception e) {
- result = HttpResult.error("查询结算单信息失败!" + e.getMessage());
- e.printStackTrace();
- }
- return result;
- }
- // @PreAuthorize("hasAuthority('sys:insSettle:view')")
- @ApiOperation(value = "根据settle查询结算单数据并导出")
- @PostMapping("/exportSettle")
- public void exportSettle(@RequestBody @ApiParam(name = "settle", value = "结算单主表实体类") InsSettleReqVo settle, HttpServletRequest request, HttpServletResponse response) {
- try {
- String comcode = checkAuth(request, settle.getComcode());
- settle.setComcode(comcode);
- insSettleService.exportSettle(settle, request, response);
- } catch (Exception e) {
- e.printStackTrace();
- throw new DescribeException("导出失败!" + e.getMessage());
- }
- }
- // @PreAuthorize("hasAuthority('sys:insSettle:view')")
- @ApiOperation(value = "根据settle查询结算单明细数据")
- @PostMapping("/selectSettleDetail")
- public HttpResult selectSettleDetail(@RequestBody @ApiParam(name = "settle", value = "结算单主表实体类") InsSettleReqVo settle) {
- HttpResult result = null;
- try {
- result = insSettleService.selectSettleDetail(settle);
- } catch (Exception e) {
- result = HttpResult.error("查询结算单明细信息失败!" + e.getMessage());
- e.printStackTrace();
- }
- return result;
- }
- // @PreAuthorize("hasAuthority('sys:insSettle:view')")
- @ApiOperation(value = "根据settle查询结算单明细数据导出")
- @PostMapping("/exportSettleDetail")
- public void exportSettleDetail(@RequestBody @ApiParam(name = "settle", value = "结算单主表实体类") InsSettleReqVo settle, HttpServletRequest request, HttpServletResponse response) {
- try {
- insSettleService.exportSettleDetail(settle, request, response);
- } catch (Exception e) {
- e.printStackTrace();
- throw new DescribeException("导出失败!" + e.getMessage());
- }
- }
- // @PreAuthorize("hasAuthority('sys:insSettle:view')")
- @ApiOperation(value = "结算单生成前查询的保单信息")
- @PostMapping("/generateBeforePolicyno")
- public HttpResult generateBeforePolicyno(@RequestBody @ApiParam(name = "vo", value = "保单请求类") InsCminReqVo vo, HttpServletRequest request) {
- HttpResult result = null;
- try {
- // 设置查询权限
- String comcode = checkAuth(request, vo.getComcode());
- vo.setComcode(comcode);
- result = insSettleService.generateBeforePolicyno(vo);
- } catch (Exception e) {
- result = HttpResult.error("查询保单信息失败!" + e.getMessage());
- e.printStackTrace();
- }
- return result;
- }
- // @PreAuthorize("hasAuthority('sys:insSettle:add') and hasAuthority('sys:insSettle:edit')")
- @ApiOperation(value = "结算单生成")
- @PostMapping("/generateSettleAndDetail")
- public HttpResult generateSettleAndDetail(@RequestBody @ApiParam(name = "reqVo", value = "结算单生成请求类") InsIncomeAndCmainReqVo reqVo, HttpServletRequest request) {
- HttpResult result;
- try {
- String comcode = checkAuth(request, reqVo.getComcode());
- reqVo.setComcode(comcode);
- result = insSettleService.generateSettleAndDetail(reqVo);
- } catch (Exception e) {
- result = HttpResult.error("结算单生成失败!" + e.getMessage());
- e.printStackTrace();
- }
- return result;
- }
- // @PreAuthorize("hasAuthority('sys:insSettle:add') and hasAuthority('sys:insSettle:edit')")
- @ApiOperation(value = "结算单确认")
- @PostMapping("/enterSettle")
- public HttpResult enterSettle(@ApiParam(name = "reqListVo", value = "结算单确认请求类") @RequestBody InsSettleReqListVo reqListVo) {
- HttpResult result;
- try {
- result = insSettleService.enterSettle(reqListVo);
- } catch (Exception e) {
- result = HttpResult.error("结算单确认时发生错误!" + e.getMessage());
- e.printStackTrace();
- }
- return result;
- }
- /**
- * 校验权限
- *
- * @param request
- * @param comcode2
- * @return
- */
- private String checkAuth(HttpServletRequest request, String comcode2) {
- // 设置查询权限
- String tokenDeptId = getDeptId();
- String comcode = comcode2;
- if (StringUtils.isNullOrEmpty(comcode)) {
- comcode = tokenDeptId.contains("D") ? tokenDeptId.substring(0, tokenDeptId.indexOf("D")) : tokenDeptId.equalsIgnoreCase(SysConstants.DEPT) ? "" : tokenDeptId;
- } else {
- if (!SysConstants.DEPT.equals(tokenDeptId)) {
- if (tokenDeptId.contains("D")) {
- tokenDeptId = tokenDeptId.substring(0, tokenDeptId.indexOf("D"));
- }
- if (!comcode.startsWith(tokenDeptId)) {
- comcode = tokenDeptId;
- }
- }
- }
- return comcode;
- }
- }
|