Browse Source

完善售后服务套餐模块选择商品信息、优化贷后工作

master
fanzongzhe 1 year ago
parent
commit
a26e32060b
  1. 65
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  2. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanPlanDetailsVoForFundVoucher.java
  3. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetailsFeign.java
  4. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetailsFeignFallback.java
  5. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  6. 200
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  7. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsRest.java
  8. 164
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java
  9. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemVo.java
  10. 44
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/GoodsListVo.java
  11. 15
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsQuery.java
  12. 4
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageItemVo.java
  13. 17
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/SubjectVo.java
  14. 7
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java
  15. 9
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml
  16. 11
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java
  17. 30
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java
  18. 15
      yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageQuery.java
  19. 34
      yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageVo.java

65
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -236,11 +236,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (StringUtils.isNotBlank(query.getAuditState())) {
qw.eq("auditState", query.getAuditState());
}
if(StringUtils.isNotBlank(query.getPayerName())){
qw.like("payerName",query.getPayerName());
if (StringUtils.isNotBlank(query.getPayerName())) {
qw.like("payerName", query.getPayerName());
}
if(StringUtils.isNotBlank(query.getFinBillNo())){
qw.like("billNo",query.getFinBillNo());
if (StringUtils.isNotBlank(query.getFinBillNo())) {
qw.like("billNo", query.getFinBillNo());
}
}
}
@ -3588,7 +3588,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (StringUtils.isNotBlank(data.getVinNo()) && StringUtils.isNotBlank(data.getVehMark())) {
rsk.setVinNo(data.getVinNo() + "/" + data.getVehMark());
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid,v.getReceivablesSid());
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid, v.getReceivablesSid());
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setNoReceivableMoney(noReturnMoney);
}
@ -3891,17 +3891,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
//认资金占用费消减平台资金占用费
if (v.getReceivablesName().equals("资金占用费")) {
// FinUncollectedReceivablesDetailedJR jr = finUncollectedReceivablesDetailedJRService.fetchBySid(v.getReceivablesSid());
// LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(jr.getBusSid()).getData();
// if (planDetails != null) {
// if (planDetails.getFund() != null) {
// BigDecimal fund = planDetails.getFund();
// String subscriptionMoney = v.getSubscriptionMoney();
// BigDecimal subtract = fund.subtract(new BigDecimal(subscriptionMoney));
// planDetails.setFund(subtract);
// loanRepaymentPlanDetailsFeign.updateByEntity(planDetails);
// }
// }
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
@ -3909,6 +3898,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
1000, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
//推送资金占用费收款凭证
Future future1 = pool.submit(() -> {
pushFundVoucher(v, sid);
});
//推送资金占用费收款凭证
Future future = pool.submit(() -> {
pushFeeVoucher(v, sid);
});
@ -3917,22 +3910,22 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
log.error("推送数据失败=========================" + e.getMessage());
}
}
if("月还".equals(v.getReceivablesName())
if ("月还".equals(v.getReceivablesName())
|| "垫资方逾期利息".equals(v.getReceivablesName())
||"资金占用费".equals(v.getReceivablesName())
|| "资金占用费".equals(v.getReceivablesName())
|| "结清时资方逾期利息".equals(v.getReceivablesName())
||"资方逾期利息".equals(v.getReceivablesName())
||"名义价".equals(v.getReceivablesName())
||"合同违约金".equals(v.getReceivablesName())
|| "资方逾期利息".equals(v.getReceivablesName())
|| "名义价".equals(v.getReceivablesName())
|| "合同违约金".equals(v.getReceivablesName())
|| "其他费用".equals(v.getReceivablesName())
){
) {
BigDecimal unall = BigDecimal.ZERO;//应收
String busVinSid = "";
BigDecimal yAll = BigDecimal.ZERO;
FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = finUncollectedReceivablesDetailedJRService.fetchBySid(v.getReceivablesSid());
if(finUncollectedReceivablesDetailedJR == null){
if (finUncollectedReceivablesDetailedJR == null) {
LoanRepaymentPlanDetails loanRepaymentPlanDetails = baseMapper.selectByBss(v.getReceivablesSid());
if(loanRepaymentPlanDetails != null){
if (loanRepaymentPlanDetails != null) {
busVinSid = loanRepaymentPlanDetails.getBusVinSid();
BigDecimal a1 = baseMapper.selectA1(busVinSid);
// BigDecimal a2 = baseMapper.selectA2(busVinSid);
@ -3946,9 +3939,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
yAll = yAll.add(a4).add(a5);
}
}else{
} else {
LoanRepaymentPlanDetails loanRepaymentPlanDetails = baseMapper.selectByBss(finUncollectedReceivablesDetailedJR.getBusSid());
if(loanRepaymentPlanDetails != null){
if (loanRepaymentPlanDetails != null) {
busVinSid = loanRepaymentPlanDetails.getBusVinSid();
List<String> stringList = baseMapper.selectBys(loanRepaymentPlanDetails.getBusVinSid());
BigDecimal a3 = baseMapper.selectA3(stringList);
@ -3961,7 +3954,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
yAll = yAll.add(a4).add(a5);
}
}
if(yAll.compareTo(unall)>=0){
if (yAll.compareTo(unall) >= 0) {
LoanSettleApply loanSettleApply = baseMapper.selectApply(busVinSid);
LoanSettleBankCost loanSettleBankCost = baseMapper.selectMainSid(loanSettleApply.getSid());
LoanFinBank loanFinBank = baseMapper.selectByBanks(loanSettleApply.getSaleOrderSid());
@ -3996,8 +3989,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
}
});
//查询该申请已认款金额总数
@ -4018,6 +4009,18 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
return rb.success().setMsg("款项确认成功");
}
private void pushFundVoucher(FinSelectedReceivablesDetailedVo v, String sid) {
String planSid = "";
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid);
if (null != finCollectionConfirmation) {
FinUncollectedReceivablesDetailedJR jr = finUncollectedReceivablesDetailedJRService.fetchBySid(v.getReceivablesSid());
if (jr != null) {
planSid = jr.getBusSid();
loanRepaymentPlanDetailsFeign.pushFund(planSid);
}
}
}
private void pushFeeVoucher(FinSelectedReceivablesDetailedVo v, String sid) {
String planSid = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@ -4641,7 +4644,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
rsk.setVin(data.getVinNo());
}
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid,v.getReceivablesSid());
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid, v.getReceivablesSid());
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setNoReceivable(new BigDecimal(noReturnMoney));
}
@ -4879,7 +4882,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
rsk.setVin(data.getVinNo());
}
}
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid,v.getReceivablesSid());
String noReturnMoney = finUncollectedReceivablesDetailedJRService.selNoReturnMoneyJR(busSid, v.getReceivablesSid());
if (StringUtils.isNotBlank(noReturnMoney)) {
rsk.setResidueMoney(new BigDecimal(noReturnMoney));
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanPlanDetailsVoForFundVoucher.java

@ -11,6 +11,7 @@ import java.math.BigDecimal;
*/
@Data
public class LoanPlanDetailsVoForFundVoucher {
private String sid;
private String busVinSid;
private String useOrgName;
private BigDecimal duePushMoney;

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetailsFeign.java

@ -62,4 +62,10 @@ public interface LoanRepaymentPlanDetailsFeign {
@PostMapping("/updateVehSidAndPeriod")
@ResponseBody
ResultBean updateVehSidAndPeriod(@RequestParam("busVinSid") String busVinSid,@RequestParam("period") String period,@RequestParam("paymentMoney") String paymentMoney,@RequestParam("paymentInterest") String paymentInterest);
@ApiOperation("推送资金占用费计提凭证")
@PostMapping("/pushFund")
@ResponseBody
public ResultBean pushFund(@RequestParam("sid") String sid);
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetailsFeignFallback.java

@ -56,4 +56,9 @@ public class LoanRepaymentPlanDetailsFeignFallback implements LoanRepaymentPlanD
public ResultBean updateVehSidAndPeriod(String busVinSid, String period, String paymentMoney, String paymentInterest) {
return null;
}
@Override
public ResultBean pushFund(String sid) {
return null;
}
}

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

@ -73,4 +73,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
LoanRepaymentPlanDetails selOneByBankNoAndBusVinSid(@Param("bankContractNo") String bankContractNo,@Param("saleVehSid") String saleVehSid);
CheckPayStateVo checkPayState(@Param("pSid") String pSid);
LoanPlanDetailsVoForFundVoucher pushFund(@Param("sid") String sid);
}

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

@ -151,7 +151,7 @@
FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid),0) as fund
WHERE fjj.busSid = a.sid), 0) as fund
FROM (
SELECT pd.dueDate,
pd.useOrgSid,
@ -279,7 +279,7 @@
FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid),0) as fund
WHERE fjj.busSid = a.sid), 0) as fund
FROM (
SELECT pd.loanContractNo,
pd.oweState,
@ -366,7 +366,7 @@
FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid),0) as fund
WHERE fjj.busSid = a.sid), 0) as fund
FROM (
SELECT pd.paymentMoney,
pd.oweState,
@ -466,7 +466,7 @@
FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid),0) as fund
WHERE fjj.busSid = a.sid), 0) as fund
FROM (
SELECT pd.paymentMoney,
pd.oweState,
@ -580,99 +580,105 @@
</select>
<select id="checkPayState"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.CheckPayStateVo">
SELECT
b.repaidMoney AS actualMoney,
CASE
SELECT b.repaidMoney AS actualMoney,
CASE
WHEN ( b.outstandingMoney + b.bankBeInter + b.fund ) > 0 THEN
'0'
WHEN ( b.outstandingMoney + b.bankBeInter + b.fund ) &lt;= 0 THEN
'1'
END AS checkState
FROM
(
SELECT
a.*,
IFNULL((
SELECT
( fjj.reveivableMoney - fjj.m )
FROM
(
SELECT
IFNULL((
SELECT
SUM( subscriptionMoney )
FROM
anrui_fin.fin_selected_receivables_detailed AS s
WHERE
s.auditState = '3'
AND s.receivablesSid = fj.sid
),
0
) AS m,
fj.*
FROM
( SELECT j.busSid, j.sid, j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j WHERE j.payCostTitleKey = '006' ) AS fj
) AS fjj
WHERE
fjj.busSid = a.sid
),
0
) AS fund
FROM
(
SELECT
pd.dueDate,
pd.useOrgSid,
pd.sid,
pd.dueMoney,
pd.overdue,
t.repaidMoney,
t.outstandingMoney,
IFNULL( pd.paymentInterest, 0 ) AS bankBeInter,
pd.overdue AS dueOverdue,
pd.updateTime AS updateDate
FROM
loan_repayment_plan_details AS pd
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid
LEFT JOIN (
SELECT
p.sid,
IFNULL((
SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = p.sid
AND h.updateState = '1'
),
0
) AS repaidMoney,
IFNULL(
(
p.dueMoney - IFNULL((
SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = p.sid
AND h.updateState = '1'
),
0
)),
0
) AS outstandingMoney
FROM
loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid
) AS a
WHERE
a.dueDate &lt;= a.updateDate
AND a.sid = #{pSid}
) AS b
WHEN (b.outstandingMoney + b.bankBeInter + b.fund) > 0 THEN
'0'
WHEN (b.outstandingMoney + b.bankBeInter + b.fund) &lt;= 0 THEN
'1'
END AS checkState
FROM (
SELECT a.*,
IFNULL((
SELECT (fjj.reveivableMoney - fjj.m)
FROM (
SELECT IFNULL((
SELECT SUM(subscriptionMoney)
FROM anrui_fin.fin_selected_receivables_detailed AS s
WHERE s.auditState = '3'
AND s.receivablesSid = fj.sid
),
0
) AS m,
fj.*
FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j
WHERE j.payCostTitleKey = '006') AS fj
) AS fjj
WHERE fjj.busSid = a.sid
),
0
) AS fund
FROM (
SELECT pd.dueDate,
pd.useOrgSid,
pd.sid,
pd.dueMoney,
pd.overdue,
t.repaidMoney,
t.outstandingMoney,
IFNULL(pd.paymentInterest, 0) AS bankBeInter,
pd.overdue AS dueOverdue,
pd.updateTime AS updateDate
FROM loan_repayment_plan_details AS pd
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid
LEFT JOIN (
SELECT p.sid,
IFNULL((
SELECT SUM(
IFNULL(h.actualMoney, 0))
FROM loan_repayment_history AS h
WHERE h.planDetailSid = p.sid
AND h.updateState = '1'
),
0
) AS repaidMoney,
IFNULL(
(
p.dueMoney - IFNULL((
SELECT SUM(
IFNULL(h.actualMoney, 0))
FROM loan_repayment_history AS h
WHERE h.planDetailSid = p.sid
AND h.updateState = '1'
),
0
)),
0
) AS outstandingMoney
FROM loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid
) AS a
WHERE a.dueDate &lt;= a.updateDate
AND a.sid = #{pSid}
) AS b
</select>
<select id="pushFund"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher">
SELECT c.*,
(c.reveivableMoney - c.fund) AS duePushMoney
FROM (
SELECT b.*
FROM (
SELECT a.*,
IFNULL((SELECT SUM(fund)
FROM loan_push_fund_history AS ph
WHERE ph.busVinSid = a.busVinSid), 0) AS fund
FROM (
SELECT p.sid,
p.busVinSid,
p.useOrgSid,
p.useOrgName,
SUM(j.reveivableMoney) AS reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j
LEFT JOIN loan_repayment_plan_details AS p ON j.busSid = p.sid
WHERE j.payCostTitleKey = '006'
GROUP BY p.busVinSid
) AS a
) AS b
WHERE b.reveivableMoney - b.fund > 0
AND b.sid = #{sid}
) c
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsRest.java

@ -70,4 +70,9 @@ public class LoanRepaymentPlanDetailsRest implements LoanRepaymentPlanDetailsFei
loanRepaymentPlanDetailsService.updateVehSidAndPeriod(busVinSid, period, paymentMoney, paymentInterest);
return rb.success();
}
@Override
public ResultBean pushFund(String sid) {
return loanRepaymentPlanDetailsService.pushFund(sid);
}
}

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

