Browse Source

优化月还计提定时任务、优化退车无法生成还款计划表

master
fanzongzhe0036 3 weeks ago
parent
commit
70115c7e9d
  1. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.xml
  2. 26
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java
  3. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java
  4. 18
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml
  5. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fintemptimepush/FinTempTimePushFeign.java
  6. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushMapper.java
  7. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushMapper.xml
  8. 9
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushRest.java
  9. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushService.java
  10. 70
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/TimingPushService.java
  11. 15
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/VoucherService.java
  12. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java
  13. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java
  14. 62
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanvoucher/RskGeneralVoucher.java
  15. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java
  16. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml
  17. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java
  18. 65
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java
  19. 36
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.xml

@ -25,7 +25,7 @@
</select>
<select id="listPageForRepay"
resultType="com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusLoancontractForRepayVo">
SELECT
SELECT DISTINCT
bs.sid AS orderSid,
bs.orgName AS orgName,
bs.staffName AS staffName,
@ -47,6 +47,8 @@
FROM
bus_sales_order_loancontract AS co
LEFT JOIN bus_sales_order AS bs ON co.salesOrderSid = bs.sid
LEFT JOIN bus_sales_order_vehicle as v ON co.sid = v.loanContractSid
LEFT JOIN anrui_base.base_vehicle_state as bvs ON v.sid = bvs.busSid
<where>${ew.sqlSegment}</where>
</select>

26
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java

@ -36,11 +36,8 @@ import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo;
import com.yxt.anrui.buscenter.api.busdeliveredapply.PushOtherDocument;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrower;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.*;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService;
import com.yxt.anrui.buscenter.biz.bussalesorderborrower.BusSalesOrderBorrowerService;
import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService;
@ -51,7 +48,6 @@ import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CapitalCreditResult;
import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CwSystemYT;
import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
@ -62,29 +58,22 @@ import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankFeign;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyFeign;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.PushVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetailFeign;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
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.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@ -378,13 +367,13 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
qw.ne("co.state", 0);
qw.eq("co.isDelete", 0);
qw.eq("co.busNo", "305");
qw.ne("bvs.busState","602");
qw.orderByDesc("co.createTime");
IPage<BusLoancontractForRepayVo> pagging = baseMapper.listPageForRepay(page, qw);
List<BusLoancontractForRepayVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (BusLoancontractForRepayVo record : records) {
// record.setHandleBtn(false);
if (StringUtils.isNotBlank(record.getSalesOrderSid())) {
List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleService.selByLoanContractSid(record.getSalesOrderSid());
busSalesOrderVehicles.removeAll(Collections.singleton(null));
@ -506,18 +495,7 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService<BusSale
record.setAmountAll(mainAmount.toString());
}
}
// record.setBuilded("是");
// List<LoanRepaymentHistory> histories = repaymentScheduleFeign.selHistoryBySid(repaymentSchedule.getData().getSid()).getData();
// if (histories.isEmpty() || histories == null) {
// record.setHandleBtn(true);
// }
}
// else {
// record.setBuilded("否");
// if (StringUtils.isNotBlank(record.getBankContractNo())) {
// record.setHandleBtn(true);
// }
// }
}
}
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java

@ -171,7 +171,7 @@ public interface BusSalesOrderVehicleMapper extends BaseMapper<BusSalesOrderVehi
List<BusSalesOrderVehicle> selectListByOrderSidAndXdConSid(@Param("saleOrderSid") String saleOrderSid,@Param("loanContractSid") String loanContractSid);
@Select("select * from bus_sales_order_vehicle where loanContractSid = #{loanContractSid}")
List<BusSalesOrderVehicle> selByLoanContractSid(String loanContractSid);
@Select("select * from bus_sales_order_vehicle where borrowerSid = #{borrowerSid}")

18
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml

@ -377,11 +377,13 @@
</select>
<select id="selectListByOrderSidAndDkrSidAndLoanContractSid"
resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
SELECT *
FROM bus_sales_order_vehicle
WHERE salesOrderSid = #{saleOrderSid}
AND borrowerSid = #{borrowerSid}
AND loanContractSid = #{loanContractSid}
SELECT bv.*
FROM bus_sales_order_vehicle as bv
LEFT JOIN anrui_base.base_vehicle_state as bvs ON bv.sid = bvs.busSid
WHERE bv.salesOrderSid = #{saleOrderSid}
AND bv.borrowerSid = #{borrowerSid}
AND bv.loanContractSid = #{loanContractSid}
AND bvs.busState != '602'
</select>
<select id="selectVinNos" resultType="java.lang.String">
@ -434,4 +436,10 @@
ORDER BY o.createTime DESC
LIMIT 1
</select>
<select id="selByLoanContractSid"
resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select bv.* from bus_sales_order_vehicle as bv
LEFT JOIN anrui_base.base_vehicle_state as bvs ON bv.sid = bvs.busSid
where bv.loanContractSid = #{loanContractSid} AND bvs.busState != '602'
</select>
</mapper>

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fintemptimepush/FinTempTimePushFeign.java

@ -4,8 +4,10 @@ import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@Api(tags = "金蝶数据推送-临时表")
@FeignClient(
@ -20,6 +22,11 @@ public interface FinTempTimePushFeign {
@ApiOperation("测试推送凭证")
@PostMapping("/test")
public void test();
public ResultBean test();
@ApiOperation("根据业务sid删除")
@DeleteMapping("/delByBusSid")
public ResultBean delByBusSid(@RequestParam("busSid") String busSid);
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushMapper.java

@ -40,4 +40,6 @@ public interface FinTempTimePushMapper extends BaseMapper<FinTempTimePush> {
void delBySid(@Param("sid") String sid);
int delByBusSid(@Param("busSid") String busSid);
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushMapper.xml

@ -5,6 +5,10 @@
DELETE FROM fin_temp_time_push
WHERE sid =#{sid}
</delete>
<delete id="delByBusSid">
DELETE FROM fin_temp_time_push
WHERE busSid =#{busSid}
</delete>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->

9
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushRest.java

@ -50,7 +50,12 @@ public class FinTempTimePushRest implements FinTempTimePushFeign {
}
@Override
public void test() {
timingPushService.monthlyAccrualVoucher();
public ResultBean test() {
return timingPushService.monthlyAccrualVoucher();
}
@Override
public ResultBean delByBusSid(String busSid) {
return finTempTimePushService.delByBusSid(busSid);
}
}

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushService.java

@ -53,4 +53,10 @@ public class FinTempTimePushService extends MybatisBaseService<FinTempTimePushMa
public void delBySid(String sid) {
baseMapper.delBySid(sid);
}
public ResultBean delByBusSid(String busSid) {
ResultBean rb = ResultBean.fireFail();
int i = baseMapper.delByBusSid(busSid);
return rb.success();
}
}

70
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/TimingPushService.java

@ -1,11 +1,20 @@
package com.yxt.anrui.fin.biz.fintemptimepush;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePush;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeFeignRest;
import com.yxt.anrui.fin.biz.kingdee.voucher.VoucherService;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyFeign;
import com.yxt.anrui.riskcenter.api.loanvoucher.RskGeneralVoucher;
import com.yxt.common.core.result.ResultBean;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -15,26 +24,69 @@ import java.util.List;
* @date 2023/11/7 14:02
*/
@Component
@Slf4j
public class TimingPushService {
@Autowired
private LoanMonthlyAccrualApplyFeign loanMonthlyAccrualApplyFeign;
@Autowired
private FinTempTimePushService finTempTimePushService;
@Autowired
private FinKingDeeFeignRest finKingDeeFeignRest;
@Autowired
private VoucherService voucherService;
/**
* 定时推送月还计提凭证
*/
@Scheduled(cron = "0 0 3 2,3,4,5,6,7,8,9,10 * ?") //每月2-10号 3点推送
// @Scheduled(cron = "0 0/3 * * * ?") //每3分钟推送
public void monthlyAccrualVoucher() {
// @Scheduled(cron = "0 0/10 * * * ?") //每3分钟推送
public ResultBean monthlyAccrualVoucher() {
ResultBean rb = ResultBean.fireFail();
List<FinTempTimePush> list = finTempTimePushService.selListByBusType("月还计提");
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
for (FinTempTimePush f : list) {
loanMonthlyAccrualApplyFeign.rePushVoucher(f.getBusSid());
finTempTimePushService.delBySid(f.getSid());
}
}
if (!list.isEmpty()) {
for (FinTempTimePush f : list) {
List<RskGeneralVoucher> vouchers = loanMonthlyAccrualApplyFeign.rePushVoucher2(f.getBusSid()).getData();
if (!vouchers.isEmpty()) {
for (RskGeneralVoucher voucher : vouchers) {
Voucher newVoucher = new Voucher();
List<Voucher.VoucherResultDetailDto> resultDetails = new ArrayList<>();
if (StringUtils.isNotBlank(voucher.getUseOrgCode())) {
newVoucher.setAccountBook(voucher.getUseOrgCode());
newVoucher.setVoucherNo(voucher.getUseOrgCode());
}
String formatDate = voucher.getBussDate();
String[] split = formatDate.split("-");
String month = split[1];
int m = Integer.parseInt(month);
List<RskGeneralVoucher.GeneralVoucherDetail> voucherDetails = voucher.getVoucherDetails();
if (!voucherDetails.isEmpty()) {
for (RskGeneralVoucher.GeneralVoucherDetail voucherDetail : voucherDetails) {
Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方
dto1.setSummary(m + "月计提月还");
dto2.setSummary(m + "月计提月还");
dto1.setSubjectNo("1201.02.01");
dto2.setSubjectNo("1201.01.00");
dto1.setDimensionDept(voucherDetail.getDeptCode());
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto2.setDimensionDept(voucherDetail.getDeptCode());
dto2.setDimensionCustom(voucherDetail.getCustomerCode());
dto1.setDebit(String.valueOf(voucherDetail.getAmount()));
dto2.setCredit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto1);
resultDetails.add(dto2);
}
newVoucher.setResultDetails(resultDetails);
}
log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher));
voucherService.saveVoucher(newVoucher);
}
}
// loanMonthlyAccrualApplyFeign.rePushVoucher(f.getBusSid());
finTempTimePushService.delBySid(f.getSid());
}
}
return rb.success();
}
}

