InsPlyIncomeController.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. package com.ydtech.modules.fnc.controller;
  2. import com.ydtech.aop.exception.DescribeException;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.modules.admin.model.vo.SysUserBankCardVO;
  5. import com.ydtech.modules.base.controller.BaseController;
  6. import com.ydtech.modules.fnc.entity.InsPlyIncome;
  7. import com.ydtech.modules.fnc.entity.SettlementDocumentaryFeesEntity;
  8. import com.ydtech.modules.fnc.service.InsPlyIncomeService;
  9. import com.ydtech.modules.fnc.vo.InsPlyIncomeVo;
  10. import com.ydtech.modules.fnc.vo.SettlementDocumentaryFeesVo;
  11. import com.ydtech.modules.order.entity.BasePageResult;
  12. import com.ydtech.modules.order.entity.InsOrders;
  13. import com.ydtech.modules.order.entity.vo.OrderQueryVo;
  14. import com.ydtech.utils.StringUtils;
  15. import io.swagger.annotations.*;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.util.CollectionUtils;
  18. import org.springframework.web.bind.annotation.*;
  19. import org.springframework.web.multipart.MultipartFile;
  20. import javax.servlet.http.HttpServletRequest;
  21. import javax.servlet.http.HttpServletResponse;
  22. import javax.validation.Valid;
  23. import java.io.IOException;
  24. import java.math.BigDecimal;
  25. import java.time.LocalDate;
  26. import java.time.Period;
  27. import java.util.ArrayList;
  28. import java.util.HashMap;
  29. import java.util.List;
  30. /**
  31. * <p>
  32. * 保司结算手续费 前端控制器
  33. * </p>
  34. *
  35. * @author gws
  36. * @since 2024-01-05
  37. */
  38. @RestController
  39. @Api(tags = "保司费用")
  40. @RequestMapping("/fnc/plyFee")
  41. public class InsPlyIncomeController extends BaseController {
  42. @Autowired
  43. private InsPlyIncomeService insPlyIncomeService;
  44. /**
  45. *
  46. * @return
  47. */
  48. @PostMapping("/queryPage")
  49. @ApiOperation(value = "[1]保司费用查询")
  50. public HttpResult<BasePageResult<InsPlyIncome>> queryPage(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) {
  51. if(StringUtils.isNullOrEmpty(insPlyIncomeVo.getCompanyId())
  52. && StringUtils.isNullOrEmpty(insPlyIncomeVo.getStartDate())
  53. && StringUtils.isNullOrEmpty(insPlyIncomeVo.getEndDate())
  54. && StringUtils.isNullOrEmpty(insPlyIncomeVo.getLicenseno())
  55. ){
  56. return HttpResult.error("查询条件不能全为空!");
  57. }
  58. if(!StringUtils.isNullOrEmpty(insPlyIncomeVo.getStartDate())
  59. &&!StringUtils.isNullOrEmpty(insPlyIncomeVo.getEndDate())
  60. &&Period.between(insPlyIncomeVo.getStartDate(),insPlyIncomeVo.getEndDate()).getDays()>100
  61. ){
  62. return HttpResult.error("查询时间区间不能超过3个月!");
  63. }
  64. if(StringUtils.isNullOrEmpty(insPlyIncomeVo.getDeptId())){
  65. insPlyIncomeVo.setDeptId(getDeptId());
  66. }
  67. HttpResult<BasePageResult<InsPlyIncome>> result=insPlyIncomeService.queryplyIncome(insPlyIncomeVo);
  68. return result;
  69. }
  70. @PostMapping("/query")
  71. @ApiOperation(value = "[1]保司费用查询new")
  72. public HttpResult<BasePageResult<InsPlyIncome>> query(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) {
  73. HttpResult<BasePageResult<InsPlyIncome>> result=insPlyIncomeService.queryNew(insPlyIncomeVo);
  74. return result;
  75. }
  76. @PostMapping("/totalAmount")
  77. @ApiModelProperty(value = "平台手续费合计金额")
  78. public HttpResult<HashMap<String,Object>>totalAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
  79. if(!CollectionUtils.isEmpty(insPlyIncomeVo.getSelectIds())){
  80. HashMap<String,Object> result = insPlyIncomeService.totalAmount(insPlyIncomeVo.getSelectIds());
  81. return HttpResult.ok(result);
  82. }else {
  83. return HttpResult.ok();
  84. }
  85. }
  86. @PostMapping("/totalPinAmount")
  87. @ApiModelProperty(value = "平台结算未结算接口")
  88. public HttpResult<List<InsPlyIncome>>totalPinAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
  89. List<InsPlyIncome> result = insPlyIncomeService.totalPinAmount(insPlyIncomeVo);
  90. return HttpResult.ok(result);
  91. }
  92. @PostMapping("/bxTotalAmount")
  93. @ApiModelProperty(value = "保险手续费合计")
  94. public HttpResult<InsPlyIncome>bxTotalPinAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
  95. InsPlyIncome result = insPlyIncomeService.bxTotalAmount(insPlyIncomeVo);
  96. return HttpResult.ok(result);
  97. }
  98. @PutMapping("/balance")
  99. @ApiModelProperty(value = "结算手续费")
  100. public HttpResult<Object> balance(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  101. insPlyIncomeService.uodateBalance(insPlyIncomeVo);
  102. return HttpResult.ok("手续费结算成功");
  103. }
  104. @PostMapping("/totalQuery")
  105. @ApiOperation(value = "跟单费总数")
  106. public HttpResult<BasePageResult<InsPlyIncome>> totalQuery(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) {
  107. HttpResult<BasePageResult<InsPlyIncome>> result=insPlyIncomeService.totalQuery(insPlyIncomeVo);
  108. return result;
  109. }
  110. @PutMapping("/batchInvoic")
  111. @ApiModelProperty(value = "批量开票跟单费")
  112. public HttpResult<Object> batchInvoic(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  113. return insPlyIncomeService.batchInvoic(insPlyIncomeVo);
  114. }
  115. @PutMapping("/batchBalance")
  116. @ApiModelProperty(value = "批量结算跟单费")
  117. public HttpResult<Object> batchBalance(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  118. return insPlyIncomeService.batchBalance(insPlyIncomeVo);
  119. }
  120. @PutMapping("/batchPinBalance")
  121. @ApiModelProperty(value = "平台批量结算")
  122. public HttpResult<Object> batchPinBalance(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  123. return insPlyIncomeService.batchPinBalance(insPlyIncomeVo);
  124. }
  125. @PostMapping("/NonSettlementQuery")
  126. @ApiOperation(value = "非跟单查询")
  127. public HttpResult<BasePageResult<InsPlyIncome>>NonSettlementQuery(@Valid @RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  128. HttpResult<BasePageResult<InsPlyIncome>> result=insPlyIncomeService.nonSettlementQuery(insPlyIncomeVo);
  129. return result;
  130. }
  131. @PostMapping("/NonSettldetail")
  132. @ApiOperation(value = "非跟单明细查询")
  133. public HttpResult<List<InsPlyIncome>> NonSettldetail (@Valid @RequestBody InsPlyIncomeVo insPlyIncomeVo){
  134. return insPlyIncomeService.nonSettldetail(insPlyIncomeVo);
  135. }
  136. @PostMapping("/importData")
  137. @ApiOperation(value = "手续费导入(excel)")
  138. @ApiImplicitParams({
  139. @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file")
  140. })
  141. public HttpResult importData(@RequestParam MultipartFile multipartFile) {
  142. HashMap<String, Object> result= insPlyIncomeService.importData(multipartFile);
  143. return HttpResult.ok(result);
  144. }
  145. @PostMapping("/bxImportData")
  146. @ApiOperation(value = "保险手续费导入(excel)")
  147. @ApiImplicitParams({
  148. @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file")
  149. })
  150. public HttpResult<HashMap<String, Object>> bxImportData(@RequestParam MultipartFile multipartFile,@RequestParam("isNotCar") String isNotCar) {
  151. HashMap<String, Object> result= insPlyIncomeService.bxImportData(multipartFile,isNotCar);
  152. return HttpResult.ok(result);
  153. }
  154. @PostMapping("/bxImportNoData")
  155. @ApiOperation(value = "保险非车手续费导入(excel)")
  156. @ApiImplicitParams({
  157. @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file")
  158. })
  159. public HttpResult<HashMap<String, Object>> bxImportNoData(@RequestParam MultipartFile multipartFile,@RequestParam("isNotCar") String isNotCar) {
  160. HashMap<String, Object> result= insPlyIncomeService.bxImportNoData(multipartFile,isNotCar);
  161. return HttpResult.ok(result);
  162. }
  163. @PutMapping("/update")
  164. @ApiModelProperty(value = "修改")
  165. public HttpResult<Object> updateByEntity(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  166. insPlyIncomeService.updateByEntity(insPlyIncomeVo);
  167. return HttpResult.ok("修改成功");
  168. }
  169. @PostMapping("/insert")
  170. @ApiModelProperty(value = "新增")
  171. public HttpResult<InsPlyIncome> insertByEntity(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  172. return insPlyIncomeService.insertByEntity(insPlyIncomeVo);
  173. }
  174. @DeleteMapping("/delete")
  175. @ApiModelProperty(value = "删除")
  176. public HttpResult<InsPlyIncome> deleteById(@RequestBody InsPlyIncomeVo insPlyIncomeVo){
  177. return insPlyIncomeService.deleteById(insPlyIncomeVo);
  178. }
  179. @GetMapping("/getById/{id}")
  180. @ApiModelProperty(value = "回显")
  181. public HttpResult<InsPlyIncome> getById(@PathVariable("id") String id){
  182. InsPlyIncome item = insPlyIncomeService.getById(id);
  183. return HttpResult.ok(item) ;
  184. }
  185. @PostMapping("/totalBxAmount")
  186. @ApiModelProperty(value = "保险未开票金额")
  187. public HttpResult<List<InsPlyIncome>>totalBxAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){
  188. List<InsPlyIncome> result = insPlyIncomeService.totalBxAmount(insPlyIncomeVo);
  189. return HttpResult.ok(result);
  190. }
  191. @PutMapping("/batchInvoicing")
  192. @ApiModelProperty(value = "保险手续费批量开票")
  193. public HttpResult<Object> batchInvoicing(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  194. return insPlyIncomeService.batchInvoicing(insPlyIncomeVo);
  195. }
  196. @PostMapping("/queryInvoicing")
  197. @ApiModelProperty(value = "查询开票金额")
  198. public HttpResult<InsPlyIncome> queryInvoicing(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  199. return insPlyIncomeService.queryInvoicing(insPlyIncomeVo);
  200. }
  201. @PostMapping("/querySettInvoicing")
  202. @ApiModelProperty(value = "查询已开票已结算")
  203. public HttpResult<InsPlyIncome> querySettInvoicing(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  204. return insPlyIncomeService.querySettInvoicing(insPlyIncomeVo);
  205. }
  206. @PutMapping("/batchBxBalance")
  207. @ApiModelProperty(value = "保险批量结算")
  208. public HttpResult<Object> batchBxBalance(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  209. return insPlyIncomeService.batchBxBalance(insPlyIncomeVo);
  210. }
  211. @PostMapping("/allOtherAmount")
  212. @ApiModelProperty(value = "保险跟单总表")
  213. public HttpResult<List<InsPlyIncome>> allOtherAmount(@RequestBody InsPlyIncomeVo insPlyIncomeVo) {
  214. return insPlyIncomeService.allOtherAmount(insPlyIncomeVo);
  215. }
  216. @ApiModelProperty("平台手续费导出")
  217. @PostMapping("pinHandlingExcel")
  218. public HttpResult pinHandlingexcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ){
  219. return insPlyIncomeService.pinHandlingexcel(insPlyIncomeVo, request, response);
  220. }
  221. @ApiModelProperty("保险手续费导出")
  222. @PostMapping("bxHandlingExcel")
  223. public HttpResult bxHandlingexcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ) throws IOException {
  224. return insPlyIncomeService.bxHandlingexcel(insPlyIncomeVo, request, response);
  225. }
  226. @ApiModelProperty("保险跟单导出")
  227. @PostMapping("bxOtherExcel")
  228. public HttpResult bxOtherExcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ){
  229. return insPlyIncomeService.bxOtherExcel(insPlyIncomeVo, request, response);
  230. }
  231. @ApiModelProperty("保险跟单明细导出")
  232. @PostMapping("/bxOtherDetailsExcel")
  233. public HttpResult bxOtherDetailsExcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ){
  234. return insPlyIncomeService.bxOtherDetailsExcel(insPlyIncomeVo, request, response);
  235. }
  236. @PostMapping("/invicdetail")
  237. @ApiOperation(value = "开票未结算详情查询")
  238. public HttpResult<List<HashMap<String,Object>>> invicdetail (@Valid @RequestBody InsPlyIncomeVo insPlyIncomeVo){
  239. return insPlyIncomeService.invicdetail(insPlyIncomeVo);
  240. }
  241. @ApiModelProperty("保险非车跟单明细导出")
  242. @PostMapping("/bxNoOtherDetailsExcel")
  243. public HttpResult bxNoOtherDetailsExcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ){
  244. return insPlyIncomeService.bxNoOtherDetailsExcel(insPlyIncomeVo, request, response);
  245. }
  246. @PostMapping("/otherSettldetail")
  247. @ApiOperation(value = "非跟单明细查询")
  248. public HttpResult<List<HashMap<String,Object>>> otherSettldetail (@RequestBody InsPlyIncomeVo insPlyIncomeVo){
  249. return insPlyIncomeService.otherSettldetail(insPlyIncomeVo);
  250. }
  251. }