Browse Source

结清推送应收等

zhanglei
dimengzhe 1 year ago
parent
commit
00f8c708c8
  1. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeign.java
  2. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeignFallback.java
  3. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java
  4. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java
  5. 25
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java
  6. 53
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml
  7. 88
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  8. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedRest.java
  9. 12
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
  10. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java
  11. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java
  12. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDetailsVo.java
  13. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java
  14. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java
  15. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml
  16. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java
  17. 547
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeign.java

@ -87,4 +87,9 @@ public interface FinSelectedReceivablesDetailedFeign {
@ApiOperation("未出库车辆已认款项列表")
@PostMapping("/noOutVehRecPageList")
ResultBean<PagerVo<FinSelectReceivablesDetailedWCKCLRKVo>> noOutVehRecPageList(@RequestBody PagerQuery<FinSelectedReceivablesPaymentDetailsWCKCLRKQuery> pagerQuery);
@ApiOperation("保存推送的实收")
@PostMapping("/saveAll")
ResultBean saveAll(List<FinSelectedReceivablesDetailed> list);
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedFeignFallback.java

@ -88,4 +88,9 @@ public class FinSelectedReceivablesDetailedFeignFallback implements FinSelectedR
return null;
}
@Override
public ResultBean saveAll(List<FinSelectedReceivablesDetailed> list) {
return null;
}
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java

@ -72,4 +72,8 @@ public interface FinUncollectedReceivablesDetailedJRFeign {
@PostMapping("/save")
ResultBean save(@RequestBody FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR);
@ApiOperation("应收添加")
@PostMapping("/saveAll")
public ResultBean saveAll(List<FinUncollectedReceivablesDetailedJR> list);
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java

@ -65,4 +65,9 @@ public class FinUncollectedReceivablesDetailedJRFeignFallback implements FinUnco
public ResultBean save(FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR) {
return null;
}
@Override
public ResultBean saveAll(List<FinUncollectedReceivablesDetailedJR> list) {
return null;
}
}

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

@ -38,6 +38,9 @@ import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.AppFinCollectionConfi
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply;
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail;
import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy;
@ -164,4 +167,26 @@ public interface FinCollectionConfirmationMapper extends BaseMapper<FinCollectio
AppFinCollectionConfirmationInitRskVo initRskCollectionConfirm(@Param("collectionBillSid")String collectionBillSid,@Param("useOrgSid") String useOrgSid);
AppFinCollectionConfirmationInitRskVo getRskCollectionConfirmDetail(@Param("collectionBillSid") String collectionBillSid);
LoanRepaymentPlanDetails selectByBss(String busSid);
BigDecimal selectA1(String busVinSid);
BigDecimal selectA2(String busVinSid);
List<String> selectBys(String busVinSid);
BigDecimal selectA3(@Param("list") List<String> stringList);
List<String> selectUnA(String busVinSid);
BigDecimal selectA4(@Param("list") List<String> unList);
BigDecimal selectA5(@Param("list") List<String> stringList);
LoanSettleApply selectApply(String busVinSid);
LoanSettleBankCost selectMainSid(String sid);
LoanFinBank selectByBanks(String saleOrderSid);
}

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

