ソースを参照

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

wks 2 年 前
コミット
8b7f2fb2b0
21 ファイル変更655 行追加34 行削除
  1. 50 18
      src/main/java/com/ydtech/modules/admin/controller/FinanceDataReportConroller.java
  2. 9 0
      src/main/java/com/ydtech/modules/admin/dao/SysDeptAccountHistoryMapper.java
  3. 9 0
      src/main/java/com/ydtech/modules/admin/dao/SysUserAccountHistoryMapper.java
  4. 6 1
      src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualQueryDto.java
  5. 40 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/ExpensesDataDto.java
  6. 40 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/ExpensesQueryDto.java
  7. 58 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/ProfitDataDto.java
  8. 29 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/ProfitQueryDto.java
  9. 46 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/RevenueAndExpenditureDataDto.java
  10. 44 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/RevenueAndExpenditureDeptDataDto.java
  11. 50 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/RevenueAndExpenditureDeptQueryDto.java
  12. 50 0
      src/main/java/com/ydtech/modules/admin/model/report/financeData/RevenueAndExpenditureQueryDto.java
  13. 31 4
      src/main/java/com/ydtech/modules/admin/service/FinanceDataReportService.java
  14. 77 4
      src/main/java/com/ydtech/modules/admin/service/impl/FinanceDataReportServiceImpl.java
  15. 3 4
      src/main/java/com/ydtech/modules/admin/service/impl/OperationDataReportServiceImpl.java
  16. 4 0
      src/main/java/com/ydtech/modules/inv/dao/InvAccountExcelMapper.java
  17. 3 3
      src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java
  18. 23 0
      src/main/resources/mapper/modules/admin/SysDeptAccountHistoryMapper.xml
  19. 48 0
      src/main/resources/mapper/modules/admin/SysUserAccountHistoryMapper.xml
  20. 29 0
      src/main/resources/mapper/modules/inv/InvAccountExcelMapper.xml
  21. 6 0
      src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

+ 50 - 18
src/main/java/com/ydtech/modules/admin/controller/FinanceDataReportConroller.java

@@ -1,13 +1,7 @@
 package com.ydtech.modules.admin.controller;
 
 import com.ydtech.core.page.HttpResult;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptDataDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptQueryDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualQueryDto;
-import com.ydtech.modules.admin.model.report.opetationData.OperationsPersonnelDataDto;
-import com.ydtech.modules.admin.model.report.opetationData.QuotationCountDataDto;
-import com.ydtech.modules.admin.model.report.opetationData.QuotationCountQueryDto;
+import com.ydtech.modules.admin.model.report.financeData.*;
 import com.ydtech.modules.admin.service.FinanceDataReportService;
 import com.ydtech.modules.order.entity.BasePageResult;
 import io.swagger.annotations.Api;
@@ -18,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  *  @version
  *  @author: hxl