@ -1,62 +1,39 @@
package com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import cn.hutool.core.date.DateTime;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
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.bussalesorderloancontract.BusSalesOrderLoancontractDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
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.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.DifferenceVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.HistoryOverDueVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryDto;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.*;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation;
import com.yxt.anrui.riskcenter.biz.loanpushfundhistory.LoanPushFundHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsService;
import com.yxt.anrui.riskcenter.biz.loansolutionsotherpolicy.LoanSolutionsOtherpolicyService;
import com.yxt.anrui.riskcenter.biz.loanwarrantinformation.LoanWarrantInformationService;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.MsgWs;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
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 com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessagePushTransferDto;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
/**
@ -67,11 +44,25 @@ import java.util.stream.Collectors;
@Service
public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepaymentPlanDetailsMapper, LoanRepaymentPlanDetails> {
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private LoanRepaymentHistoryService loanRepaymentHistoryService;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private FinKingDeeFeign finKingDeeFeign;
@Autowired
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanPushFundHistoryService loanPushFundHistoryService;
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> savePlanDetails(LoanRepaymentPlanDetailsDto dto) {
@ -194,7 +185,7 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
}
public List<String> selUseOrgSidListForFundVoucher() {
return baseMapper.selUseOrgSidListForFundVoucher();
return baseMapper.selUseOrgSidListForFundVoucher();
}
public List<LoanPlanDetailsVoForFundVoucher> getFundForVoucher(String u) {
@ -206,10 +197,105 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
}
public LoanRepaymentPlanDetails selOneByBankNoAndBusVinSid(String bankContractNo, String saleVehSid) {
return baseMapper.selOneByBankNoAndBusVinSid(bankContractNo,saleVehSid);
return baseMapper.selOneByBankNoAndBusVinSid(bankContractNo, saleVehSid);
}
public CheckPayStateVo checkPayState(String pSid) {
return baseMapper.checkPayState(pSid);
}
public ResultBean pushFund(String sid) {
ResultBean rb = ResultBean.fireFail();
LoanPlanDetailsVoForFundVoucher v = baseMapper.pushFund(sid);
if (null != v) {
List<LoanPushFundHistory> fundHistoryList = new ArrayList<>();
LoanRepaymentPlanDetails planDetails = fetchBySid(sid);
GeneralVoucher generalVoucher = new GeneralVoucher();
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(planDetails.getUseOrgSid()).getData();
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail1.setSceneCode("贷方");
voucherDetail1.setDataTime(new DateTime());
voucherDetail1.setAmount(v.getDuePushMoney());
List<SysOrganizationVo> deptVo = sysOrganizationFeign.selectChildrenListBySid(planDetails.getUseOrgSid()).getData();
if (!deptVo.isEmpty()) {
deptVo.stream().forEach(d -> {
if (d.getName().equals("金融服务部")) {
voucherDetail1.setDeptCode(d.getOrgCode());
}
});
}
voucherDetails.add(voucherDetail1);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(v.getBusVinSid()).getData();
if (null != busSalesOrderVehicle) {
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
String deptSid = salesOrder.getOrgSid();
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setSceneCode("借方");
voucherDetail.setDataTime(new DateTime());
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
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.getDuePushMoney());
voucherDetails.add(voucherDetail);
}
LoanPushFundHistory loanPushFundHistory = new LoanPushFundHistory();
BeanUtil.copyProperties(v, loanPushFundHistory, "id", "sid", "fund");
if (null != v.getDuePushMoney()) {
loanPushFundHistory.setFund(v.getDuePushMoney());
}
fundHistoryList.add(loanPushFundHistory);
generalVoucher.setVoucherDetails(voucherDetails);
finKingDeeFeign.saveFundVoucher(generalVoucher);
// 生成推送资金占用费历史记录
if (!fundHistoryList.isEmpty()) {
loanPushFundHistoryService.saveLists(fundHistoryList);
}
}
return rb.success();
}
}

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemVo.java

@ -57,6 +57,8 @@ public class AsServiceItemVo implements Vo {
private String sitemCode;
@ApiModelProperty("工种(分类)")
private String serviceType;
@ApiModelProperty("工种sid(分类)")
private String serviceTypeSid;
@ApiModelProperty("车型")
private String goodsModel;
@ApiModelProperty("备注")

44
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/GoodsListVo.java

@ -0,0 +1,44 @@
package com.yxt.anrui.as.api.asservicepackage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/3/13 10:55
*/
@Data
public class GoodsListVo {
@ApiModelProperty("商品sid")
private String goodsSid; // 商品sid
@ApiModelProperty("商品名称")
private String goodsName; // 商品名称
@ApiModelProperty("商品编码(图号)")
private String goodsCode; // 商品编码(图号)
@ApiModelProperty("车型sid")
private String goodsModelSid; // 车型sid
@ApiModelProperty("车型")
private String goodsModel; // 车型
@ApiModelProperty("单位")
private String unit; // 单位
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("数量")
private String count; // 数量
@ApiModelProperty("销售价")
private String price; // 销售价
@ApiModelProperty("仓库名称")
private String warehouse; // 仓库名称
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("货位")
private String warehouseArea;
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("三包价")
private String freePrice; // 三包价
@ApiModelProperty("商品分类")
private String goodsTypeName;
}

