Bladeren bron

Merge remote-tracking branch 'origin/master'

peixh 3 jaren geleden
bovenliggende
commit
192ea297b0

+ 1 - 1
sc-service/src/main/java/com/huyi/service/bill/controller/OwnBillController.java

@@ -403,7 +403,7 @@ public class OwnBillController extends BaseController {
                     zcInvoiceInf = iOwnBillService.invoiceVerification(zcInvoiceInf);
                 }
             }else{
-                if(!"1".equals(ziiCheckStt)){
+                if(!CHECK_SUCCESS.equals(ziiCheckStt)){
                     zcInvoiceInf.setZiiCheckStt("3");
                 }
             }

+ 498 - 0
sc-service/src/main/java/com/huyi/service/common/report/controller/ReportCreditController.java

@@ -0,0 +1,498 @@
+package com.huyi.service.common.report.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huyi.service.common.report.service.ReportCreditService;
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
+import com.tianhu.common.core.utils.AmtUtil;
+import com.tianhu.common.core.utils.CommonUtil;
+import com.tianhu.common.core.utils.DateUtils;
+import com.tianhu.common.core.web.controller.BaseController;
+import com.tianhu.common.core.web.domain.AjaxResult;
+import com.tianhu.common.security.service.TokenService;
+import com.tianhu.system.api.domain.SysUser;
+import com.tianhu.system.api.model.LoginUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+
+/**
+ * 统计管理 -- 融信
+ * @author dudm@minpay.cc
+ * 2021-08-30
+ */
+@RestController
+@RequestMapping("/report/credit")
+public class ReportCreditController extends BaseController {
+    @Autowired
+    private TokenService tokenService;
+    @Autowired
+    private ReportCreditService reportCreditService;
+
+    /**
+     * 企业类型 00平台
+     */
+    private static String COMPANYTYPE_TERRACE = "00";
+
+    /**
+     * 企业类型 01核心企业
+     */
+    private static String COMPANYTYPE_CORE = "01";
+
+    /**
+     * 企业类型 02供应商
+     */
+    private static String COMPANYTYPE_SUPPLIER = "02";
+
+    /**
+     * 企业类型 03资金方
+     */
+    private static String COMPANYTYPE_MANAGEMENT = "03";
+
+    /**
+     * 查询企业持有融信额度
+     * @return
+     */
+    @GetMapping("/getCreditLineAll")
+    public AjaxResult getCreditLineAll()
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        Map<String,String> map = new HashMap<>();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        //融信额度
+        String allAmount = "0";
+        if(COMPANYTYPE_TERRACE.equals(type)){
+            //平台
+            allAmount =  reportCreditService.getCreditLineAll(map);
+        }else if(COMPANYTYPE_CORE.equals(type)){
+            //核心企业
+            map.put("coreCompanyId", companyId);
+            allAmount =  reportCreditService.getCreditLineAll(map);
+        }else if(COMPANYTYPE_SUPPLIER.equals(type)){
+            //供应商
+            map.put("supplierCompanyId", companyId);
+            allAmount =  reportCreditService.getSupplierCreditLineAll(map);
+        }else if(COMPANYTYPE_MANAGEMENT.equals(type)){
+            //资金方
+            map.put("managementCompanyId", companyId);
+            allAmount =  reportCreditService.getCreditLineAll(map);
+        }
+        Map m = new HashMap();
+        m.put("allAmount",allAmount);
+        return AjaxResult.success(m);
+    }
+
+    /**
+     * 企业融资中额度
+     * @return
+     */
+    @GetMapping("/getAvailableBalance")
+    public AjaxResult getAvailableBalance()
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        Map<String,String> map = new HashMap<>();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        if(COMPANYTYPE_CORE.equals(type)){
+            //核心企业
+            map.put("coreCompanyId", companyId);
+        }else if(COMPANYTYPE_SUPPLIER.equals(type)){
+            //供应商
+            map.put("supplierCompanyId", companyId);
+        }else if(COMPANYTYPE_MANAGEMENT.equals(type)){
+            //资金方
+            map.put("managementCompanyId", companyId);
+        }
+        String allAmount =  reportCreditService.getAvailableBalance(map);
+        Map m = new HashMap();
+        m.put("allAmount",allAmount);
+        return AjaxResult.success(m);
+    }
+
+    /**
+     * 企业已融资额度
+     * @return
+     */
+    @GetMapping("/getFinancedBalance")
+    public AjaxResult getFinancedBalance()
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        Map<String,String> map = new HashMap<>();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        if(COMPANYTYPE_CORE.equals(type)){
+            //核心企业
+            map.put("coreCompanyId", companyId);
+        }else if(COMPANYTYPE_SUPPLIER.equals(type)){
+            //供应商
+            map.put("supplierCompanyId", companyId);
+        }else if(COMPANYTYPE_MANAGEMENT.equals(type)){
+            //资金方
+            map.put("managementCompanyId", companyId);
+        }
+        String allAmount =  reportCreditService.getFinancedBalance(map);
+        Map m = new HashMap();
+        m.put("allAmount",allAmount);
+        return AjaxResult.success(m);
+    }
+
+    /**
+     * 企业融信30天到期额度
+     * @return
+     */
+    @GetMapping("/getExpiredBalance")
+    public AjaxResult getExpiredBalance()
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        Map<String,String> map = new HashMap<>();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        //开始时间 当天
+        String startDate = DateUtils.dateTimeNow("yyyy-MM-dd");
+        //结束时间 30后
+        String endDate = DateUtils.getFetureDate(30);
+        map.put("startDate",startDate);
+        map.put("endDate",endDate);
+        //融信额度
+        String allAmount = "0";
+        if(COMPANYTYPE_TERRACE.equals(type)){
+            //平台
+            allAmount =  reportCreditService.getCreditLineAll(map);
+        }else if(COMPANYTYPE_CORE.equals(type)){
+            //核心企业
+            map.put("coreCompanyId", companyId);
+            allAmount =  reportCreditService.getCreditLineAll(map);
+        }else if(COMPANYTYPE_SUPPLIER.equals(type)){
+            //供应商
+            map.put("supplierCompanyId", companyId);
+            allAmount =  reportCreditService.getSupplierCreditLineAll(map);
+        }else if(COMPANYTYPE_MANAGEMENT.equals(type)){
+            //资金方
+            map.put("managementCompanyId", companyId);
+            allAmount =  reportCreditService.getCreditLineAll(map);
+        }
+        Map m = new HashMap();
+        m.put("allAmount",allAmount);
+        return AjaxResult.success(m);
+    }
+
+    /**
+     * 查询核心企业融信授权额度 -- 饼图
+     * @return
+     */
+    @GetMapping("/getCoreCreditLine")
+    public AjaxResult getCoreCreditLine()
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        Map<String,String> map = new HashMap<>();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+//        //融信额度
+//        String allAmount = "0";
+//        //已用融信
+//        String availableAmount = "0";
+        if(COMPANYTYPE_CORE.equals(type)){
+            //核心企业
+            map.put("coreCompanyId", companyId);
+        }
+        //融信额度
+        String allAmount =  reportCreditService.getCreditLineAll(map);
+        //已用融信
+        String availableAmount =  reportCreditService.getAvailableBalance(map);
+        //可用融信
+        String subAmount = AmtUtil.subtract(allAmount,availableAmount);
+        //返回图形数组
+        List list = new ArrayList();
+        //已用额度图形对象
+        Map availableMap = new HashMap();
+        availableMap.put("name","已用");
+        availableMap.put("value",availableAmount);
+        list.add(availableMap);
+        //可用额度图形对象
+        Map subMap = new HashMap();
+        subMap.put("name","可用");
+        subMap.put("value",subAmount);
+        list.add(subMap);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 查询企业渠道融信授权额度 -- 列表
+     * @return
+     */
+    @GetMapping("/getCreditLineList")
+    public AjaxResult getCreditLineList(QueryRequest request)
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        Map<String,String> map = new HashMap<>();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        if(COMPANYTYPE_CORE.equals(type)){
+            //核心企业
+            map.put("coreCompanyId", companyId);
+        }
+        IPage<Map> list =  reportCreditService.getCreditLineList(map,request);
+        for (Map map1 : list.getRecords()) {
+            //渠道id
+            String managementCompanyId = CommonUtil.objToString(map1.get("managementCompanyId"));
+            //已用额度
+            String availableAmount = CommonUtil.objToString(map1.get("allAmount"));
+            map1.put("availableAmount",availableAmount);
+            Map availableMap = new HashMap();
+            map.put("managementCompanyId", managementCompanyId);
+            //总额度
+            String allAmount =  reportCreditService.getCreditLineGroup(map);
+            map1.put("allAmount",allAmount);
+            //可用融信
+            String subAmount = AmtUtil.subtract(allAmount,availableAmount);
+            map1.put("subAmount",subAmount);
+        }
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 查询企业渠道融信开立数量 -- 列表
+     * @return
+     */
+    @GetMapping("/getCreditLineNumList")
+    public AjaxResult getCreditLineNumList(QueryRequest request)
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        Map<String,String> map = new HashMap<>();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        if(COMPANYTYPE_CORE.equals(type)){
+            //核心企业
+            map.put("coreCompanyId", companyId);
+        }
+        IPage<Map> list =  reportCreditService.getCreditLineNumList(map,request);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 融资开立月度统计 -- 柱状图
+     * @return
+     */
+    @GetMapping("/financeRecordMonth")
+    public AjaxResult financeRecordMonth(){
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        //企业id
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        //默认当年
+        String  year = DateUtils.getDate().substring(0,4);
+        //月份集合
+        List<String> dateList = getMonth();
+        //数据集合
+        List<Map> dataList = new ArrayList<>();
+        //开立额度
+        List<String> data = new ArrayList<>();
+        for (String date : dateList) {
+            date = year.concat("-").concat(date).replace("月","");
+            Map map = new HashMap();
+            if(COMPANYTYPE_CORE.equals(type)){
+                //核心企业
+                map.put("coreCompanyId", companyId);
+            }
+            map.put("date",date);
+            //报销所含项目
+            String amt = reportCreditService.financeRecordMonth(map);
+            data.add(amt);
+        }
+        //开立额度数据对象
+        Map dataMap = new HashMap();
+        dataMap.put("name","开立额度");
+        dataMap.put("data",data);
+        dataList.add(dataMap);
+        //还款额度
+        List<String> returnData = new ArrayList<>();
+        for (String date : dateList) {
+            date = year.concat("-").concat(date).replace("月","");
+            Map map = new HashMap();
+            if(COMPANYTYPE_CORE.equals(type)){
+                //核心企业
+                map.put("coreCompanyId", companyId);
+            }
+            map.put("returnDate",date);
+            map.put("applyStatus","01");
+            //报销所含项目
+            String amt = reportCreditService.financeRecordMonth(map);
+            returnData.add(amt);
+        }
+        //开立额度数据对象
+        Map returnDataMap = new HashMap();
+        returnDataMap.put("name","还款额度");
+        returnDataMap.put("data",returnData);
+        dataList.add(returnDataMap);
+        Map result = new HashMap();
+        result.put("dataList",dataList);
+        result.put("dateList",dateList);
+        return AjaxResult.success(result);
+    }
+
+    /**
+     * 融资开立最近30天统计 -- 柱状图
+     * @return
+     */
+    @GetMapping("/financeRecord")
+    public AjaxResult financeRecord(){
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        //企业id
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        //默认当年
+        //月份集合
+        List<String> dateList = findDaysStr(DateUtils.getPastDate(30),DateUtils.dateTimeNow("yyyy-MM-dd"));
+        //数据集合
+        List<Map> dataList = new ArrayList<>();
+        //开立额度
+        List<String> data = new ArrayList<>();
+        for (String date : dateList) {
+            Map map = new HashMap();
+            if(COMPANYTYPE_CORE.equals(type)){
+                //核心企业
+                map.put("coreCompanyId", companyId);
+            }
+            map.put("date",date);
+            //报销所含项目
+            String amt = reportCreditService.financeRecordMonth(map);
+            data.add(amt);
+        }
+        //开立额度数据对象
+        Map dataMap = new HashMap();
+        dataMap.put("name","开立额度");
+        dataMap.put("data",data);
+        dataList.add(dataMap);
+        //还款额度
+        List<String> returnData = new ArrayList<>();
+        for (String date : dateList) {
+            Map map = new HashMap();
+            if(COMPANYTYPE_CORE.equals(type)){
+                //核心企业
+                map.put("coreCompanyId", companyId);
+            }
+            map.put("returnDate",date);
+            map.put("applyStatus","01");
+            //报销所含项目
+            String amt = reportCreditService.financeRecordMonth(map);
+            returnData.add(amt);
+        }
+        //还款额度数据对象
+        Map returnDataMap = new HashMap();
+        returnDataMap.put("name","还款额度");
+        returnDataMap.put("data",returnData);
+        dataList.add(returnDataMap);
+        //未开立额度
+        List<String> closeData = new ArrayList<>();
+        for (String date : dateList) {
+            Map map = new HashMap();
+            if(COMPANYTYPE_CORE.equals(type)){
+                //核心企业
+                map.put("coreCompanyId", companyId);
+            }
+            map.put("returnDate",date);
+            map.put("status","00");
+            //报销所含项目
+            String amt = reportCreditService.financeRecordMonth(map);
+            closeData.add(amt);
+        }
+        //未开立额度数据对象
+        Map closeDataMap = new HashMap();
+        closeDataMap.put("name","未开立额度");
+        closeDataMap.put("data",closeData);
+        dataList.add(closeDataMap);
+        Map result = new HashMap();
+        result.put("dataList",dataList);
+        result.put("dateList",dateList);
+        return AjaxResult.success(result);
+    }
+
+    /**
+     * 获取月份集合
+     * @return
+     */
+    public List<String> getMonth(){
+        List<String> dateList = new ArrayList<>();
+        //循环添加所有月份
+        for(int i = 1; i < 13; i++){
+            dateList.add(i + "月");
+        }
+        return dateList;
+    }
+
+    /**
+     * 获取某时间段内的每一天
+     * @param begintTime 	开始日期
+     * @param endTime 		结束日期
+     * @return
+     * @throws ParseException
+     */
+    public static List<String> findDaysStr(String begintTime, String endTime) {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date dBegin = null;
+        Date dEnd = null;
+        try {
+            dBegin = sdf.parse(begintTime);
+            dEnd = sdf.parse(endTime);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        List<String> daysStrList = new ArrayList<String>();
+        daysStrList.add(sdf.format(dBegin));
+        Calendar calBegin = Calendar.getInstance();
+        calBegin.setTime(dBegin);
+        Calendar calEnd = Calendar.getInstance();
+        calEnd.setTime(dEnd);
+        while (dEnd.after(calBegin.getTime())) {
+            calBegin.add(Calendar.DAY_OF_MONTH, 1);
+            String dayStr = sdf.format(calBegin.getTime());
+            daysStrList.add(dayStr);
+        }
+        return daysStrList;
+    }
+
+    public static void main(String[] args) {
+
+        System.out.println(findDaysStr(DateUtils.getPastDate(30),DateUtils.dateTimeNow("yyyy-MM-dd")));
+    }
+}

