Преглед изворни кода

Merge remote-tracking branch 'origin/test' into test

wks пре 2 година
родитељ
комит
dbe2fff47d

+ 7 - 0
src/main/java/com/ydtech/modules/inv/controller/InvReceivableController.java

@@ -91,6 +91,13 @@ public class InvReceivableController extends BaseController {
         return HttpResult.ok(uploadUrl + "excel/" +fileName);
     }
 
+    @ApiOperation("应收导入新增")
+    @PostMapping("addReceivable")
+    public HttpResult addReceivable(@RequestBody InvSource invSource){
+        Boolean b = invReceivableService.addReceivable(invSource);
+        return b ? HttpResult.ok("新增成功") : HttpResult.error("新增失败");
+    }
+
     @ApiOperation("应收导入删除")
     @PostMapping("deleteReceivable")
     public HttpResult deleteReceivable(@RequestBody String[] ids){

+ 1 - 0
src/main/java/com/ydtech/modules/inv/service/InvReceivableService.java

@@ -56,4 +56,5 @@ public interface InvReceivableService {
 
     Boolean updateSettlementBatch(InvSettlementSource invSettlementSource);
 
+    Boolean addReceivable(InvSource invSource);
 }

+ 2 - 0
src/main/java/com/ydtech/modules/inv/service/InvSourceService.java

@@ -14,5 +14,7 @@ import java.util.List;
 public interface InvSourceService extends IService<InvSource> {
     HttpResult readExcel(String file);
 
+    boolean save(InvSource invSource);
+
     boolean saveOrUpdateBatchWithConditions(List<InvSource> invSourceList);
 }

+ 43 - 1
src/main/java/com/ydtech/modules/inv/service/impl/InvReceivableServiceImpl.java

@@ -513,7 +513,8 @@ public class InvReceivableServiceImpl implements InvReceivableService {
                         .add(invSource.getNonCarPremiumTax().multiply(invSource.getMaxNonCarReceivableRatio())));
         invSource.setClearingState("未结算".equals(invSource.getClearingState()) ? "0" :
                 "已结算".equals(invSource.getClearingState()) ? "1" : invSource.getClearingState());
-
+        invSource.setInsuranceClearingState("未结算".equals(invSource.getClearingState()) ? "0" :
+                "已结算".equals(invSource.getClearingState()) ? "1" : invSource.getClearingState());
         return invSourceMapper.updateById(invSource) > 0 ? true : false;
     }
 
@@ -666,6 +667,47 @@ public class InvReceivableServiceImpl implements InvReceivableService {
 
     }
 
+    @Override
+    public Boolean addReceivable(InvSource invSource) {
+        BigDecimal tax = new BigDecimal(1.06);
+        //处理交强不含税
+        invSource.setJqPremium(invSource.getJqPremiumTax().divide(tax,2, RoundingMode.HALF_UP));
+        //处理商业不含税
+        invSource.setSyPremium(invSource.getSyPremiumTax().divide(tax,2, RoundingMode.HALF_UP));
+        //处理非车不含税
+        invSource.setNonCarPremium(invSource.getNonCarPremiumTax().divide(tax,2, RoundingMode.HALF_UP));
+        //处理手续费金额
+        invSource.setPremium(
+                invSource.getJqPremium().multiply(invSource.getJqPremiumRatio())
+                        .add(invSource.getSyPremium().multiply(invSource.getSyPremiumRatio()))
+                        .add(invSource.getNonCarPremium().multiply(invSource.getNonCarPremiumRatio())));
+        //处理非跟单金额
+        invSource.setNonCopying(
+                invSource.getJqPremium().multiply(invSource.getJqNonCopyingRatio())
+                        .add(invSource.getSyPremium().multiply(invSource.getSyNonCopyingRatio()))
+                        .add(invSource.getNonCarPremium().multiply(invSource.getNonCarNonCopyingRatio())));
+        //处理保司应收金额
+        invSource.setReceivable(
+                invSource.getJqPremium().multiply(invSource.getJqReceivableRatio())
+                        .add(invSource.getSyPremium().multiply(invSource.getSyReceivableRatio()))
+                        .add(invSource.getNonCarPremium().multiply(invSource.getNonCarReceivableRatio())));
+        //处理补贴金额
+        invSource.setSubsidyAmount(
+                invSource.getJqPremiumTax().multiply(invSource.getSubsidyRatio())
+                        .add(invSource.getSyPremiumTax().multiply(invSource.getSubsidyRatio()))
+                        .add(invSource.getNonCarPremiumTax().multiply(invSource.getSubsidyRatio())));
+        //处理应收总金额
+        invSource.setTotalReceivableAmount(
+                invSource.getReceivable().add(invSource.getSubsidyAmount()));
+        //处理最大应付金额
+        invSource.setMaxReceivable(
+                invSource.getJqPremiumTax().multiply(invSource.getMaxJqReceivableRatio())
+                        .add(invSource.getSyPremiumTax().multiply(invSource.getMaxSyReceivableRatio()))
+                        .add(invSource.getNonCarPremiumTax().multiply(invSource.getMaxNonCarReceivableRatio())));
+        boolean save = invSourceService.save(invSource);
+        return save;
+    }
+
 }
 
 

