diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 825366b23a..b5dd939aba 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -3819,6 +3819,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService fundHistoryList); + @ApiOperation("资金占用费计提列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("根据busVinSid查询上次计提时间") + @PostMapping("/getLastDateByBusVinSid") + public ResultBean getLastDateByBusVinSid(@RequestParam("busVinSid") String busVinSid); + + @ApiOperation("下载资金占用费计提记录dpf") + @PostMapping("/fundCreatePdf") + public ResultBean fundCreatePdf(@RequestParam("times") String times, @RequestParam("orgPath") String orgPath); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeignFallback.java index 8bd71a9c63..4d1deb3677 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeignFallback.java @@ -1,6 +1,9 @@ package com.yxt.anrui.riskcenter.api.loanpushfundhistory; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; import java.util.List; @@ -14,4 +17,19 @@ public class LoanPushFundHistoryFeignFallback implements LoanPushFundHistoryFeig public int saveHistory(List fundHistoryList) { return 0; } + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean getLastDateByBusVinSid(String busVinSid) { + return null; + } + + @Override + public ResultBean fundCreatePdf(String times, String orgPath) { + return null; + } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryPdfVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryPdfVo.java new file mode 100644 index 0000000000..e4c6fca88a --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryPdfVo.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.riskcenter.api.loanpushfundhistory; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/4/16 10:32 + */ +@Data +public class LoanPushFundHistoryPdfVo { + private Integer sortNo; + private String bankName; + private String bankNo; + private String vinNo; + private String borrowerName; + private String saleDept; + private String lastDate; + private String days; + private String money; + private String loanNo; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryQuery.java new file mode 100644 index 0000000000..c98a2d64d8 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryQuery.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.riskcenter.api.loanpushfundhistory; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/4/16 8:38 + */ +@Data +public class LoanPushFundHistoryQuery implements Query { + +// private String loanContractNo;//贷款合同号 +// private String bankName; //资方 +// private String bankContractNo;//资方合同号 +// private String vinNo;//车架号 +// private String borrowerName; //贷款人 +// private String salesDept; //销售部门 + private String startTimes; //计提开始时间 + private String endTimes; //计提结束时间 + private String orgPath; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryVo.java new file mode 100644 index 0000000000..a247d28298 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryVo.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.riskcenter.api.loanpushfundhistory; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/4/16 8:37 + */ +@Data +public class LoanPushFundHistoryVo implements Vo { +// private String loanContractNo;//贷款合同号 +// private String bankName; //资方 +// private String bankContractNo;//资方合同号 +// private String vinNo;//车架号 +// private String borrowerName; //贷款人 +// private String salesDept; //销售部门 + private String times; //计提时间 + private String money; //本次计提金额 +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.java index 3d03a2f02b..b2aefc38a4 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.java @@ -1,7 +1,12 @@ package com.yxt.anrui.riskcenter.biz.loanpushfundhistory; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryPdfVo; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryVo; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; import org.apache.ibatis.annotations.Mapper; @@ -15,4 +20,10 @@ public interface LoanPushFundHistoryMapper extends BaseMapper list); + + String getLastDateByBusVinSid(@Param("busVinSid") String busVinSid); + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getFundPdfList(@Param("times") String times, @Param("useOrgSid") String useOrgSid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml index fb5c3044bd..a2d0718078 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml @@ -4,10 +4,60 @@ - insert into loan_push_fund_history(sid,busVinSid,useOrgSid,useOrgName,fund) + insert into loan_push_fund_history(sid,busVinSid,useOrgSid,useOrgName,fund,lastAccrualDate) values - (#{item.sid},#{item.busVinSid},#{item.useOrgSid},#{item.useOrgName},#{item.fund}) + (#{item.sid},#{item.busVinSid},#{item.useOrgSid},#{item.useOrgName},#{item.fund},#{item.lastAccrualDate}) + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryRest.java index d31184bb03..38006462e4 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryRest.java @@ -2,6 +2,12 @@ package com.yxt.anrui.riskcenter.biz.loanpushfundhistory; import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryFeign; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryQuery; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryVo; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; @@ -22,4 +28,21 @@ public class LoanPushFundHistoryRest implements LoanPushFundHistoryFeign { public int saveHistory(List fundHistoryList) { return loanPushFundHistoryService.saveLists(fundHistoryList); } + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = loanPushFundHistoryService.listPage(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean getLastDateByBusVinSid(String busVinSid) { + return loanPushFundHistoryService.getLastDateByBusVinSid(busVinSid); + } + + @Override + public ResultBean fundCreatePdf(String times, String orgPath) { + return loanPushFundHistoryService.fundCreatePdf(times,orgPath); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java index c804eea8e7..7ba89a0906 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java @@ -1,13 +1,34 @@ package com.yxt.anrui.riskcenter.biz.loanpushfundhistory; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; -import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; -import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryPdfVo; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryQuery; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryVo; +import com.yxt.common.base.config.component.DocPdfComponent; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.WordConvertUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.io.File; +import java.io.InputStream; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +import static java.util.Comparator.comparing; /** * @description: @@ -17,8 +38,134 @@ import java.util.List; @Service public class LoanPushFundHistoryService extends MybatisBaseService { + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private DocPdfComponent docPdfComponent; + public int saveLists(List list) { return baseMapper.saveLists(list); } + public PagerVo listPage(PagerQuery pq) { + LoanPushFundHistoryQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(pagerQuery.getOrgPath()); + if (orgSidByPath.getSuccess()) { + qw.eq("a.useOrgSid", orgSidByPath.getData()); + } + String startDate = pagerQuery.getStartTimes(); + String endDate = pagerQuery.getEndTimes(); + qw.apply(StringUtils.isNotEmpty(startDate), "date_format(a.times,'%Y-%m-%d %H:%I') >= date_format('" + startDate + "','%Y-%m-%d %H:%I')"). + apply(StringUtils.isNotEmpty(endDate), "date_format(a.times,'%Y-%m-%d %H:%I') <= date_format('" + endDate + "','%Y-%m-%d %H:%I')" + ); + qw.groupBy("a.times", "a.useOrgSid"); + qw.orderByDesc("a.times"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean getLastDateByBusVinSid(String busVinSid) { + ResultBean rb = ResultBean.fireFail(); + String returnTimes = baseMapper.getLastDateByBusVinSid(busVinSid); + if (StringUtils.isNotBlank(returnTimes)) { + return rb.success().setData(returnTimes); + } + return rb.success().setData(""); + } + + public ResultBean fundCreatePdf(String times, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + String finalPath = ""; + Map dataMap = new HashMap(); + List> newList = new ArrayList<>(); + dataMap.put("percent", "日万七"); + String useOrgSid = ""; + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); + if (orgSidByPath.getSuccess()) { + useOrgSid = orgSidByPath.getData(); + ResultBean organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid); + if (organizationVo.getSuccess()) { + SysOrganizationVo organizationVoData = organizationVo.getData(); + if (null != organizationVoData) { + dataMap.put("company", organizationVoData.getName()); + } + } + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date parse = null; + try { + parse = sdf.parse(times); + dataMap.put("times", sdf.format(parse)); + } catch (ParseException e) { + e.printStackTrace(); + } + List records = baseMapper.getFundPdfList(times, useOrgSid); + if (!records.isEmpty()) { + for (LoanPushFundHistoryPdfVo details : records) { + Map map = new HashMap<>(); + if (null != details) { + map.put("sortNo", details.getSortNo()); + if (StringUtils.isNotBlank(details.getLoanNo())) { + map.put("loanNo", details.getLoanNo()); + } + if (StringUtils.isNotBlank(details.getVinNo())) { + map.put("vinNo", details.getVinNo()); + } + if (StringUtils.isNotBlank(details.getBankName())) { + map.put("bankName", details.getBankName()); + } + if (StringUtils.isNotBlank(details.getBankNo())) { + map.put("bankNo", details.getBankNo()); + } + if (StringUtils.isNotBlank(details.getBorrowerName())) { + map.put("borrowerName", details.getBorrowerName()); + } + if (StringUtils.isNotBlank(details.getSaleDept())) { + map.put("saleDept", details.getSaleDept()); + } + if (StringUtils.isNotBlank(details.getLastDate())) { + map.put("lastDate", details.getLastDate()); + } + if (StringUtils.isNotBlank(details.getDays())) { + map.put("days", details.getDays()); + } + if (StringUtils.isNotBlank(details.getMoney())) { + map.put("money", details.getMoney()); + } + + } + newList.add(map); + } + } + dataMap.put("newList", newList); + String temp = "/template/"; + String targetPath = docPdfComponent.getUploadTemplateUrl(); + try { + //获取模板 + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/vouchers/fund.ftl"); + //生成word文件名 + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + long seconds = System.currentTimeMillis(); + String typeName = dateStr + seconds + ".doc"; + File file = new File(targetPath + "templateVouchers" + seconds + ".ftl"); + File dir = new File(targetPath); + WordConvertUtils.inputStreamToFile(inputStream, file); + WordConvertUtils.creatWord1(dataMap, file, targetPath, typeName, dir); + //新生成的word路径 + String wordPath = targetPath + typeName; + String pdfName = "资金占用费计提" + dateStr + seconds + ".pdf"; + WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); + finalPath = temp + pdfName; + } catch (NoClassDefFoundError e) { + e.printStackTrace(); + finalPath = targetPath; + } + + return rb.success().setData(finalPath); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java index d5ded521d1..3cd0d64035 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java @@ -34,6 +34,8 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -164,6 +166,7 @@ public class ScheduledRepaymentPlanDetailsService { public void pushFundVoucher() { List useOrgSidList = loanRepaymentPlanDetailsService.selUseOrgSidListForFundVoucher(); useOrgSidList.removeAll(Collections.singleton(null)); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (!useOrgSidList.isEmpty()) { for (String u : useOrgSidList) { List fundVouchers = loanRepaymentPlanDetailsService.getFundForVoucher(u); @@ -255,6 +258,14 @@ public class ScheduledRepaymentPlanDetailsService { if (null != v.getDuePushMoney()) { loanPushFundHistory.setFund(v.getDuePushMoney()); } + String times = loanPushFundHistoryService.getLastDateByBusVinSid(v.getBusVinSid()).getData(); + if (StringUtils.isNotBlank(times)) { + try { + loanPushFundHistory.setLastAccrualDate(sdf.parse(times)); + } catch (ParseException e) { + e.printStackTrace(); + } + } fundHistoryList.add(loanPushFundHistory); } generalVoucher.setVoucherDetails(voucherDetails); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/fund.ftl b/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/fund.ftl new file mode 100644 index 0000000000..b87aa30224 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/fund.ftl @@ -0,0 +1,1919 @@ + + + + Administrator + FAN + 2024-04-12T01:09:00Z + 2024-04-16T02:24:10Z + 7200 + 1 + 0 + 0 + 0 + 0 + 0 + 14 + + + 2052-12.1.0.16729 + CBA12F6EAE3B4999AC52E9A4CB71CC29_13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资金占用费计提 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${company!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 计提率:${percent!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 计提时间:${times!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 计提明细 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 序号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 贷款合同号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 资方合同号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 车架号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 贷款人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 销售部门 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 上次计提日期 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 计提天数 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 本次计提金额 + + + + + <#list newList as list> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.sortNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.loanNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.bankName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.bankNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.vinNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.borrowerName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.saleDept!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.lastDate!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.days!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.money!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PAGE \* MERGEFORMAT + + + + + + 1 + + + + + + 页 共 + + + + + + NUMPAGES \* MERGEFORMAT + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/fund.ftl b/工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/fund.ftl new file mode 100644 index 0000000000..efc4a0b9c4 --- /dev/null +++ b/工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/fund.ftl @@ -0,0 +1,3 @@ + + +AdministratorFAN2024-04-12T01:09:00Z2024-04-16T02:24:10Z7200100000142052-12.1.0.16729CBA12F6EAE3B4999AC52E9A4CB71CC29_13资金占用费计提 ${company!}计提率:${percent!}计提时间:${times!}计提明细序号贷款合同号资方资方合同号车架号贷款人销售部门上次计提日期计提天数本次计提金额${list.sortNo!}${list.loanNo!}${list.bankName!}${list.bankNo!}${list.vinNo!}${list.borrowerName!}${list.saleDept!}${list.lastDate!}${list.days!}${list.money!} PAGE \* MERGEFORMAT 1 页 共 NUMPAGES \* MERGEFORMAT 1 \ No newline at end of file diff --git a/工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/计提资金占用费.docx b/工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/计提资金占用费.docx new file mode 100644 index 0000000000..af39633d74 --- /dev/null +++ b/工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/计提资金占用费.docx @@ -0,0 +1,25 @@ + 资金占用费计提 + ${company!} + 计提率:${percent!} + 计提时间:${times!} + 计提明细 + 序号 + 贷款合同号 + 资方 + 资方合同号 + 车架号 + 贷款人 + 销售部门 + 上次计提日期 + 计提天数 + 本次计提金额 + ${list.sortNo!} + ${list.loanNo!} + ${list.bankName!} + ${list.bankNo!} + ${list.vinNo!} + ${list.borrowerName!} + ${list.saleDept!} + ${list.lastDate!} + ${list.days!} + ${list.money!}