Browse Source

执行立案申请审核通过推送金蝶财务转执行立案科目

zhanglei
dimengzhe 3 weeks ago
parent
commit
929c27cd0f
  1. 163
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java
  2. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.java
  3. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.xml
  4. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehService.java
  5. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  6. 30
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  7. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java

163
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java

@ -31,7 +31,19 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery;
import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
@ -62,11 +74,15 @@ import com.yxt.anrui.riskcenter.api.loancaseprogresstrial.LoanCaseProgressTrial;
import com.yxt.anrui.riskcenter.api.loancaseprogressveh.LoanCaseProgressVeh; import com.yxt.anrui.riskcenter.api.loancaseprogressveh.LoanCaseProgressVeh;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.LoanOutboundApply;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo;
import com.yxt.anrui.riskcenter.biz.loancaseexecuteveh.LoanCaseExecuteVehService; import com.yxt.anrui.riskcenter.biz.loancaseexecuteveh.LoanCaseExecuteVehService;
import com.yxt.anrui.riskcenter.biz.loancaseprogress.LoanCaseProgressService; import com.yxt.anrui.riskcenter.biz.loancaseprogress.LoanCaseProgressService;
import com.yxt.anrui.riskcenter.biz.loancaseprogresstrial.LoanCaseProgressTrialService; import com.yxt.anrui.riskcenter.biz.loancaseprogresstrial.LoanCaseProgressTrialService;
import com.yxt.anrui.riskcenter.biz.loancaseprogressveh.LoanCaseProgressVehService; import com.yxt.anrui.riskcenter.biz.loancaseprogressveh.LoanCaseProgressVehService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowVo;
@ -81,7 +97,9 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -126,6 +144,20 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec
private FlowTaskFeign flowTaskFeign; private FlowTaskFeign flowTaskFeign;
@Autowired @Autowired
private FlowFeign flowFeign; private FlowFeign flowFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private FinKingDeeFeign finKingDeeFeign;
@Autowired
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanRestoreReportApplyService loanRestoreReportApplyService;
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
public PagerVo<LoanCaseExecuteApplyVo> listPageVo(PagerQuery<LoanCaseExecuteApplyQuery> pq) { public PagerVo<LoanCaseExecuteApplyVo> listPageVo(PagerQuery<LoanCaseExecuteApplyQuery> pq) {
LoanCaseExecuteApplyQuery query = pq.getParams(); LoanCaseExecuteApplyQuery query = pq.getParams();
@ -495,7 +527,20 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec
UpdateFlowFieldVo ufVo = resultBean.getData(); UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
Future future1 = pool.submit(() -> {
//推送财务凭证
//TOdO:
pushRiskToFin(bv.getBusinessSid());
});
} catch (Exception e) {
e.printStackTrace();
}
} else { } else {
//极光推送 //极光推送
loanCaseExecuteApply = fetchBySid(businessSid); loanCaseExecuteApply = fetchBySid(businessSid);
@ -518,6 +563,122 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec
} }
} }
public void pushRiskToFin(String sid){
LoanCaseExecuteApply loanCaseExecuteApply = fetchBySid(sid);
if(loanCaseExecuteApply != null){
Voucher voucher = new Voucher();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanCaseExecuteApply.getUseOrgSid()).getData();
if (null != organizationVo) {
voucher.setAccountBook(organizationVo.getOrgCode());
voucher.setVoucherNo(organizationVo.getOrgCode());
}
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>();
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanCaseExecuteApply.getDeptSid()).getData();
List<String> busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseExecuteApply.getBusSid());
for (int i = 0; i < busVinSidList.size(); i++) {
String busVinSid = busVinSidList.get(i);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
String customerNumber = "";
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
if (salesOrder != null && busSalesOrderVehicle != null) {
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
if (StringUtils.isNotBlank(salesOrder.getPurchaseSystemSid())) {
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
}
bdCustomer.setTOrgIds(deptVo.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
}
AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(busVinSid);
//应收贷款车欠款_待处理欠款_处置车辆_已诉讼-当前欠款合计--不含资金占用费
BigDecimal all = BigDecimal.ZERO;
//预申请坏账金额
BigDecimal ysqhz = BigDecimal.ZERO;
//其中执行欠款金额
BigDecimal qzzxqk = BigDecimal.ZERO;
String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid);
all = all.add(StringUtils.isNotBlank(allMoney)?new BigDecimal(allMoney):BigDecimal.ZERO);
//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
//-------------------------------------------应收贷款车欠款_待处理欠款_处置车辆_已诉讼-当前欠款合计
if (all.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoDf.setSummary(customerNumber+"转执行");
voucherResultDetailDtoDf.setSubjectNo("1201.03.04.02");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(all.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf);
}
//---------------------------------------------待处理财产损溢 风险准备金(输入)-预申请坏账金额
if (ysqhz.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoJf.setSummary(customerNumber+"转执行");
voucherResultDetailDtoJf.setSubjectNo("1911.05");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(ysqhz.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf);
}
//--------------------------------------------应收贷款车欠款_待处理欠款_待执行-其中执行欠款金额
if (qzzxqk.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoJf2.setSummary(customerNumber+"转执行");
voucherResultDetailDtoJf2.setSubjectNo("1201.03.05");
//核算部门
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf2.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf2.setDebit(qzzxqk.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf2);
}
}
if (!voucherResultDetailDtos.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDtos);
finKingDeeFeign.saveVoucher(voucher);
}
}
}
public ResultBean<List<LoanCaseExecuteApplyNodeVo>> getPreviousNodesForReject(LoanCaseExecuteApplyNodeQuery query) { public ResultBean<List<LoanCaseExecuteApplyNodeVo>> getPreviousNodesForReject(LoanCaseExecuteApplyNodeQuery query) {
ResultBean<List<LoanCaseExecuteApplyNodeVo>> rb = ResultBean.fireFail(); ResultBean<List<LoanCaseExecuteApplyNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables(); BusinessVariables bv = new BusinessVariables();

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.java

@ -27,4 +27,5 @@ public interface LoanCaseProgressVehMapper extends BaseMapper<LoanCaseProgressVe
LoanCaseProgressVeh selByMainSidAndBusVinSid(@Param("sid") String sid, @Param("busVinSid") String busVinSid); LoanCaseProgressVeh selByMainSidAndBusVinSid(@Param("sid") String sid, @Param("busVinSid") String busVinSid);
List<String> selectByMainSid(String busSid);
} }

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressTrialMapper.xml → anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.xml