+ 5 - 0
src/main/java/com/ydtech/modules/inv/service/impl/InvSourceServiceImpl.java

@@ -42,6 +42,11 @@ public class InvSourceServiceImpl extends ServiceImpl<InvSourceMapper, InvSource
         return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
     }
 
+    @Override
+    public boolean save(InvSource invSource) {
+        return invSourceService.save(invSource);
+    }
+
     /**
      * 导入InsSource 处理重复导入
      * @param invSourceList

+ 35 - 9
src/main/java/com/ydtech/modules/report/controller/ReportController.java

@@ -218,16 +218,42 @@ public class ReportController extends BaseController {
     public HttpResult<String> exportInsPlySettleReportListData(@RequestBody InsPlySettleReportReqVo insPlySettleReportReqVo) {
         return insPlySettleService.exportInsPlySettleReportList(insPlySettleReportReqVo);
     }
+    /*--------------------------------------------------------------------------*/
+    @PostMapping("/getPayApplyUserReport")
+    @ApiOperation(value = "报表-应付分销费和手续费统计-查询")
+    public HttpResult<BasePageResult<PayApplyUserReportResVo>> getPayApplyUserReport(@RequestBody PayApplyUserReportReqVo payApplyUserReportReqVo) {
+        BasePageResult<PayApplyUserReportResVo> quoteResult = reportService.getPayApplyUserReportData(payApplyUserReportReqVo);
+        return HttpResult.ok("success", quoteResult);
+    }
+    @PostMapping("/exportPayApplyUserReport")
+    @ApiOperation(value = "报表-应付统计分销费和手续费清单-导出清单")
+    public HttpResult<String> exportPayApplyUserReport(@RequestBody PayApplyUserReportReqVo payApplyUserReportReqVo) {
+        return reportService.exportPayApplyUserReportData(payApplyUserReportReqVo);
+    }
+
+    @PostMapping("/exportPayApplyUserReporttListData")
+    @ApiOperation(value = "报表-应付统计分销费和手续费清单-导出清单明细")
+    public HttpResult<String> exportPayApplyUserReportListData(@RequestBody PayApplyUserReportReqVo payApplyUserReportReqVo) {
+        return reportService.exportPayApplyUserReportData(payApplyUserReportReqVo);
+    }
 
-   /* @PostMapping("/getInsPlySettleReport")
-    @ApiOperation(value = "分页获取应付统计清单数据")
-    public HttpResult<BasePageResult<InsPlySettleReportResVo>> getPayApplyReport(@RequestBody PayApplyReportReqVo payApplyReportReqVo) {
-        BasePageResult<InsPlySettleReportResVo> quoteResult = insPlySettleService.getInsPlySettleReport(payApplyReportReqVo);
+    /*--------------------------------------------------------------------------*/
+    @PostMapping("/getPayApplyDeptReport")
+    @ApiOperation(value = "报表-应付管理费统计-查询")
+    public HttpResult<BasePageResult<PayApplyDeptReportResVo>> getPayApplyDeptReport(@RequestBody PayApplyDeptReportReqVo payApplyDeptReportReqVo) {
+        BasePageResult<PayApplyDeptReportResVo> quoteResult = reportService.getPayApplyDeptReportData(payApplyDeptReportReqVo);
         return HttpResult.ok("success", quoteResult);
     }
-    @PostMapping("/exportInsPlySettleReport")
-    @ApiOperation(value = "导出应付统计清单数据")
-    public HttpResult<String> exportPayApplyReport(@RequestBody PayApplyReportReqVo payApplyReportReqVo) {
-        return insPlySettleService.exportInsPlySettleReport(payApplyReportReqVo);
-    }*/
+    @PostMapping("/exportPayApplyDeptReport")
+    @ApiOperation(value = "报表-应付统计管理费-导出清单")
+    public HttpResult<String> exportPayApplyDeptReport(@RequestBody PayApplyDeptReportReqVo payApplyDeptReportReqVo) {
+        return reportService.exportPayApplyDeptReportData(payApplyDeptReportReqVo);
+    }
+
+    @PostMapping("/exportPayApplyDeptReportListData")
+    @ApiOperation(value = "报表-应付统计管理费-导出清单明细")
+    public HttpResult<String> exportPayApplyDeptReportListData(@RequestBody PayApplyDeptReportReqVo payApplyDeptReportReqVo) {
+        return reportService.exportPayApplyDeptReportData(payApplyDeptReportReqVo);
+
+    }
 }

