Explorar el Código

核心企业首页统计

peixh hace 4 años
padre
commit
a8c7a607ca

+ 305 - 15
sc-service/src/main/java/com/huyi/service/common/report/controller/ReportCreditController.java

@@ -1,6 +1,14 @@
 package com.huyi.service.common.report.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huyi.service.base.entity.ZcFinanceInf;
+import com.huyi.service.base.entity.ZcFinanceProComRel;
+import com.huyi.service.base.entity.ZcFinanceSupplierQuota;
+import com.huyi.service.base.service.IZcFinanceInfService;
+import com.huyi.service.base.service.IZcFinanceProComRelService;
 import com.huyi.service.common.report.service.ReportCreditService;
 import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
 import com.tianhu.common.core.utils.AmtUtil;
@@ -33,6 +41,10 @@ public class ReportCreditController extends BaseController {
     private TokenService tokenService;
     @Autowired
     private ReportCreditService reportCreditService;
+    @Autowired
+    private IZcFinanceProComRelService iZcFinanceProComRelService;
+    @Autowired
+    private IZcFinanceInfService iZcFinanceInfService;
 
     /**
      * 企业类型 00平台
@@ -387,11 +399,11 @@ public class ReportCreditController extends BaseController {
     }
 
     /**
-     * 企业融信30天到期数据
+     * 核心企业融信30天到期数据(30天待还款)
      * @return
      */
     @GetMapping("/getExpiredList")
-    public AjaxResult getExpiredList(String zfpType, QueryRequest request)
+    public AjaxResult getExpiredList(String zfpType, QueryRequest request) throws Exception
     {
         //获取当前企业的编号
         LoginUser userInfo = tokenService.getLoginUser();
@@ -405,30 +417,56 @@ public class ReportCreditController extends BaseController {
         String startDate = DateUtils.dateTimeNow("yyyy-MM-dd");
         //结束时间 30后
         String endDate = DateUtils.getFetureDate(30);
-        map.put("startDate",startDate);
-        map.put("endDate",endDate);
         //默认反向
         if(CommonUtil.isEmpty(zfpType)){
             zfpType = "1";
         }
         if(COMPANYTYPE_CORE.equals(type)){
             //核心企业
-            map.put("zfpType",zfpType);
+            map.put("startDate",startDate);
+            map.put("endDate",endDate);
+            //map.put("zfpType",zfpType);
             map.put("coreCompanyId", companyId);
+            //即将到期融信
+            IPage<Map> list =  reportCreditService.getExpiredList(map,request);
+            return AjaxResult.success(list);
         }else if(COMPANYTYPE_SUPPLIER.equals(type)){
             //供应商
-            map.put("zfpType",zfpType);
-            map.put("supplierCompanyId", companyId);
-        }else if(COMPANYTYPE_MANAGEMENT.equals(type)){
-            //资金方
-            map.put("zfpType",zfpType);
-            map.put("managementCompanyId", companyId);
+            Map map1 = new HashMap();
+            map1.put("supplierCompanyId", companyId);
+            List<Map> dateInf = reportCreditService.listCreditDate(map1);
+            List<String> idList = new ArrayList<>();
+            for (int i = 0; i < dateInf.size(); i++) {
+                //融信id
+                String zfiId = dateInf.get(i).get("zfiId")+"";
+                //承诺付款日
+                String zfiExpireDate = dateInf.get(i).get("zfiExpireDate")+"";
+                //最短账期
+                int zfpShortestPeriod = Integer.parseInt(dateInf.get(i).get("zfpShortestPeriod")+"");
+                //String 转 Date
+                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
+                Date date = simpleDateFormat.parse(zfiExpireDate);
+                //承诺还款日 - 最短账期(天数) = 失效日期
+                GregorianCalendar cal = new GregorianCalendar();
+                cal.setTime(date);
+                cal.add(Calendar.DATE, -zfpShortestPeriod);
+                //失效日期
+                String expirationDate = DateUtils.parseDateToStr("yyyy-MM-dd",cal.getTime());
+                //当前日期向后推30天
+                String day = DateUtils.getFetureDate(30);
+                if (expirationDate.equals(day)){
+                    idList.add(zfiId);
+                }
+            }
+            if (idList.size() > 0) {
+                LambdaQueryWrapper<ZcFinanceInf> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.in(ZcFinanceInf::getZfiId, idList);
+                IPage<ZcFinanceInf> list = iZcFinanceInfService.findZcFinanceInfs(request, queryWrapper);
+                return AjaxResult.success(list);
+            }
         }
-        //即将到期融信
-        IPage<Map> list =  reportCreditService.getExpiredList(map,request);
-        return AjaxResult.success(list);
+        return AjaxResult.success();
     }
-
     /**
      * 查询平台资金 -- 饼图
      * @return
@@ -814,4 +852,256 @@ public class ReportCreditController extends BaseController {
         }
         return daysStrList;
     }
+
+    /**
+     * 查询核心企业总授信额度
+     * @return
+     */
+    @GetMapping("/listCreditLineAll")
+    public AjaxResult listCreditLineAll(String zfpType)
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        //默认反向
+        if(CommonUtil.isEmpty(zfpType)){
+            zfpType = "1";
+        }
+        //反向总授信额度
+        String allAmount = "0";
+        //反向可用额度{总授信 减去 (已生效+空+融资中+已融资+待签收)(融信状态)}
+        String usableAmount = "0";
+        //正向总授信额度
+        String allAmountForward = "0";
+        //正向可用额度{总授信额度 -已分配额度}
+        String usableAmountForward = "0";
+        //核心企业反向总授信额度
+        if(COMPANYTYPE_CORE.equals(type) && "1".equals(zfpType)){
+            //查询本企业反向总授信额度
+            QueryWrapper<ZcFinanceProComRel> queryWrapper = new QueryWrapper<>();
+            //企业id
+            queryWrapper.in("zfpcr_company_id", companyId);
+            //状态(00:有效 01:失效)
+            queryWrapper.eq("zfpcr_status","00");
+            queryWrapper.select("CAST(ROUND(IFNULL(SUM(zfpcr_amount), 0), 2) AS CHAR) AS zfpcrAmount");
+            ZcFinanceProComRel zcFinanceProComRel = iZcFinanceProComRelService.getOne(queryWrapper);
+            //查询本企业融信表总申请金额
+            QueryWrapper<ZcFinanceInf> wrapper = new QueryWrapper<>();
+            //核心企业id
+            wrapper.in("zfi_core_id", companyId);
+            //状态(00:待确权 01:待签收 02:已生效 03:已失效 04:融资中 05:已融资 06:平台退回 07:已失效(到期失效)08:已失效(还款成功失效)99:删除)
+            wrapper.notIn("zfi_status","00","03","06","07","08","99");
+            wrapper.select("IFNULL(CAST(ROUND(SUM(zfi_amount),2)AS CHAR),'0.00') AS zfiAmount");
+            ZcFinanceInf zcFinanceInf = iZcFinanceInfService.getOne(wrapper);
+            if (zcFinanceProComRel != null) {
+                allAmount = zcFinanceProComRel.getZfpcrAmount();
+            }
+            if (zcFinanceInf != null){
+                //申请金额
+                String zfiAmount = zcFinanceInf.getZfiAmount();
+                usableAmount =  AmtUtil.subtract(allAmount,zfiAmount,2);
+            }
+        }
+        //核心企业正向总授信额度
+        else if (COMPANYTYPE_CORE.equals(type) && "0".equals(zfpType)){
+            Map<String,String> map = new HashMap<>();
+            map.put("companyId",companyId);
+            List<Map> list = reportCreditService.listCreditLineAll(map);
+            allAmountForward = list.get(0).get("allAmount")+"";
+            //已分配额度
+            String zfsqAmount = list.get(0).get("zfsqAmount")+"";
+            //可用授信额度
+            usableAmountForward = AmtUtil.subtract(allAmountForward,zfsqAmount,2);
+        }
+        Map result = new HashMap();
+        result.put("allAmount",allAmount);
+        result.put("usableAmount",usableAmount);
+        result.put("allAmountForward",allAmountForward);
+        result.put("usableAmountForward",usableAmountForward);
+        return AjaxResult.success(result);
+    }
+
+    /**
+     * 查询核心企业我开立的融信金额/我确权的
+     * @param hxDateType 00:实时  01:年度  02:历史
+     * @param zfpType 融资产品  0:正向 1:反向
+     * @return
+     */
+    @GetMapping("/listCreditAll")
+    public AjaxResult listCreditAll(String hxDateType,String zfpType)
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        //获取企业
+        String companyId = use.getCompanyId();
+        Map<String,String> map = new HashMap<>();
+        //获取企业类型
+        String type = use.getCompanyType();
+        //默认反向
+        if(CommonUtil.isEmpty(zfpType)){
+            zfpType = "1";
+        }
+        //总额度
+        String allAmount = "0";
+        //核心企业我开立的融信额度
+        if(COMPANYTYPE_CORE.equals(type)){
+            map.put("coreCompanyId",companyId);
+            map.put("hxDateType",hxDateType);
+            map.put("zfpType",zfpType);
+            //年度
+            if ("01".equals(hxDateType)){
+                String startDate = getYearStart();
+                String endDate = getYearEnd();
+                map.put("startDate",startDate);
+                map.put("endDate",endDate);
+            }
+        }
+        allAmount = reportCreditService.listCreditAll(map);
+        Map result = new HashMap();
+        result.put("allAmount",allAmount);
+        return AjaxResult.success(result);
+    }
+
+
+    /**
+     * 查询核心企业已融资金额
+     * @param zfpType 融资产品  0:正向 1:反向
+     * @param hxDateType 00:实时  01:年度  02:历史
+     * @return
+     */
+    @GetMapping("/listHasRaised")
+    public AjaxResult listHasRaised(String zfpType,String hxDateType)
+    {
+        //获取当前企业的编号
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        Map<String,String> map = new HashMap<>();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String type = use.getCompanyType();
+        //默认反向
+        if(CommonUtil.isEmpty(zfpType)){
+            zfpType = "1";
+        }
+        //总额度
+        String allAmount = "0";
+        //核心企业已融资额度
+        if(COMPANYTYPE_CORE.equals(type)){
+            map.put("coreCompanyId",companyId);
+            map.put("zfpType", zfpType);
+            map.put("hxDateType",hxDateType);
+            //年度
+            if ("01".equals(hxDateType)) {
+                String startDate = getYearStart();
+                String endDate = getYearEnd();
+                map.put("startDate",startDate);
+                map.put("endDate",endDate);
+            }
+            allAmount = reportCreditService.listHasRaised(map);
+        }
+        Map result = new HashMap();
+        result.put("allAmount",allAmount);
+        return AjaxResult.success(result);
+    }
+
+    /**
+     * 核心企业30天内待还款
+     * @param zfpType 融资产品  0:正向 1:反向
+     * @return
+     */
+    @GetMapping("/listPendingRepayment")
+    public AjaxResult listPendingRepayment(String zfpType)
+    {
+        //获取当前企业的编号
+        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);
+        //总额度
+        String allAmount = "0";
+        map.put("startDate",startDate);
+        map.put("endDate",endDate);
+        //默认反向
+        if(CommonUtil.isEmpty(zfpType)){
+            zfpType = "1";
+        }
+        if(COMPANYTYPE_CORE.equals(type)){
+            //核心企业
+            map.put("zfpType",zfpType);
+            map.put("coreCompanyId", companyId);
+        }
+        allAmount = reportCreditService.listPendingRepayment(map);
+        Map result = new HashMap();
+        result.put("allAmount",allAmount);
+        return AjaxResult.success(result);
+    }
+
+    /**
+     * 查询核心企业还款金额
+     * @param hxDateType 00:实时  01:年度  02:历史
+     * @return
+     */
+    @GetMapping("/listRepayment")
+    public AjaxResult listRepayment(String hxDateType)
+    {
+        //获取当前企业的编号
+        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_CORE.equals(type)){
+            map.put("coreCompanyId",companyId);
+            map.put("hxDateType",hxDateType);
+            //年度
+            if ("01".equals(hxDateType)) {
+                String startDate = getYearStart();
+                String endDate = getYearEnd();
+                map.put("startDate",startDate);
+                map.put("endDate",endDate);
+            }
+            allAmount = reportCreditService.listRepayment(map);
+        }
+        Map result = new HashMap();
+        result.put("allAmount",allAmount);
+        return AjaxResult.success(result);
+    }
+
+    /**
+     * 获取本年的第一天
+     * @return String
+     * **/
+    public static String getYearStart(){
+        return new SimpleDateFormat("yyyy").format(new Date())+"-01-01";
+    }
+
+    /**
+     * 获取本年的最后一天
+     * @return String
+     * **/
+    public static String getYearEnd(){
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.MONTH,calendar.getActualMaximum(Calendar.MONTH));
+        calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+        Date currYearLast = calendar.getTime();
+        return new SimpleDateFormat("yyyy-MM-dd").format(currYearLast)+" 23:59:59";
+    }
 }

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

