Преглед на файлове

提交保险公司的保险公司-签单保费
保险公司-报价次数
后续处理 日平台、目标保费、完成进度、毛利润率 这些

hxl13994548489 преди 2 години
родител
ревизия
46c02b05d2

+ 64 - 0
src/main/java/com/ydtech/modules/admin/controller/CompanyDataReportConroller.java

@@ -0,0 +1,64 @@
+package com.ydtech.modules.admin.controller;
+
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.report.company.CompanyPremiumDataDto;
+import com.ydtech.modules.admin.model.report.company.CompanyPremiumDataQueryDto;
+import com.ydtech.modules.admin.model.report.company.CompanyQutationCountDataDto;
+import com.ydtech.modules.admin.model.report.company.CompanyQutationCountDataQueryDto;
+import com.ydtech.modules.admin.service.CompanyDataReportService;
+import com.ydtech.modules.order.entity.BasePageResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 14:50
+ *  @Description: 保险公司数据统计
+ */
+@Api(tags = "保险公司数据统计")
+@RequestMapping("/companyDataReport")
+@RestController
+public class CompanyDataReportConroller {
+
+    @Autowired
+    private CompanyDataReportService companyDataReportService;
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 15:34
+     *  @Description:  保险公司-签单保费
+     */
+    @PostMapping("queryCompanyPremiumDataPage")
+    @ApiOperation(value = "保险公司-签单保费")
+    public HttpResult<BasePageResult<CompanyPremiumDataDto>> queryCompanyPremiumDataPage(@RequestBody CompanyPremiumDataQueryDto companyPremiumDataQueryDto) {
+        try{
+            BasePageResult<CompanyPremiumDataDto> result = companyDataReportService.queryCompanyPremiumDataPage(companyPremiumDataQueryDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 15:35
+     *  @Description:   查询报价次数数据
+     */
+    @PostMapping("queryCompanyQutationCountDataPage")
+    @ApiOperation(value = "查询报价次数数据")
+    public HttpResult<BasePageResult<CompanyQutationCountDataDto>> queryCompanyQutationCountDataPage(@RequestBody CompanyQutationCountDataQueryDto companyQutationCountDataQueryDto) {
+        try{
+            BasePageResult<CompanyQutationCountDataDto> result = companyDataReportService.queryCompanyQutationCountDataPage(companyQutationCountDataQueryDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+}

+ 58 - 0
src/main/java/com/ydtech/modules/admin/model/report/company/CompanyPremiumDataDto.java

@@ -0,0 +1,58 @@
+package com.ydtech.modules.admin.model.report.company;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 15:20
+ *  @Description: 保险公司签单保费
+ */
+@Data
+@ApiModel("保险公司签单保费数据对象")
+public class CompanyPremiumDataDto {
+
+    @ApiModelProperty("保险公司id")
+    private  String companyId;
+
+    @ApiModelProperty("保险公司名称")
+    private String companyName;
+
+    @ApiModelProperty("保司机构名称")
+    private String parterCompanyName;
+
+    @ApiModelProperty("保司机构id")
+    private String parterCompanyId;
+
+
+    /***
+     *  小订单报价数
+     */
+    @ApiModelProperty("签单保费")
+    private BigDecimal signeSumPremiumAmount;
+    /***
+     *  日平台
+     */
+    @ApiModelProperty("日平台")
+    private BigDecimal dayAmount;
+    /***
+     *  目标保费
+     */
+    @ApiModelProperty("目标保费")
+    private BigDecimal targetAmount;
+    /***
+     *  完成进度
+     */
+    @ApiModelProperty("完成进度")
+    private BigDecimal finishRate;
+
+    /***
+     * 毛利润率
+     */
+    @ApiModelProperty("毛利润率")
+    private BigDecimal grossProfitRate;
+}

+ 29 - 0
src/main/java/com/ydtech/modules/admin/model/report/company/CompanyPremiumDataQueryDto.java

@@ -0,0 +1,29 @@
+package com.ydtech.modules.admin.model.report.company;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 15:32
+ *  @Description: 保险公司签单保费数据对象
+ */
+@Data
+@ApiModel("保险公司签单保费数据对象")
+public class CompanyPremiumDataQueryDto {
+
+    @ApiModelProperty("保险公司id")
+    private  String companyId;
+
+    @ApiModelProperty("保司机构id")
+    private String parterCompanyId;
+
+    @ApiModelProperty("页码")
+    private int pageNum;
+
+    @ApiModelProperty("页数")
+    private int pageSize;
+
+}

+ 64 - 0
src/main/java/com/ydtech/modules/admin/model/report/company/CompanyQutationCountDataDto.java

@@ -0,0 +1,64 @@
+package com.ydtech.modules.admin.model.report.company;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 15:26
+ *  @Description: 保险公司报价次数
+ */
+@Data
+@ApiModel("保险公司报价次数数据对象")
+public class CompanyQutationCountDataDto {
+
+    @ApiModelProperty("保险公司id")
+    private  String companyId;
+
+    @ApiModelProperty("保险公司名称")
+    private String companyName;
+
+    @ApiModelProperty("保司机构名称")
+    private String parterCompanyName;
+
+    @ApiModelProperty("保司机构id")
+    private String parterCompanyId;
+
+
+    /***
+     *  小订单报价数
+     */
+    @ApiModelProperty("报价数")
+    private int qutationCount;
+    /***
+     *  小订单核保数
+     */
+    @ApiModelProperty("核保数")
+    private int underwritingCount;
+    /***
+     *  小订单承保数
+     */
+    @ApiModelProperty("承保数")
+    private int qutationInsureCount;
+    /***
+     *  核保数/报价数=通过率
+     */
+    @ApiModelProperty("通过率")
+    private BigDecimal passRate;
+
+    /***
+     *  承保数/报价数=成交率
+     */
+    @ApiModelProperty("成交率")
+    private BigDecimal closeRate;
+
+    /***
+     *  承保数/核保书=缴费率
+     */
+    @ApiModelProperty("缴费率")
+    private BigDecimal contributionRate;
+}

+ 29 - 0
src/main/java/com/ydtech/modules/admin/model/report/company/CompanyQutationCountDataQueryDto.java

@@ -0,0 +1,29 @@
+package com.ydtech.modules.admin.model.report.company;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 15:33
+ *  @Description:  保险公司报价次数查询对象
+ */
+@Data
+@ApiModel("保险公司报价次数查询对象")
+public class CompanyQutationCountDataQueryDto {
+
+    @ApiModelProperty("保险公司id")
+    private  String companyId;
+
+    @ApiModelProperty("保司机构id")
+    private String parterCompanyId;
+
+    @ApiModelProperty("页码")
+    private int pageNum;
+
+    @ApiModelProperty("页数")
+    private int pageSize;
+
+}

+ 35 - 0
src/main/java/com/ydtech/modules/admin/service/CompanyDataReportService.java

@@ -0,0 +1,35 @@
+package com.ydtech.modules.admin.service;
+
+
+import com.ydtech.modules.admin.model.report.company.CompanyPremiumDataDto;
+import com.ydtech.modules.admin.model.report.company.CompanyPremiumDataQueryDto;
+import com.ydtech.modules.admin.model.report.company.CompanyQutationCountDataDto;
+import com.ydtech.modules.admin.model.report.company.CompanyQutationCountDataQueryDto;
+import com.ydtech.modules.order.entity.BasePageResult;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/3 15:36
+ *  @Description:  控制台之保险公司数据
+ */
+public interface CompanyDataReportService {
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 15:34
+     *  @Description: 查询签单保费对象
+     */
+    BasePageResult<CompanyPremiumDataDto> queryCompanyPremiumDataPage(CompanyPremiumDataQueryDto companyPremiumDataQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 15:36
+     *  @Description: 查询报价次数对象
+     */
+    BasePageResult<CompanyQutationCountDataDto> queryCompanyQutationCountDataPage(CompanyQutationCountDataQueryDto companyQutationCountDataQueryDto);
+}
+
+
+

+ 59 - 0
src/main/java/com/ydtech/modules/admin/service/impl/CompanyDataReportServiceImpl.java

@@ -0,0 +1,59 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.report.company.CompanyPremiumDataDto;
+import com.ydtech.modules.admin.model.report.company.CompanyPremiumDataQueryDto;
+import com.ydtech.modules.admin.model.report.company.CompanyQutationCountDataDto;
+import com.ydtech.modules.admin.model.report.company.CompanyQutationCountDataQueryDto;
+import com.ydtech.modules.admin.model.report.opetationData.QuotationCountDataDto;
+import com.ydtech.modules.admin.service.CompanyDataReportService;
+import com.ydtech.modules.order.dao.InsAreaCompanyMapper;
+import com.ydtech.modules.order.entity.BasePageResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/1 11:36
+ *  @Description: 控制台-运营数据
+ */
+@Service
+public class CompanyDataReportServiceImpl implements CompanyDataReportService {
+
+
+    @Autowired
+    private InsAreaCompanyMapper   insAreaCompanyMapper;
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 15:38
+     *  @Description:  查询保险公司的数据
+     */
+    @Override
+    public BasePageResult<CompanyPremiumDataDto> queryCompanyPremiumDataPage(CompanyPremiumDataQueryDto companyPremiumDataQueryDto) {
+        Page<QuotationCountDataDto> page = new Page<>(companyPremiumDataQueryDto.getPageNum(), companyPremiumDataQueryDto.getPageSize());
+        Page<CompanyPremiumDataDto> resultSubOrder = insAreaCompanyMapper.queryCompanyPremiumDataPage(companyPremiumDataQueryDto, page);
+        //目前只统计签单保费,其他字段后期在处理
+
+        return new BasePageResult<>(companyPremiumDataQueryDto.getPageNum(), page.getSize(), resultSubOrder.getTotal(), page.getPages(),
+                resultSubOrder.getRecords());
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 15:38
+     *  @Description:  查询保险报价次数数据
+     */
+    @Override
+    public BasePageResult<CompanyQutationCountDataDto> queryCompanyQutationCountDataPage(CompanyQutationCountDataQueryDto companyQutationCountDataQueryDto) {
+        Page<QuotationCountDataDto> page = new Page<>(companyQutationCountDataQueryDto.getPageNum(), companyQutationCountDataQueryDto.getPageSize());
+        Page<CompanyQutationCountDataDto> resultSubOrder = insAreaCompanyMapper.queryCompanyQutationCountDataPage(companyQutationCountDataQueryDto, page);
+        return new BasePageResult<>(companyQutationCountDataQueryDto.getPageNum(), page.getSize(), resultSubOrder.getTotal(), page.getPages(),
+                resultSubOrder.getRecords());
+    }
+}
+
+
+