@@ -70,15 +66,14 @@ public class FinanceDataReportConroller {
     /**
      *  @version
      *  @author: hxl
-     *  @Date: 2024/7/3 11:17
+     *  @Date: 2024/7/3 11:17   revenue and expenditure
      *  @Description:   财务数据 -渠道/代理人 - 已提现/提现中/驳回的金额
      */
-    @PostMapping("queryQuotationCountDataPage11")
-    @ApiOperation(value = "查询报价次数数据")
-    public HttpResult<BasePageResult<QuotationCountDataDto>> queryQuotationCountDataPage(@RequestBody QuotationCountQueryDto quotationCountQueryDto) {
+    @PostMapping("queryRevenueAndExpenditureDataPage")
+    @ApiOperation(value = "查询财务数据 -渠道/代理人 - 已提现/提现中/驳回的金额数据")
+    public HttpResult<BasePageResult<RevenueAndExpenditureDataDto>> queryRevenueAndExpenditureDataPage(@RequestBody RevenueAndExpenditureQueryDto revenueAndExpenditureQueryDto) {
         try{
-            BasePageResult<QuotationCountDataDto> result = null;
-                   // financeDataReportService.queryQuotationCountDataPage(quotationCountQueryDto);
+            BasePageResult<RevenueAndExpenditureDataDto> result = financeDataReportService.queryRevenueAndExpenditureDataPage(revenueAndExpenditureQueryDto);
             return HttpResult.ok("查询数据成功", result);
         }catch (Exception e){
             return HttpResult.error("查询错误"+e.getMessage());
@@ -91,12 +86,49 @@ public class FinanceDataReportConroller {
      *  @Date: 2024/7/3 11:17
      *  @Description: 财务数据 -机构 - 已提现/提现中/驳回的金额
      */
-    @PostMapping("queryOperationsPersonnelDataPage22")
-    @ApiOperation(value = "查询运营人员数据")
-    public HttpResult<BasePageResult<OperationsPersonnelDataDto>> queryOperationsPersonnelDataPage(@RequestBody QuotationCountQueryDto quotationCountQueryDto) {
+    @PostMapping("queryRevenueAndExpenditureDeptDataPage")
+    @ApiOperation(value = "查询财务数据 -机构 - 已提现/提现中/驳回的金额")
+    public HttpResult<BasePageResult<RevenueAndExpenditureDeptDataDto>> queryRevenueAndExpenditureDeptDataPage(@RequestBody RevenueAndExpenditureDeptQueryDto revenueAndExpenditureDeptQueryDto) {
+        try{
+            // todo 机构历史记录表未关联审核表的id  无法联查
+            // todo  审核表中缺少审核时间,驳回人,驳回时间,驳回原因
+            BasePageResult<RevenueAndExpenditureDeptDataDto> result = financeDataReportService.queryRevenueAndExpenditureDeptDataPage(revenueAndExpenditureDeptQueryDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 11:17
+     *  @Description: 财务数据 -费用支出
+     */
+    @PostMapping("queryExpensesDataPage")
+    @ApiOperation(value = "查询费用支出数据")
+    public HttpResult<BasePageResult<ExpensesDataDto>> queryExpensesDataPage(@RequestBody ExpensesQueryDto expensesQueryDto) {
+        try{
+            // todo 缺少板块、凭证号
+            BasePageResult<ExpensesDataDto> result = financeDataReportService.queryExpensesDataPage(expensesQueryDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/3 11:17
+     *  @Description: 财务数据 --利润
+     */
+    @PostMapping("queryProfitDataPage")
+    @ApiOperation(value = "查询财务数据利润数据")
+    public HttpResult<List<ProfitDataDto>> queryProfitDataPage(@RequestBody ProfitQueryDto profitQueryDto) {
         try{
-            BasePageResult<OperationsPersonnelDataDto> result = null;
-                    //financeDataReportService.queryOperationsPersonnelDataPage(quotationCountQueryDto);
+            // todo 暂时不知道哪里获取数据
+            List<ProfitDataDto> result = financeDataReportService.queryProfitDataPage(profitQueryDto);
             return HttpResult.ok("查询数据成功", result);
         }catch (Exception e){
             return HttpResult.error("查询错误"+e.getMessage());

+ 9 - 0
src/main/java/com/ydtech/modules/admin/dao/SysDeptAccountHistoryMapper.java

@@ -4,10 +4,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.admin.model.SysDeptAccountHistory;
 import com.ydtech.modules.admin.model.dto.SysDeptAccountHistoryDto;
+import com.ydtech.modules.admin.model.report.financeData.RevenueAndExpenditureDeptDataDto;
+import com.ydtech.modules.admin.model.report.financeData.RevenueAndExpenditureDeptQueryDto;
 import org.apache.ibatis.annotations.Param;
 
 
 
 public interface SysDeptAccountHistoryMapper extends BaseMapper<SysDeptAccountHistory> {
     Page<SysDeptAccountHistory> getDeptHistory(Page page,@Param("sysDeptAccountHistoryDto") SysDeptAccountHistoryDto sysDeptAccountHistoryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 14:54
+     *  @Description:  查询五级机构的收支明细
+     */
+    Page<RevenueAndExpenditureDeptDataDto> queryAdvanceAndActualDeptDataPage(@Param("vo") RevenueAndExpenditureDeptQueryDto revenueAndExpenditureDeptQueryDto, @Param("page") Page<RevenueAndExpenditureDeptDataDto> page);
 }

+ 9 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserAccountHistoryMapper.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.po.SysUserAccountHistory;
+import com.ydtech.modules.admin.model.report.financeData.RevenueAndExpenditureDataDto;
+import com.ydtech.modules.admin.model.report.financeData.RevenueAndExpenditureQueryDto;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -81,6 +83,13 @@ public interface SysUserAccountHistoryMapper extends BaseMapper<SysUserAccountHi
      *  @Description: 导出
      */
     List<ExportExpenditureTypeDetalsSZDto> exportMyIncomeAndExpensesAmountNewByUserId(@Param("vo") MyCollectInAdvanceQueryNewDto myCollectInAdvanceQueryNewDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 14:41
+     *  @Description: 查询代理人、渠道的收支明细
+     */
+    Page<RevenueAndExpenditureDataDto> queryRevenueAndExpenditureDataPage(@Param("vo") RevenueAndExpenditureQueryDto revenueAndExpenditureQueryDto, @Param("page") Page<RevenueAndExpenditureDataDto> page);
 }
 
 

+ 6 - 1
src/main/java/com/ydtech/modules/admin/model/report/financeData/AdvanceAndActualQueryDto.java

@@ -14,11 +14,16 @@ import lombok.Data;
 @ApiModel("预收、实收数据对象")
 public class AdvanceAndActualQueryDto {
 
+    /***
+     * 机构id
+     */
+    @ApiModelProperty("机构id")
+    private String deptId;
     /***
      * 用户id
      */
     @ApiModelProperty("用户id")
-    private String deptId;
+    private String userId;
     /***
      * 用户名称
      */

+ 40 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/ExpensesDataDto.java

@@ -0,0 +1,40 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 15:12
+ *  @Description: 费用支出
+ */
+@Data
+@ApiModel("费用支出数据对象")
+public class ExpensesDataDto {
+
+    @ApiModelProperty(value = "转账日期")
+    private  String transferAccountsDate;
+
+    @ApiModelProperty(value = "板块")
+    private  String  businessSegmentsType;
+
+    @ApiModelProperty(value = "部门")
+    private  String  deptName;
+
+    @ApiModelProperty(value = "费用类型")
+    private  String  costType;
+
+    @ApiModelProperty(value = "摘要")
+    private  String   abstracts;
+
+    @ApiModelProperty(value = "备注")
+    private  String  remark;
+
+    @ApiModelProperty(value = "金额")
+    private  String   amount;
+
+    @ApiModelProperty(value = "凭证号")
+    private  String  voucherNo;
+}

+ 40 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/ExpensesQueryDto.java

@@ -0,0 +1,40 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 15:12
+ *  @Description: 费用支出查询对象
+ */
+@Data
+@ApiModel("费用支出查询对象")
+public class ExpensesQueryDto {
+
+    @ApiModelProperty(value = "板块")
+    private  String  businessSegmentsType;
+
+    @ApiModelProperty(value = "费用类型")
+    private  String  costType;
+
+    @ApiModelProperty("页码")
+    private int pageNum;
+
+    @ApiModelProperty("页数")
+    private int pageSize;
+
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty("开始时间")
+    private String startDate;
+
+    /***
+     *  结束时间
+     */
+    @ApiModelProperty("endData")
+    private String endData;
+}

+ 58 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/ProfitDataDto.java

@@ -0,0 +1,58 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 15:49
+ *  @Description:  利润对象
+ */
+@Data
+@ApiModel("利润对象")
+public class ProfitDataDto {
+
+    @ApiModelProperty(value = "板块")
+    private  String  businessSegmentsType;
+
+    @ApiModelProperty(value = "收入")
+    private BigDecimal incomeAmount;
+    @ApiModelProperty(value = "成本")
+    private BigDecimal costAmount;
+
+    @ApiModelProperty(value = "毛利润")
+    private BigDecimal grossProfitAmount;
+    @ApiModelProperty(value = "毛利润率")
+    private BigDecimal grossProfitRate;
+
+    @ApiModelProperty(value = "费用支出")
+    private BigDecimal expenses;
+
+    @ApiModelProperty(value = "经营利润")
+    private BigDecimal operatingProfitAmount;
+
+    @ApiModelProperty(value = "税费")
+    private BigDecimal taxationAmount;
+
+    @ApiModelProperty(value = "净利润")
+    private BigDecimal netProfit;
+
+    public ProfitDataDto() {
+    }
+
+    public ProfitDataDto(String businessSegmentsType, BigDecimal incomeAmount, BigDecimal costAmount, BigDecimal grossProfitAmount, BigDecimal grossProfitRate, BigDecimal expenses, BigDecimal operatingProfitAmount, BigDecimal taxationAmount, BigDecimal netProfit) {
+        this.businessSegmentsType = businessSegmentsType;
+        this.incomeAmount = incomeAmount;
+        this.costAmount = costAmount;
+        this.grossProfitAmount = grossProfitAmount;
+        this.grossProfitRate = grossProfitRate;
+        this.expenses = expenses;
+        this.operatingProfitAmount = operatingProfitAmount;
+        this.taxationAmount = taxationAmount;
+        this.netProfit = netProfit;
+    }
+}

+ 29 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/ProfitQueryDto.java

@@ -0,0 +1,29 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 15:49
+ *  @Description:  利润对象
+ */
+@Data
+@ApiModel("利润对象")
+public class ProfitQueryDto {
+
+    @ApiModelProperty(value = "年")
+    private  String  year;
+
+    @ApiModelProperty(value = "月")
+    private String month;
+
+    @ApiModelProperty(value = "日")
+    private String day;
+
+    @ApiModelProperty(value = "周")
+    private String week;
+
+}

+ 46 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/RevenueAndExpenditureDataDto.java

@@ -0,0 +1,46 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 14:20
+ *  @Description: 渠道、代理人的收支明细
+ */
+@Data
+@ApiModel("渠道、代理人的收支明细数据对象")
+public class RevenueAndExpenditureDataDto {
+
+    @ApiModelProperty(value = "用户id")
+    private  String userId;
+
+    @ApiModelProperty(value = "用户名称")
+    private  String userName;
+
+    @ApiModelProperty(value = "机构种类")
+    private  String deptType;
+
+    @ApiModelProperty(value = "提现日期")
+    private  String createTime;
+
+
+    @ApiModelProperty(value = "交易号")
+    private String  auditiingId;
+
+
+    @ApiModelProperty(value = "提现金额")
+    private BigDecimal amount;
+
+
+    @ApiModelProperty(value = "提现状态")
+    private String auditingStatus;
+
+    @ApiModelProperty(value = "到账日期")
+    private String auditingTime;
+
+}

+ 44 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/RevenueAndExpenditureDeptDataDto.java

@@ -0,0 +1,44 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 14:20
+ *  @Description: 机构的收支明细
+ */
+@Data
+@ApiModel("机构的收支明细数据对象")
+public class RevenueAndExpenditureDeptDataDto {
+
+
+    @ApiModelProperty(value = "机构id")
+    private  String deptId;
+
+
+    @ApiModelProperty(value = "机构名称")
+    private  String deptName;
+    @ApiModelProperty(value = "提现日期")
+    private  String createTime;
+
+
+    @ApiModelProperty(value = "交易号")
+    private String  auditiingId;
+
+
+    @ApiModelProperty(value = "提现金额")
+    private BigDecimal amount;
+
+
+    @ApiModelProperty(value = "提现状态")
+    private String auditingStatus;
+
+    @ApiModelProperty(value = "到账日期")
+    private String auditingTime;
+
+}

+ 50 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/RevenueAndExpenditureDeptQueryDto.java

@@ -0,0 +1,50 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 14:20
+ *  @Description: 机构的收支明细
+ */
+@Data
+@ApiModel("机构的收支明细查询数据对象")
+public class RevenueAndExpenditureDeptQueryDto {
+
+
+    /***
+     * 机构id
+     */
+    @ApiModelProperty("机构id")
+    private String deptId;
+
+    /***
+     *   2.3.4
+     */
+    @ApiModelProperty(value = "提现状态  2提现中 3.已提现 4.驳回")
+    private String auditstatus;
+
+
+    @ApiModelProperty("页码")
+    private int pageNum;
+
+    @ApiModelProperty("页数")
+    private int pageSize;
+
+
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty("开始时间")
+    private String startDate;
+
+    /***
+     *  结束时间
+     */
+    @ApiModelProperty("endData")
+    private String endData;
+
+}

+ 50 - 0
src/main/java/com/ydtech/modules/admin/model/report/financeData/RevenueAndExpenditureQueryDto.java

@@ -0,0 +1,50 @@
+package com.ydtech.modules.admin.model.report.financeData;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ *  @version
+ *  @author: hxl
+ *  @Date: 2024/7/4 14:20
+ *  @Description: 渠道、代理人的收支明细
+ */
+@Data
+@ApiModel("渠道、代理人的收支明细查询数据对象")
+public class RevenueAndExpenditureQueryDto {
+
+
+    /***
+     * 用户id
+     */
+    @ApiModelProperty("用户id")
+    private String userId;
+
+    /***
+     *   2.3.4
+     */
+    @ApiModelProperty(value = "提现状态  2提现中 3.已提现 4.驳回")
+    private String auditstatus;
+
+
+    @ApiModelProperty("页码")
+    private int pageNum;
+
+    @ApiModelProperty("页数")
+    private int pageSize;
+
+
+    /***
+     * 开始时间
+     */
+    @ApiModelProperty("开始时间")
+    private String startDate;
+
+    /***
+     *  结束时间
+     */
+    @ApiModelProperty("endData")
+    private String endData;
+
+}

+ 31 - 4
src/main/java/com/ydtech/modules/admin/service/FinanceDataReportService.java

@@ -1,12 +1,11 @@
 package com.ydtech.modules.admin.service;
 
 
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptDataDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptQueryDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualQueryDto;
+import com.ydtech.modules.admin.model.report.financeData.*;
 import com.ydtech.modules.order.entity.BasePageResult;
 
+import java.util.List;
+
 /**
  *  @version
  *  @author: hxl
@@ -28,6 +27,34 @@ public interface FinanceDataReportService {
      *  @Description:   财务数据 - 五级机构 - 预收、实收数据
      */
     BasePageResult<AdvanceAndActualDeptDataDto> queryAdvanceAndActualDeptDataPage(AdvanceAndActualDeptQueryDto advanceAndActualDeptQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 14:33
+     *  @Description:  查询渠道、代理人的收支明细
+     */
+    BasePageResult<RevenueAndExpenditureDataDto> queryRevenueAndExpenditureDataPage(RevenueAndExpenditureQueryDto revenueAndExpenditureQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 14:36
+     *  @Description: 查询五级机构的收支明细
+     */
+    BasePageResult<RevenueAndExpenditureDeptDataDto> queryRevenueAndExpenditureDeptDataPage(RevenueAndExpenditureDeptQueryDto revenueAndExpenditureDeptQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 15:22
+     *  @Description:  费用支出
+     */
+    BasePageResult<ExpensesDataDto> queryExpensesDataPage(ExpensesQueryDto expensesQueryDto);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 15:57
+     *  @Description:  查询利润相关
+     */
+    List<ProfitDataDto> queryProfitDataPage(ProfitQueryDto profitQueryDto);
 }
 
 

+ 77 - 4
src/main/java/com/ydtech/modules/admin/service/impl/FinanceDataReportServiceImpl.java

@@ -1,16 +1,20 @@
 package com.ydtech.modules.admin.service.impl;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDataDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptDataDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualDeptQueryDto;
-import com.ydtech.modules.admin.model.report.financeData.AdvanceAndActualQueryDto;
+import com.ydtech.modules.admin.dao.SysDeptAccountHistoryMapper;
+import com.ydtech.modules.admin.dao.SysUserAccountHistoryMapper;
+import com.ydtech.modules.admin.model.report.financeData.*;
 import com.ydtech.modules.admin.service.FinanceDataReportService;
+import com.ydtech.modules.inv.dao.InvAccountExcelMapper;
 import com.ydtech.modules.order.entity.BasePageResult;
 import com.ydtech.modules.protocols.dao.InsFeeOrderNewMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  *  @version
  *  @author: hxl
@@ -25,6 +29,16 @@ public class FinanceDataReportServiceImpl implements FinanceDataReportService {
     @Autowired
     private InsFeeOrderNewMapper insFeeOrderNewMapper;
 
+    @Autowired
+    private SysUserAccountHistoryMapper sysUserAccountHistoryMapper;
+
+
+    @Autowired
+    private SysDeptAccountHistoryMapper sysDeptAccountHistoryMapper;
+
+    @Autowired
+    private InvAccountExcelMapper invAccountExcelMapper;
+
     /**
      *  @version
      *  @author: hxl
@@ -51,6 +65,65 @@ public class FinanceDataReportServiceImpl implements FinanceDataReportService {
         return new BasePageResult<>(advanceAndActualDeptQueryDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(),
                 result.getRecords());
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 14:37
+     *  @Description: 查询 代理人、渠道的收支明细
+     */
+    @Override
+    public BasePageResult<RevenueAndExpenditureDataDto> queryRevenueAndExpenditureDataPage(RevenueAndExpenditureQueryDto revenueAndExpenditureQueryDto) {
+        Page<RevenueAndExpenditureDataDto> page = new Page<>(revenueAndExpenditureQueryDto.getPageNum(), revenueAndExpenditureQueryDto.getPageSize());
+        Page<RevenueAndExpenditureDataDto> result = sysUserAccountHistoryMapper.queryRevenueAndExpenditureDataPage(revenueAndExpenditureQueryDto, page);
+        return new BasePageResult<>(revenueAndExpenditureQueryDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(),
+                result.getRecords());
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 14:37
+     *  @Description:  查询机构的收支明细
+     */
+    @Override
+    public BasePageResult<RevenueAndExpenditureDeptDataDto> queryRevenueAndExpenditureDeptDataPage(RevenueAndExpenditureDeptQueryDto revenueAndExpenditureDeptQueryDto) {
+        Page<RevenueAndExpenditureDeptDataDto> page = new Page<>(revenueAndExpenditureDeptQueryDto.getPageNum(), revenueAndExpenditureDeptQueryDto.getPageSize());
+        Page<RevenueAndExpenditureDeptDataDto> result = sysDeptAccountHistoryMapper.queryAdvanceAndActualDeptDataPage(revenueAndExpenditureDeptQueryDto, page);
+        return new BasePageResult<>(revenueAndExpenditureDeptQueryDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(),
+                result.getRecords());
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 15:40
+     *  @Description:  查询费用明细
+     */
+    @Override
+    public BasePageResult<ExpensesDataDto> queryExpensesDataPage(ExpensesQueryDto expensesQueryDto) {
+        Page<ExpensesDataDto> page = new Page<>(expensesQueryDto.getPageNum(), expensesQueryDto.getPageSize());
+        Page<ExpensesDataDto> result = invAccountExcelMapper.queryExpensesDataPage(expensesQueryDto, page);
+        return new BasePageResult<>(expensesQueryDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(),
+                result.getRecords());
+    }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/7/4 15:57
+     *  @Description:  查询利润相关数据
+     */
+    @Override
+    public List<ProfitDataDto> queryProfitDataPage(ProfitQueryDto profitQueryDto) {
+        //todo   暂时不知道如何处理   先写模拟数据处理
+        List<ProfitDataDto> result=new ArrayList<>();
+        ProfitDataDto pro1 = new ProfitDataDto("车险", new BigDecimal(123), new BigDecimal(456), new BigDecimal(789), new BigDecimal(555), new BigDecimal(666), new BigDecimal(22), new BigDecimal(222), new BigDecimal(555));
+        ProfitDataDto pro2 = new ProfitDataDto("夜来香", new BigDecimal(123), new BigDecimal(456), new BigDecimal(789), new BigDecimal(555), new BigDecimal(666), new BigDecimal(22), new BigDecimal(222), new BigDecimal(555));
+        ProfitDataDto pro3 = new ProfitDataDto("汽车增值服务", new BigDecimal(123), new BigDecimal(456), new BigDecimal(789), new BigDecimal(555), new BigDecimal(666), new BigDecimal(22), new BigDecimal(222), new BigDecimal(555));
+        ProfitDataDto pro4 = new ProfitDataDto("商务秘书", new BigDecimal(123), new BigDecimal(456), new BigDecimal(789), new BigDecimal(555), new BigDecimal(666), new BigDecimal(22), new BigDecimal(222), new BigDecimal(555));
+        result.add(pro1);
+        result.add(pro2);
+        result.add(pro3);
+        result.add(pro4);
+        return result;
+    }
 }
 
 

+ 3 - 4
src/main/java/com/ydtech/modules/admin/service/impl/OperationDataReportServiceImpl.java

@@ -61,10 +61,9 @@ public class OperationDataReportServiceImpl implements OperationDataReportServic
              return  new BasePageResult<BusinessDataDto>();
         }else{
             Page<BusinessDataDto> page = new Page<>(businessDataQueryDto.getPageNum(), businessDataQueryDto.getPageSize());
-            Page<BusinessDataDto> result = insAreaCompanyMapper.queryBusinessDataPage(businessDataQueryDto, page, resultData.userIds, resultData.flag);
+            Page<BusinessDataDto> result = insAreaCompanyMapper.queryBusinessDataPage(businessDataQueryDto, page, null, resultData.flag);
             return new BasePageResult<>(businessDataQueryDto.getPageNum(), page.getSize(), result.getTotal(), page.getPages(),
                     result.getRecords());
-
         }
     }
     /**
@@ -129,9 +128,9 @@ public class OperationDataReportServiceImpl implements OperationDataReportServic
             return  new BasePageResult<QuotationCountDataDto>();
         }else{
             Page<QuotationCountDataDto> page = new Page<>(quotationCountQueryDto.getPageNum(), quotationCountQueryDto.getPageSize());
-            Page<QuotationCountDataDto> resultInsOrder = insAreaCompanyMapper.queryQuotationOrderCountDataPage(quotationCountQueryDto, page, resultData.userIds, resultData.flag);
+            Page<QuotationCountDataDto> resultInsOrder = insAreaCompanyMapper.queryQuotationOrderCountDataPage(quotationCountQueryDto, page, null, resultData.flag);
             //合并到一起
-            Page<QuotationCountDataDto> resultSubOrder = insAreaCompanyMapper.queryQuotationSubOrderCountDataPage(quotationCountQueryDto, page, resultData.userIds, resultData.flag);
+            Page<QuotationCountDataDto> resultSubOrder = insAreaCompanyMapper.queryQuotationSubOrderCountDataPage(quotationCountQueryDto, page, null, resultData.flag);
             return new BasePageResult<>(quotationCountQueryDto.getPageNum(), page.getSize(), resultInsOrder.getTotal(), page.getPages(),
                     resultInsOrder.getRecords());
 

+ 4 - 0
src/main/java/com/ydtech/modules/inv/dao/InvAccountExcelMapper.java

@@ -4,6 +4,8 @@ package com.ydtech.modules.inv.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.modules.admin.model.report.financeData.ExpensesDataDto;
+import com.ydtech.modules.admin.model.report.financeData.ExpensesQueryDto;
 import com.ydtech.modules.inv.model.InvAccountExcel;
 import com.ydtech.modules.inv.model.vo.InvAccountOperateVo;
 import org.apache.ibatis.annotations.Param;
@@ -18,6 +20,8 @@ public interface InvAccountExcelMapper extends BaseMapper<InvAccountExcel> {
     IPage<InvAccountExcel> selectExcelAccount(Page page, @Param("insAccountExcel") InvAccountExcel insAccountExcel);
 
     IPage<InvAccountOperateVo> selectDisburse(Page page, @Param("inAccountOperateVo") InvAccountOperateVo invAccountOperateVo);
+
+    Page<ExpensesDataDto> queryExpensesDataPage(@Param("vo") ExpensesQueryDto expensesQueryDto, @Param("page") Page<ExpensesDataDto> page);
 }
 
 

+ 3 - 3
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -157,21 +157,21 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      *  @Date: 2024/7/3 11:34
      *  @Description: 查询报价次数小订单的数据
      */
-    Page<QuotationCountDataDto> queryQuotationSubOrderCountDataPage(QuotationCountQueryDto quotationCountQueryDto, Page<QuotationCountDataDto> page, List<String> userIds, String flag);
+    Page<QuotationCountDataDto> queryQuotationSubOrderCountDataPage(@Param("vo") QuotationCountQueryDto quotationCountQueryDto, @Param("page") Page<QuotationCountDataDto> page, @Param("userIds") List<String> userIds, @Param("flag") String flag);
     /**
      *  @version
      *  @author: hxl
      *  @Date: 2024/7/3 15:42
      *  @Description:  查询保险公司的签单保费
      */
-    Page<CompanyPremiumDataDto> queryCompanyPremiumDataPage(CompanyPremiumDataQueryDto companyPremiumDataQueryDto, Page<QuotationCountDataDto> page);
+    Page<CompanyPremiumDataDto> queryCompanyPremiumDataPage(@Param("vo") CompanyPremiumDataQueryDto companyPremiumDataQueryDto, @Param("page") Page<QuotationCountDataDto> page);
     /**
      *  @version
      *  @author: hxl
      *  @Date: 2024/7/3 16:04
      *  @Description:  查询保险公司的报价次数
      */
-    Page<CompanyQutationCountDataDto> queryCompanyQutationCountDataPage(CompanyQutationCountDataQueryDto companyQutationCountDataQueryDto, Page<QuotationCountDataDto> page);
+    Page<CompanyQutationCountDataDto> queryCompanyQutationCountDataPage(@Param("vo") CompanyQutationCountDataQueryDto companyQutationCountDataQueryDto, @Param("page") Page<QuotationCountDataDto> page);
 }
 
 

+ 23 - 0
src/main/resources/mapper/modules/admin/SysDeptAccountHistoryMapper.xml

@@ -54,4 +54,27 @@
         </if>
     </select>
 
+    <select id="queryAdvanceAndActualDeptDataPage"
+            resultType="com.ydtech.modules.admin.model.report.financeData.RevenueAndExpenditureDeptDataDto">
+        SELECT
+        his.id as id,
+        his.amount as "amount",
+        DATE_FORMAT(his.create_time, '%Y-%m-%d %H:%i:%s') as "createTime",
+        his.dept_id as deptId,
+        dept.name as deptName
+        FROM
+        sys_dept_account_history his
+        LEFT JOIN ins_area_company ins ON his.suborder = ins.id
+        left join  sys_dept dept on dept.id =his.dept_id
+        WHERE
+           his.documentary =1
+        <if test="vo.deptId !=null and vo.deptId != '' ">
+            and his.dept_id = #{vo.deptId}
+        </if>
+        <if test="vo.startDate !=null and vo.startDate != '' and vo.endDate !=null and vo.endDate != '' ">
+            AND   his.create_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        order by his.create_time desc
+    </select>
+
 </mapper>

+ 48 - 0
src/main/resources/mapper/modules/admin/SysUserAccountHistoryMapper.xml

@@ -208,6 +208,7 @@
         <include refid="common_List_sql"/>
     </select>
 
+
     <sql id="common_List_sql">
         SELECT
         his.id as id,
@@ -251,4 +252,51 @@
         </if>
         order by his.create_time desc
     </sql>
+
+    <select id="queryRevenueAndExpenditureDataPage"
+            resultType="com.ydtech.modules.admin.model.report.financeData.RevenueAndExpenditureDataDto">
+        SELECT
+        his.id as id,
+        his.amount as "amount",
+        DATE_FORMAT(his.create_time, '%Y-%m-%d %H:%i:%s') as "createTime",
+        his.auditiing_id as "auditiingId",
+        CASE saa.auditing_status
+        WHEN '2' THEN '提现中'
+        WHEN '3' THEN '已提现'
+        WHEN '4' THEN '已驳回'
+        ELSE ''
+        END  AS "auditingStatus",
+        su.id as userId,
+        su.name as userName,
+        DATE_FORMAT(saa.auditing_time, '%Y-%m-%d %H:%i:%s') as auditingTime,
+        CASE
+        dept.management_source
+        WHEN '1' THEN
+        '渠道'
+        WHEN '2' THEN
+        '代理人' ELSE ''
+        END deptType
+        FROM
+        sys_user_account_history his
+        LEFT JOIN ins_area_company ins ON his.suborder = ins.id
+        LEFT JOIN sys_user su ON su.id = his.user_id
+        LEFT JOIN sys_amount_auditing saa ON saa.id = his.auditiing_id
+        LEFT JOIN sys_dept dept ON dept.id = su.dept_id
+        WHERE
+        his.property !=1  and  his.property !=2
+        AND (
+        dept.management_source = 1
+        OR dept.management_source = 2)
+        and his.documentary =1
+        <if test="vo.userId !=null and vo.userId != '' ">
+            and his.user_id = #{vo.userId}
+        </if>
+        <if test="vo.startDate !=null and vo.startDate != '' and vo.endDate !=null and vo.endDate != '' ">
+            AND   his.create_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.auditstatus !=null and vo.auditstatus != '' ">
+            AND   saa.auditing_status =  #{auditstatus}
+        </if>
+        order by his.create_time desc
+    </select>
 </mapper>

+ 29 - 0
src/main/resources/mapper/modules/inv/InvAccountExcelMapper.xml

@@ -173,4 +173,33 @@
         </if>
         order by a.create_time desc
     </select>
+
+    <select id="queryExpensesDataPage"
+            resultType="com.ydtech.modules.admin.model.report.financeData.ExpensesDataDto">
+        SELECT DISTINCT
+        a.account_operate_id,
+        DATE_FORMAT(a.create_time, '%Y-%m-%d') as transferAccountsDate,
+        a.fund_use as costType,
+        "" as businessSegmentsType,
+        a.remark as abstracts,
+        a.apply_amount as amount,
+        a.apply_sector as deptName,
+        a.collection_message,
+        a.create_time
+        from inv_account_operate a
+        LEFT JOIN inv_account_expenses b ON a.fund_fen = b.category
+        WHERE
+        a.fund_use != '往来款'
+        AND collection_message LIKE '外部用户%'
+        and a.revenue_outlay = '1'
+        AND a.del_flag = '0'
+        <if test="vo.startDate !=null and vo.startDate != '' and vo.endDate !=null and vo.endDate != '' ">
+            a.create_time  BETWEEN #{vo.startDate} AND #{vo.endDate}
+        </if>
+        <if test="vo.costType!= null and vo.costTypee!= ''">
+            and a.fund_use = #{vo.costType}
+        </if>
+        order by a.create_time desc
+    </select>
+
 </mapper>

+ 6 - 0
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -695,10 +695,12 @@
         LEFT JOIN ins_orders o ON iac.orderno = o.orderno
         LEFT JOIN ins_fee_order_new ion ON iac.id = ion.ins_order_no
         where iac.orderstatus = 3  and ion.id is not null
+        <if test="userList  != null  and  userList.size()>0 ">
         and o.userid IN
         <foreach item="item"  collection="userList" open="(" separator="," close=")">
             #{item}
         </foreach>
+        </if>
         <if test="flag  != null  and  flag!='' and flag='1'">
             group by o.userid,o.username
         </if>
@@ -715,10 +717,12 @@
         ins_area_company iac
         LEFT JOIN ins_orders o ON iac.orderno = o.orderno
         where (iac.orderstatus = 0 or iac.orderstatus = 2  or iac.orderstatus = 3 )
+        <if test="userList  != null  and  userList.size()>0 ">
         and o.userid IN
         <foreach item="item"  collection="userList" open="(" separator="," close=")">
             #{item}
         </foreach>
+        </if>
         <if test="flag  != null  and  flag!='' and flag='1'">
             group by o.userid,o.username,iac.orderstatus
         </if>
@@ -734,10 +738,12 @@
         FROM
         ins_orders o
         where  (o.orderstatus = 0  or o.orderstatus = 3 )
+        <if test="userList  != null  and  userList.size()>0 ">
         and o.userid IN
         <foreach item="item"  collection="userList" open="(" separator="," close=")">
             #{item}
         </foreach>
+        </if>
         <if test="flag  != null  and  flag!='' and flag='1'">
             group by o.userid,o.username,o.orderstatus
         </if>