@ -416,4 +416,57 @@
FROM fin_collection_confirmation
WHERE sid = #{collectionBillSid}
</select>
<select id="selectByBss"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails">
select * from anrui_riskcenter.loan_repayment_plan_details where sid = #{busSid}
</select>
<select id="selectA1" resultType="java.math.BigDecimal">
select ifnull(sum(dueMoney),0) from anrui_riskcenter.loan_repayment_plan_details where busVinSid = #{busVinSid}
</select>
<select id="selectBys" resultType="java.lang.String">
select sid from anrui_riskcenter.loan_repayment_plan_details where busVinSid = #{busVinSid}
</select>
<select id="selectA3" resultType="java.math.BigDecimal">
select ifnull(sum(reveivableMoney),0) from fin_uncollected_receivables_detailed_jr where busSid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectUnA" resultType="java.lang.String">
select ld.sid from fin_uncollected_receivables_detailed_jr fr left join anrui_riskcenter.loan_repayment_plan_details ld on ld.sid = fr.busSid
where ld.busVinSid = #{busVinSid}
</select>
<select id="selectA4" resultType="java.math.BigDecimal">
select ifnull(sum(subscriptionMoney),0) from fin_selected_receivables_detailed where fin_selected_receivables_detailed.receivablesSid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectA5" resultType="java.math.BigDecimal">
select ifnull(sum(subscriptionMoney),0) from fin_selected_receivables_detailed where fin_selected_receivables_detailed.receivablesSid in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<select id="selectApply" resultType="com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply">
select * from anrui_riskcenter.loan_settle_apply where busVinSid = #{busVinSid} order by id desc limit 1
</select>
<select id="selectMainSid" resultType="com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost">
select * from anrui_riskcenter.loan_settle_bank_cost where mainSid = #{sid}
</select>
<select id="selectByBanks" resultType="com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank">
select lb.* from anrui_riskcenter.loan_fin_bank lb left join anrui_riskcenter.loan_fin_policy lp on lp.bankSid = lb.sid
left join anrui_riskcenter.loan_solutions ls on ls.policySid = lp.sid
where ls.salesOrderSid = #{saleOrderSid}
</select>
</mapper>

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