+ 79 - 0
sc-service/src/main/java/com/huyi/service/common/report/mapper/ReportCreditMapper.java

@@ -0,0 +1,79 @@
+package com.huyi.service.common.report.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface ReportCreditMapper {
+
+    /**
+     * 查询核心企业持有额度
+     * @param map
+     * @return
+     */
+    String getCreditLineAll(Map map);
+
+    /**
+     * 查询供应商持有额度
+     * @param map
+     * @return
+     */
+    String getSupplierCreditLineAll(Map map);
+
+    /**
+     * 查询企业融资中额度
+     * @param map
+     * @return
+     */
+    String getAvailableBalance(Map map);
+
+    /**
+     * 查询企业已融资额度
+     * @param map
+     * @return
+     */
+    String getFinancedBalance(Map map);
+
+    /**
+     * 查询企业将到期融资额度
+     * @param map
+     * @return
+     */
+    String getExpiredBalance(Map map);
+
+    /**
+     * 企业渠道融信已用额度
+     * @param page
+     * @param map
+     * @return
+     */
+    public IPage<Map> getCreditLineList(Page<Map> page, @Param("paramMap") Map map);
+
+    /**
+     * 企业渠道融信总额度
+     * @param map
+     * @return
+     */
+    String getCreditLineGroup(Map map);
+
+    /**
+     * 企业渠道融信开立数量
+     * @param page
+     * @param map
+     * @return
+     */
+    public IPage<Map> getCreditLineNumList(Page<Map> page, @Param("paramMap") Map map);
+
+    /**
+     * 融资开立月度统计
+     * @param map
+     * @return
+     */
+    String financeRecordMonth(Map map);
+
+}