@@ -1,5 +1,6 @@
 package com.huyi.service.common.report.mapper;
 
+import com.baomidou.mybatisplus.annotation.SqlParser;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
@@ -113,4 +114,45 @@ public interface ReportCreditMapper {
      */
     public IPage<Map> getFinanceAmountAll(Page<Map> page, @Param("paramMap") Map map);
 
+    /**
+     * 获取核心企业已融资额度
+     * @param map
+     * @return
+     */
+    String listHasRaised(Map map);
+
+    /**
+     * 获取核心企业我开立的融信金额
+     * @param map
+     * @return
+     */
+    String listCreditAll(Map map);
+
+    /**
+     * 获取核心企业还款金额
+     * @param map
+     * @return
+     */
+    String listRepayment(Map map);
+
+    /**
+     * 获取核心企业正向授信额度
+     * @param map
+     * @return
+     */
+    List<Map> listCreditLineAll(Map map);
+
+    /**
+     * 获取核心企业30天内待还款
+     * @param map
+     * @return
+     */
+    String listPendingRepayment(Map map);
+
+    /**
+     * 查询供应商融信承诺付款日和最短账期
+     * @param map
+     * @return
+     */
+    List<Map> listCreditDate(Map map);
 }

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

@@ -111,4 +111,45 @@ public interface ReportCreditService {
      */
     public IPage<Map> getFinanceAmountAll(Map map, QueryRequest request);
 
+    /**
+     * 获取核心企业已融资额度
+     * @param map
+     * @return
+     */
+    String listHasRaised(Map map);
+
+    /**
+     * 获取核心企业我开立的融信金额
+     * @param map
+     * @return
+     */
+    String listCreditAll(Map map);
+
+    /**
+     * 获取核心企业还款金额
+     * @param map
+     * @return
+     */
+    String listRepayment(Map map);
+
+    /**
+     * 获取核心企业正向授信额度
+     * @param map
+     * @return
+     */
+    List<Map> listCreditLineAll(Map map);
+
+    /**
+     * 获取核心企业30天内待还款
+     * @param map
+     * @return
+     */
+    String listPendingRepayment(Map map);
+
+    /**
+     * 查询供应商融信承诺付款日和最短账期
+     * @param map
+     * @return
+     */
+    List<Map> listCreditDate(Map map);
 }

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

