瀏覽代碼

1.控制台利润分析添加明细导出

wuhp 1 年之前
父節點
當前提交
c86927374e

+ 25 - 0
src/main/java/com/ydtech/modules/admin/controller/profitAnalysis/ProfitAnalysisController.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.admin.controller.profitAnalysis;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisDto;
 import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisQueryDto;
+import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
 import com.ydtech.modules.admin.service.ProfitAnalysisService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -80,4 +81,28 @@ public class ProfitAnalysisController {
     }
 
 
+    /**
+     * @description:   控制台-利润分析应收金额导出明细
+     * @author: whp
+     **/
+    @PostMapping("/receivableExcel")
+    @ApiOperation(value = "控制台-利润分析应收金额导出明细")
+    public HttpResult receivableExcel(@RequestBody ProfitAnalysisQueryDto profitAnalysisQueryDto) {
+        return this.profitAnalysisService.receivableExcel(profitAnalysisQueryDto);
+    }
+
+    /**
+     * @description:   控制台-利润分析实付金额导出明细
+     * @author: whp
+     **/
+    @PostMapping("/payAmountExcel")
+    @ApiOperation(value = "控制台-利润分析实付金额导出明细")
+    public HttpResult payAmountExcel(@RequestBody ProfitAnalysisQueryDto profitAnalysisQueryDto) {
+        return this.profitAnalysisService.payAmountExcel(profitAnalysisQueryDto);
+    }
+
+
+
+
+
 }

+ 34 - 0
src/main/java/com/ydtech/modules/admin/model/dto/PayAmountExcel.java

@@ -0,0 +1,34 @@
+package com.ydtech.modules.admin.model.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class PayAmountExcel {
+
+    @ExcelProperty(value = "银行卡号",index = 0)
+    private String bankNumber;
+
+    @ExcelProperty(value = "提现金额",index = 1)
+    private String amount;
+
+    @ExcelProperty(value = "用户名称",index = 2)
+    private String userName;
+
+    @ExcelProperty(value = "提现时间",index = 3)
+    private String createTime;
+
+    @ExcelProperty(value = "审核状态",index = 4)
+    private String auditingStatus;
+
+    @ExcelProperty(value = "审核时间",index = 5)
+    private String auditingTime;
+
+    @ExcelProperty(value = "审核人",index = 6)
+    private String auditingUserName;
+
+    @ExcelProperty(value = "账户名称",index = 7)
+    private String accountName;
+
+
+}

+ 65 - 0
src/main/java/com/ydtech/modules/admin/model/dto/ReceivableExcel.java

@@ -0,0 +1,65 @@
+package com.ydtech.modules.admin.model.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class ReceivableExcel {
+
+    @ExcelProperty(value = "订单号",index = 0)
+    private String orderno;
+
+    @ExcelProperty(value = "交强保单号",index = 1)
+    private String policyno;
+
+    @ExcelProperty(value = "商业保单号",index = 2)
+    private String syPolicyno;
+
+    @ExcelProperty(value = "非车保单号",index = 3)
+    private String noNolicyno;
+
+    @ExcelProperty(value = "机构编码",index = 4)
+    private String deptId;
+
+    @ExcelProperty(value = "签单日期",index = 5)
+    private String signdate;
+
+    @ExcelProperty(value = "保险公司编码",index = 6)
+    private String companId;
+
+    @ExcelProperty(value = "合作公司名称",index = 7)
+    private String partnerCompaniesName;
+
+    @ExcelProperty(value = "协议编码",index = 8)
+    private String agreementId;
+
+    @ExcelProperty(value = "车牌号",index = 9)
+    private String licenseno;
+
+    @ExcelProperty(value = "交强险含税保费",index = 10)
+    private String jqPremium;
+
+    @ExcelProperty(value = "商业险含保费",index = 11)
+    private String syPremium;
+
+    @ExcelProperty(value = "非车险含保费",index = 12)
+    private String noPremium;
+
+    @ExcelProperty(value = "手续费比例",index = 13)
+    private String commissionFeerate;
+
+    @ExcelProperty(value = "跟单费用比例",index = 14)
+    private String otherFeerate;
+
+    @ExcelProperty(value = "手续费金额",index = 15)
+    private String commissionFeevalue;
+
+    @ExcelProperty(value = "跟单费用金额",index = 16)
+    private String otherFeevalue;
+
+
+
+
+
+
+}

+ 13 - 0
src/main/java/com/ydtech/modules/admin/service/ProfitAnalysisService.java

@@ -1,8 +1,10 @@
 package com.ydtech.modules.admin.service;
 
 
+import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisDto;
 import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisQueryDto;
+import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
 
 import java.util.List;
 
@@ -29,6 +31,17 @@ public interface ProfitAnalysisService {
      *  @Description:  查询利润分析统计明细
      */
     List<ProfitAnalysisDto> getProfitAnalysisQueryDetailsList(ProfitAnalysisQueryDto profitAnalysisQueryDto);
+    /**
+     * @description:   控制台-利润分析应收金额导出明细
+     * @author: whp
+     **/
+    HttpResult receivableExcel(ProfitAnalysisQueryDto profitAnalysisQueryDto);
+
+    /**
+     * @description:   控制台-利润分析实付金额导出明细
+     * @author: whp
+     **/
+    HttpResult payAmountExcel(ProfitAnalysisQueryDto profitAnalysisQueryDto);
 
 }
 

+ 58 - 0
src/main/java/com/ydtech/modules/admin/service/impl/ProfitAnalysisServiceImpl.java

@@ -1,6 +1,9 @@
 package com.ydtech.modules.admin.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.dto.PayAmountExcel;