+ 77 - 0
sc-service/src/main/java/com/huyi/service/common/report/service/ReportCreditService.java

@@ -0,0 +1,77 @@
+package com.huyi.service.common.report.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
+
+import java.util.List;
+import java.util.Map;
+
+public interface ReportCreditService {
+
+
+    /**
+     * 获取核心企业持有额度
+     * @param map
+     * @return
+     */
+    String getCreditLineAll(Map map);
+
+    /**
+     * 获取供应商持有额度
+     * @param map
+     * @return
+     */
+    String getSupplierCreditLineAll(Map map);
+
+    /**
+     * 获取企业融资中额度
+     * @param map
+     * @return
+     */
+    String getAvailableBalance(Map map);
+
+    /**
+     * 获取企业已融资额度
+     * @param map
+     * @return
+     */
+    String getFinancedBalance(Map map);
+
+    /**
+     * 获取企业将到期融资额度
+     * @param map
+     * @return
+     */
+    String getExpiredBalance(Map map);
+
+    /**
+     * 企业渠道融信已用额度
+     * @param map
+     * @param request
+     * @return
+     */
+    public IPage<Map> getCreditLineList(Map map, QueryRequest request);
+
+    /**
+     * 企业渠道融信总额度
+     * @param map
+     * @return
+     */
+    String getCreditLineGroup(Map map);
+
+    /**
+     * 企业渠道融信开立数量
+     * @param map
+     * @param request
+     * @return
+     */
+    public IPage<Map> getCreditLineNumList(Map map, QueryRequest request);
+
+    /**
+     * 融资开立月度统计
+     * @param map
+     * @return
+     */
+    String financeRecordMonth(Map map);
+
+}

