Browse Source

资金占用费计提下载pdf

master
fanzongzhe 1 year ago
parent
commit
05b8a79511
  1. 9
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  2. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistory.java
  3. 17
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeign.java
  4. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeignFallback.java
  5. 22
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryPdfVo.java
  6. 23
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryQuery.java
  7. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryVo.java
  8. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.java
  9. 54
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml
  10. 23
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryRest.java
  11. 153
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java
  12. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java
  13. 1919
      anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/fund.ftl
  14. 3
      工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/fund.ftl
  15. 25
      工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/计提资金占用费.docx

9
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<FinColl
confirmation.setPaymentState(3); confirmation.setPaymentState(3);
baseMapper.updateById(confirmation); baseMapper.updateById(confirmation);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdfTimes = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String collectionDate = confirmation.getCollectionDate(); String collectionDate = confirmation.getCollectionDate();
//-------收款凭证组装--------- //-------收款凭证组装---------
CollectionVoucher collectionVoucher = new CollectionVoucher(); CollectionVoucher collectionVoucher = new CollectionVoucher();
@ -4028,6 +4029,14 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
loanPushFundHistory.setBusVinSid(planDetails.getBusVinSid()); loanPushFundHistory.setBusVinSid(planDetails.getBusVinSid());
loanPushFundHistory.setUseOrgName(planDetails.getUseOrgName()); loanPushFundHistory.setUseOrgName(planDetails.getUseOrgName());
loanPushFundHistory.setUseOrgSid(planDetails.getUseOrgSid()); loanPushFundHistory.setUseOrgSid(planDetails.getUseOrgSid());
String lastTimes = loanPushFundHistoryFeign.getLastDateByBusVinSid(planDetails.getBusVinSid()).getData();
if (StringUtils.isNotBlank(lastTimes)) {
try {
loanPushFundHistory.setLastAccrualDate(sdfTimes.parse(lastTimes));
} catch (ParseException e) {
e.printStackTrace();
}
}
fundHistoryList.add(loanPushFundHistory); fundHistoryList.add(loanPushFundHistory);
} }
//推送资金占用费出纳确认后 //推送资金占用费出纳确认后

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistory.java

@ -1,12 +1,14 @@
package com.yxt.anrui.riskcenter.api.loanpushfundhistory; package com.yxt.anrui.riskcenter.api.loanpushfundhistory;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity; import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* @author liupopo * @author liupopo
@ -26,4 +28,8 @@ public class LoanPushFundHistory extends BaseEntity {
private String useOrgName; private String useOrgName;
@ApiModelProperty("销售订单车辆sid") @ApiModelProperty("销售订单车辆sid")
private String busVinSid; private String busVinSid;
@ApiModelProperty("上次计提时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date lastAccrualDate;
} }

17
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeign.java

@ -1,9 +1,15 @@
package com.yxt.anrui.riskcenter.api.loanpushfundhistory; 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 io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
@ -24,4 +30,15 @@ public interface LoanPushFundHistoryFeign {
@PostMapping("/saveHistory") @PostMapping("/saveHistory")
public int saveHistory(@RequestBody List<LoanPushFundHistory> fundHistoryList); public int saveHistory(@RequestBody List<LoanPushFundHistory> fundHistoryList);
@ApiOperation("资金占用费计提列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanPushFundHistoryVo>> listPage(@RequestBody PagerQuery<LoanPushFundHistoryQuery> pq);
@ApiOperation("根据busVinSid查询上次计提时间")
@PostMapping("/getLastDateByBusVinSid")
public ResultBean<String> getLastDateByBusVinSid(@RequestParam("busVinSid") String busVinSid);
@ApiOperation("下载资金占用费计提记录dpf")
@PostMapping("/fundCreatePdf")
public ResultBean<String> fundCreatePdf(@RequestParam("times") String times, @RequestParam("orgPath") String orgPath);
} }