+ 13 - 3
src/main/java/com/ydtech/modules/report/dao/ReportInsurancePolicyMapper.java

@@ -3,9 +3,7 @@ package com.ydtech.modules.report.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.report.model.ReportInsurancePolicy;
-import com.ydtech.modules.report.model.vo.OrderVolumeAndCostStatisticsListResVo;
-import com.ydtech.modules.report.model.vo.OrderVolumeAndCostStatisticsResVo;
-import com.ydtech.modules.report.model.vo.StatisticsReportReqVo;
+import com.ydtech.modules.report.model.vo.*;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -26,4 +24,16 @@ public interface ReportInsurancePolicyMapper extends BaseMapper<ReportInsuranceP
     List<OrderVolumeAndCostStatisticsListResVo> queryOrderAndCostList(@Param("reportReqVo")StatisticsReportReqVo reqVo);
 
 
+
+    Page<PayApplyUserReportResVo> queryPayApplyUserReportData(@Param("page") Page page, @Param("reportReqVo") PayApplyUserReportReqVo reqVo);
+
+    List<PayApplyUserReportResVo> queryPayApplyUserReportData(@Param("reportReqVo") PayApplyUserReportReqVo reqVo);
+
+    Long queryPayApplyUserReportDataCount(@Param("reportReqVo") PayApplyUserReportReqVo reqVo);
+
+    Page<PayApplyDeptReportResVo> queryPayApplyDeptReportData(@Param("page") Page page, @Param("reportReqVo") PayApplyDeptReportReqVo reqVo);
+
+    List<PayApplyDeptReportResVo> queryPayApplyDeptReportData(@Param("reportReqVo") PayApplyDeptReportReqVo reqVo);
+
+    Long queryPayApplyDeptReportDataCount(@Param("reportReqVo") PayApplyDeptReportReqVo reqVo);
 }

+ 47 - 0
src/main/java/com/ydtech/modules/report/model/vo/PayApplyDeptReportReqVo.java