@ -57,6 +57,7 @@ import com.yxt.anrui.fin.api.fincollectionconfirmation.*;
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.AppBusArrearsCarryMoneyVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinConfirmDto;
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.*;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed;
@ -68,6 +69,7 @@ import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CwSystemYT;
import com.yxt.anrui.fin.api.kingdee.voucher.CollectionVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.SceneCodeEnum;
import com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordService;
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService;
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRService;
@ -99,6 +101,8 @@ import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryFei
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsForOverDue;
import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply;
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail;
@ -198,6 +202,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private FinPaymentrecordService finPaymentrecordService;
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -3908,6 +3914,88 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
e.printStackTrace();
log.error("推送数据失败=========================" + e.getMessage());
}
}
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())
){
BigDecimal unall = BigDecimal.ZERO;//应收
String busVinSid = "";
BigDecimal yAll = BigDecimal.ZERO;
FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = finUncollectedReceivablesDetailedJRService.fetchBySid(v.getReceivablesSid());
if(finUncollectedReceivablesDetailedJR == null){
LoanRepaymentPlanDetails loanRepaymentPlanDetails = baseMapper.selectByBss(v.getReceivablesSid());
if(loanRepaymentPlanDetails != null){
busVinSid = loanRepaymentPlanDetails.getBusVinSid();
BigDecimal a1 = baseMapper.selectA1(busVinSid);
// BigDecimal a2 = baseMapper.selectA2(busVinSid);
List<String> stringList = baseMapper.selectBys(loanRepaymentPlanDetails.getBusVinSid());
BigDecimal a3 = baseMapper.selectA3(stringList);
unall = unall.add(a1).add(a3);
List<String> unList = baseMapper.selectUnA(busVinSid);
//已收
BigDecimal a4 = baseMapper.selectA4(unList);
BigDecimal a5 = baseMapper.selectA5(stringList);
yAll = yAll.add(a4).add(a5);
}
}else{
LoanRepaymentPlanDetails loanRepaymentPlanDetails = baseMapper.selectByBss(finUncollectedReceivablesDetailedJR.getBusSid());
if(loanRepaymentPlanDetails != null){
busVinSid = loanRepaymentPlanDetails.getBusVinSid();
List<String> stringList = baseMapper.selectBys(loanRepaymentPlanDetails.getBusVinSid());
BigDecimal a3 = baseMapper.selectA3(stringList);
BigDecimal a1 = baseMapper.selectA1(busVinSid);
unall = unall.add(a1).add(a3);
List<String> unList = baseMapper.selectUnA(busVinSid);
//已收
BigDecimal a4 = baseMapper.selectA4(unList);
BigDecimal a5 = baseMapper.selectA5(stringList);
yAll = yAll.add(a4).add(a5);
}
}
if(yAll.compareTo(unall)>=0){
LoanSettleApply loanSettleApply = baseMapper.selectApply(busVinSid);
LoanSettleBankCost loanSettleBankCost = baseMapper.selectMainSid(loanSettleApply.getSid());
LoanFinBank loanFinBank = baseMapper.selectByBanks(loanSettleApply.getSaleOrderSid());
//推送出纳付款
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto();
finPaymentrecordDto.setApplySid("");
finPaymentrecordDto.setPayCompanySid("");
finPaymentrecordDto.setPayType(1);
finPaymentrecordDto.setCreateOrgSid(loanSettleApply.getUseOrgSid());
finPaymentrecordDto.setUseOrgSid(loanSettleApply.getUseOrgSid());
/*finPaymentrecordDto.setCostTypeKey("007");
finPaymentrecordDto.setCostTypeValue("垫款");
finPaymentrecordDto.setCostTitleKey("008");*/
finPaymentrecordDto.setCostTitleValue("资方结清款");
/* if(loanFinBank != null){
finPaymentrecordDto.setReceiveBank(loanFinBank.getBankCollectionAcc());
finPaymentrecordDto.setReceiveBankAccount(loanFinBank.getBankCollectionNum());
}*/
finPaymentrecordDto.setReceiveCompany("");
finPaymentrecordDto.setCost(loanSettleBankCost.getBankSettlePrice().toString());
finPaymentrecordDto.setAccountsReceive(loanSettleBankCost.getBankSettlePrice().toString());
finPaymentrecordDto.setBusSid(loanSettleApply.getSid());
finPaymentrecordDto.setPayCode("");
finPaymentrecordDto.setCreateBySid(loanSettleApply.getCreateBySid());
finPaymentrecordDto.setUpdateBySid(loanSettleApply.getCreateBySid());
finPaymentrecordDto.setRemarks(loanSettleApply.getRemarks());
finPaymentrecordDto.setPurchaseSystemSid("");
finPaymentrecordDto.setPurchaseSystemName("");
finPaymentrecordService.saveDto(finPaymentrecordDto).getData();
}
}
});
//查询该申请已认款金额总数

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedRest.java

@ -113,4 +113,9 @@ public class FinSelectedReceivablesDetailedRest implements FinSelectedReceivable
return rb.success().setData(pv);
}
@Override
public ResultBean saveAll(List<FinSelectedReceivablesDetailed> list) {
return finSelectedReceivablesDetailedService.saveAll(list);
}
}

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

@ -884,4 +884,16 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
public List<FinSelectedReceivablesDetailed> selectLiBy(String sid) {
return baseMapper.selectLiBy(sid);
}
public ResultBean saveAll(List<FinSelectedReceivablesDetailed> list) {
ResultBean rb = ResultBean.fireFail();
list.removeAll(Collections.singleton(null));
if(!list.isEmpty()){
for (int i = 0; i < list.size(); i++) {
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = list.get(i);
baseMapper.insert(finSelectedReceivablesDetailed);
}
}
return rb.success();
}
}

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java

@ -78,4 +78,9 @@ public class FinUncollectedReceivablesDetailedJRRest implements FinUncollectedRe
finUncollectedReceivablesDetailedJRService.insert(finUncollectedReceivablesDetailedJR);
return rb.success();
}
@Override
public ResultBean saveAll(List<FinUncollectedReceivablesDetailedJR> list) {
return finUncollectedReceivablesDetailedJRService.saveAll(list);
}
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java