15
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/voucher/VoucherService.java

@ -2,7 +2,6 @@ package com.yxt.anrui.fin.biz.kingdee.voucher;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.base.utils.StringUtils;
@ -48,12 +47,6 @@ public class VoucherService extends FinKingDeeService {
}
String kingDeeData = VoucherCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData());
try {
// ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.GL_VOUCHER.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
// if (!resultBean1.getSuccess()) {
// log.info("凭证暂存失败!");
// return rb.setMsg("凭证暂存失败!");
// }
// log.info("凭证暂存成功!");
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.GL_VOUCHER.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
if (!resultBean1.getSuccess()) {
log.info("凭证保存失败!");
@ -61,14 +54,6 @@ public class VoucherService extends FinKingDeeService {
}
log.info("凭证保存成功!");
// String submitKD = getSubmitKD(resultBean1.getData(), KingDeeBillId.AR_OTHERRECEIVABLE.getID());
// ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), submitKD, KingDeeBillUrl.SUBMIT_URL.getURL());
// if (!resultBean2.getSuccess()) {
// log.info("凭证提交失败!");
// return rb.setMsg("凭证提交失败!");
// }
// log.info("凭证提交成功!");
} catch (Exception e) {
e.printStackTrace();
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java

@ -2,6 +2,7 @@ package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanvoucher.RskGeneralVoucher;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -54,6 +55,11 @@ public class LoanMonthlyAccrualApplyFallback implements LoanMonthlyAccrualApplyF
return null;
}
@Override
public ResultBean<List<RskGeneralVoucher>> rePushVoucher2(String sid) {
return null;
}
@Override
public ResultBean submitRecordApplication(SubmitAccrualDto dto) {
return null;

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanvoucher.RskGeneralVoucher;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -66,6 +67,11 @@ public interface LoanMonthlyAccrualApplyFeign {
@PostMapping("/rePushVoucher")
public ResultBean rePushVoucher(@RequestParam("sid") String sid);
@ApiOperation("重推凭证")
@PostMapping("/rePushVoucher2")
public ResultBean<List<RskGeneralVoucher>> rePushVoucher2(@RequestParam("sid") String sid);
//---------------------------流程---------------------------------------
@ApiOperation("提交")

62
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanvoucher/RskGeneralVoucher.java

@ -0,0 +1,62 @@
package com.yxt.anrui.riskcenter.api.loanvoucher;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* @author Fan
* @description
* @date 2023/12/19 11:16
*/
@Data
@ApiModel(value = "一般凭证 数据传输对象", description = "一般凭证 数据传输对象")
public class RskGeneralVoucher {
@ApiModelProperty("分公司编码")
@NotBlank(message = "分公司编码不能为空")
public String useOrgCode;
@ApiModelProperty("业务日期")
public String bussDate;
@ApiModelProperty("凭证明细")
public List<RskGeneralVoucher.GeneralVoucherDetail> voucherDetails;
@Data
public static class GeneralVoucherDetail {
public String timeFlag; //应用于资金占用费计提凭证摘要标识 0代表上月 1代表本月
public String type;
@ApiModelProperty("场景编码")
public String sceneCode;
@ApiModelProperty("资方简称")
@NotBlank(message = "资方简称不能为空")
public String bankName;
@ApiModelProperty("数据日期")
public Date dataTime;
@ApiModelProperty("部门编码")
@NotBlank(message = "部门编码不能为空")
public String deptCode;
@ApiModelProperty("部门名称")
public String deptName;
@ApiModelProperty("客户编码")
@NotBlank(message = "客户编码不能为空")
public String customerCode;
@ApiModelProperty("客户名称")
public String customerName;
@ApiModelProperty("金额")
@NotBlank(message = "金额不能为空")
public BigDecimal amount;
@ApiModelProperty("核算维度厂商(供应商)")
public String manufacturer;
@ApiModelProperty("核算维度物料")
public String material;
@ApiModelProperty("备注")
public String remarks;
@ApiModelProperty("采购系统sid")
public String purchaseSystemSid;
}
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java

@ -4,8 +4,6 @@ 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.loanbuckleapply.LoanBuckleApply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyPlanRecord;
@ -29,4 +27,5 @@ public interface LoanMonthlyAccrualApplyMapper extends BaseMapper<LoanMonthlyAcc
int updateFlowFiled(Map<String, Object> map);
void delFinTempTimePushByBusSid(@Param("businessSid") String businessSid);
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml

@ -16,6 +16,9 @@
</if>
WHERE sid = #{sid}
</update>
<delete id="delFinTempTimePushByBusSid">
DELETE FROM anrui_fin.fin_temp_time_push WHERE busSid = #{businessSid}
</delete>
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyVo">
SELECT

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java

@ -5,6 +5,7 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.*;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanvoucher.RskGeneralVoucher;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -84,6 +85,13 @@ public class LoanMonthlyAccrualApplyRest implements LoanMonthlyAccrualApplyFeign
return rb.success();
}
@Override
public ResultBean<List<RskGeneralVoucher>> rePushVoucher2(String sid) {
ResultBean rb = ResultBean.fireFail();
List<RskGeneralVoucher> voucher = loanMonthlyAccrualApplyService.rePushVoucher2(sid);
return rb.success().setData(voucher);
}
@Override
public ResultBean submitRecordApplication(SubmitAccrualDto dto) {
return loanMonthlyAccrualApplyService.submitRecordApplication(dto);

65
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java

@ -45,6 +45,7 @@ import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.api.loanvoucher.RskGeneralVoucher;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecordService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
@ -86,6 +87,8 @@ import static java.util.Comparator.comparing;
**/
@Service
public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonthlyAccrualApplyMapper, LoanMonthlyAccrualApply> {
@Autowired
private DocPdfComponent docPdfComponent;
@Autowired
@ -731,9 +734,12 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
}
}
}
// finTempTimePushFeign.delByBusSid(businessSid);
baseMapper.delFinTempTimePushByBusSid(businessSid);
}
public ResultBean revokeProcess(AccrualTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
@ -1231,4 +1237,63 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
public void rePushVoucher(String sid) {
pushAccrualVoucher(sid);
}
public List<RskGeneralVoucher> rePushVoucher2(String sid) {
List<RskGeneralVoucher> list = new ArrayList<>();
LoanMonthlyAccrualApply apply = fetchBySid(sid);
List<LoanMonthlyAccrualRecord> records = loanMonthlyAccrualRecordService.selByMainSid(sid);
int index = 0;
int indexFinal = 0;
if (!records.isEmpty()) {
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey("月还计提", "WithholdMax").getData();
if (null != dictCommonVo) {
String dictValue = dictCommonVo.getDictValue();
int i = Integer.parseInt(dictValue);
index = i;
indexFinal = i;
}
for (int i = 0; i < records.size(); i += indexFinal) {
if (i + indexFinal > records.size()) {
index = records.size() - i;
}
List<LoanMonthlyAccrualRecord> newList = records.subList(i, i + index);
if (!newList.isEmpty()) {
RskGeneralVoucher generalVoucher = new RskGeneralVoucher();
generalVoucher.setBussDate(DateUtil.formatDate(apply.getClosingDate()));
List<RskGeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
for (LoanMonthlyAccrualRecord v : newList) {
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchDetails(v.getRecordSid()).getData();
if (null != planDetails) {
String useOrgSid = planDetails.getUseOrgSid();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
RskGeneralVoucher.GeneralVoucherDetail voucherDetail = new RskGeneralVoucher.GeneralVoucherDetail();
String scheduleSid = planDetails.getScheduleSid();
LoanRepaymentSchedule repaymentSchedule = loanRepaymentScheduleService.fetchBySid(scheduleSid);
if (null != repaymentSchedule) {
if (StringUtils.isNotBlank(repaymentSchedule.getCwDeptNo())) {
voucherDetail.setDeptCode(repaymentSchedule.getCwDeptNo());
}
}
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
if (null != busSalesOrderVehicle) {
String customerNumber = "";
if (StringUtils.isNotBlank(busSalesOrderVehicle.getTemporaryNo())) {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
voucherDetail.setCustomerCode(customerNumber);
}
voucherDetail.setAmount(planDetails.getDueMoney());
voucherDetails.add(voucherDetail);
}
}
generalVoucher.setVoucherDetails(voucherDetails);
list.add(generalVoucher);
}
}
}
return list;
}
}

36
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

@ -180,8 +180,9 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
vo.setLoanContractNo(loancontract.getLoanContractNo());
}
// 贷款人车辆台数
if (null != (loancontract.getVehCount())) {
vo.setVehCount(loancontract.getVehCount().toString());
List<BusSalesOrderVehicle> vehicles = busSalesOrderVehicleFeign.selbyContractSid(salesOrderSid).getData();
if (!vehicles.isEmpty()) {
vo.setVehCount(String.valueOf(vehicles.size()));
}
// 贷款人
if (StringUtils.isNotBlank(loancontract.getBorrowerName())) {
@ -2154,21 +2155,22 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
e.printStackTrace();
}
}
// 生成还款计划表pdf
String template = "/template/";
String returnPath = "";
LoanCreateScheduleVinsVo createScheduleVinsVo = viewVinsSchedule(dto.getSalesOrderSid()).getData();
if (null != createScheduleVinsVo) {
String pdfPath = commonCreatePdf(createScheduleVinsVo);
String filePath = pdfPath.substring(docPdfComponent.getUploadTemplateUrl().length());
returnPath = template + filePath;
LoanRepaymentSchedule entity = baseMapper.selectByContractSid(dto.getSalesOrderSid());
if (null != entity) {
entity.setSchedulePath(filePath);
baseMapper.updateById(entity);
}
}
return rb.success().setData(returnPath);
// // 生成还款计划表pdf
// String template = "/template/";
// String returnPath = "";
// LoanCreateScheduleVinsVo createScheduleVinsVo = viewVinsSchedule(dto.getSalesOrderSid()).getData();
// if (null != createScheduleVinsVo) {
// String pdfPath = commonCreatePdf(createScheduleVinsVo);
// String filePath = pdfPath.substring(docPdfComponent.getUploadTemplateUrl().length());
// returnPath = template + filePath;
// LoanRepaymentSchedule entity = baseMapper.selectByContractSid(dto.getSalesOrderSid());
// if (null != entity) {
// entity.setSchedulePath(filePath);
// baseMapper.updateById(entity);
// }
// }
// return rb.success().setData(returnPath);
return rb.success();
}

Loading…
Cancel
Save