@@ -0,0 +1,47 @@
+package com.ydtech.modules.report.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import java.time.LocalDate;
+
+/**
+ * @Author: CXP
+ * @Date: 2024/1/17 21:54
+ */
+@Data
+public class PayApplyDeptReportReqVo {
+
+
+    @ApiModelProperty(value = "机构ID")
+    private String deptId;
+
+    @ApiModelProperty(value = "保险公司")
+    private String insCompany;
+
+    @ApiModelProperty(value = "签单开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate quoteStartDate;
+
+    @ApiModelProperty(value = "签单结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate quoteEndDate;
+
+    @ApiModelProperty(value = "每页页数")
+    @Min(value = 20, message = "页数最小为20")
+    @Max(value = 100, message = "页数最大为100")
+    private int pageSize;
+
+    @ApiModelProperty(value = "页数")
+    @Min(value = 1, message = "页数最小为1")
+    private int pageNum;
+
+    @ApiModelProperty(value = "是否下钻查询  1 下钻 0非下钻查询")
+    private String isDrilling;
+
+    @ApiModelProperty(value = "是否返回上层  1 返回上层 0非返回上层")
+    private String isReturnBack;
+}

+ 73 - 0
src/main/java/com/ydtech/modules/report/model/vo/PayApplyDeptReportResVo.java

@@ -0,0 +1,73 @@
+package com.ydtech.modules.report.model.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author: CXP
+ * @Date: 2024/1/17 21:54
+ */
+@Data
+public class PayApplyDeptReportResVo {
+
+    @ExcelProperty(value = "机构名称")
+    @TableField(value = "institution")
+    private String institution;
+
+    @ExcelProperty(value = "团队名称")
+    @TableField(value = "deptname")
+    private String deptname;
+
+    @ExcelProperty(value = "业务员名称")
+    @TableField(value = "username")
+    private String username;
+
+    @ExcelProperty(value = "待付手续费")
+    @TableField(value = "wait_pay_costs_premiums")
+    private BigDecimal waitPayCostsPremiums;
+
+
+    @ExcelProperty(value = "已付手续费")
+    @TableField(value = "paid_costs_premiums")
+    private BigDecimal paidCostsPremiums;
+
+
+    @ExcelProperty(value = "手续费合计")
+    @TableField(value = "sum_costs_premiums")
+    private BigDecimal sumCostsPremiums;
+
+
+    @ExcelProperty(value = "待付分销费")
+    @TableField(value = "wait_pay_retail_premiums")
+    private BigDecimal waitPayRetailPremiums;
+
+    @ExcelProperty(value = "已付分销费")
+    @TableField(value = "paid_retail_premiums")
+    private BigDecimal paidRetailPremiums;
+
+
+    @ExcelProperty(value = "总分销费")
+    @TableField(value = "sum_retail_premiums")
+    private BigDecimal sumRetailPremiums;
+
+    /**
+     * 机构Id
+     */
+    @ExcelIgnore
+    private String institutionId;
+    /**
+     * 团队Id
+     */
+    @ExcelIgnore
+    private String deptId;
+    /**
+     * 人员Id
+     */
+    @ExcelIgnore
+    private String userId;
+
+}

+ 81 - 0
src/main/java/com/ydtech/modules/report/model/vo/PayApplyUserReportListResVo.java

@@ -0,0 +1,81 @@
+package com.ydtech.modules.report.model.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author: CXP
+ * @Date: 2024/1/17 21:54
+ */
+@Data
+public class PayApplyUserReportListResVo {
+
+    @ExcelProperty(value = "机构名称")
+    @TableField(value = "institution")
+    private String institution;
+
+    @ExcelProperty(value = "团队名称")
+    @TableField(value = "deptname")
+    private String deptname;
+
+    @ExcelProperty(value = "业务员名称")
+    @TableField(value = "username")
+    private String username;
+
+    @ExcelProperty(value = "单号")
+    @TableField(value = "policyno")
+    private String policyno;
+
+    @ExcelProperty(value = "产品名称")
+    @TableField(value = "riskcode")
+    private String riskcode;
+
+    @ExcelProperty(value = "待付手续费")
+    @TableField(value = "wait_pay_costs_premiums")
+    private BigDecimal waitPayCostsPremiums;
+
+
+    @ExcelProperty(value = "已付手续费")
+    @TableField(value = "paid_costs_premiums")
+    private BigDecimal paidCostsPremiums;
+
+
+    @ExcelProperty(value = "手续费合计")
+    @TableField(value = "sum_costs_premiums")
+    private BigDecimal sumCostsPremiums;
+
+
+    @ExcelProperty(value = "待付分销费")
+    @TableField(value = "wait_pay_retail_premiums")
+    private BigDecimal waitPayRetailPremiums;
+
+    @ExcelProperty(value = "已付分销费")
+    @TableField(value = "paid_retail_premiums")
+    private BigDecimal paidRetailPremiums;
+
+
+    @ExcelProperty(value = "总分销费")
+    @TableField(value = "sum_retail_premiums")
+    private BigDecimal sumRetailPremiums;
+
+    /**
+     * 机构Id
+     */
+    @ExcelIgnore
+    private String institutionId;
+    /**
+     * 团队Id
+     */
+    @ExcelIgnore
+    private String deptId;
+    /**
+     * 人员Id
+     */
+    @ExcelIgnore
+    private String userId;
+
+}

+ 54 - 0
src/main/java/com/ydtech/modules/report/model/vo/PayApplyUserReportReqVo.java

@@ -0,0 +1,54 @@
+package com.ydtech.modules.report.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * @Author: CXP
+ * @Date: 2024/1/17 21:54
+ */
+@Data
+public class PayApplyUserReportReqVo {
+
+
+    @ApiModelProperty(value = "机构ID")
+    private String deptId;
+
+    @ApiModelProperty(value = "团队代码")
+    private String teamCode;
+
+    @ApiModelProperty(value = "出单工号")
+    private String userId;
+
+    @ApiModelProperty(value = "保险公司")
+    private String insCompany;
+
+    @ApiModelProperty(value = "签单开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate quoteStartDate;
+
+    @ApiModelProperty(value = "签单结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private LocalDate quoteEndDate;
+
+    @ApiModelProperty(value = "每页页数")
+    @Min(value = 20, message = "页数最小为20")
+    @Max(value = 100, message = "页数最大为100")
+    private int pageSize;
+
+    @ApiModelProperty(value = "页数")
+    @Min(value = 1, message = "页数最小为1")
+    private int pageNum;
+
+    @ApiModelProperty(value = "是否下钻查询  1 下钻 0非下钻查询")
+    private String isDrilling;
+
+    @ApiModelProperty(value = "是否返回上层  1 返回上层 0非返回上层")
+    private String isReturnBack;
+}

+ 74 - 0
src/main/java/com/ydtech/modules/report/model/vo/PayApplyUserReportResVo.java

@@ -0,0 +1,74 @@
+package com.ydtech.modules.report.model.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @Author: CXP
+ * @Date: 2024/1/17 21:54
+ */
+@Data
+public class PayApplyUserReportResVo {
+
+    @ExcelProperty(value = "机构名称")
+    @TableField(value = "institution")
+    private String institution;
+
+    @ExcelProperty(value = "团队名称")
+    @TableField(value = "deptname")
+    private String deptname;
+
+    @ExcelProperty(value = "业务员名称")
+    @TableField(value = "username")
+    private String username;
+
+    @ExcelProperty(value = "待付手续费")
+    @TableField(value = "wait_pay_costs_premiums")
+    private BigDecimal waitPayCostsPremiums;
+
+
+    @ExcelProperty(value = "已付手续费")
+    @TableField(value = "paid_costs_premiums")
+    private BigDecimal paidCostsPremiums;
+
+
+    @ExcelProperty(value = "手续费合计")
+    @TableField(value = "sum_costs_premiums")
+    private BigDecimal sumCostsPremiums;
+
+
+    @ExcelProperty(value = "待付分销费")
+    @TableField(value = "wait_pay_retail_premiums")
+    private BigDecimal waitPayRetailPremiums;
+
+    @ExcelProperty(value = "已付分销费")
+    @TableField(value = "paid_retail_premiums")
+    private BigDecimal paidRetailPremiums;
+
+
+    @ExcelProperty(value = "总分销费")
+    @TableField(value = "sum_retail_premiums")
+    private BigDecimal sumRetailPremiums;
+
+    /**
+     * 机构Id
+     */
+    @ExcelIgnore
+    private String institutionId;
+    /**
+     * 团队Id
+     */
+    @ExcelIgnore
+    private String deptId;
+    /**
+     * 人员Id
+     */
+    @ExcelIgnore
+    private String userId;
+
+}

+ 28 - 0
src/main/java/com/ydtech/modules/report/service/ReportService.java

@@ -123,4 +123,32 @@ public interface ReportService {
      */
     public HttpResult<String> exportOrderAndCostListData(StatisticsReportReqVo reqDto);
 
+
+    /**
+     * 页获取应付分销费和手续费统计清单数据
+     * @param reqDto
+     * @return
+     */
+    public BasePageResult<PayApplyUserReportResVo> getPayApplyUserReportData(PayApplyUserReportReqVo reqDto);
+
+    /**
+     * 导出应付统计分销费和手续费清单数据
+     * @param reqDto
+     * @return
+     */
+    public HttpResult<String> exportPayApplyUserReportData(PayApplyUserReportReqVo reqDto);
+
+    /**
+     * 分页获取应付管理费统计清单数据
+     * @param reqDto
+     * @return
+     */
+    public BasePageResult<PayApplyDeptReportResVo> getPayApplyDeptReportData(PayApplyDeptReportReqVo reqDto);
+
+    /**
+     * 导出应付统计管理费清单数据
+     * @param reqDto
+     * @return
+     */
+    public HttpResult<String> exportPayApplyDeptReportData(PayApplyDeptReportReqVo reqDto);
 }

+ 39 - 3
src/main/java/com/ydtech/modules/report/service/impl/ReportServiceImpl.java

@@ -8,8 +8,6 @@ import com.ydtech.aop.exception.DescribeException;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageResult;
 import com.ydtech.exception.SystemException;
-import com.ydtech.modules.admin.dao.SysDeptMapper;
-import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysUser;
 import com.ydtech.modules.admin.service.SysDeptService;
@@ -20,7 +18,6 @@ import com.ydtech.modules.ins.utils.ExcelUtils2;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.order.entity.InsOrders;
-import com.ydtech.modules.order.entity.vo.PolicyInsuranceReportResVo;
 import com.ydtech.modules.report.dao.ReportAgentBalanceSheetMapper;
 import com.ydtech.modules.report.dao.ReportAgentProfitMapper;
 import com.ydtech.modules.report.dao.ReportAgentStateMapper;
@@ -1172,4 +1169,43 @@ public class ReportServiceImpl implements ReportService {
         String s = EasyExcelUtils.downExcel(uploadFilePath, OrderVolumeAndCostStatisticsListResVo.class, orderVolumeAndCostStatisticsListResVos);
         return HttpResult.ok("", s);
     }
+
+    @Override
+    public BasePageResult<PayApplyUserReportResVo> getPayApplyUserReportData(PayApplyUserReportReqVo reqDto) {
+        Page<InsOrders> page = new Page<>(reqDto.getPageNum(), reqDto.getPageSize());
+        page.setSearchCount(false).setOptimizeCountSql(false);//关闭count查询
+        Page<PayApplyUserReportResVo> payApplyReportResVoPage = reportInsurancePolicyMapper.queryPayApplyUserReportData(page,
+                reqDto);
+        Long total = reportInsurancePolicyMapper.queryPayApplyUserReportDataCount(reqDto);
+        payApplyReportResVoPage.setTotal(total);
+        return new BasePageResult<>(reqDto.getPageNum(), reqDto.getPageSize(),
+                payApplyReportResVoPage.getTotal(), payApplyReportResVoPage.getPages()
+                , payApplyReportResVoPage.getRecords());
+    }
+
+    @Override
+    public HttpResult<String> exportPayApplyUserReportData(PayApplyUserReportReqVo reqDto) {
+        List<PayApplyUserReportResVo> payApplyUserReportResVoList = reportInsurancePolicyMapper.queryPayApplyUserReportData(reqDto);
+        String s = EasyExcelUtils.downExcel(uploadFilePath, PayApplyUserReportResVo.class, payApplyUserReportResVoList);
+        return HttpResult.ok("", s);
+    }
+    @Override
+    public BasePageResult<PayApplyDeptReportResVo> getPayApplyDeptReportData(PayApplyDeptReportReqVo reqDto) {
+        Page<InsOrders> page = new Page<>(reqDto.getPageNum(), reqDto.getPageSize());
+        page.setSearchCount(false).setOptimizeCountSql(false);//关闭count查询
+        Page<PayApplyDeptReportResVo> payApplyDeptReportResVoPage = reportInsurancePolicyMapper.queryPayApplyDeptReportData(page,
+                reqDto);
+        Long total = reportInsurancePolicyMapper.queryPayApplyDeptReportDataCount(reqDto);
+        payApplyDeptReportResVoPage.setTotal(total);
+        return new BasePageResult<>(reqDto.getPageNum(), reqDto.getPageSize(),
+                payApplyDeptReportResVoPage.getTotal(), payApplyDeptReportResVoPage.getPages()
+                , payApplyDeptReportResVoPage.getRecords());
+    }
+
+    @Override
+    public HttpResult<String> exportPayApplyDeptReportData(PayApplyDeptReportReqVo reqDto) {
+        List<PayApplyDeptReportResVo> payApplyUserReportResVoList = reportInsurancePolicyMapper.queryPayApplyDeptReportData(reqDto);
+        String s = EasyExcelUtils.downExcel(uploadFilePath, PayApplyUserReportResVo.class, payApplyUserReportResVoList);
+        return HttpResult.ok("", s);
+    }
 }

+ 179 - 0
src/main/resources/mapper/modules/report/ReportInsurancePolicyMapper.xml

@@ -748,4 +748,183 @@
         </if>
 
     </select>
+
+
+
+    <!--===========================================分割线=======报表手续费和分销费=================================================-->
+
+    <resultMap id="PayApplyUserReportDataMap" type="com.ydtech.modules.report.model.vo.PayApplyUserReportResVo">
+        <result property="institution" column="institution" jdbcType="VARCHAR"/>
+        <result property="deptname" column="deptname" jdbcType="VARCHAR"/>
+        <result property="username" column="username" jdbcType="VARCHAR"/>
+        <result property="waitPayCostsPremiums" column="wait_pay_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="paidCostsPremiums" column="paid_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="sumCostsPremiums" column="sum_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="waitPayRetailPremiums" column="wait_pay_retail_premiums" jdbcType="DECIMAL"/>
+        <result property="paidRetailPremiums" column="paid_retail_premiums" jdbcType="DECIMAL"/>
+        <result property="sumRetailPremiums" column="sum_retail_premiums" jdbcType="DECIMAL"/>
+    </resultMap>
+
+
+    <select id="queryPayApplyUserReportData"  resultMap="PayApplyUserReportDataMap">
+        SELECT deptid,
+            <if test="reportReqVo.userId != null and reportReqVo.userId != ''">
+                userid,
+            </if>
+          SUM( CASE feetype  WHEN '1'  THEN totalfee  ELSE 0  END )  AS sum_costs_premiums,
+          SUM( CASE feetype  WHEN '1'  THEN paidfee  ELSE 0  END )  AS paid_costs_premiums,
+          SUM( CASE feetype  WHEN '1'  THEN totalfee-paidfee  ELSE 0  END )  AS wait_pay_costs_premiums,
+          SUM( CASE feetype  WHEN '2'  THEN totalfee  ELSE 0  END )  AS sum_retail_premiums,
+          SUM( CASE feetype  WHEN '2'  THEN paidfee  ELSE 0  END )  AS paid_retail_premiums,
+          SUM( CASE feetype  WHEN '2'  THEN totalfee-paidfee  ELSE 0  END )  AS wait_pay_retail_premiums
+        FROM report_payable_basedata  p WHERE 1=1
+        <choose>
+            <!--条件中团队不为空时,直接拼接团队-->
+            <when test="reportReqVo.teamCode != null and reportReqVo.teamCode != ''">
+                and p.deptid = #{reportReqVo.teamCode}
+            </when>
+            <!--条件中团队为空时,使用机构模糊查询-->
+            <otherwise>
+                <if test="reportReqVo.deptId != null and reportReqVo.deptId != ''">
+                    and p.deptid like #{reportReqVo.deptId}"%"
+                </if>
+            </otherwise>
+        </choose>
+        <if test="reportReqVo.userId != null and reportReqVo.userId != ''">
+            and p.userId = #{reportReqVo.userId}
+        </if>
+        <if test="reportReqVo.insCompany != null and reportReqVo.insCompany != ''">
+            and p.inscompany = #{reportReqVo.insCompany}
+        </if>
+        <if test="reportReqVo.quoteStartDate != null and reportReqVo.quoteEndDate != null">
+            and p.signdate  between #{reportReqVo.quoteStartDate} AND #{reportReqVo.quoteEndDate}
+        </if>
+        group by deptid
+        <if test="reportReqVo.userId != null and reportReqVo.userId != ''">
+            ,userid
+        </if>
+    </select>
+    <select id="queryPayApplyUserReportDataCount" resultType="Long">
+        select
+        count(1)
+        from (
+        SELECT deptid,
+        <if test="reportReqVo.userId != null and reportReqVo.userId != ''">
+            userid,
+        </if>
+        SUM( CASE feetype  WHEN '1'  THEN totalfee  ELSE 0  END )  AS sum_costs_premiums,
+        SUM( CASE feetype  WHEN '1'  THEN paidfee  ELSE 0  END )  AS paid_costs_premiums,
+        SUM( CASE feetype  WHEN '1'  THEN totalfee-paidfee  ELSE 0  END )  AS wait_pay_costs_premiums,
+        SUM( CASE feetype  WHEN '2'  THEN totalfee  ELSE 0  END )  AS sum_retail_premiums,
+        SUM( CASE feetype  WHEN '2'  THEN paidfee  ELSE 0  END )  AS paid_retail_premiums,
+        SUM( CASE feetype  WHEN '2'  THEN totalfee-paidfee  ELSE 0  END )  AS wait_pay_retail_premiums
+        FROM report_payable_basedata  p WHERE 1=1
+        <choose>
+            <!--条件中团队不为空时,直接拼接团队-->
+            <when test="reportReqVo.teamCode != null and reportReqVo.teamCode != ''">
+                and p.deptid = #{reportReqVo.teamCode}
+            </when>
+            <!--条件中团队为空时,使用机构模糊查询-->
+            <otherwise>
+                <if test="reportReqVo.deptId != null and reportReqVo.deptId != ''">
+                    and p.deptid like #{reportReqVo.deptId}"%"
+                </if>
+            </otherwise>
+        </choose>
+        <if test="reportReqVo.userId != null and reportReqVo.userId != ''">
+            and p.userId = #{reportReqVo.userId}
+        </if>
+        <if test="reportReqVo.insCompany != null and reportReqVo.insCompany != ''">
+            and p.inscompany = #{reportReqVo.insCompany}
+        </if>
+        <if test="reportReqVo.quoteStartDate != null and reportReqVo.quoteEndDate != null">
+            and p.signdate  between #{reportReqVo.quoteStartDate} AND #{reportReqVo.quoteEndDate}
+        </if>
+        group by deptid
+        <if test="reportReqVo.userId != null and reportReqVo.userId != ''">
+            ,userid
+        </if>
+        ) as s
+    </select>
+    <resultMap id="PayApplyUserReportListDataMap" type="com.ydtech.modules.report.model.vo.PayApplyUserReportResVo">
+        <result property="institution" column="institution" jdbcType="VARCHAR"/>
+        <result property="deptname" column="deptname" jdbcType="VARCHAR"/>
+        <result property="username" column="username" jdbcType="VARCHAR"/>
+        <result property="inscompany" column="inscompany" jdbcType="VARCHAR"/>
+        <result property="policyno" column="policyno" jdbcType="VARCHAR"/>
+        <result property="riskcode" column="riskcode" jdbcType="VARCHAR"/>
+        <result property="waitPayCostsPremiums" column="wait_pay_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="paidCostsPremiums" column="paid_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="sumCostsPremiums" column="sum_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="waitPayRetailPremiums" column="wait_pay_retail_premiums" jdbcType="DECIMAL"/>
+        <result property="paidRetailPremiums" column="paid_retail_premiums" jdbcType="DECIMAL"/>
+        <result property="sumRetailPremiums" column="sum_retail_premiums" jdbcType="DECIMAL"/>
+    </resultMap>
+    <select id="queryPayApplyUserReportList" resultMap="PayApplyUserReportListDataMap">
+        SELECT deptname,username,inscompany,policyno,riskcode,
+          CASE feetype  WHEN '1'  THEN totalfee  ELSE 0  END   AS sum_costs_premiums,
+          CASE feetype  WHEN '1'  THEN paidfee  ELSE 0  END   AS paid_costs_premiums,
+          CASE feetype  WHEN '1'  THEN totalfee-paidfee  ELSE 0  END   AS wait_pay_costs_premiums,
+          CASE feetype  WHEN '2'  THEN totalfee  ELSE 0  END   AS sum_retail_premiums,
+          CASE feetype  WHEN '2'  THEN paidfee  ELSE 0  END  AS paid_retail_premiums,
+          CASE feetype  WHEN '2'  THEN totalfee-paidfee  ELSE 0  END   AS wait_pay_retail_premiums
+        FROM report_payable_basedata  p WHERE 1=1
+        <choose>
+            <!--条件中团队不为空时,直接拼接团队-->
+            <when test="reportReqVo.teamCode != null and reportReqVo.teamCode != ''">
+                and p.deptid = #{reportReqVo.teamCode}
+            </when>
+            <!--条件中团队为空时,使用机构模糊查询-->
+            <otherwise>
+                <if test="reportReqVo.deptId != null and reportReqVo.deptId != ''">
+                    and p.deptid like #{reportReqVo.deptId}"%"
+                </if>
+            </otherwise>
+        </choose>
+        <if test="reportReqVo.userId != null and reportReqVo.userId != ''">
+            and p.userId = #{reportReqVo.userId}
+        </if>
+        <if test="reportReqVo.insCompany != null and reportReqVo.insCompany != ''">
+            and p.inscompany = #{reportReqVo.insCompany}
+        </if>
+        <if test="reportReqVo.quoteStartDate != null and reportReqVo.quoteEndDate != null">
+            and p.signdate  between #{reportReqVo.quoteStartDate} AND #{reportReqVo.quoteEndDate}
+        </if>
+    </select>
+    <!--===========================================分割线=======报表管理费=================================================-->
+    <resultMap id="PayApplyDeptReportDataMap" type="com.ydtech.modules.report.model.vo.PayApplyDeptReportResVo">
+        <result property="institution" column="institution" jdbcType="VARCHAR"/>
+        <result property="deptname" column="deptname" jdbcType="VARCHAR"/>
+        <result property="username" column="username" jdbcType="VARCHAR"/>
+        <result property="waitPayCostsPremiums" column="wait_pay_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="paidCostsPremiums" column="paid_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="sumCostsPremiums" column="sum_costs_premiums" jdbcType="DECIMAL"/>
+        <result property="waitPayRetailPremiums" column="wait_pay_retail_premiums" jdbcType="DECIMAL"/>
+        <result property="paidRetailPremiums" column="paid_retail_premiums" jdbcType="DECIMAL"/>
+        <result property="sumRetailPremiums" column="sum_retail_premiums" jdbcType="DECIMAL"/>
+    </resultMap>
+    <select id="queryPayApplyDeptReportData"  resultMap="PayApplyDeptReportDataMap">
+        SELECT
+        count(distinct policyno) policy_count,
+        SUM(p.`sumpremium`) sumpremium,
+        SUM(p.`supervise_costs_premiums`) supervise_costs_premiums,
+        SUM(p.`other_costs_premiums`) other_costs_premiums,
+        SUM(p.`sum_costs_premiums`) sum_costs_premiums
+        FROM
+        report_payable_basedata p WHERE 1=1
+    </select>
+    <select id="queryPayApplyDeptReportDataCount" resultType="Long">
+        select
+        count(1)
+        from (
+        SELECT
+        count(distinct policyno) policy_count,
+        SUM(p.`sumpremium`) sumpremium,
+        SUM(p.`supervise_costs_premiums`) supervise_costs_premiums,
+        SUM(p.`other_costs_premiums`) other_costs_premiums,
+        SUM(p.`sum_costs_premiums`) sum_costs_premiums
+        FROM
+        report_payable_basedata p WHERE 1=1
+        ) as s
+    </select>
 </mapper>