+import com.ydtech.modules.admin.model.dto.ReceivableExcel;
 import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisDto;
 import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisQueryDto;
 import com.ydtech.modules.admin.service.ProfitAnalysisService;
@@ -12,14 +15,20 @@ import com.ydtech.modules.inv.dao.InvAccountMapper;
 import com.ydtech.modules.inv.model.InvAccount;
 import com.ydtech.modules.inv.model.InvAccountCardVo;
 import com.ydtech.modules.inv.model.InvAccountExpenses;
+import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import com.ydtech.utils.BigDecimalUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -44,6 +53,14 @@ public class ProfitAnalysisServiceImpl implements ProfitAnalysisService {
     @Autowired
     private InvAccountExpensesMapper invAccountExpensesMapper;
 
+
+    @Value("${upload.file.path}")
+    private String uploadPath;
+
+
+    @Value("${upload.file.url}")
+    private String uploadUrl;
+
     /**
      *  @version
      *  @author: hxl
@@ -380,6 +397,47 @@ public class ProfitAnalysisServiceImpl implements ProfitAnalysisService {
         map.put("endDate",endDateStr);
         return map;
     }
+
+
+    /**
+     * @description:   控制台-利润分析应收金额导出明细
+     * @author: whp
+     **/
+    @Override
+    public HttpResult receivableExcel(ProfitAnalysisQueryDto profitAnalysisQueryDto) {
+        List<ReceivableExcel> list = profitAnalysisMapper.receivableExcel(profitAnalysisQueryDto);
+        String uploadPath = this.uploadPath + "/excel/";
+        Path path = Paths.get(uploadPath);
+        if (!Files.exists(path)) {
+            try {
+                Files.createDirectories(path);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        String fileName = EasyExcelUtils.downExcel(uploadPath, "应收明细", ReceivableExcel.class, list);
+        return HttpResult.ok("", uploadUrl + "excel/" + fileName);
+    }
+
+    /**
+     * @description:   控制台-利润分析实付金额导出明细
+     * @author: whp
+     **/
+    @Override
+    public HttpResult payAmountExcel(ProfitAnalysisQueryDto profitAnalysisQueryDto) {
+        List<PayAmountExcel> list = profitAnalysisMapper.payAmountExcel(profitAnalysisQueryDto);
+        String uploadPath = this.uploadPath + "/excel/";
+        Path path = Paths.get(uploadPath);
+        if (!Files.exists(path)) {
+            try {
+                Files.createDirectories(path);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        String fileName = EasyExcelUtils.downExcel(uploadPath, "实付明细", PayAmountExcel.class, list);
+        return HttpResult.ok("", uploadUrl + "excel/" + fileName);
+    }
 }
 
 

+ 12 - 1
src/main/java/com/ydtech/modules/console/dao/ProfitAnalysisMapper.java

@@ -1,5 +1,7 @@
 package com.ydtech.modules.console.dao;
 
+import com.ydtech.modules.admin.model.dto.PayAmountExcel;
+import com.ydtech.modules.admin.model.dto.ReceivableExcel;
 import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisDto;
 import com.ydtech.modules.admin.model.report.profitAnalysis.ProfitAnalysisQueryDto;
 import org.apache.ibatis.annotations.Mapper;
@@ -46,5 +48,14 @@ public interface ProfitAnalysisMapper {
      * @return  获取公司总支出
      */
     HashMap<String, BigDecimal> getTotalExpenditure( @Param("vo") ProfitAnalysisQueryDto profitAnalysisQueryDto);
-
+    /**
+     * @description:   控制台-利润分析应收金额导出明细
+     * @author: whp
+     **/
+    List<ReceivableExcel> receivableExcel(@Param("vo") ProfitAnalysisQueryDto profitAnalysisQueryDto);
+    /**
+     * @description:   控制台-利润分析实付金额导出明细
+     * @author: whp
+     **/
+    List<PayAmountExcel> payAmountExcel (@Param("vo") ProfitAnalysisQueryDto profitAnalysisQueryDto);
 }

+ 39 - 0
src/main/resources/mapper/modules/console/ProfitAnalysisMapper.xml

@@ -319,4 +319,43 @@
 
     </select>
 
+
+    <select id="receivableExcel" resultType="com.ydtech.modules.admin.model.dto.ReceivableExcel">
+        SELECT
+        *
+        FROM
+        ins_ply_income a
+        <where>
+            <if test="vo.year !=null  and  vo.year !=''">
+                and DATE_FORMAT( a.signdate, '%Y') =#{vo.year}
+            </if>
+        </where>
+    </select>
+
+
+    <select id="payAmountExcel" resultType="com.ydtech.modules.admin.model.dto.PayAmountExcel">
+        SELECT
+        a.bank_number as "bankNumber",
+        a.amount as "amount",
+        a.user_id as "userId",
+        a.create_time as "createTime",
+        a.auditing_user_id as "auditingUserId",
+        a.account_name as "accountName",
+        a.auditing_time as "auditingTime",
+        CASE WHEN a.auditing_status='3' THEN "审核通过" ELSE "未审核通过" END   as "auditingStatus",
+        su.name as "userName",
+        su.name as "auditingUserName"
+        FROM
+        sys_amount_auditing a
+        LEFT JOIN sys_user_account_history b ON a.id = b.auditiing_id
+        LEFT JOIN sys_user su ON su.id = a.user_id
+        LEFT JOIN sys_user su1 ON su1.id = a.auditing_user_id
+        <where>
+            a.auditing_status = '3'
+            <if test="vo.year !=null  and  vo.year !=''">
+                and DATE_FORMAT( a.auditing_time, '%Y') =#{vo.year}
+            </if>
+        </where>
+    </select>
+
 </mapper>