Browse Source

贷款认款和结转添加首款款机应收加订金之和交完为交清的逻辑

master
dimengzhe 1 year ago
parent
commit
25b2a4003f
  1. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  2. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.java
  3. 19
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml
  4. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  5. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java
  6. 20
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  7. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

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

@ -1624,12 +1624,14 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//该合同编号下的该车架号的所有认款金额
if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin1(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
List<FinSelectedReceivablesDetailedVo> voListD = finSelectedReceivablesDetailedService.selectListByVinD(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal bigDecimalVinAllD = voListD.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid());
BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
//查询该合同编号下的销售订单的单车成交价
BigDecimal leftAll = unDecimalVinAll;
BigDecimal rightAll = bigDecimalVinAll;
BigDecimal rightAll = bigDecimalVinAll.add(bigDecimalVinAllD);
if (leftAll.compareTo(rightAll) <= 0) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey());

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.java

@ -79,4 +79,5 @@ public interface FinFundsCarriedForwardApplyMapper extends BaseMapper<FinFundsCa
String selectByBusSid(String busSid);
String selectByBusSid1(String busSid);
String selectByBusSid1D(String busSid);
}

19
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml

@ -105,4 +105,23 @@
and ff.busVinSid = #{busVinSid} and ff.receivablesName = '首付款及费用'
GROUP BY d.`sid`) d
</select>
<select id="selectByBusSid1D" resultType="java.lang.String">
select ifnull(sum(dbalance), 0) as subscriptionMoney
from (SELECT
cast((
d.`subscriptionMoney` - COALESCE(SUM(f.`thisUseMoney`), 0) ) AS DECIMAL(10, 2)) AS dbalance
FROM fin_selected_receivables_detailed d
left join fin_uncollected_receivables_detailed ff on ff.sid = d.receivablesSid
LEFT JOIN (
SELECT f.busSid,
f.thisUseMoney
FROM fin_funds_carried_forward_veh f
JOIN `fin_funds_carried_forward_apply` fa ON f.mainSid = fa.sid
WHERE fa.`nodeState` != '终止'
) f ON f.`busSid` = d.`sid`
WHERE d.auditState = 3
and ff.busVinSid = #{busVinSid} and ff.receivablesName = '订金'
GROUP BY d.`sid`) d
</select>
</mapper>

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java

@ -1576,8 +1576,10 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
//查询该车是否是贷款
if("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())){
String subscribute = baseMapper.selectByBusSid1(finUncollectedReceivablesDetailed.getBusVinSid());
String subscributeD = baseMapper.selectByBusSid1D(finUncollectedReceivablesDetailed.getBusVinSid());
String receiableMoney = finUncollectedReceivablesDetailedService.selectByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid());
if (new BigDecimal(subscribute).compareTo(new BigDecimal(receiableMoney)) >= 0) {
BigDecimal subscributeAll = new BigDecimal(subscribute).add(new BigDecimal(subscributeD));
if (subscributeAll.compareTo(new BigDecimal(receiableMoney)) >= 0) {
//已认款完成
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey());

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java

@ -98,6 +98,7 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper<FinSele
List<FinSelectedReceivablesDetailedVo> selectListByVin(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailedVo> selectListByVin1(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailedVo> selectListByVinD(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailedVo> selectListByVin2(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailed> getList(@Param("list") List<String> sidsList);

20
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml

@ -209,6 +209,26 @@
and ff.receivablesName = '首付款及费用'
GROUP BY d.`sid`) d
</select>
<select id="selectListByVinD"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
select ifnull(sum(dbalance), 0) as subscriptionMoney
from (SELECT cast((
d.`subscriptionMoney` - COALESCE(SUM(f.`thisUseMoney`), 0)) AS DECIMAL(10, 2)) AS dbalance
FROM fin_selected_receivables_detailed d
left join fin_uncollected_receivables_detailed ff on ff.sid = d.receivablesSid
LEFT JOIN (
SELECT f.busSid,
f.thisUseMoney
FROM fin_funds_carried_forward_veh f
JOIN `fin_funds_carried_forward_apply` fa ON f.mainSid = fa.sid
WHERE fa.`nodeState` != '终止'
) f ON f.`busSid` = d.`sid`
WHERE d.auditState = #{state}
and ff.busVinSid = #{busVinSid}
and d.contractNo = #{contractNo}
and ff.receivablesName = '订金'
GROUP BY d.`sid`) d
</select>
<select id="selectListByVin2"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

@ -285,6 +285,10 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
return baseMapper.selectListByVin1(contractNo, busVinSid, state);
}
public List<FinSelectedReceivablesDetailedVo> selectListByVinD(String contractNo, String busVinSid, int state) {
return baseMapper.selectListByVinD(contractNo, busVinSid, state);
}
public List<FinSelectedReceivablesDetailedVo> selectListByVin2(String contractNo, String busVinSid, int state) {
return baseMapper.selectListByVin2(contractNo, busVinSid, state);
}

Loading…
Cancel
Save