@@ -91,4 +91,34 @@ public class ReportCreditServiceImpl implements ReportCreditService {
         Page page = new Page<>(request.getPageNum(), request.getPageSize());
         return reportCreditMapper.getFinanceAmountAll(page, map);
     }
+
+    @Override
+    public String listHasRaised(Map map){
+        return reportCreditMapper.listHasRaised(map);
+    }
+
+    @Override
+    public String listCreditAll(Map map) {
+        return reportCreditMapper.listCreditAll(map);
+    }
+
+    @Override
+    public String listRepayment(Map map) {
+        return reportCreditMapper.listRepayment(map);
+    }
+
+    @Override
+    public List<Map> listCreditLineAll(Map map){
+        return reportCreditMapper.listCreditLineAll(map);
+    }
+
+    @Override
+    public String listPendingRepayment(Map map) {
+        return reportCreditMapper.listPendingRepayment(map);
+    }
+
+    @Override
+    public List<Map> listCreditDate(Map map){
+        return reportCreditMapper.listCreditDate(map);
+    }
 }

+ 225 - 0
sc-service/src/main/java/com/huyi/service/credit/controller/OwnStatisticalCreditAmountController.java

@@ -0,0 +1,225 @@
+package com.huyi.service.credit.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huyi.service.base.entity.*;
+import com.huyi.service.base.service.*;
+import com.huyi.service.common.financeLog.FinanceLog;
+import com.huyi.service.common.flowable.service.ApprovalService;
+import com.huyi.service.credit.service.OwnCreditService;
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
+import com.tianhu.common.core.constant.SalaryConstants;
+import com.tianhu.common.core.domain.R;
+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.utils.IdUtils;
+import com.tianhu.common.core.web.controller.BaseController;
+import com.tianhu.common.core.web.domain.AjaxResult;
+import com.tianhu.common.log.annotation.Log;
+import com.tianhu.common.log.enums.BusinessType;
+import com.tianhu.common.security.annotation.PreAuthorize;
+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.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.lang.reflect.InvocationTargetException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+
+/**
+ * 融信金额统计
+ * peixh
+ * 2021-10-27
+ */
+@RestController
+@RequestMapping("/StatisticalAmount")
+public class OwnStatisticalCreditAmountController extends BaseController {
+    @Autowired
+    private TokenService tokenService;
+    //自写融信服务类
+    @Autowired
+    private OwnCreditService    ownCreditService;
+    //核心授信服务类
+    @Autowired
+    private IZcFinanceProComRelService financeProComRelService;
+    //融信应收付关系的服务类
+    @Autowired
+    private IZcFinanceBillRelService    financeBillRelService;
+    //融信应收付关系的服务类
+    @Autowired
+    private IZcFinanceInfService    financeInfService;
+    //供应商授信服务类
+    @Autowired
+    private IZcFinanceSupplierQuotaService financeSupplierQuotaService;
+    //用户服务类
+    @Autowired
+    private ISysUserService     sysUserService;
+    //公司服务类
+    @Autowired
+    private ISysCompanyService companyService;
+    //产品服务类
+    @Autowired
+    private IZcFinanceProductService productService;
+    //收付款与发票关系表
+    @Autowired
+    private IZcBillInvoiceRelService billInvoiceRelService;
+    //发票服务
+    @Autowired
+    private IZcInvoiceInfService invoiceInfService;
+    //文件服务类
+    @Autowired
+    private IPubFileInfService fileInfService;
+    //收付款和文件的关系表服务类
+    @Autowired
+    private IZcBillFileRelService billFileRelService;
+    @Autowired
+    private FinanceLog financeLog;
+    //审批服务类
+    @Autowired
+    private ApprovalService approvalService;
+    //银行账户表
+    @Autowired
+    private IPayBankAccInfService bankAccInfService;
+    //融资记录服务类
+    @Autowired
+    private IZcFinanceRecordService iZcFinanceRecordService;
+    //待办服务类
+    @Autowired
+    private  ISysNoticeService      sysNoticeService;
+
+
+
+
+    /**
+     * 融信金额统计
+     * @return
+     */
+
+    @GetMapping("/list")
+    public R list(
+            @RequestParam(required=false)String zfiStatus,
+            @RequestParam(required=false)String finaceStatus,
+            @RequestParam(required=false)String statue,
+            @RequestParam(required=false)Map zfiExpireDate,
+            @RequestParam(required=false)String zfiTypes,
+            @RequestParam(required=false)String zfiQuery,
+            @RequestParam(required=false)String zfiValue) {
+        //查询当前操作员
+        LoginUser userInfo = tokenService.getLoginUser();
+        SysUser use = userInfo.getSysUser();
+        //获取企业
+        String companyId = use.getCompanyId();
+        //获取企业类型
+        String companyType = use.getCompanyType();
+        Map result = new HashMap();
+        Map map = new HashMap();
+        if (!SalaryConstants.OPEX.equals(companyId)) {
+            map.put("companyId", companyId);
+            map.put("companyType", companyType);
+        }
+        //状态
+        if (!CommonUtil.isEmpty(zfiStatus)) {
+            List<String> stateList = new ArrayList<>();
+            if (!zfiStatus.contains(",")) {
+                stateList.add(zfiStatus);
+            } else {
+                String arr[] = zfiStatus.split(",");
+                for (int i = 0; i < arr.length; i++) {
+                    if (!CommonUtil.isEmpty(arr[i])) {
+                        stateList.add(arr[i]);
+                    }
+                }
+            }
+            map.put("stateList", CommonUtil.listToStr4InSql(stateList));
+        }
+        //承诺付款日
+        map.put("zfiExpireDateStart", zfiExpireDate.get("zfiExpireDate[0]"));
+        map.put("zfiExpireDateEnd", zfiExpireDate.get("zfiExpireDate[1]"));
+        if ("01".equals(zfiTypes)) {
+            map.put("zfiSupplierId", companyId);
+        } else if ("02".equals(zfiTypes)) {
+            map.put("zfiCoreId", companyId);
+        }
+        //00:按开立企业名称查询 01:按融资企业名称查询 02按融信编号查询 03:按融信产品查询 04:按融资利率查询
+        if ("00".equals(zfiQuery)) {
+            map.put("coreScyName", zfiValue);
+        } else if ("01".equals(zfiQuery)) {
+            map.put("supplierScyName", zfiValue);
+        } else if ("02".equals(zfiQuery)) {
+            map.put("zfiNumber", zfiValue);
+        } else if ("03".equals(zfiQuery)) {
+            map.put("zfpName", zfiValue);
+        } else if ("04".equals(zfiQuery)) {
+            map.put("zfiRate", zfiValue);
+        }
+        List<Map> list = ownCreditService.getCreditList(map);
+        //总金额
+        String allAmount = "0.00";
+        //开立中
+        String klzAmount = "0.00";
+        //已生效
+        String ysxAmount = "0.00";
+        //融资中
+        String rzzAmount = "0.00";
+        //已融资
+        String yrzAmount = "0.00";
+        //已拒绝
+        String yjjAmount = "0.00";
+        //已结算
+        String yjsAmount = "0.00";
+        //已过期
+        String ygqAmount = "0.00";
+        for (int i = 0; i < list.size(); i++) {
+            //申请金额
+            String zfiAmount = list.get(i).get("zfiAmount") + "";
+            //融信状态
+            String status = list.get(i).get("zfiStatus") + "";
+            //总金额
+            allAmount = AmtUtil.add(allAmount, zfiAmount);
+            //开立中(状态  00:待确权 01:待签收 06:平台退回)
+            if ("00".equals(status) || "01".equals(status) || "06".equals(status)) {
+                klzAmount = AmtUtil.add(klzAmount, zfiAmount);
+            }
+            //已生效(状态  02:已生效)
+            else if ("02".equals(status)) {
+                ysxAmount = AmtUtil.add(ysxAmount, zfiAmount);
+            }
+            //融资中(状态  04:融资中)
+            else if ("04".equals(status)) {
+                rzzAmount = AmtUtil.add(rzzAmount, zfiAmount);
+            }
+            //已融资(状态  05:已融资)
+            else if ("05".equals(status)) {
+                yrzAmount = AmtUtil.add(yrzAmount, zfiAmount);
+            }
+            //已拒绝(状态  03:已拒绝)
+            else if ("03".equals(status)) {
+                yjjAmount = AmtUtil.add(yjjAmount, zfiAmount);
+            }
+            //已结算(状态  08:已结算(还款成功失效))
+            else if ("08".equals(status)) {
+                //已结算
+                yjsAmount = AmtUtil.add(yjsAmount, zfiAmount);
+            }
+            //已过期(状态  07:已过期(到期失效))
+            else if ("07".equals(status)) {
+                ygqAmount = AmtUtil.add(ygqAmount, zfiAmount);
+            }
+        }
+        result.put("allAmount", allAmount);
+        result.put("klzAmount", klzAmount);
+        result.put("ysxAmount", ysxAmount);
+        result.put("rzzAmount", rzzAmount);
+        result.put("yrzAmount", yrzAmount);
+        result.put("yjjAmount", yjjAmount);
+        result.put("yjsAmount", yjsAmount);
+        result.put("ygqAmount", ygqAmount);
+        return R.ok(result);
+    }
+}