15
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsQuery.java

@ -1,6 +1,7 @@
package com.yxt.anrui.as.api.asservicepackage;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -11,5 +12,17 @@ import lombok.Data;
@Data
public class PackageGoodsQuery implements Query {
private String orgPath;
private String goodsName;
@ApiModelProperty("商品名称")
private String goodsName; // 商品名称
@ApiModelProperty("零件号")
private String goodsCode; // 商品编码(图号)
@ApiModelProperty("库存")
private String kuCun;
@ApiModelProperty("仓库名称")
private String warehouse; // 仓库名称
@ApiModelProperty("货位")
private String warehouseArea;
@ApiModelProperty("商品分类")
private String goodsTypeName;
private String name;
}

4
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageItemVo.java

@ -30,8 +30,8 @@ public class PackageItemVo {
private String price;
@ApiModelProperty("科目sid")
private String subjectSid;
@ApiModelProperty("科目名称")
private String subjectName;
@ApiModelProperty("科目")
private String subject; // 科目
@ApiModelProperty("折扣(0-10,0免费,10不打折)")
private String discount; // 折扣(0-10,0免费,10不打折)
@ApiModelProperty("优惠金额(=销售价*(折扣*0.1))")

17
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/SubjectVo.java

@ -0,0 +1,17 @@
package com.yxt.anrui.as.api.asservicepackage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/3/13 14:31
*/
@Data
public class SubjectVo {
@ApiModelProperty("科目sid")
private String subjectSid;
@ApiModelProperty("科目")
private String subject; // 科目
}

7
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java

@ -29,13 +29,10 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.as.api.asservicepackage.PackageAttachItemVo;
import com.yxt.anrui.as.api.asservicepackage.PackageItemVo;
import com.yxt.anrui.as.api.asservicepackage.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackage;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo;
import java.util.List;
@ -68,4 +65,6 @@ public interface AsServicePackageMapper extends BaseMapper<AsServicePackage> {
List<PackageItemVo> selItemInfo(@Param("useOrgSid") String useOrgSid);
List<PackageAttachItemVo> selAttItemInfo(@Param("useOrgSid") String useOrgSid);
List<SubjectVo> selSubjectInfo(@Param("useOrgSid") String useOrgSid);
}

9
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml

@ -31,4 +31,13 @@
FROM as_service_attachitem
WHERE createOrgSid = #{useOrgSid}
</select>
<select id="selSubjectInfo" resultType="com.yxt.anrui.as.api.asservicepackage.SubjectVo">
SELECT
sid subjectSid,
subjectName as subject
FROM
as_service_subject
WHERE
useOrgSid = #{useOrgSid}
</select>
</mapper>

11
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java

@ -107,11 +107,18 @@ public class AsServicePackageRest {
List<PackageAttachItemVo> voList = asServicePackageService.selAttItemInfo(orgPath);
return rb.success().setData(voList);
}
@ApiOperation("查询分公司科目")
@GetMapping("/selSubjectInfo")
public ResultBean<List<SubjectVo>> selSubjectInfo(@RequestParam("orgPath") String orgPath){
ResultBean rb = ResultBean.fireFail();
List<SubjectVo> voList = asServicePackageService.selSubjectInfo(orgPath);
return rb.success().setData(voList);
}
@ApiOperation("查询分公司商品信息")
@PostMapping("/selGoodsInfo")
public ResultBean<PagerVo<PackageGoodsVo>> selGoodsInfo(@RequestBody PagerQuery<AsServicePackageQuery> pq){
public ResultBean<PagerVo<GoodsListVo>> selGoodsInfo(@RequestBody PagerQuery<PackageGoodsQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<PackageGoodsVo> pagerVo = asServicePackageService.selGoodsInfo(pq);
PagerVo<GoodsListVo> pagerVo = asServicePackageService.selGoodsInfo(pq);
return rb.success().setData(pagerVo);
}
}

30
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java

@ -193,8 +193,8 @@ public class AsServicePackageService extends MybatisBaseService<AsServicePackage
if (!goodsVos.isEmpty()) {
for (PackageGoodsVo goodsVo : goodsVos) {
AsServicePackageGoods goods = new AsServicePackageGoods();
goods.setPackageSid(sid);
BeanUtil.copyProperties(goodsVo, goods, "id", "sid");
goods.setPackageSid(sid);
asServicePackageGoodsService.insert(goods);
}
}
@ -281,22 +281,32 @@ public class AsServicePackageService extends MybatisBaseService<AsServicePackage
return list;
}
public PagerVo<PackageGoodsVo> selGoodsInfo(PagerQuery<AsServicePackageQuery> pq) {
public PagerVo<GoodsListVo> selGoodsInfo(PagerQuery<PackageGoodsQuery> pq) {
PagerQuery<WmsGoodsPackageQuery> query = new PagerQuery<>();
BeanUtil.copyProperties(pq, query);
AsServicePackageQuery params = pq.getParams();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath());
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
WmsGoodsPackageQuery queryParams = query.getParams();
queryParams.setUseOrgSid(useOrgSid);
}
PackageGoodsQuery params = pq.getParams();
// ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath());
// if (orgSidByPath.getSuccess()) {
// String useOrgSid = orgSidByPath.getData();
// WmsGoodsPackageQuery queryParams = query.getParams();
// queryParams.setUseOrgSid(useOrgSid);
// }
ResultBean<PagerVo<WmsGoodsPackageVo>> voResultBean = wmsGoodsFeign.getPackageGoodsVo(query);
PagerVo<PackageGoodsVo> vo = new PagerVo<>();
PagerVo<GoodsListVo> vo = new PagerVo<>();
if (voResultBean.getSuccess()) {
PagerVo<WmsGoodsPackageVo> data = voResultBean.getData();
BeanUtil.copyProperties(data, vo);
}
return vo;
}
public List<SubjectVo> selSubjectInfo(String orgPath) {
List<SubjectVo> list = new ArrayList<>();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
list = baseMapper.selSubjectInfo(useOrgSid);
}
return list;
}
}