+ 68 - 0
sc-service/src/main/java/com/huyi/service/common/report/service/impl/ReportCreditServiceImpl.java

@@ -0,0 +1,68 @@
+package com.huyi.service.common.report.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huyi.service.common.report.mapper.ReportCreditMapper;
+import com.huyi.service.common.report.service.ReportCreditService;
+import com.huyi.service.credit.mapper.OwnCreditMapper;
+import com.huyi.service.credit.service.OwnCreditService;
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class ReportCreditServiceImpl implements ReportCreditService {
+    @Autowired
+    private ReportCreditMapper reportCreditMapper;
+
+
+    @Override
+    public String getCreditLineAll(Map map) {
+        return reportCreditMapper.getCreditLineAll(map);
+    }
+
+    @Override
+    public String getSupplierCreditLineAll(Map map) {
+        return reportCreditMapper.getSupplierCreditLineAll(map);
+    }
+
+    @Override
+    public String getAvailableBalance(Map map) {
+        return reportCreditMapper.getAvailableBalance(map);
+    }
+
+    @Override
+    public String getFinancedBalance(Map map) {
+        return reportCreditMapper.getFinancedBalance(map);
+    }
+
+    @Override
+    public String getExpiredBalance(Map map) {
+        return reportCreditMapper.getExpiredBalance(map);
+    }
+
+    @Override
+    public IPage<Map> getCreditLineList(Map map, QueryRequest request) {
+        Page page = new Page<>(request.getPageNum(), request.getPageSize());
+        return reportCreditMapper.getCreditLineList(page, map);
+    }
+
+    @Override
+    public String getCreditLineGroup(Map map) {
+        return reportCreditMapper.getCreditLineGroup(map);
+    }
+
+    @Override
+    public IPage<Map> getCreditLineNumList(Map map, QueryRequest request) {
+        Page page = new Page<>(request.getPageNum(), request.getPageSize());
+        return reportCreditMapper.getCreditLineNumList(page, map);
+    }
+
+    @Override
+    public String financeRecordMonth(Map map) {
+        return reportCreditMapper.financeRecordMonth(map);
+    }
+}

