PtlAgreementController.java 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. package com.ydtech.modules.protocol.controller;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.core.page.PageRequest;
  5. import com.ydtech.core.page.PageResult;
  6. import com.ydtech.modules.base.controller.BaseController;
  7. import com.ydtech.modules.protocol.entity.dto.PltAgreementSchemeSaveDto;
  8. import com.ydtech.modules.protocol.entity.dto.PtlAgreementUndwrtRulesSaveDto;
  9. import com.ydtech.modules.protocol.entity.po.PtlAgreement;
  10. import com.ydtech.modules.protocol.entity.po.PtlAgreementNonCarProductCosts;
  11. import com.ydtech.modules.protocol.entity.po.PtlAgreementProductCosts;
  12. import com.ydtech.modules.protocol.entity.po.PtlAgreementUndwrtRules;
  13. import com.ydtech.modules.protocol.entity.vo.*;
  14. import com.ydtech.modules.protocol.service.PtlAgreementNonCarProductCostsService;
  15. import com.ydtech.modules.protocol.service.PtlAgreementProductCostsService;
  16. import com.ydtech.modules.protocol.service.PtlAgreementService;
  17. import com.ydtech.modules.protocol.service.PtlAgreementUndwrtRulesService;
  18. import io.swagger.annotations.Api;
  19. import io.swagger.annotations.ApiModelProperty;
  20. import io.swagger.annotations.ApiOperation;
  21. import org.apache.poi.ss.formula.functions.T;
  22. import org.springframework.beans.factory.annotation.Value;
  23. import org.springframework.web.bind.annotation.*;
  24. import java.util.List;
  25. /**
  26. * @author wenks
  27. * @description 协议管理内容
  28. * @createDate 2023-06-05 17:59:52
  29. */
  30. @Api(tags = "协议")
  31. @RequestMapping("/plt/agreement")
  32. @RestController
  33. public class PtlAgreementController extends BaseController {
  34. @Value("${agreement.shutdown}")
  35. private boolean shutdown;
  36. private final PtlAgreementService ptlAgreementService;
  37. private final PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService;
  38. private final PtlAgreementProductCostsService ptlAgreementProductCostsService;
  39. private final PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService;
  40. public PtlAgreementController(PtlAgreementService ptlAgreementService, PtlAgreementUndwrtRulesService ptlAgreementUndwrtRulesService,
  41. PtlAgreementProductCostsService ptlAgreementProductCostsService,PtlAgreementNonCarProductCostsService ptlAgreementNonCarProductCostsService) {
  42. this.ptlAgreementService = ptlAgreementService;
  43. this.ptlAgreementProductCostsService = ptlAgreementProductCostsService;
  44. this.ptlAgreementUndwrtRulesService = ptlAgreementUndwrtRulesService;
  45. this.ptlAgreementNonCarProductCostsService = ptlAgreementNonCarProductCostsService;
  46. }
  47. @PostMapping("/page")
  48. @ApiOperation("分页查询协议")
  49. public HttpResult<PageResult<PtlAgreement>> page(@RequestBody PtlAgreementPageVo ptlAgreementPageVo) {
  50. Page<T> page = buildPageRequest(ptlAgreementPageVo.getPageDto());
  51. Page<PtlAgreement> pageResultHttpResult = ptlAgreementService.pageAgreement(page, ptlAgreementPageVo);
  52. return HttpResult.ok(buildPageResponse(pageResultHttpResult));
  53. }
  54. @PostMapping("/list")
  55. @ApiOperation("根据保险公司查询协议列表")
  56. public HttpResult<List<PtlAgreement>> list(@RequestBody PtlAgreementPageVo ptlAgreementPageVo) {
  57. return ptlAgreementService.listAgreement(ptlAgreementPageVo);
  58. }
  59. @PutMapping("/{agreementId}")
  60. @ApiOperation("修改协议")
  61. public HttpResult<Object> revise(@PathVariable String agreementId, @RequestBody PtlAgreementSaveVo agreement) {
  62. String userName = getUserName();
  63. return ptlAgreementService.reviseAgreement(userName, agreementId, agreement);
  64. }
  65. @GetMapping("/{agreementId}")
  66. @ApiOperation("通过协议id查询所有信息")
  67. public HttpResult<PtlAgreementQueryVo> getByAgreementId(@PathVariable String agreementId) {
  68. return ptlAgreementService.getByAgreementId(agreementId);
  69. }
  70. @DeleteMapping("/{agreementId}")
  71. @ApiOperation("删除协议")
  72. public HttpResult<Object> delete(@PathVariable String agreementId) {
  73. return ptlAgreementService.deleteAgreement(agreementId, getUserName());
  74. }
  75. @PostMapping
  76. @ApiOperation("添加协议")
  77. public HttpResult<Object> save(@RequestBody PtlAgreementSaveVo agreement) {
  78. String userName = getUserName();
  79. return ptlAgreementService.saveAgreement(agreement, userName);
  80. }
  81. @PostMapping("/getProduct")
  82. @ApiOperation("查询协议产品费用")
  83. public PageResult getProductSav(@RequestBody PtlAgreementProductQueryVo ptlAgreementProductQueryVo) {
  84. Page<T> page = buildPageRequest(ptlAgreementProductQueryVo.getPageDto());
  85. Page<PtlAgreementProductCosts> schemeQueryDto = ptlAgreementProductCostsService.getByAgreementId(page,ptlAgreementProductQueryVo);
  86. return buildPageResponse(schemeQueryDto);
  87. }
  88. @PostMapping("productSave")
  89. @ApiOperation("添加协议产品费用")
  90. public HttpResult<Object> productSave(@RequestBody PtlAgreementProductCosts agreement) {
  91. String userName = getUserName();
  92. return ptlAgreementService.saveAgreementProduct(agreement, userName);
  93. }
  94. @PostMapping("productUpdate")
  95. @ApiOperation("修改协议产品费用")
  96. public HttpResult<Object> productUpdate(@RequestBody PtlAgreementProductCosts agreement) {
  97. String userName = getUserName();
  98. return ptlAgreementService.updateAgreementProduct(agreement, userName);
  99. }
  100. @GetMapping("productDelete")
  101. @ApiOperation("删除协议产品费用")
  102. public HttpResult<Object> productDelete(String id){
  103. String userName = getUserName();
  104. return ptlAgreementService.deleteAgreementProduct(id,userName);
  105. }
  106. @GetMapping("/getNonCarProduct")
  107. @ApiOperation("查询非车产品费用")
  108. public HttpResult<Object> getNonCarProduct(@RequestParam String agreementId) {
  109. List<PtlAgreementNonCarProductCosts> nonCarProductCosts = ptlAgreementNonCarProductCostsService.getByAgreementId(agreementId);
  110. return HttpResult.ok(nonCarProductCosts);
  111. }
  112. @PostMapping("nonCarProductSave")
  113. @ApiOperation("添加非车产品费用")
  114. public HttpResult<Object> nonCarProductSave(@RequestBody PtlAgreementNonVehicleProductCostsVo agreement) {
  115. String userName = getUserName();
  116. return ptlAgreementService.saveAgreementNonCarProductCosts(agreement, userName);
  117. }
  118. @PostMapping("getUndwrtRules")
  119. @ApiOperation("查询承保规则")
  120. public PageResult getUndwrtRules(@RequestBody PtlAgreementUndwrtRulesQueryVo ptlAgreementUndwrtRulesQueryVo) {
  121. Page<T> page = buildPageRequest(ptlAgreementUndwrtRulesQueryVo.getPageDto());
  122. Page<PtlAgreementUndwrtRules> underwritingRules = ptlAgreementUndwrtRulesService.getByAgreementId(page,ptlAgreementUndwrtRulesQueryVo.getAgreementId());
  123. return buildPageResponse(underwritingRules);
  124. }
  125. @PostMapping("undwrtRulesSave")
  126. @ApiOperation("添加承保规则")
  127. public HttpResult<Object> underwritingRulesSave(@RequestBody PtlAgreementUndwrtRules ptlAgreementUndwrtRules) {
  128. String userName = getUserName();
  129. return ptlAgreementService.saveAgreementUndwrtRules(ptlAgreementUndwrtRules, userName);
  130. }
  131. @PostMapping("undwrtRulesUpdate")
  132. @ApiOperation("修改承保规则")
  133. public HttpResult<Object> underwritingRulesUpdate(@RequestBody PtlAgreementUndwrtRules ptlAgreementUndwrtRules) {
  134. String userName = getUserName();
  135. return ptlAgreementService.updateAgreementUndwrtRules(ptlAgreementUndwrtRules, userName);
  136. }
  137. @GetMapping("undwrtRulesDelete")
  138. @ApiModelProperty("删除承保规则")
  139. public HttpResult<Object> underwritingRulesDelete(String id){
  140. String userName = getUserName();
  141. return ptlAgreementService.deleteAgreementUndwrtRules(id,userName);
  142. }
  143. @PostMapping("/audit/{agreementId}")
  144. @ApiOperation("审核协议")
  145. public HttpResult<Object> audit(@PathVariable String agreementId, @RequestBody PtlAgreementAuditVo ptlAgreementAuditVo) {
  146. return ptlAgreementService.auditAgreement(agreementId, ptlAgreementAuditVo);
  147. }
  148. @GetMapping("/shutdown")
  149. @ApiOperation("关闭")
  150. public HttpResult<Boolean> shutdown() {
  151. return HttpResult.ok("", shutdown);
  152. }
  153. @PostMapping("/noncarcost")
  154. @ApiOperation("获取非车险费用配置列表")
  155. public HttpResult<List<PtlAgreementNonCarProductCostsVo>> getAgreementNonCarCosts(@RequestBody PtlAgreement ptlAgreement){
  156. return ptlAgreementService.getNonCarCostsInfo(ptlAgreement.getAgreementCode(),ptlAgreement.getAssociationCompaniesId());
  157. }
  158. @PostMapping("/findrelationagree")
  159. @ApiOperation("获取可同步协议列表")
  160. public HttpResult<List<PtlAgreement>> findRelationAgreement(@RequestBody PtlAgreement ptlAgreement){
  161. return ptlAgreementService.findRelationAgreement(ptlAgreement.getAssociationCompaniesId());
  162. }
  163. }