15
yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageQuery.java

@ -1,6 +1,7 @@
package com.yxt.anrui.as.feign.wms.wmsgoods;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -11,5 +12,17 @@ import lombok.Data;
@Data
public class WmsGoodsPackageQuery implements Query {
private String useOrgSid;
private String goodsName;
@ApiModelProperty("商品名称")
private String goodsName; // 商品名称
@ApiModelProperty("零件号")
private String goodsCode; // 商品编码(图号)
@ApiModelProperty("库存")
private String kuCun;
@ApiModelProperty("仓库名称")
private String warehouse; // 仓库名称
@ApiModelProperty("货位")
private String warehouseArea;
@ApiModelProperty("商品分类")
private String goodsTypeName;
private String name;
}

34
yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageVo.java

@ -25,24 +25,22 @@ public class WmsGoodsPackageVo {
private String goodsModel; // 车型
@ApiModelProperty("单位")
private String unit; // 单位
// @ApiModelProperty("仓库sid")
// private String warehouseSid; // 仓库sid
// @ApiModelProperty("仓库名称")
// private String warehouse; // 仓库名称
// @ApiModelProperty("科目sid")
// private String subjectSid; // 科目sid
// @ApiModelProperty("科目")
// private String subject; // 科目
// @ApiModelProperty("销售价")
// private String price; // 销售价
// @ApiModelProperty("数量")
// private String count; // 数量
// @ApiModelProperty("折扣(0-10,0免费,10不打折)")
// private String discount; // 折扣(0-10,0免费,10不打折)
// @ApiModelProperty("优惠金额(=销售价*(折扣*0.1))")
// private String discountAmount; // 优惠金额(=销售价*(折扣*0.1))
// @ApiModelProperty("金额(销售价-优惠金额)")
// private String amount; // 金额(销售价-优惠金额)
@ApiModelProperty("规格")
private String specification; // 规格
@ApiModelProperty("数量")
private String count; // 数量
@ApiModelProperty("销售价")
private String price; // 销售价
@ApiModelProperty("仓库名称")
private String warehouse; // 仓库名称
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("货位")
private String warehouseArea;
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("三包价")
private String freePrice; // 三包价
@ApiModelProperty("商品分类")
private String goodsTypeName;
}

Loading…
Cancel
Save