package com.ydtech.modules.fnc.controller; import com.ydtech.aop.exception.DescribeException; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.admin.model.vo.SysUserBankCardVO; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.fnc.entity.InsPlyIncome; import com.ydtech.modules.fnc.entity.SettlementDocumentaryFeesEntity; import com.ydtech.modules.fnc.service.InsPlyIncomeService; import com.ydtech.modules.fnc.vo.InsPlyIncomeVo; import com.ydtech.modules.fnc.vo.SettlementDocumentaryFeesVo; import com.ydtech.modules.order.entity.BasePageResult; import com.ydtech.modules.order.entity.InsOrders; import com.ydtech.modules.order.entity.vo.OrderQueryVo; import com.ydtech.utils.StringUtils; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; import java.math.BigDecimal; import java.time.LocalDate; import java.time.Period; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /** *

* 保司结算手续费 前端控制器 *

* * @author gws * @since 2024-01-05 */ @RestController @Api(tags = "保司费用") @RequestMapping("/fnc/plyFee") public class InsPlyIncomeController extends BaseController { @Autowired private InsPlyIncomeService insPlyIncomeService; /** * * @return */ @PostMapping("/queryPage") @ApiOperation(value = "[1]保司费用查询") public HttpResult> queryPage(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) { if(StringUtils.isNullOrEmpty(insPlyIncomeVo.getCompanyId()) && StringUtils.isNullOrEmpty(insPlyIncomeVo.getStartDate()) && StringUtils.isNullOrEmpty(insPlyIncomeVo.getEndDate()) && StringUtils.isNullOrEmpty(insPlyIncomeVo.getLicenseno()) ){ return HttpResult.error("查询条件不能全为空!"); } if(!StringUtils.isNullOrEmpty(insPlyIncomeVo.getStartDate()) &&!StringUtils.isNullOrEmpty(insPlyIncomeVo.getEndDate()) &&Period.between(insPlyIncomeVo.getStartDate(),insPlyIncomeVo.getEndDate()).getDays()>100 ){ return HttpResult.error("查询时间区间不能超过3个月!"); } if(StringUtils.isNullOrEmpty(insPlyIncomeVo.getDeptId())){ insPlyIncomeVo.setDeptId(getDeptId()); } HttpResult> result=insPlyIncomeService.queryplyIncome(insPlyIncomeVo); return result; } @PostMapping("/query") @ApiOperation(value = "[1]保司费用查询new") public HttpResult> query(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) { HttpResult> result=insPlyIncomeService.queryNew(insPlyIncomeVo); return result; } @PostMapping("/totalAmount") @ApiModelProperty(value = "平台手续费合计金额") public HttpResult>totalAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){ if(!CollectionUtils.isEmpty(insPlyIncomeVo.getSelectIds())){ HashMap result = insPlyIncomeService.totalAmount(insPlyIncomeVo.getSelectIds()); return HttpResult.ok(result); }else { return HttpResult.ok(); } } @PostMapping("/totalPinAmount") @ApiModelProperty(value = "平台结算未结算接口") public HttpResult>totalPinAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){ List result = insPlyIncomeService.totalPinAmount(insPlyIncomeVo); return HttpResult.ok(result); } @PostMapping("/bxTotalAmount") @ApiModelProperty(value = "保险手续费合计") public HttpResultbxTotalPinAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){ InsPlyIncome result = insPlyIncomeService.bxTotalAmount(insPlyIncomeVo); return HttpResult.ok(result); } @PutMapping("/balance") @ApiModelProperty(value = "结算手续费") public HttpResult balance(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { insPlyIncomeService.uodateBalance(insPlyIncomeVo); return HttpResult.ok("手续费结算成功"); } @PostMapping("/totalQuery") @ApiOperation(value = "跟单费总数") public HttpResult> totalQuery(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo) { HttpResult> result=insPlyIncomeService.totalQuery(insPlyIncomeVo); return result; } @PutMapping("/batchInvoic") @ApiModelProperty(value = "批量开票跟单费") public HttpResult batchInvoic(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.batchInvoic(insPlyIncomeVo); } @PutMapping("/batchBalance") @ApiModelProperty(value = "批量结算跟单费") public HttpResult batchBalance(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.batchBalance(insPlyIncomeVo); } @PutMapping("/batchPinBalance") @ApiModelProperty(value = "平台批量结算") public HttpResult batchPinBalance(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.batchPinBalance(insPlyIncomeVo); } @PostMapping("/NonSettlementQuery") @ApiOperation(value = "非跟单查询") public HttpResult>NonSettlementQuery(@Valid @RequestBody InsPlyIncomeVo insPlyIncomeVo) { HttpResult> result=insPlyIncomeService.nonSettlementQuery(insPlyIncomeVo); return result; } @PostMapping("/NonSettldetail") @ApiOperation(value = "非跟单明细查询") public HttpResult> NonSettldetail (@Valid @RequestBody InsPlyIncomeVo insPlyIncomeVo){ return insPlyIncomeService.nonSettldetail(insPlyIncomeVo); } @PostMapping("/importData") @ApiOperation(value = "手续费导入(excel)") @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file") }) public HttpResult importData(@RequestParam MultipartFile multipartFile) { HashMap result= insPlyIncomeService.importData(multipartFile); return HttpResult.ok(result); } @PostMapping("/bxImportData") @ApiOperation(value = "保险手续费导入(excel)") @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file") }) public HttpResult> bxImportData(@RequestParam MultipartFile multipartFile,@RequestParam("isNotCar") String isNotCar) { HashMap result= insPlyIncomeService.bxImportData(multipartFile,isNotCar); return HttpResult.ok(result); } @PostMapping("/bxImportNoData") @ApiOperation(value = "保险非车手续费导入(excel)") @ApiImplicitParams({ @ApiImplicitParam(name = "file", value = "excel文件", required = true, dataType = "__file") }) public HttpResult> bxImportNoData(@RequestParam MultipartFile multipartFile,@RequestParam("isNotCar") String isNotCar) { HashMap result= insPlyIncomeService.bxImportNoData(multipartFile,isNotCar); return HttpResult.ok(result); } @PutMapping("/update") @ApiModelProperty(value = "修改") public HttpResult updateByEntity(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { insPlyIncomeService.updateByEntity(insPlyIncomeVo); return HttpResult.ok("修改成功"); } @PostMapping("/insert") @ApiModelProperty(value = "新增") public HttpResult insertByEntity(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.insertByEntity(insPlyIncomeVo); } @DeleteMapping("/delete") @ApiModelProperty(value = "删除") public HttpResult deleteById(@RequestBody InsPlyIncomeVo insPlyIncomeVo){ return insPlyIncomeService.deleteById(insPlyIncomeVo); } @GetMapping("/getById/{id}") @ApiModelProperty(value = "回显") public HttpResult getById(@PathVariable("id") String id){ InsPlyIncome item = insPlyIncomeService.getById(id); return HttpResult.ok(item) ; } @PostMapping("/totalBxAmount") @ApiModelProperty(value = "保险未开票金额") public HttpResult>totalBxAmount(@RequestBody @Valid InsPlyIncomeVo insPlyIncomeVo){ List result = insPlyIncomeService.totalBxAmount(insPlyIncomeVo); return HttpResult.ok(result); } @PutMapping("/batchInvoicing") @ApiModelProperty(value = "保险手续费批量开票") public HttpResult batchInvoicing(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.batchInvoicing(insPlyIncomeVo); } @PostMapping("/queryInvoicing") @ApiModelProperty(value = "查询开票金额") public HttpResult queryInvoicing(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.queryInvoicing(insPlyIncomeVo); } @PostMapping("/querySettInvoicing") @ApiModelProperty(value = "查询已开票已结算") public HttpResult querySettInvoicing(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.querySettInvoicing(insPlyIncomeVo); } @PutMapping("/batchBxBalance") @ApiModelProperty(value = "保险批量结算") public HttpResult batchBxBalance(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.batchBxBalance(insPlyIncomeVo); } @PostMapping("/allOtherAmount") @ApiModelProperty(value = "保险跟单总表") public HttpResult> allOtherAmount(@RequestBody InsPlyIncomeVo insPlyIncomeVo) { return insPlyIncomeService.allOtherAmount(insPlyIncomeVo); } @ApiModelProperty("平台手续费导出") @PostMapping("pinHandlingExcel") public HttpResult pinHandlingexcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ){ return insPlyIncomeService.pinHandlingexcel(insPlyIncomeVo, request, response); } @ApiModelProperty("保险手续费导出") @PostMapping("bxHandlingExcel") public HttpResult bxHandlingexcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ) throws IOException { return insPlyIncomeService.bxHandlingexcel(insPlyIncomeVo, request, response); } @ApiModelProperty("保险跟单导出") @PostMapping("bxOtherExcel") public HttpResult bxOtherExcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ){ return insPlyIncomeService.bxOtherExcel(insPlyIncomeVo, request, response); } @ApiModelProperty("保险跟单明细导出") @PostMapping("/bxOtherDetailsExcel") public HttpResult bxOtherDetailsExcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ){ return insPlyIncomeService.bxOtherDetailsExcel(insPlyIncomeVo, request, response); } @PostMapping("/invicdetail") @ApiOperation(value = "开票未结算详情查询") public HttpResult>> invicdetail (@Valid @RequestBody InsPlyIncomeVo insPlyIncomeVo){ return insPlyIncomeService.invicdetail(insPlyIncomeVo); } @ApiModelProperty("保险非车跟单明细导出") @PostMapping("/bxNoOtherDetailsExcel") public HttpResult bxNoOtherDetailsExcel(@RequestBody @ApiParam(name = "insPlyIncomeVo") InsPlyIncomeVo insPlyIncomeVo , HttpServletRequest request, HttpServletResponse response ){ return insPlyIncomeService.bxNoOtherDetailsExcel(insPlyIncomeVo, request, response); } @PostMapping("/otherSettldetail") @ApiOperation(value = "非跟单明细查询") public HttpResult>> otherSettldetail (@RequestBody InsPlyIncomeVo insPlyIncomeVo){ return insPlyIncomeService.otherSettldetail(insPlyIncomeVo); } }