Browse Source

金融认款增加垫款是否支付限制

master
fanzongzhe0036 2 weeks ago
parent
commit
230db4b7e6
  1. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/rsk/FinSelectedReceivablesDetailedRsk.java
  2. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java
  3. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml
  4. 56
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/rsk/FinSelectedReceivablesDetailedRsk.java

@ -1,6 +1,6 @@
package com.yxt.anrui.fin.api.fincollectionconfirmation.rsk; package com.yxt.anrui.fin.api.fincollectionconfirmation.rsk;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java

@ -202,4 +202,6 @@ public interface FinCollectionConfirmationMapper extends BaseMapper<FinCollectio
List<FinCollectionConfirmation> selectNotPush(); List<FinCollectionConfirmation> selectNotPush();
String selectCurrentMoney(String sid); String selectCurrentMoney(String sid);
int selBeVehCountByBusVinSidAndPeriod(@Param("busVinSid") String busVinSid, @Param("period") String period);
} }

8
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml

@ -560,4 +560,12 @@
WHERE furd.sid = #{sid} WHERE furd.sid = #{sid}
LIMIT 1 LIMIT 1
</select> </select>
<select id="selBeVehCountByBusVinSidAndPeriod" resultType="java.lang.Integer">
SELECT
COUNT(*)
FROM
anrui_riskcenter.loan_be_collection_veh AS v
LEFT JOIN anrui_riskcenter.loan_be_collection_apply as a ON v.mainSid = a.sid
WHERE a.nodeState != '终止' AND v.saleVehSid = #{busVinSid} AND v.beOverduePeriod = #{period}
</select>
</mapper> </mapper>

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

@ -3990,6 +3990,31 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (StringUtils.isBlank(v.getSubscriptionMoney())) { if (StringUtils.isBlank(v.getSubscriptionMoney())) {
return rb.setMsg("认款金额不允许为空"); return rb.setMsg("认款金额不允许为空");
} }
if (v.getReceivablesName().equals("月还") || v.getReceivablesName().equals("资方逾期利息")) {
String planSid = "";
if (v.getReceivablesName().equals("月还")) {
planSid = v.getReceivablesSid();
} else {
FinUncollectedReceivablesDetailedJR jr = finUncollectedReceivablesDetailedJRService.fetchBySid(v.getReceivablesSid());
if (jr != null) {
planSid = jr.getBusSid();
}
}
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(planSid).getData();
if (null != planDetails) {
BigDecimal paymentMoney = BigDecimal.ZERO;//垫款金额
if (null != planDetails.getPaymentMoney()) {
paymentMoney = planDetails.getPaymentMoney();
}
if (paymentMoney.compareTo(BigDecimal.ZERO) == 0) {
//存在未终止的垫款申请,且不存在垫款应收
int count = baseMapper.selBeVehCountByBusVinSidAndPeriod(planDetails.getBusVinSid(),planDetails.getPeriod());
if (count > 0) {
return rb.setMsg("存在未支付垫款数据,认款失败!");
}
}
}
}
} }
} }
BigDecimal subscriptionMoneyAll = finSelectedReceivablesDetailedDtos.stream().map(FinSelectedReceivablesDetailedRsk::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal subscriptionMoneyAll = finSelectedReceivablesDetailedDtos.stream().map(FinSelectedReceivablesDetailedRsk::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
@ -4019,20 +4044,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation(); FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation();
BeanUtil.copyProperties(dto, finCollectionConfirmation, "sid"); BeanUtil.copyProperties(dto, finCollectionConfirmation, "sid");
finCollectionConfirmation.setSource("02"); finCollectionConfirmation.setSource("02");
// if (StringUtils.isBlank(finCollectionConfirmation.getStaffUserSid())) {
// //收款
// finCollectionConfirmation.setStaffName(finCollectionConfirmation.getCreateByName());
// finCollectionConfirmation.setStaffUserSid(dto.getUserSid());
// finCollectionConfirmation.setStaffDeptName(finCollectionConfirmation.getCreateDept());
// finCollectionConfirmation.setStaffDeptSid(finCollectionConfirmation.getCreateDeptSid());
// String orgPath = dto.getOrgPath();
// finCollectionConfirmation.setOrgSidPath(orgPath);
// ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid);
// if (sysOrganizationVoResultBean.getData() != null) {
// finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
// }
// } else
// {
//代收款 //代收款
String orgPath = dto.getOrgPath(); String orgPath = dto.getOrgPath();
finCollectionConfirmation.setOrgSidPath(orgPath); finCollectionConfirmation.setOrgSidPath(orgPath);
@ -4040,10 +4051,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (sysOrganizationVoResultBean.getData() != null) { if (sysOrganizationVoResultBean.getData() != null) {
finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName()); finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
} }
// List<String> orgList = Arrays.asList(orgPath.split("/"));
// orgList.set(orgList.size() - 1, dto.getStaffDeptSid());
// finCollectionConfirmation.setOrgSidPath(String.join("/", orgList));
// }
sid = finCollectionConfirmation.getSid(); sid = finCollectionConfirmation.getSid();
finCollectionConfirmation.setCreateBySid(dto.getUserSid()); finCollectionConfirmation.setCreateBySid(dto.getUserSid());
finCollectionConfirmation.setUseOrgSid(useOrgSid); finCollectionConfirmation.setUseOrgSid(useOrgSid);
@ -4106,22 +4113,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finSelectedReceivablesDetailed.setCreateBySid(dto.getUserSid()); finSelectedReceivablesDetailed.setCreateBySid(dto.getUserSid());
//认款日期默认为当天的日期 //认款日期默认为当天的日期
finSelectedReceivablesDetailed.setSubscriptionDate(DateUtil.today()); finSelectedReceivablesDetailed.setSubscriptionDate(DateUtil.today());
// finSelectedReceivablesDetailed.setBalance(v.getSubscriptionMoney());
// FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
// finSelectedReceivablesDetailed.setStaffName(finUncollectedReceivablesDetailed.getStaffName());
// finSelectedReceivablesDetailed.setStaffUserSid(finUncollectedReceivablesDetailed.getStaffUserSid());
// finSelectedReceivablesDetailed.setStaffDeptSid(finUncollectedReceivablesDetailed.getStaffDeptSid());
// finSelectedReceivablesDetailed.setStaffDeptName(finUncollectedReceivablesDetailed.getStaffDeptName());
finSelectedReceivablesDetailed.setOrgSidPath(finCollectionConfirmation.getOrgSidPath()); finSelectedReceivablesDetailed.setOrgSidPath(finCollectionConfirmation.getOrgSidPath());
finSelectedReceivablesDetailed.setUseOrgName(finCollectionConfirmation.getUseOrgName()); finSelectedReceivablesDetailed.setUseOrgName(finCollectionConfirmation.getUseOrgName());
finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed); finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed);
// if (v.getSubscribedOf() == 0) {
// //应收未收减去相应的认款
// finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
// BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(finSelectedReceivablesDetailed.getSubscriptionMoney());
// finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
// finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
// }
}); });
} }
finCollectionConfirmation.setBalance(finCollectionConfirmation.getCollectionMoney()); finCollectionConfirmation.setBalance(finCollectionConfirmation.getCollectionMoney());

Loading…
Cancel
Save