+ 245 - 0
sc-service/src/main/resources/mapper/common/ReportCreditMapper.xml

@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huyi.service.common.report.mapper.ReportCreditMapper">
+
+
+    <!---核心企业持有额度-->
+    <select id="getCreditLineAll" parameterType="map" resultType="java.lang.String">
+        SELECT
+            CAST(
+            ROUND(IFNULL(SUM(zfpcr_amount), 0), 2) AS CHAR
+            ) 'allAmount'
+        FROM
+            zc_finance_pro_com_rel
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfpcr_product_id
+        WHERE zfpcr_status = '00'
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfpcr_company_id = #{coreCompanyId}
+        </if>
+        <if test="managementCompanyId != null  and managementCompanyId != ''">
+            AND zfp_management_id = #{managementCompanyId}
+        </if>
+        <if test="startDate != null  and startDate != ''">
+            AND zfpcr_end_date BETWEEN #{startDate} AND #{endDate}
+        </if>
+    </select>
+
+    <!--供应商持有额度-->
+    <select id="getSupplierCreditLineAll" parameterType="map" resultType="java.lang.String">
+        SELECT
+            CAST(
+            ROUND(IFNULL(SUM(zfsq_amount), 0), 2) AS CHAR
+            ) 'allAmount'
+        FROM
+            zc_finance_supplier_quota
+        LEFT JOIN zc_finance_pro_com_rel
+        ON zfpcr_id = zfsq_core_quota_id
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfi_product_id
+        WHERE zfsq_status = '00'
+        <if test="supplierCompanyId != null  and supplierCompanyId != ''">
+            AND zfsq_company_id = #{supplierCompanyId}
+        </if>
+        <if test="startDate != null  and startDate != ''">
+            AND zfpcr_end_date BETWEEN #{startDate} AND #{endDate}
+        </if>
+        GROUP BY zfsq_id
+    </select>
+
+    <!--企业融资中额度-->
+    <select id="getAvailableBalance" parameterType="map" resultType="java.lang.String">
+        SELECT
+        CAST(
+        ROUND(IFNULL(SUM(zfi_amount), 0), 2) AS CHAR
+        ) 'allAmount'
+        FROM
+        zc_finance_inf
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfi_product_id
+        WHERE zfi_status IN ('02','04')
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="supplierCompanyId != null  and supplierCompanyId != ''">
+            AND zfi_supplier_id = #{supplierCompanyId}
+        </if>
+        <if test="managementCompanyId != null  and managementCompanyId != ''">
+            AND zfp_management_id = #{managementCompanyId}
+        </if>
+        <if test="zfpcrId != null  and zfpcrId != ''">
+            AND zfi_core_quota_id = #{zfpcrId}
+        </if>
+
+    </select>
+
+    <!--企业已融资额度-->
+    <select id="getFinancedBalance" parameterType="map" resultType="java.lang.String">
+        SELECT
+        CAST(
+        ROUND(IFNULL(SUM(zfi_amount), 0), 2) AS CHAR
+        ) 'allAmount'
+        FROM
+        zc_finance_inf
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfi_product_id
+        WHERE zfi_status IN ('02','03','04','05')
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="supplierCompanyId != null  and supplierCompanyId != ''">
+            AND zfi_supplier_id = #{supplierCompanyId}
+        </if>
+        <if test="managementCompanyId != null  and managementCompanyId != ''">
+            AND zfp_management_id = #{managementCompanyId}
+        </if>
+
+    </select>
+
+    <!--企业将到期融资额度-->
+    <select id="getExpiredBalance" parameterType="map" resultType="java.lang.String">
+        SELECT
+        CAST(
+        ROUND(IFNULL(SUM(zfi_amount), 0), 2) AS CHAR
+        ) 'allAmount'
+        FROM
+        zc_finance_inf
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfi_product_id
+        WHERE zfi_status IN ('02','03','04','05')
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="supplierCompanyId != null  and supplierCompanyId != ''">
+            AND zfi_supplier_id = #{supplierCompanyId}
+        </if>
+        <if test="managementCompanyId != null  and managementCompanyId != ''">
+            AND zfp_management_id = #{managementCompanyId}
+        </if>
+
+    </select>
+
+    <!--企业渠道已用融信-->
+    <select id="getCreditLineList" parameterType="map" resultType="map">
+        SELECT
+        zfpcr_id                            'zfpcrId',
+        CAST(
+        ROUND(IFNULL(SUM(zfi_amount), 0), 2) AS CHAR
+        )                                   'allAmount',
+        zfp_management_id                   'managementCompanyId',
+        scy_name                            'managementName'
+        FROM
+        zc_finance_pro_com_rel
+        LEFT JOIN zc_finance_inf
+        ON zfpcr_id = zfi_core_quota_id
+        AND zfi_status IN ('02','04')
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfpcr_product_id
+        LEFT JOIN sys_company
+        ON scy_id = zfp_management_id
+        WHERE zfpcr_status = '00'
+        <if test="paramMap.coreCompanyId != null  and paramMap.coreCompanyId != ''">
+            AND zfi_core_id = #{paramMap.coreCompanyId}
+        </if>
+        GROUP BY zfp_management_id
+    </select>
+
+    <!--企业渠道融信总额度-->
+    <select id="getCreditLineGroup" parameterType="map" resultType="java.lang.String">
+        SELECT
+        CAST(
+        ROUND(IFNULL(SUM(zfpcr_amount), 0), 2) AS CHAR
+        ) 'allAmount'
+        FROM
+        zc_finance_pro_com_rel
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfpcr_product_id
+        WHERE zfpcr_status = '00'
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="managementCompanyId != null  and managementCompanyId != ''">
+            AND zfp_management_id = #{managementCompanyId}
+        </if>
+    </select>
+
+    <!--企业渠道融信开立统计-->
+    <select id="getCreditLineNumList" parameterType="map" resultType="map">
+        SELECT
+        zfpcr_id                            'zfpcrId',
+        COUNT(zfi_id)                       'num',
+        CAST(
+        ROUND(IFNULL(SUM(zfi_amount), 0), 2) AS CHAR
+        )                                   'allAmount',
+        zfp_management_id                   'managementCompanyId',
+        scy_name                            'managementName'
+        FROM
+        zc_finance_pro_com_rel
+        LEFT JOIN zc_finance_inf
+        ON zfpcr_id = zfi_core_quota_id
+        AND zfi_status IN ('02','03','04','05')
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfpcr_product_id
+        LEFT JOIN sys_company
+        ON scy_id = zfp_management_id
+        WHERE zfpcr_status = '00'
+        <if test="paramMap.coreCompanyId != null  and paramMap.coreCompanyId != ''">
+            AND zfi_core_id = #{paramMap.coreCompanyId}
+        </if>
+        GROUP BY zfp_management_id
+    </select>
+
+    <!--融资开立月度统计-->
+    <select id="financeRecordMonth" parameterType="map" resultType="String">
+        SELECT
+        CAST(
+        ROUND(IFNULL(SUM(zfr_loan_amount), 0), 2) AS CHAR
+        ) 'allAmount'
+        FROM
+        zc_finance_record
+        LEFT JOIN zc_finance_inf
+        ON zfi_id = zfr_finance_id
+        WHERE zfr_approve_stt = '02'
+        AND zfr_status IN ('01','03')
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="applyStatus != null  and applyStatus != ''">
+            AND zfr_apply_status = #{applyStatus}
+        </if>
+        <if test="date != null  and date != ''">
+            AND DATE_FORMAT(zfr_loan_date, '%Y-%c') = #{date}
+        </if>
+        <if test="returnDate != null  and returnDate != ''">
+            AND DATE_FORMAT(zfr_pay_date, '%Y-%c') = #{returnDate}
+        </if>
+    </select>
+
+    <!--融资开立时间段统计-->
+    <select id="financeRecord" parameterType="map" resultType="String">
+        SELECT
+        CAST(
+        ROUND(IFNULL(SUM(zfr_loan_amount), 0), 2) AS CHAR
+        ) 'allAmount'
+        FROM
+        zc_finance_record
+        LEFT JOIN zc_finance_inf
+        ON zfi_id = zfr_finance_id
+        WHERE zfr_approve_stt = '02'
+        AND zfr_status IN ('01','03')
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="status != null  and status != ''">
+            AND zfr_status = #{status}
+        </if>
+        <if test="applyStatus != null  and applyStatus != ''">
+            AND zfr_apply_status = #{applyStatus}
+        </if>
+        <if test="date != null  and date != ''">
+            AND DATE_FORMAT(zfr_loan_date, '%Y-%m-%d') = #{date}
+        </if>
+    </select>
+</mapper>