@ -1,5 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loancaseprogressveh.LoanCaseProgressVehMapper"> <mapper namespace="com.yxt.anrui.riskcenter.biz.loancaseprogressveh.LoanCaseProgressVehMapper">
<select id="selectByMainSid" resultType="java.lang.String">
select busVinSid
from loan_case_progress_veh
where mainSid = #{busSid}
</select>
</mapper> </mapper>

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehService.java

@ -39,4 +39,7 @@ public class LoanCaseProgressVehService extends MybatisBaseService<LoanCaseProgr
} }
public List<String> selectByMainSid(String busSid) {
return baseMapper.selectByMainSid(busSid);
}
} }

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java

@ -117,4 +117,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
String selByBusVinSidMax(String saleVehSid); String selByBusVinSidMax(String saleVehSid);
String getWdq(String busVinSid); String getWdq(String busVinSid);
String selectAllMoney(String busVinSid);
} }

30
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

@ -1029,4 +1029,34 @@
lrpd.sid, lrpd.busVinSid, lrpd.dueMoney lrpd.sid, lrpd.busVinSid, lrpd.dueMoney
) AS future_due_details ) AS future_due_details
</select> </select>
<select id="selectAllMoney" resultType="java.lang.String">
SELECT
ROUND(
SUM(ss.yq_total) +
COALESCE(lbpv_sum.bankBeInter_sum, 0),
2
) AS beMoney
FROM (
SELECT
lrpd.sid,
lrpd.busVinSid,
(lrpd.dueMoney - COALESCE(SUM(lrh.actualMoney), 0)) AS yq_total
FROM loan_repayment_plan_details lrpd
LEFT JOIN loan_repayment_history lrh
ON lrh.planDetailSid = lrpd.sid
WHERE lrpd.dueDate &lt;= lrpd.updateTime
AND lrpd.busVinSid = #{busVinSid}
GROUP BY lrpd.sid
) ss
LEFT JOIN (
SELECT
saleVehSid,
SUM(bankBeInter) AS bankBeInter_sum
FROM loan_be_padsincere_veh where saleVehSid =
#{busVinSid}
GROUP BY saleVehSid
) lbpv_sum ON lbpv_sum.saleVehSid = ss.busVinSid
GROUP BY ss.busVinSid having beMoney>0
</select>
</mapper> </mapper>

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java

@ -399,4 +399,8 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
public String getWdq(String busVinSid) { public String getWdq(String busVinSid) {
return baseMapper.getWdq(busVinSid); return baseMapper.getWdq(busVinSid);
} }
public String selectAllMoney(String busVinSid) {
return baseMapper.selectAllMoney(busVinSid);
}
} }

Loading…
Cancel
Save