+ 8 - 0
sc-service/src/main/java/com/huyi/service/credit/mapper/OwnCreditMapper.java

@@ -21,6 +21,14 @@ public interface OwnCreditMapper {
     public IPage<Map> selectCreditList(Page<Map> page, @Param("paramMap") Map map);
 
     /**
+     * 查询融资
+     * @param
+     * @param map
+     * @return
+     */
+    public List<Map> getCreditList(@Param("paramMap") Map map);
+
+    /**
      * 查询核心开立授信额度
      * @param map
      * @return

+ 8 - 0
sc-service/src/main/java/com/huyi/service/credit/service/OwnCreditService.java

@@ -18,6 +18,14 @@ public interface OwnCreditService {
     public IPage<Map> selectCreditList(Map map, QueryRequest request);
 
     /**
+     * 查询融资
+     * @param map
+     * @param
+     * @return
+     */
+    public List<Map> getCreditList(Map map);
+
+    /**
      * 查询授信额度
      * @param map
      * @return

+ 4 - 0
sc-service/src/main/java/com/huyi/service/credit/service/impl/OwnCreditServiceImpl.java

@@ -68,4 +68,8 @@ public class OwnCreditServiceImpl implements OwnCreditService {
         return creditMapper.updateSupplierStatus(map);
     }
 
+    @Override
+    public List<Map> getCreditList(Map map) {
+        return creditMapper.getCreditList(map);
+    }
 }

+ 147 - 8
sc-service/src/main/resources/mapper/common/ReportCreditMapper.xml

@@ -297,29 +297,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         zfr_id          'zfrId',
         zfi_number      'zfiNumber',
         zfi_amount      'afiAmount',
-        zfi_expire_date 'afiExpireDate'
+        zfi_expire_date 'afiExpireDate',
+        zfr_amount      'zfrAmount',
+        zfr_loan_amount 'zfrLoanAmount',
+        CAST(ROUND(IFNULL(SUM(zfr_loan_amount), 0), 2) AS CHAR) 'allAmount'
         FROM
         zc_finance_record
         LEFT JOIN zc_finance_inf
         ON zfr_finance_id = zfi_id
         LEFT JOIN zc_finance_product
         ON zfp_id = zfi_product_id
-        WHERE zfi_status IN ('02','04','05')
+        WHERE zfr_status = '01'
+        AND zfp_type = '1'
         <if test="paramMap.coreCompanyId != null  and paramMap.coreCompanyId != ''">
             AND zfi_core_id = #{paramMap.coreCompanyId}
         </if>
         <if test="paramMap.supplierCompanyId != null  and paramMap.supplierCompanyId != ''">
             AND zfi_supplier_id = #{paramMap.supplierCompanyId}
         </if>
-        <if test="paramMap.managementCompanyId != null  and paramMap.managementCompanyId != ''">
-            AND zfp_management_id = #{paramMap.managementCompanyId}
-        </if>
         <if test="paramMap.startDate != null  and paramMap.startDate != ''">
             AND zfi_expire_date BETWEEN #{paramMap.startDate} AND #{paramMap.endDate}
         </if>
-        <if test="paramMap.zfpType != null  and paramMap.zfpType != ''">
-            AND zfp_type = #{paramMap.zfpType}
-        </if>
+<!--        <if test="paramMap.zfpType != null  and paramMap.zfpType != ''">-->
+<!--            AND zfp_type = #{paramMap.zfpType}-->
+<!--        </if>-->
         ORDER BY zfi_expire_date
     </select>
 
@@ -432,5 +433,143 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             ROUND(IFNULL(SUM(zfpcr_amount), 0), 2) AS CHAR
           ) + 0
     </select>
+    <!--核心企业已融资金额-->
+    <select id="listHasRaised" parameterType="map" resultType="java.lang.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
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfi_product_id
+        WHERE 1=1
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="hxDateType == '00'">
+            AND zfr_status = '01'
+        </if>
+        <if test="hxDateType == '01'">
+            AND zfr_status IN ('01','03')
+            AND zfr_loan_date BETWEEN #{startDate} AND #{endDate}
+        </if>
+        <if test="hxDateType == '02'">
+            AND  zfr_status IN ('01','03')
+        </if>
+        <if test="zfpType != null  and zfpType != ''">
+            AND zfp_type = #{zfpType}
+        </if>
+
+    </select>
+
+    <!--核心企业我开立的融信金额-->
+    <select id="listCreditAll" 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 1=1
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="hxDateType == '00'">
+            AND zfi_status IN ('02', '04', '05')
+        </if>
+        <if test="hxDateType == '01'">
+            AND zfi_status IN ('02','04','05','07','08')
+            AND zc_finance_inf.create_time BETWEEN #{startDate} AND #{endDate}
+        </if>
+        <if test="hxDateType == '02'">
+            AND zfi_status IN ('02','04','05','07','08')
+        </if>
+        <if test="zfpType != null  and zfpType != ''">
+            AND zfp_type = #{zfpType}
+        </if>
+    </select>
+
+    <!--核心企业已还款金额-->
+    <select id="listRepayment" parameterType="map" resultType="java.lang.String">
+        SELECT
+        CAST(
+        ROUND(IFNULL(SUM(zfr_apply_amount), 0), 2) AS CHAR
+        ) 'allAmount'
+        FROM
+        zc_finance_record
+        LEFT JOIN zc_finance_inf
+        ON zfi_id = zfr_finance_id
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfi_product_id
+        WHERE 1=1
+        AND zfp_type = '1'
+        AND zfr_apply_status = '01'
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="hxDateType == '01'">
+            AND zfr_loan_date BETWEEN #{startDate} AND #{endDate}
+        </if>
+    </select>
+    <!--核心企业正向授信额度-->
+    <select id="listCreditLineAll" parameterType="map" resultType="map">
+        SELECT CAST(
+        ROUND(IFNULL(SUM(zfpcr_amount), 0), 2) AS CHAR
+        ) 'allAmount',
+        CAST(
+        ROUND(IFNULL(SUM(zfsq_amount), 0), 2) AS CHAR
+        ) 'zfsqAmount'
+        FROM zc_finance_supplier_quota
+        LEFT JOIN zc_finance_pro_com_rel
+        ON zfpcr_id = zfsq_core_quota_id
+        WHERE 1=1
+        AND zfsq_status = '00'
+        AND zfpcr_status = '00'
+        <if test="companyId != null  and companyId != ''">
+            AND zfpcr_company_id = #{companyId}
+        </if>
+    </select>
+
+    <!--核心企业30天内待还款-->
+    <select id="listPendingRepayment" parameterType="map" resultType="java.lang.String">
+        SELECT
+        CAST(ROUND(IFNULL(SUM(zfr_loan_amount), 0), 2) AS CHAR) 'allAmount'
+        FROM
+        zc_finance_record
+        LEFT JOIN zc_finance_inf
+        ON zfr_finance_id = zfi_id
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfi_product_id
+        WHERE zfr_status = '01'
+        <if test="coreCompanyId != null  and coreCompanyId != ''">
+            AND zfi_core_id = #{coreCompanyId}
+        </if>
+        <if test="startDate != null  and startDate != ''">
+            AND zfi_expire_date BETWEEN #{startDate} AND #{endDate}
+        </if>
+        <if test="zfpType != null  and zfpType != ''">
+            AND zfp_type = #{zfpType}
+        </if>
+    </select>
 
+    <!--供应商融信承诺付款日和最短账期-->
+    <select id="listCreditDate" parameterType="map" resultType="map">
+        SELECT
+        zfi_id 'zfiId',
+        DATE_FORMAT(zfi_expire_date, '%Y-%m-%d') 'zfiExpireDate',
+        zfp_shortest_period 'zfpShortestPeriod'
+        FROM zc_finance_inf
+        LEFT JOIN zc_finance_product
+        ON zfp_id = zfi_product_id
+        WHERE
+        zfi_status='02'
+        <if test="supplierCompanyId != null  and supplierCompanyId != ''">
+            AND zfi_supplier_id = #{supplierCompanyId}
+        </if>
+    </select>
 </mapper>

+ 109 - 1
sc-service/src/main/resources/mapper/credit/OwnCreditMapper.xml

@@ -29,7 +29,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 p.zfp_platform                                  'zfpPlatform',
                 f.zfi_payment_number                            'zfiPaymentNumber',
                 p.zfp_auth_type                                 'zfpAuthType',
-                f.zfi_platform_status                           'zfiPlatformStatus'
+                f.zfi_platform_status                           'zfiPlatformStatus',
+                p.zfp_type                                      'zfpType'
             FROM  zc_finance_inf f
             LEFT JOIN  sys_company y
             ON y.scy_id = f.zfi_supplier_id
@@ -350,4 +351,111 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </update>
 
 
+    <select id="getCreditList" parameterType="map" resultType="map">
+        SELECT
+        f.zfi_id                                        'zfiId',
+        f.zfi_supplier_id                               'zfiSupplierId',
+        f.zfi_core_status                               'zfiCoreStatus',
+        f.zfi_core_id                                   'zfiCoreId',
+        f.zfi_product_id                                'zfiProductId',
+        f.zfi_create_type                               'zfiCreateType',
+        f.zfi_amount                                    'zfiAmount',
+        DATE_FORMAT(f.zfi_effective_date,'%Y-%m-%d')    'zfiEffectiveDate',
+        DATE_FORMAT(f.zfi_sign_date,'%Y-%m-%d')         'zfiSignDate',
+        DATE_FORMAT(f.zfi_expire_date,'%Y-%m-%d')       'zfiExpireDate',
+        f.zfi_status                                    'zfiStatus',
+        f.zfi_supplier_status                           'zfiSupplierStatus',
+        y.scy_name                                      'receiveName',
+        s.scy_name                                      'openName',
+        p.zfp_name                                      'zfpName',
+        f.zfi_number                                    'zfiNumber',
+        f.zfi_core_quota_id                             'zfiCoreQuotaId',
+        DATE_FORMAT(f.create_time ,'%Y-%m-%d %H:%i:%s') 'createTime',
+        f.zfi_supplier_quota_id                         'zfiSupplierQuotaId',
+        f.zfi_rate                                       'zfiRate',
+        p.zfp_platform                                  'zfpPlatform',
+        f.zfi_payment_number                            'zfiPaymentNumber',
+        p.zfp_auth_type                                 'zfpAuthType',
+        f.zfi_platform_status                           'zfiPlatformStatus'
+        FROM  zc_finance_inf f
+        LEFT JOIN  sys_company y
+        ON y.scy_id = f.zfi_supplier_id
+        LEFT JOIN  sys_company s
+        ON s.scy_id = f.zfi_core_id
+        LEFT JOIN zc_finance_product p
+        ON p.zfp_id = f.zfi_product_id
+        WHERE (f.zfi_status != '99' or f.zfi_status is null)
+
+            <!--核心企业 开立方是自己的-->
+            <if test="paramMap.companyType == '01'">
+                and f.zfi_core_id = #{paramMap.companyId}
+            </if>
+            <!--融资企业 接收方为自己的-->
+            <if test="paramMap.companyType == '02'">
+                and f.zfi_supplier_id = #{paramMap.companyId}
+            </if>
+            <!--资方 融资产品为自己的-->
+            <if test="paramMap.companyType == '03'">
+                and p.zfp_management_id = #{paramMap.companyId}
+            </if>
+
+        <if test="paramMap.zfiId != null  and paramMap.zfiId != ''">
+            and f.zfi_id = #{paramMap.zfiId}
+        </if>
+        <if test="paramMap.stateList != null  and paramMap.stateList != ''">
+            and f.zfi_status IN (${paramMap.stateList})
+        </if>
+
+        <if test="paramMap.openCompany != null  and paramMap.openCompany != ''">
+            and s.scy_name like concat('%', #{paramMap.openCompany}, '%')
+        </if>
+
+        <if test="paramMap.receiveCompany != null  and paramMap.receiveCompany != ''">
+            and y.scy_name like concat('%', #{paramMap.receiveCompany}, '%')
+        </if>
+
+
+        <if test="paramMap.startTime != null  and paramMap.startTime != ''">
+            and DATE_FORMAT(f.zfi_sign_date, '%Y-%m-%d') &gt;= #{paramMap.startTime}
+        </if>
+
+        <if test="paramMap.endTime != null  and paramMap.endTime != ''">
+            and DATE_FORMAT(f.zfi_sign_date, '%Y-%m-%d') &lt;=  #{paramMap.endTime}
+        </if>
+        <if test="paramMap.zfiExpireDateStart != null  and paramMap.zfiExpireDateStart != ''">
+            and DATE_FORMAT(f.zfi_expire_date, '%Y-%m-%d') &gt;=  #{paramMap.zfiExpireDateStart}
+        </if>
+        <if test="paramMap.zfiExpireDateEnd != null  and paramMap.zfiExpireDateEnd != ''">
+            and DATE_FORMAT(f.zfi_expire_date, '%Y-%m-%d') &lt;=  #{paramMap.zfiExpireDateEnd}
+        </if>
+        <if test="paramMap.startAmt != null  and paramMap.startAmt != ''">
+            and f.zfi_amount >= #{paramMap.startAmt}
+        </if>
+        <if test="paramMap.endAmt != null  and paramMap.endAmt != ''">
+            and f.zfi_amount &lt;= #{paramMap.endAmt}
+        </if>
+        <if test="paramMap.zfiSupplierId != null  and paramMap.zfiSupplierId != ''">
+            and f.zfi_supplier_id = #{paramMap.companyId}
+        </if>
+        <if test="paramMap.zfiCoreId != null  and paramMap.zfiCoreId != ''">
+            and f.zfi_core_id = #{paramMap.companyId}
+        </if>
+        <if test="paramMap.zfiNumber != null  and paramMap.zfiNumber != ''">
+            and f.zfi_number like concat('%', #{paramMap.zfiNumber}, '%')
+        </if>
+        <if test="paramMap.zfpName != null  and paramMap.zfpName != ''">
+            and p.zfp_name like concat('%', #{paramMap.zfpName}, '%')
+        </if>
+        <if test="paramMap.zfiRate != null  and paramMap.zfiRate != '' or paramMap.zfiRate == 0">
+            and f.zfi_rate like concat('%', #{paramMap.zfiRate}, '%')
+        </if>
+        <if test="paramMap.coreScyName != null  and paramMap.coreScyName != ''">
+            and s.scy_name  like concat('%', #{paramMap.coreScyName}, '%')
+        </if>
+        <if test="paramMap.supplierScyName != null  and paramMap.supplierScyName != ''">
+            and y.scy_name like concat('%', #{paramMap.supplierScyName}, '%')
+        </if>
+        order by f.create_time desc
+
+    </select>
 </mapper>