@ -45,6 +45,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.stream.IntStream;
@ -159,4 +160,16 @@ public class FinUncollectedReceivablesDetailedJRService extends MybatisBaseServi
return rb.success();
}
public ResultBean saveAll(List<FinUncollectedReceivablesDetailedJR> list){
ResultBean rb = ResultBean.fireFail();
list.removeAll(Collections.singleton(null));
if(!list.isEmpty()){
for (int i = 0; i < list.size(); i++) {
FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = list.get(i);
baseMapper.insert(finUncollectedReceivablesDetailedJR);
}
}
return rb.success();
}
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDetailsVo.java

@ -86,4 +86,6 @@ public class LoanSettleApplyDetailsVo {
private boolean showHg;
@ApiModelProperty("回购后还款金额")
private String buyBackMoney;
@ApiModelProperty("是否有结清确认按钮")
private boolean confirmAtn;
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java

@ -79,4 +79,8 @@ public interface LoanSettleApplyFeign {
@ApiOperation(value = "移动端详情")
@PostMapping(value = "/getAppDetails")
ResultBean<SettleApplyAppVo> getAppDetails(@RequestParam("sid") String sid);
@ApiOperation(value = "结清确认")
@PostMapping(value = "/confirmAtn")
ResultBean confirmAtn(@RequestParam("sid")String sid);
}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java

@ -4,6 +4,8 @@ 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.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply;
import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApplyVo;
@ -45,4 +47,10 @@ public interface LoanSettleApplyMapper extends BaseMapper<LoanSettleApply> {
String selectDk(@Param("busVinSid") String busVinSid, @Param("settingDate") String settingDate);
int updateBus(String busVinSid);
LoanRepaymentPlanDetails selectByBusVinSidAndDesc(String busVinSid);
BusSalesOrder selectByOrderSid(String saleOrderSid);
FinUncollectedReceivablesDetailedJR selectByType(@Param("busSid") String sid, @Param("type") String type);
}

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml

@ -165,4 +165,18 @@
set settleState = 1
where sid = #{busVinSid}
</update>
<select id="selectByBusVinSidAndDesc"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails">
select * from loan_repayment_plan_details where busVinSid = #{busVinSid} order by period desc limit 1
</select>
<select id="selectByOrderSid" resultType="com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder">
SELECT * FROM anrui_buscenter.bus_sales_order where sid = #{saleOrderSid}
</select>
<select id="selectByType"
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR">
select * from anrui_fin.fin_uncollected_receivables_detailed_jr where busSid = #{busSid} and payCostTitleValue = #{type} order by id desc limit 1
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java

@ -103,4 +103,9 @@ public class LoanSettleApplyRest implements LoanSettleApplyFeign {
public ResultBean<SettleApplyAppVo> getAppDetails(String sid) {
return loanSettleApplyService.getAppDetails(sid);
}
@Override
public ResultBean confirmAtn(String sid) {
return loanSettleApplyService.confirmAtn(sid);
}
}

547
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

@ -6,6 +6,11 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
@ -111,6 +116,10 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
private LoanSettleCompanyReductionMapper loanSettleCompanyReductionMapper;
@Autowired
private LoanSettleVehicleService loanSettleVehicleService;
@Autowired
private FinUncollectedReceivablesDetailedJRFeign finUncollectedReceivablesDetailedJRFeign;
@Autowired
private FinSelectedReceivablesDetailedFeign finSelectedReceivablesDetailedFeign;
public PagerVo<LoanSettleApplyVo> listPageVo(PagerQuery<LoanSettleApplyQuery> pq) {
@ -385,6 +394,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
BeanUtil.copyProperties(loanSettleCompanyReduction, loanSettleCompanyReductionVo);
}
loanSettleApplyDetailsVo.setLoanSettleCompanyReductionVo(loanSettleCompanyReductionVo);
if (loanSettleCompanyReduction.getAmountTo().compareTo(BigDecimal.ZERO) > 0) {
loanSettleApplyDetailsVo.setConfirmAtn(true);
}
}
if (StringUtils.isNotBlank(loanSettleApply.getBusSid())) {
loanSettleApplyDetailsVo.setShowHg(true);
@ -682,6 +694,8 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
baseMapper.updateBus(loanSettleApply.getBusVinSid());
//推送到结清车辆台账
pushSettlevehicle(businessSid);
//推送应收、结转、减免。
pushUnColl(businessSid);
} else {
//极光推送
loanSettleApply = fetchBySid(businessSid);
@ -704,6 +718,534 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
}
}
private void pushUnColl(String businessSid) {
LoanSettleApply loanSettleApply = fetchBySid(businessSid);
List<FinUncollectedReceivablesDetailedJR> list = new ArrayList<>();
List<FinSelectedReceivablesDetailed> selectList = new ArrayList<>();
if (loanSettleApply.getTrueReduction() == 0) {//不勾选减免
//生成应收、结转贷款保证金
list = getLists(list, loanSettleApply);
selectList = saveList(selectList, loanSettleApply);
} else {
//勾选减免
//减免后结清合计是否大于0
LoanSettleCompanyReduction loanSettleCompanyReduction = loanSettleCompanyReductionService.selectByMainSid(businessSid);
if (loanSettleCompanyReduction != null) {
if (loanSettleCompanyReduction.getAmountTo().compareTo(BigDecimal.ZERO) > 0) {
} else {
//生成应收、结转贷款保证金
list = getLists(list, loanSettleApply);
selectList = saveList(selectList, loanSettleApply);
}
}
}
//生成应收
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
ResultBean resultBean = finUncollectedReceivablesDetailedJRFeign.saveAll(list);
}
selectList.removeAll(Collections.singleton(null));
if (!selectList.isEmpty()) {
ResultBean resultBean = finSelectedReceivablesDetailedFeign.saveAll(selectList);
}
}
public void pushConfirm(String sid) {
LoanSettleApply loanSettleApply = fetchBySid(sid);
List<FinUncollectedReceivablesDetailedJR> list = new ArrayList<>();
List<FinSelectedReceivablesDetailed> selectList = new ArrayList<>();
//需要点击按钮再生成应收、减免资金占用费、以及结转贷款保证金
list = getLists(list, loanSettleApply);
selectList = saveList(selectList, loanSettleApply);
selectList = saveLists(selectList, loanSettleApply);
//生成应收
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
ResultBean resultBean = finUncollectedReceivablesDetailedJRFeign.saveAll(list);
}
selectList.removeAll(Collections.singleton(null));
if (!selectList.isEmpty()) {
ResultBean resultBean = finSelectedReceivablesDetailedFeign.saveAll(selectList);
}
}
public List<FinSelectedReceivablesDetailed> saveLists(List<FinSelectedReceivablesDetailed> selectList, LoanSettleApply loanSettleApply) {
LoanSettleCompanyReduction loanSettleCompanyReduction = loanSettleCompanyReductionService.selectByMainSid(loanSettleApply.getSid());
LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid());
BusSalesOrder busSalesOrder = baseMapper.selectByOrderSid(loanSettleApply.getSaleOrderSid());
FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "资金占用费");
if (loanSettleCompanyReduction != null) {
if (loanSettleCompanyReduction.getFundPenalty() != null && loanSettleCompanyReduction.getFundPenalty().compareTo(BigDecimal.ZERO) > 0) {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("减免");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("资金占用费");
fin.setSubscriptionMoney(loanSettleCompanyReduction.getFundPenalty());
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
fin.setKxState("01");
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
}
}
return selectList;
}
public List<FinSelectedReceivablesDetailed> saveList(List<FinSelectedReceivablesDetailed> selectList, LoanSettleApply loanSettleApply) {
//结转贷款保证金
//查询贷款保证金是否大于0,若不大于0,则直接返回list
LoanSettleCompanyCost loanSettleCompanyCost = loanSettleCompanyCostService.selectByMainSid(loanSettleApply.getSid());
LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid());
BusSalesOrder busSalesOrder = baseMapper.selectByOrderSid(loanSettleApply.getSaleOrderSid());
if (loanSettleCompanyCost != null) {
if (loanSettleCompanyCost.getLoanDeposit().compareTo(BigDecimal.ZERO) > 0) {
//则按顺序结转
//1月还 2垫资方逾期利息 3资金占用费 4资方逾期利息5名义价 6合同违约金7其他费用
BigDecimal all = BigDecimal.ZERO;
if (loanSettleCompanyCost.getLoanDeposit().compareTo(loanSettleCompanyCost.getDeductionAmount()) > 0) {
all = loanSettleCompanyCost.getLoanDeposit().subtract(loanSettleCompanyCost.getDeductionAmount());
}
if (all.compareTo(BigDecimal.ZERO) > 0) {
if (all.compareTo(planDetails.getDueMoney()) > 0) {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("月还");
fin.setSubscriptionMoney(planDetails.getDueMoney());
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
fin.setReceivablesSid(planDetails.getSid());
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = all.subtract(planDetails.getDueMoney());
} else {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("月还");
fin.setSubscriptionMoney(all);
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
fin.setReceivablesSid(planDetails.getSid());
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = BigDecimal.ZERO;
}
}
//结转垫资方逾期利息
FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "资方逾期利息");
if (all.compareTo(BigDecimal.ZERO) > 0) {
if (all.compareTo(planDetails.getPaymentInterest()) > 0) {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("资方逾期利息");
fin.setSubscriptionMoney(planDetails.getPaymentInterest());
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = all.subtract(planDetails.getDueMoney());
} else {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("资方逾期利息");
fin.setSubscriptionMoney(all);
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = BigDecimal.ZERO;
}
}
//资金占用费
finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "资金占用费");
if (all.compareTo(BigDecimal.ZERO) > 0) {
if (all.compareTo(loanSettleCompanyCost.getFunfCost()) > 0) {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("资金占用费");
fin.setSubscriptionMoney(loanSettleCompanyCost.getFunfCost());
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = all.subtract(planDetails.getDueMoney());
} else {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("资金占用费");
fin.setSubscriptionMoney(all);
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = BigDecimal.ZERO;
}
}
//资方逾期利息
finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "结清时资方逾期利息");
if (all.compareTo(BigDecimal.ZERO) > 0) {
if (all.compareTo(loanSettleCompanyCost.getBankOverInterest()) > 0) {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("结清时资方逾期利息");
fin.setSubscriptionMoney(loanSettleCompanyCost.getBankOverInterest());
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = all.subtract(planDetails.getDueMoney());
} else {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("结清时资方逾期利息");
fin.setSubscriptionMoney(all);
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = BigDecimal.ZERO;
}
}
//名义价
finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "名义价");
if (all.compareTo(BigDecimal.ZERO) > 0) {
if (all.compareTo(loanSettleCompanyCost.getCompanyNominalPrice()) > 0) {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("名义价");
fin.setSubscriptionMoney(loanSettleCompanyCost.getCompanyNominalPrice());
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = all.subtract(planDetails.getDueMoney());
} else {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("名义价");
fin.setSubscriptionMoney(all);
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = BigDecimal.ZERO;
}
}
//合同违约金
finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "合同违约金");
if (all.compareTo(BigDecimal.ZERO) > 0) {
if (all.compareTo(loanSettleCompanyCost.getContractLiquidated()) > 0) {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("合同违约金");
fin.setSubscriptionMoney(loanSettleCompanyCost.getContractLiquidated());
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = all.subtract(planDetails.getDueMoney());
} else {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("合同违约金");
fin.setSubscriptionMoney(all);
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = BigDecimal.ZERO;
}
}
//其他费用
finUncollectedReceivablesDetailedJR = baseMapper.selectByType(planDetails.getSid(), "其他费用");
if (all.compareTo(BigDecimal.ZERO) > 0) {
if (all.compareTo(loanSettleCompanyCost.getCompanyOtherPrice()) > 0) {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("其他费用");
fin.setSubscriptionMoney(loanSettleCompanyCost.getCompanyOtherPrice());
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = all.subtract(planDetails.getDueMoney());
} else {
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed();
fin.setCreateBySid(planDetails.getSalesUserSid());
fin.setRemarks("结转");
fin.setVIN(planDetails.getVinNo());
fin.setUseOrgSid(planDetails.getUseOrgSid());
fin.setReceivablesName("其他费用");
fin.setSubscriptionMoney(all);
fin.setSubscriptionDate(DateUtil.today());
fin.setAuditState(3);
if (finUncollectedReceivablesDetailedJR != null) {
fin.setReceivablesSid(finUncollectedReceivablesDetailedJR.getSid());
} else {
fin.setReceivablesSid("");
}
fin.setKxState("01");
fin.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid());
fin.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName());
fin.setStaffUserSid(planDetails.getSalesUserSid());
fin.setUseOrgName(planDetails.getUseOrgName());
fin.setOrgSidPath(loanSettleApply.getOrgSidPath());
selectList.add(fin);
all = BigDecimal.ZERO;
}
}
}
}
return selectList;
}
public List<FinUncollectedReceivablesDetailedJR> getLists(List<FinUncollectedReceivablesDetailedJR> list, LoanSettleApply loanSettleApply) {
//资方逾期利息应收、名义价应收、合同违约金应收、其他费用应收
LoanSettleCompanyCost loanSettleCompanyCost = loanSettleCompanyCostService.selectByMainSid(loanSettleApply.getSid());
LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid());
if (loanSettleCompanyCost.getBankOverInterest().compareTo(BigDecimal.ZERO) > 0) {
//资方逾期利息应收
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setBusSid(planDetails.getSid());
jr.setReveivableMoney(loanSettleCompanyCost.getBankOverInterest());
jr.setPayCostTitleKey("012");
jr.setPayCostTitleValue("结清时资方逾期利息");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
list.add(jr);
}
if (loanSettleCompanyCost.getCompanyNominalPrice().compareTo(BigDecimal.ZERO) > 0) {
//名义价应收
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setBusSid(planDetails.getSid());
jr.setReveivableMoney(loanSettleCompanyCost.getCompanyNominalPrice());
jr.setPayCostTitleKey("009");
jr.setPayCostTitleValue("名义价");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
list.add(jr);
}
if (loanSettleCompanyCost.getContractLiquidated().compareTo(BigDecimal.ZERO) > 0) {
//合同违约金应收
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setBusSid(planDetails.getSid());
jr.setReveivableMoney(loanSettleCompanyCost.getContractLiquidated());
jr.setPayCostTitleKey("010");
jr.setPayCostTitleValue("合同违约金");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
list.add(jr);
}
if (loanSettleCompanyCost.getCompanyOtherPrice().compareTo(BigDecimal.ZERO) > 0) {
//公司其他费用应收
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setBusSid(planDetails.getSid());
jr.setReveivableMoney(loanSettleCompanyCost.getCompanyOtherPrice());
jr.setPayCostTitleKey("011");
jr.setPayCostTitleValue("其他费用");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
list.add(jr);
}
return list;
}
private void pushSettlevehicle(String businessSid) {
LoanSettleVehicleDto loanSettleVehicleDto = new LoanSettleVehicleDto();
LoanSettleApply loanSettleApply = fetchBySid(businessSid);
@ -1028,4 +1570,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
return p;
}
public ResultBean confirmAtn(String sid) {
ResultBean rb = ResultBean.fireFail();
pushConfirm(sid);
return rb.success();
}
}

Loading…
Cancel
Save