Browse Source

划扣申请推送凭证修改,添加上非正常状态下的数据

zhanglei
dimengzhe 2 weeks ago
parent
commit
2d9e2531c0
  1. 230
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  2. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java

230
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java

@ -23,6 +23,7 @@ import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedR
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.GeneralVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.Voucher;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
@ -32,6 +33,8 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
@ -145,6 +148,8 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
private LoanBucklePlanHistoryService loanBucklePlanHistoryService;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
@Autowired
private DictCommonFeign dictCommonFeign;
public PagerVo<LoanBuckleApplyVo> listPage(PagerQuery<LoanBuckleApplyQuery> pq) {
IPage<LoanBuckleApply> page = PagerUtil.queryToPage(pq);
@ -778,8 +783,11 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (StringUtils.isNotBlank(planDetails.getOutstandingMoney())) {
voucherDetail.setAmount(new BigDecimal(planDetails.getOutstandingMoney()));
}
if("0".equals(busSalesOrderVehicle.getRiskState().toString())){
voucherDetails.add(voucherDetail);
}
}
}
}
}
@ -912,6 +920,228 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
}
}
private void pushBuckleVoucherNew(String businessSid) {
List<LoanBuckleApplyRecord> records = loanBuckleApplyRecordService.selByMainSid(businessSid);
if (!records.isEmpty()) {
GeneralVoucher generalVoucher = new GeneralVoucher();//月还划扣
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
Voucher voucher = new Voucher();//直还划扣
List<Voucher.VoucherResultDetailDto> voucherDetails2 = new ArrayList<>();
for (LoanBuckleApplyRecord v : records) {
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(v.getRepaymentHistorySid());
if (null != planDetails) {
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
if("0".equals(busSalesOrderVehicle.getRiskState().toString())){//正常
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
// oweState 是否转累欠状态(0是,1否)
Integer oweState = planDetails.getOweState();
if (oweState == 1) {
//获取收款日期的当月最后一天
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate localDate = LocalDate.parse(DateUtil.formatDate(new Date()), formatter);
LocalDate date = localDate.withDayOfMonth(localDate.lengthOfMonth());
Date dueDate = planDetails.getDueDate(); //应还日期
// Date -> LocalDate
LocalDate localDueDate = dueDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
boolean after = localDueDate.isAfter(date);
if (after) {
voucherDetail.setSceneCode("15");
} else {
voucherDetail.setSceneCode("01");
}
} else if (oweState == 0) {
List<FinUncollectedReceivablesDetailedJR> jrList = baseMapper.selFinJrList(planDetails.getSid());
if (null != jrList) {
if (jrList.size() > 0) {
voucherDetail.setSceneCode("03");
} else {
voucherDetail.setSceneCode("02");
}
} else {
voucherDetail.setSceneCode("02");
}
}
if (StringUtils.isNotBlank(planDetails.getBankName())) {
String bankName = planDetails.getBankName();
voucherDetail.setBankName(bankName);
}
String useOrgSid = planDetails.getUseOrgSid();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
voucherDetail.setDeptCode(schedule.getCwDeptNo());
}
}
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();
if (null != salesOrder) {
if (null != busSalesOrderVehicle) {
String customerNumber = "";
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.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();
}
voucherDetail.setCustomerCode(customerNumber);
}
}
voucherDetail.setAmount(v.getActualMoney());
voucherDetails.add(voucherDetail);
}else{
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(planDetails.getUseOrgSid()).getData();
if (null != organizationVo) {
voucher.setAccountBook(organizationVo.getOrgCode());
voucher.setVoucherNo(organizationVo.getOrgCode());
}
String customerNumber = "";
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();
if (null != busSalesOrderVehicle && salesOrder != 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());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.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());
}
}
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
}
String deptCode = "";
LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid());
if (null != schedule) {
if (StringUtils.isNotBlank(schedule.getCwDeptNo())) {
deptCode = schedule.getCwDeptNo();
}
}
if (StringUtils.isNotBlank(planDetails.getBankName())) {
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
String bankName = planDetails.getBankName();
DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(bankName, "investorsCode").getData();
if (null != dictCommonVo) {
voucherResultDetailDtoJf.setSubjectNo(dictCommonVo.getDictValue());
}
voucherResultDetailDtoJf.setSummary(bankName+"划扣");
voucherResultDetailDtoDf.setSummary(bankName+"划扣");
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptCode);
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(v.getActualMoney().toString());
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptCode);
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(v.getActualMoney().toString());
voucherDetails2.add(voucherResultDetailDtoJf);
voucherDetails2.add(voucherResultDetailDtoDf);
}
boolean isTrue = false;
List<FinUncollectedReceivablesDetailedJR> jrList = baseMapper.selFinJrList(planDetails.getSid());
if (null != jrList) {
if (jrList.size() > 0) {
isTrue = true;
}
}
if(isTrue){
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoJf.setSummary(planDetails.getBankName()+"划扣");
voucherResultDetailDtoJf.setSubjectNo("1133.10.20");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptCode);
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(v.getActualMoney().toString());
voucherDetails2.add(voucherResultDetailDtoJf);
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
voucherResultDetailDtoDf.setSummary(planDetails.getBankName()+"划扣");
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptCode);
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setDebit(v.getActualMoney().toString());
voucherDetails2.add(voucherResultDetailDtoDf);
}
}
}
}
if(!voucherDetails.isEmpty()){
generalVoucher.setVoucherDetails(voucherDetails);
finKingDeeFeign.saveBuckleVoucher(generalVoucher);
}
if(!voucherDetails2.isEmpty()){
voucher.setResultDetails(voucherDetails2);
finKingDeeFeign.saveVoucher(voucher);
}
}
}
public ResultBean revokeProcess(BuckleTaskQuery query) {
ResultBean rb = ResultBean.fireFail();

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java

@ -620,7 +620,8 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
if(!busVinSidList.isEmpty()){
busVinStateSetQuery.setBusVinSidList(busVinSidList);
if("客户赎回".equals(loanOutboundApply.getDisposal())){
busVinStateSetQuery.setState(2);
// busVinStateSetQuery.setState(2);
busVinStateSetQuery.setState(0);//修改为正常
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
busVinStateSetQuery.setState(1);
ResultBean resultBean2 = busSalesOrderVehicleFeign.setFundState(busVinStateSetQuery);
@ -647,7 +648,8 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
}
}else if("二次转租".equals(loanOutboundApply.getDisposal())){
busVinStateSetQuery.setState(3);
// busVinStateSetQuery.setState(3);
busVinStateSetQuery.setState(0);//修改为正常
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
//推送金蝶财务其他出库单--二次转租推送的凭证与赎回推送的凭证一样
try {

Loading…
Cancel
Save