18
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; 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 org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@ -14,4 +17,19 @@ public class LoanPushFundHistoryFeignFallback implements LoanPushFundHistoryFeig
public int saveHistory(List<LoanPushFundHistory> fundHistoryList) { public int saveHistory(List<LoanPushFundHistory> fundHistoryList) {
return 0; return 0;
} }
@Override
public ResultBean<PagerVo<LoanPushFundHistoryVo>> listPage(PagerQuery<LoanPushFundHistoryQuery> pq) {
return null;
}
@Override
public ResultBean<String> getLastDateByBusVinSid(String busVinSid) {
return null;
}
@Override
public ResultBean<String> fundCreatePdf(String times, String orgPath) {
return null;
}
} }

22
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;
}

23
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;
}

21
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; //本次计提金额
}

11
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; 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.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.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.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -15,4 +20,10 @@ public interface LoanPushFundHistoryMapper extends BaseMapper<LoanPushFundHistor
int saveLists(@Param("list") List<LoanPushFundHistory> list); int saveLists(@Param("list") List<LoanPushFundHistory> list);
String getLastDateByBusVinSid(@Param("busVinSid") String busVinSid);
IPage<LoanPushFundHistoryVo> listPage(IPage<LoanPushFundHistory> page, @Param(Constants.WRAPPER) QueryWrapper<LoanPushFundHistory> qw);
List<LoanPushFundHistoryPdfVo> getFundPdfList(@Param("times") String times, @Param("useOrgSid") String useOrgSid);
} }

54
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml

@ -4,10 +4,60 @@
<insert id="saveLists" parameterType="java.util.List"> <insert id="saveLists" parameterType="java.util.List">
insert into loan_push_fund_history(sid,busVinSid,useOrgSid,useOrgName,fund) insert into loan_push_fund_history(sid,busVinSid,useOrgSid,useOrgName,fund,lastAccrualDate)
values values
<foreach collection="list" item="item" index="index" separator=","> <foreach collection="list" item="item" index="index" separator=",">
(#{item.sid},#{item.busVinSid},#{item.useOrgSid},#{item.useOrgName},#{item.fund}) (#{item.sid},#{item.busVinSid},#{item.useOrgSid},#{item.useOrgName},#{item.fund},#{item.lastAccrualDate})
</foreach> </foreach>
</insert> </insert>
<select id="getLastDateByBusVinSid" resultType="java.lang.String">
SELECT
createTime
FROM
loan_push_fund_history
WHERE
busVinSid = #{busVinSid}
ORDER BY
createTime DESC
LIMIT 1
</select>
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryVo">
SELECT SUM(fund) as money,
times
FROM
(SELECT LEFT(createTime,16) as times,h.* FROM loan_push_fund_history as h) a
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getFundPdfList"
resultType="com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryPdfVo">
SELECT
@row_number := @row_number + 1 AS sortNo,
p.loanContractNo AS loanNo,
p.bankName,
p.bankContractNo AS bankNo,
p.vinNo,
p.borrowerName,
p.dept AS saleDept,
a.lastDate,
a.days,
a.money
FROM
(
SELECT LEFT
( h.createTime, 16 ) AS times,
IFNULL( h.fund, 0 ) AS money,
date_format( h.lastAccrualDate, '%Y-%m-%d' ) AS lastDate,
DATEDIFF( h.createTime, h.lastAccrualDate ) AS days,
( SELECT sid FROM loan_repayment_plan_details WHERE policyOrOther = '0' AND busVinSid = h.busVinSid LIMIT 1 ) psid
FROM
loan_push_fund_history AS h
) AS a
LEFT JOIN loan_repayment_plan_details AS p ON p.sid = a.psid,
( SELECT @row_number := 0 ) AS t
WHERE
a.times = #{times}
AND p.useOrgSid = #{useOrgSid}
</select>
</mapper> </mapper>

23
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.LoanPushFundHistory;
import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryFeign; 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 io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -22,4 +28,21 @@ public class LoanPushFundHistoryRest implements LoanPushFundHistoryFeign {
public int saveHistory(List<LoanPushFundHistory> fundHistoryList) { public int saveHistory(List<LoanPushFundHistory> fundHistoryList) {
return loanPushFundHistoryService.saveLists(fundHistoryList); return loanPushFundHistoryService.saveLists(fundHistoryList);
} }
@Override
public ResultBean<PagerVo<LoanPushFundHistoryVo>> listPage(PagerQuery<LoanPushFundHistoryQuery> pq) {
ResultBean<PagerVo<LoanPushFundHistoryVo>> rb = ResultBean.fireFail();
PagerVo<LoanPushFundHistoryVo> pv = loanPushFundHistoryService.listPage(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<String> getLastDateByBusVinSid(String busVinSid) {
return loanPushFundHistoryService.getLastDateByBusVinSid(busVinSid);
}
@Override
public ResultBean<String> fundCreatePdf(String times, String orgPath) {
return loanPushFundHistoryService.fundCreatePdf(times,orgPath);
}
} }

153
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; 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.loanpushfundhistory.LoanPushFundHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryPdfVo;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; 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.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 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: * @description:
@ -17,8 +38,134 @@ import java.util.List;
@Service @Service
public class LoanPushFundHistoryService extends MybatisBaseService<LoanPushFundHistoryMapper, LoanPushFundHistory> { public class LoanPushFundHistoryService extends MybatisBaseService<LoanPushFundHistoryMapper, LoanPushFundHistory> {
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private DocPdfComponent docPdfComponent;
public int saveLists(List<LoanPushFundHistory> list) { public int saveLists(List<LoanPushFundHistory> list) {
return baseMapper.saveLists(list); return baseMapper.saveLists(list);
} }
public PagerVo<LoanPushFundHistoryVo> listPage(PagerQuery<LoanPushFundHistoryQuery> pq) {
LoanPushFundHistoryQuery pagerQuery = pq.getParams();
QueryWrapper<LoanPushFundHistory> qw = new QueryWrapper<>();
ResultBean<String> 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<LoanPushFundHistory> page = PagerUtil.queryToPage(pq);
IPage<LoanPushFundHistoryVo> pagging = baseMapper.listPage(page, qw);
PagerVo<LoanPushFundHistoryVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<String> 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<String> fundCreatePdf(String times, String orgPath) {
ResultBean rb = ResultBean.fireFail();
String finalPath = "";
Map<String, Object> dataMap = new HashMap();
List<Map<String, Object>> newList = new ArrayList<>();
dataMap.put("percent", "日万七");
String useOrgSid = "";
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
useOrgSid = orgSidByPath.getData();
ResultBean<SysOrganizationVo> 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<LoanPushFundHistoryPdfVo> records = baseMapper.getFundPdfList(times, useOrgSid);
if (!records.isEmpty()) {
for (LoanPushFundHistoryPdfVo details : records) {
Map<String, Object> 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);
}
} }

11
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 org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -164,6 +166,7 @@ public class ScheduledRepaymentPlanDetailsService {
public void pushFundVoucher() { public void pushFundVoucher() {
List<String> useOrgSidList = loanRepaymentPlanDetailsService.selUseOrgSidListForFundVoucher(); List<String> useOrgSidList = loanRepaymentPlanDetailsService.selUseOrgSidListForFundVoucher();
useOrgSidList.removeAll(Collections.singleton(null)); useOrgSidList.removeAll(Collections.singleton(null));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (!useOrgSidList.isEmpty()) { if (!useOrgSidList.isEmpty()) {
for (String u : useOrgSidList) { for (String u : useOrgSidList) {
List<LoanPlanDetailsVoForFundVoucher> fundVouchers = loanRepaymentPlanDetailsService.getFundForVoucher(u); List<LoanPlanDetailsVoForFundVoucher> fundVouchers = loanRepaymentPlanDetailsService.getFundForVoucher(u);
@ -255,6 +258,14 @@ public class ScheduledRepaymentPlanDetailsService {
if (null != v.getDuePushMoney()) { if (null != v.getDuePushMoney()) {
loanPushFundHistory.setFund(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); fundHistoryList.add(loanPushFundHistory);
} }
generalVoucher.setVoucherDetails(voucherDetails); generalVoucher.setVoucherDetails(voucherDetails);

1919
anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/fund.ftl

File diff suppressed because it is too large

3
工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/fund.ftl

File diff suppressed because one or more lines are too long

25
工作内容需要的文档/单据模板/财务凭证打印模板/计提资金占用费/计提资金占用费.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!}
Loading…
Cancel
Save