Browse Source

售后认款模块

master
fanzongzhe 5 months ago
parent
commit
4b91d89fa4
  1. 20
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeign.java
  2. 21
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeignFallback.java
  3. 131
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinCollectionConfirmationDetailsVo.java
  4. 87
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinCollectionConfirmationDto.java
  5. 93
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinCollectionConfirmationQuery.java
  6. 105
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinCollectionConfirmationVo.java
  7. 54
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinSelectedReceivablesDetailedDto.java
  8. 93
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinSelectedReceivablesDetailedVo.java
  9. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java
  10. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java
  11. 48
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/as/AsDetailsOfReceivablesAndUncollectedItemsVo.java
  12. 34
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/as/AsFinUncollectedReceivablesDetailedQuery.java
  13. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java
  14. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.xml
  15. 22
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java
  16. 271
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  17. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java
  18. 37
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml
  19. 9
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java
  20. 49
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java
  21. 25
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/fegin/as/asbusrepairbill/AsBusrepairBillFeign.java
  22. 15
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/fegin/as/asbusrepairbill/FinBusrepairBillVo.java
  23. 15
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/FinBusrepairBillVo.java
  24. 8
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java
  25. 65
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
  26. 2
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillinvoice/AsBusrepairBillInvoiceService.java

20
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeign.java

@ -27,6 +27,10 @@ package 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.as.AsFinCollectionConfirmationDetailsVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationDto;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationQuery;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo;
import com.yxt.common.core.query.PagerQuery;
@ -114,6 +118,20 @@ public interface FinCollectionConfirmationFeign {
@PostMapping("/selectSids")
ResultBean<List<String>> selectSids(@RequestParam("busVehSid") String busVehSid);
/*-------------------------------------------------------------------------*/
@ApiOperation("售后提交新增保存")
@PostMapping("/asSave")
public ResultBean asSave(@RequestBody AsFinCollectionConfirmationDto dto);
@ApiOperation("售后编辑回显或详情")
@GetMapping("/asFetchBySid/{sid}")
public ResultBean<AsFinCollectionConfirmationDetailsVo> asFetchBySid(@PathVariable("sid") String sid);
@ApiOperation("售后查看收款申请以及代办理列表")
@PostMapping("/asListPagess")
public ResultBean<PagerVo<AsFinCollectionConfirmationVo>> asListPagess(@RequestBody PagerQuery<AsFinCollectionConfirmationQuery> pq);
/*----------------------金融认款申请---------------------------*/
@ -235,4 +253,4 @@ public interface FinCollectionConfirmationFeign {
@ApiOperation("手机端—初始化收款确认申请")
@GetMapping("/getRskCollectionConfirmDetail")
ResultBean<AppFinCollectionConfirmationInitRskVo> getRskCollectionConfirmDetail(@SpringQueryMap AppFinCollectionConfirmationOrgPathQuery appFinCollectionConfirmationOrgPathQuery);
}
}

21
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/FinCollectionConfirmationFeignFallback.java

@ -27,6 +27,10 @@ package 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.as.AsFinCollectionConfirmationDetailsVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationDto;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationQuery;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo;
import com.yxt.common.core.query.PagerQuery;
@ -114,6 +118,21 @@ public class FinCollectionConfirmationFeignFallback implements FinCollectionConf
return null;
}
@Override
public ResultBean asSave(AsFinCollectionConfirmationDto dto) {
return null;
}
@Override
public ResultBean<AsFinCollectionConfirmationDetailsVo> asFetchBySid(String sid) {
return null;
}
@Override
public ResultBean<PagerVo<AsFinCollectionConfirmationVo>> asListPagess(PagerQuery<AsFinCollectionConfirmationQuery> pq) {
return null;
}
@Override
public ResultBean saveRsk(FinCollectionConfirmationRskDto dto) {
return null;
@ -253,4 +272,4 @@ public class FinCollectionConfirmationFeignFallback implements FinCollectionConf
public ResultBean<AppFinCollectionConfirmationInitRskVo> getRskCollectionConfirmDetail(AppFinCollectionConfirmationOrgPathQuery appFinCollectionConfirmationOrgPathQuery) {
return null;
}
}
}

131
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinCollectionConfirmationDetailsVo.java

@ -0,0 +1,131 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.fincollectionconfirmation.as;
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationAppendixVo;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-fin(销售相关) <br/>
* File: FinCollectionConfirmationVo.java <br/>
* Class: com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationVo <br/>
* Description: 收款确认表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-04-12 17:57:01 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "收款确认表 视图数据对象", description = "收款确认表 视图数据对象")
@Data
public class AsFinCollectionConfirmationDetailsVo implements Vo {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
@ApiModelProperty("收款日期")
private String collectionDate; // 收款日期
@ApiModelProperty("收款银行")
private String collectionBank; // 收款银行
@ApiModelProperty("收款银行账号")
private String collectionBankNum; // 收款银行账号
@ApiModelProperty("收款方式key")
private String collectionTypeKey; // 收款方式key
@ApiModelProperty("收款方式value")
private String collectionTypeValue; // 收款方式value
@ApiModelProperty("付款方名称")
private String payerName; // 付款方名称
@ApiModelProperty("收款金额")
private String collectionMoney; // 收款金额
@ApiModelProperty("打款凭证Url")
private String paymentVoucherUrl; // 打款凭证Url
/*@ApiModelProperty("打款凭证附件名称")
private String paymentVoucherFileName;*/ // 打款凭证附件名称
@ApiModelProperty("汇款确认书Url")
private String remittanceConfirmationUrl; // 汇款确认书Url
/*@ApiModelProperty("汇款确认书附件名称")
private String remittanceConfirmationFileName;*/ // 汇款确认书附件名称
@ApiModelProperty("余额")
private String balance; // 余额
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("已选应收款项明细")
private List<AsFinSelectedReceivablesDetailedVo> finSelectedReceivablesDetaileds; // 已选应收款项明细
@ApiModelProperty("打款凭证附件")
private List<FinCollectionConfirmationAppendixVo> paymentVoucherAppendixs; // 打款凭证附件
@ApiModelProperty("汇款确认书附件")
private List<FinCollectionConfirmationAppendixVo> remittanceConfirmationAppendixs; // 汇款确认书附件
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid;
@ApiModelProperty("采购系统名称")
private String purchaseSystemName;
private String reason;
@ApiModelProperty("销售专员名称")
private String staffName;
@ApiModelProperty("销售专员用户sid")
private String staffUserSid;
@ApiModelProperty("销售专员部门名称")
private String staffDeptName;
@ApiModelProperty("销售专员部门sid")
private String staffDeptSid;
@ApiModelProperty("组织全路径")
private String orgSidPath;
}

87
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinCollectionConfirmationDto.java

@ -0,0 +1,87 @@
package com.yxt.anrui.fin.api.fincollectionconfirmation.as;
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationAppendixDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.Valid;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/11/18 14:48
*/
@Data
public class AsFinCollectionConfirmationDto implements Dto {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("sid")
private String sid; // 收款确认单sid
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款日期")
private String collectionDate; // 收款日期
@ApiModelProperty("收款银行key")
private String collectionBankKey; // 收款银行key
@ApiModelProperty("收款银行")
private String collectionBank; // 收款银行
@ApiModelProperty("收款银行账号key")
private String collectionBankNumKey; // 收款银行账号key
@ApiModelProperty("收款银行账号")
private String collectionBankNum; // 收款银行账号
@ApiModelProperty("收款方式key")
private String collectionTypeKey; // 收款方式key
@ApiModelProperty("收款方式value")
private String collectionTypeValue; // 收款方式value
@ApiModelProperty("付款方名称")
private String payerName; // 付款方名称
@ApiModelProperty("收款金额")
private String collectionMoney; // 收款金额
@ApiModelProperty("打款凭证Url")
private String paymentVoucherUrl; // 打款凭证Url
@ApiModelProperty("汇款确认书Url")
private String remittanceConfirmationUrl; // 汇款确认书Url
/* @ApiModelProperty("余额")
private String balance;*/
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("款项状态(1未认款/2部分认款/3已认款)")
private Integer paymentState; // 审核状态
@ApiModelProperty("已选应收款项明细")
@Valid
private List<AsFinSelectedReceivablesDetailedDto> finSelectedReceivablesDetaileds; // 已选应收款项明细
@ApiModelProperty("打款凭证附件")
private List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs; // 打款凭证附件
@ApiModelProperty("汇款确认书附件")
private List<FinCollectionConfirmationAppendixDto> remittanceConfirmationAppendixs; // 汇款确认书附件
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("收款银行账号sid")
private String accountSid;
@ApiModelProperty("申请部门sid")
private String createDeptSid;
@ApiModelProperty("当前组织机构全路径sid")
private String orgPath;
@ApiModelProperty("组织全路径")
private String orgSidPath;
}

93
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinCollectionConfirmationQuery.java

@ -0,0 +1,93 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.fincollectionconfirmation.as;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-fincenter(销售相关) <br/>
* File: FinCollectionConfirmationQuery.java <br/>
* Class: com.yxt.anrui.fincenter.api.fincollectionconfirmation.FinCollectionConfirmationQuery <br/>
* Description: 收款确认表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-04-12 17:57:01 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "收款确认表 查询条件", description = "收款确认表 查询条件")
@Data
public class AsFinCollectionConfirmationQuery implements Query {
@ApiModelProperty("收款开始日期")
private String collectionStartDate; // 收款开始日期
@ApiModelProperty("收款结束日期")
private String collectionEndDate; // 收款结束日期
@ApiModelProperty("收款银行")
private String collectionBank; // 收款银行
@ApiModelProperty("收款方式key")
private String collectionTypeKey; // 收款方式key
@ApiModelProperty("认款状态")
private String subscriptionState; // 认款状态
//后端自己赋值的
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("状态:0申请,1确认")
private String state;
private String payerName;
private String auditState;
@ApiModelProperty("申请部门")
private String createDept; // 申请部门
@ApiModelProperty("申请人")
private String createByName; // 申请人
@ApiModelProperty("申请开始日期")
private String createStartDate; // 申请开始日期
@ApiModelProperty("申请结束日期")
private String createEndDate; // 申请结束日期
@ApiModelProperty("收款金额")
private String collectionMoney; // 收款金额
@ApiModelProperty("收款账号")
private String finBillNo;
@ApiModelProperty("使用组织sid")
private String orgPath;
private String userSid;
@ApiModelProperty("菜单url")
private String menuUrl;
}

105
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinCollectionConfirmationVo.java

@ -0,0 +1,105 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.fincollectionconfirmation.as;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-fin(销售相关) <br/>
* File: FinCollectionConfirmationVo.java <br/>
* Class: com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationVo <br/>
* Description: 收款确认表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-04-12 17:57:01 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "收款确认表 视图数据对象", description = "收款确认表 视图数据对象")
@Data
public class AsFinCollectionConfirmationVo implements Vo {
private static final long serialVersionUID = 6561005289102689912L;
@ApiModelProperty("收款确认单sid")
private String sid; // 收款确认单sid
@ApiModelProperty("收款日期")
private String collectionDate; // 收款日期
@ApiModelProperty("收款银行")
private String collectionBank; // 收款银行
@ApiModelProperty("收款银行账号")
private String collectionBankNum; // 收款银行账号
@ApiModelProperty("收款方式value")
private String collectionTypeValue; // 收款方式value
@ApiModelProperty("付款方名称")
private String payerName; // 付款方名称
@ApiModelProperty("收款金额")
private String collectionMoney; // 收款金额
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("审核状态(1待审核/2已驳回/3已审核)")
private Integer auditState; // 审核状态
@ApiModelProperty("认款状态(1未认款/2部分认款/3已认款)")
private Integer subscriptionState; // 审核状态
@ApiModelProperty("是否允许认款")
private boolean showHandle;
@ApiModelProperty("余额")
private String balance;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("收款账户名称")
private String receivingName;
@ApiModelProperty("付款账号后4位")
private String payAccount;
@ApiModelProperty("付款银行")
private String payBank;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("下载次数")
private String downNum; // 下载次数
@ApiModelProperty("是否有撤回按钮")
private boolean recallAtn;
private String createBySid;
@ApiModelProperty("是否金融认款")
private boolean loan;
private String source;
}

54
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinSelectedReceivablesDetailedDto.java

@ -0,0 +1,54 @@
package com.yxt.anrui.fin.api.fincollectionconfirmation.as;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Fan
* @description
* @date 2024/11/18 15:32
*/
@Data
public class AsFinSelectedReceivablesDetailedDto {
@ApiModelProperty("创建人")
private String createByName; // 创建人接口
@ApiModelProperty("合同sid")
private String contractSid; // 合同sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车架号")
@JsonProperty("VIN")
private String VIN; // 车架号
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("联系电话")
private String customerPhone; // 联系电话
@ApiModelProperty("应收项目名称")
private String receivablesName; // 应收项目名称
@ApiModelProperty("当前应收金额")
private String currentReceivableMoney; // 当前应收金额
/* @ApiModelProperty("上次认款金额")
private String lastSubscriptionMoney; // 上次认款金额*/
@ApiModelProperty("认款金额")
@NotBlank(message = "认款金额不能为空")
private String subscriptionMoney; // 认款金额
@ApiModelProperty("认款申请日期")
private String subscriptionDate; // 认款申请日期
@ApiModelProperty("收款确认单sid")
private String collSid; // 收款确认单sid
@ApiModelProperty("应收未收款项sid")
private String receivablesSid;
@ApiModelProperty("款项状态")
private String kxState;
private int subscribedOf;
}

93
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincollectionconfirmation/as/AsFinSelectedReceivablesDetailedVo.java

@ -0,0 +1,93 @@
package com.yxt.anrui.fin.api.fincollectionconfirmation.as;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/11/18 15:54
*/
@Data
public class AsFinSelectedReceivablesDetailedVo {
@ApiModelProperty("已选应收款项sid")
private String sid; // 已选应收款项sid
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
@ApiModelProperty("合同sid")
private String contractSid; // 合同sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车架号")
@JsonProperty("VIN")
private String VIN; // 车架号
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("联系电话")
private String customerPhone; // 联系电话
@ApiModelProperty("应收项目名称")
private String receivablesName; // 应收项目名称
@ApiModelProperty("当前应收金额")
private String currentReceivableMoney; // 当前应收金额
@ApiModelProperty("认款金额")
private String subscriptionMoney; // 认款金额
@ApiModelProperty("未认款金额")
private String noSubscriptionMoney; // 未认款金额
@ApiModelProperty("认款申请日期")
private String subscriptionDate; // 认款申请日期
@ApiModelProperty("收款确认单sid")
private String collSid; // 收款确认单sid
@ApiModelProperty("审核状态(1待审核/2已驳回/3已审核)")
private Integer auditState; // 审核状态
@ApiModelProperty("审核时间")
private String auditDate; // 审核时间
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("款项类型value")
private String paymentTypeValue; // 款项类型value
@ApiModelProperty("应收未收款项sid")
private String receivablesSid;
private String sumAll;
@ApiModelProperty("全款贷款key:1是全款,2贷款")
private String payTypeKey;
@ApiModelProperty("全款贷款")
private String payType;
private int subscribedOf;
@ApiModelProperty("余额")
private String balance;
@ApiModelProperty("款项状态")
private String kxState;
private String vehMark;
private String billType;
}

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java

@ -25,6 +25,8 @@
*********************************************************/
package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsDetailsOfReceivablesAndUncollectedItemsVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsFinUncollectedReceivablesDetailedQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -61,6 +63,11 @@ public interface FinUncollectedReceivablesDetailedFeign {
@PostMapping("/listAll")
public ResultBean<List<DetailsOfReceivablesAndUncollectedItemsVo>> listAll(@RequestBody FinUncollectedReceivablesDetailedQuery query);
@ApiOperation("售后应收未收款项列表")
@PostMapping("/asListAll")
public ResultBean<List<AsDetailsOfReceivablesAndUncollectedItemsVo>> asListAll(@RequestBody AsFinUncollectedReceivablesDetailedQuery query);
@ApiOperation("新增或修改保存")
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@RequestBody FinUncollectedReceivablesDetailedDto dto);

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java

@ -25,6 +25,8 @@
*********************************************************/
package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsDetailsOfReceivablesAndUncollectedItemsVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsFinUncollectedReceivablesDetailedQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -55,6 +57,11 @@ public class FinUncollectedReceivablesDetailedFeignFallback implements FinUncoll
return rb.setMsg("接口anrui-fin/finuncollectedreceivablesdetailed/listAll无法访问");
}
@Override
public ResultBean<List<AsDetailsOfReceivablesAndUncollectedItemsVo>> asListAll(AsFinUncollectedReceivablesDetailedQuery query) {
return null;
}
@Override
public ResultBean saveOrUpdate(FinUncollectedReceivablesDetailedDto dto){
return ResultBean.fireFail().setMsg("接口anrui-fin/finuncollectedreceivablesdetailed/saveOrUpdate无法访问");

48
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/as/AsDetailsOfReceivablesAndUncollectedItemsVo.java

@ -0,0 +1,48 @@
package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/11/18 13:34
*/
@Data
public class AsDetailsOfReceivablesAndUncollectedItemsVo {
@ApiModelProperty("应收未收款项sid")
private String sid; // 应收未收款项sid
@ApiModelProperty("维修单号")
private String billNo; // 维修单号
@ApiModelProperty("车架号")
private String VIN; // 车架号
private String vehMark; // 车牌号
private String customerPhone; // 电话
@ApiModelProperty("应收项目名称")
private String receivablesName; // 应收项目名称
@ApiModelProperty("当前应收金额")
private String currentReceivableMoney; // 当前应收金额
@ApiModelProperty("应收金额")
private String reveivableMoney;
@ApiModelProperty("维修单类型")
private String billType;
@ApiModelProperty("合同sid")
private String contractSid; // 合同sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("是否是已认款的选择:0不是(应收未收),1是(已认款)")
private int subscribedOf;
@ApiModelProperty("应收未收sid")
private String receivablesSid;
}

34
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/as/AsFinUncollectedReceivablesDetailedQuery.java

@ -0,0 +1,34 @@
package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/11/18 13:49
*/
@Data
public class AsFinUncollectedReceivablesDetailedQuery implements Query {
@ApiModelProperty("维修单号")
private String billNo; // 维修单号
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
private String vinNo;
private String vehMark;
@ApiModelProperty("联系电话")
private String customerPhone; // 联系电话
@ApiModelProperty("当前组织全路径sid")
private String orgPath;
private String createBySid;
private String deptSid;
@ApiModelProperty("应收款项sid")
private String[] sids; // 应收款项sid
}

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

@ -34,6 +34,7 @@ import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.fin.api.fincollectionconfirmation.*;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.AppFinCollectionConfirmationInitRskVo;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
@ -191,4 +192,6 @@ public interface FinCollectionConfirmationMapper extends BaseMapper<FinCollectio
LoanFinBank selectByBanks(String saleOrderSid);
List<String> selectSids(String busVehSid);
}
IPage<AsFinCollectionConfirmationVo> asListPagess(IPage<FinCollectionConfirmation> page, @Param(Constants.WRAPPER) QueryWrapper<FinCollectionConfirmation> qw);
}

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

@ -494,4 +494,13 @@
ON fs.receivablesSid = fu.sid
WHERE fu.busVinSid = #{busVehSid}
</select>
</mapper>
<select id="asListPagess"
resultType="com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationVo">
SELECT *
FROM fin_collection_confirmation
<where>
${ew.sqlSegment}
</where>
order by id desc
</select>
</mapper>

22
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationRest.java

@ -29,6 +29,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
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.as.AsFinCollectionConfirmationDetailsVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationDto;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationQuery;
import com.yxt.anrui.fin.api.fincollectionconfirmation.as.AsFinCollectionConfirmationVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo;
import com.yxt.common.base.utils.PagerUtil;
@ -137,6 +141,24 @@ public class FinCollectionConfirmationRest implements FinCollectionConfirmationF
return finCollectionConfirmationService.selectSids(busVehSid);
}
//---------------------------售后认款----------------------
@Override
public ResultBean asSave(AsFinCollectionConfirmationDto dto) {
return finCollectionConfirmationService.asSave(dto);
}
@Override
public ResultBean<AsFinCollectionConfirmationDetailsVo> asFetchBySid(String sid) {
return finCollectionConfirmationService.asFetchBySid(sid);
}
@Override
public ResultBean<PagerVo<AsFinCollectionConfirmationVo>> asListPagess(PagerQuery<AsFinCollectionConfirmationQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<AsFinCollectionConfirmationVo> pv = finCollectionConfirmationService.asListPagess(pq);
return rb.success().setData(pv);
}
//------------------------金融认款申请-----------------------------------
@Override
public ResultBean saveRsk(FinCollectionConfirmationRskDto dto) {

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

@ -56,6 +56,7 @@ import com.yxt.anrui.crm.api.crmcustomertemp.*;
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.as.*;
import com.yxt.anrui.fin.api.fincollectionconfirmation.rsk.*;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.*;
@ -78,6 +79,8 @@ import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.fin.biz.kingdee.arreceivebill.ArReceivebillService;
import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService;
import com.yxt.anrui.fin.biz.kingdee.capitalcreditresult.OtherReceivableBillCreditResultService;
import com.yxt.anrui.fin.fegin.as.asbusrepairbill.AsBusrepairBillFeign;
import com.yxt.anrui.fin.fegin.as.asbusrepairbill.FinBusrepairBillVo;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
@ -222,6 +225,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
private LoanRepaymentScheduleFeign loanRepaymentScheduleFeign;
@Autowired
private LoanSettleApplyFeign loanSettleApplyFeign;
@Autowired
private AsBusrepairBillFeign asBusrepairBillFeign;
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -449,6 +454,121 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
return rb.success();
}
public ResultBean asSave(AsFinCollectionConfirmationDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
//首次认款
List<AsFinSelectedReceivablesDetailedDto> finSelectedReceivablesDetailedDtos = dto.getFinSelectedReceivablesDetaileds();
BigDecimal subscriptionMoneyAll = finSelectedReceivablesDetailedDtos.stream().map(AsFinSelectedReceivablesDetailedDto::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
if (subscriptionMoneyAll.compareTo(StringUtils.isNotBlank(dto.getCollectionMoney()) ? new BigDecimal(dto.getCollectionMoney()) : BigDecimal.ZERO) != 0) {
return rb.setMsg("认款总额与收款金额不符");
}
List<FinCollectionConfirmationAppendixDto> paymentVoucherAppendixs = dto.getPaymentVoucherAppendixs();
List<FinCollectionConfirmationAppendixDto> remittanceConfirmationAppendixs = dto.getRemittanceConfirmationAppendixs();
if (finSelectedReceivablesDetailedDtos.size() > 0) {
for (AsFinSelectedReceivablesDetailedDto v : finSelectedReceivablesDetailedDtos) {
if (StringUtils.isBlank(v.getSubscriptionMoney())) {
return rb.setMsg("认款金额不允许为空");
}
}
}
List<String> stringList = finSelectedReceivablesDetailedDtos.stream().map(v -> v.getReceivablesSid()).collect(Collectors.toList());
stringList.removeAll(Collections.singleton(null));
if (!stringList.isEmpty()) {
List<String> stringList1 = stringList.stream().distinct().collect(Collectors.toList());
if (stringList.size() != stringList1.size()) {
return rb.setMsg("认款选择的数据存在问题,请检查是否重复");
}
}
//根据用户sid查询分公司sid
String useOrgSid = "";
if (StringUtils.isNotBlank(dto.getOrgPath())) {
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
} else {
useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
}
//对收款申请进行赋值操作
FinCollectionConfirmation finCollectionConfirmation = new FinCollectionConfirmation();
BeanUtil.copyProperties(dto, finCollectionConfirmation, "sid");
finCollectionConfirmation.setSource("03");
String orgPath = dto.getOrgPath();
finCollectionConfirmation.setOrgSidPath(orgPath);
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid);
if (sysOrganizationVoResultBean.getData() != null) {
finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
}
sid = finCollectionConfirmation.getSid();
finCollectionConfirmation.setCreateBySid(dto.getUserSid());
finCollectionConfirmation.setUseOrgSid(useOrgSid);
//附件保存:打款凭证附件
paymentVoucherAppendixs.stream().forEach(v -> {
CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
BeanUtil.copyProperties(v, commonAppendixDto);
String s = commonAppendixDto.getFilePath();
if (s.contains(fileUploadComponent.getUrlPrefix())) {
s = s.replace(fileUploadComponent.getUrlPrefix(), "");
}
commonAppendixDto.setLinkSid(finCollectionConfirmation.getSid());
commonAppendixDto.setFilePath(s);
commonAppendixDto.setCreateBySid(dto.getUserSid());
commonAppendixDto.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType());
commonAppendixFeign.save(commonAppendixDto);
});
String payFilePath = paymentVoucherAppendixs.stream().map(v -> v.getFilePath().replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(","));
finCollectionConfirmation.setPaymentVoucherUrl(payFilePath);
//汇款确认书附件保存
remittanceConfirmationAppendixs.stream().forEach(v -> {
CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
BeanUtil.copyProperties(v, commonAppendixDto);
String s = commonAppendixDto.getFilePath();
if (s.contains(fileUploadComponent.getUrlPrefix())) {
s = s.replace(fileUploadComponent.getUrlPrefix(), "");
}
commonAppendixDto.setLinkSid(finCollectionConfirmation.getSid());
commonAppendixDto.setFilePath(s);
commonAppendixDto.setCreateBySid(dto.getUserSid());
commonAppendixDto.setAttachType(CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType());
commonAppendixFeign.save(commonAppendixDto);
});
String remFilePath = remittanceConfirmationAppendixs.stream().map(v -> v.getFilePath().replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(","));
finCollectionConfirmation.setRemittanceConfirmationUrl(remFilePath);
if (finSelectedReceivablesDetailedDtos.size() > 0) {
//认款明细保存
String finalSid = sid;
String finalUseOrgSid = useOrgSid;
finSelectedReceivablesDetailedDtos.stream().forEach(v -> {//已选
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed();
BeanUtil.copyProperties(v, finSelectedReceivablesDetailed, "sid");
finSelectedReceivablesDetailed.setCollSid(finalSid);
finSelectedReceivablesDetailed.setUseOrgSid(finalUseOrgSid);
//设置审核状态为待审核(1待审核/2已驳回/3已审核)
finSelectedReceivablesDetailed.setAuditState(1);
finSelectedReceivablesDetailed.setCreateBySid(dto.getUserSid());
//认款日期默认为当天的日期
finSelectedReceivablesDetailed.setSubscriptionDate(DateUtil.today());
finSelectedReceivablesDetailed.setOrgSidPath(finCollectionConfirmation.getOrgSidPath());
finSelectedReceivablesDetailed.setUseOrgName(finCollectionConfirmation.getUseOrgName());
finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed);
if (v.getSubscribedOf() == 0) {
//应收未收减去相应的认款
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(finSelectedReceivablesDetailed.getSubscriptionMoney());
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
});
}
finCollectionConfirmation.setBalance(finCollectionConfirmation.getCollectionMoney());
finCollectionConfirmation.setAuditState(1);
//1未认款/2部分认款/3已认款
finCollectionConfirmation.setPaymentState(1);
//添加单据编号
String billNo = getApplyCode(finCollectionConfirmation.getUseOrgSid());
finCollectionConfirmation.setBillNo(billNo);
baseMapper.insert(finCollectionConfirmation);
return rb.success().setMsg("添加成功");
}
public ResultBean saveAllDto(FinCollectionConfirmationDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
@ -641,6 +761,74 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
return rb.success().setMsg("添加成功");
}
public ResultBean<AsFinCollectionConfirmationDetailsVo> asFetchBySid(String sid) {
ResultBean<AsFinCollectionConfirmationDetailsVo> rb = ResultBean.fireFail();
AsFinCollectionConfirmationDetailsVo finCollectionConfirmationDetailsVo = new AsFinCollectionConfirmationDetailsVo();
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid);
BeanUtil.copyProperties(finCollectionConfirmation, finCollectionConfirmationDetailsVo);
List<FinCollectionConfirmationAppendixVo> paymentVoucherAppendixs = new ArrayList<>();
List<FinCollectionConfirmationAppendixVo> remittanceConfirmationAppendixs = new ArrayList<>();
CommonAppendixSelectQuery commonAppendixSelectQuery = new CommonAppendixSelectQuery();
commonAppendixSelectQuery.setLinkSid(sid);
//打款凭证附件
commonAppendixSelectQuery.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType());
ResultBean<List<CommonAppendixVo>> listResultBean = commonAppendixFeign.getPcAppendix(commonAppendixSelectQuery);
if (listResultBean.getSuccess()) {
for (CommonAppendixVo commonApp : listResultBean.getData()) {
FinCollectionConfirmationAppendixVo paymentVoucherAppendixVo = new FinCollectionConfirmationAppendixVo();
//commonApp.setFilePath(fileUploadComponent.getUrlPrefix()+commonApp.getFilePath());
BeanUtil.copyProperties(commonApp, paymentVoucherAppendixVo);
paymentVoucherAppendixs.add(paymentVoucherAppendixVo);
}
}
finCollectionConfirmationDetailsVo.setPaymentVoucherAppendixs(paymentVoucherAppendixs);
commonAppendixSelectQuery = new CommonAppendixSelectQuery();
commonAppendixSelectQuery.setLinkSid(sid);
//汇款确认书附件
commonAppendixSelectQuery.setAttachType(CommonAttachTypeEnum.REMITTAN_CECONFIRMATION.getAttachType());
listResultBean = commonAppendixFeign.getPcAppendix(commonAppendixSelectQuery);
if (listResultBean.getSuccess()) {
for (CommonAppendixVo commonApp : listResultBean.getData()) {
FinCollectionConfirmationAppendixVo remittanceConfirmationAppendixVo = new FinCollectionConfirmationAppendixVo();
//commonApp.setFilePath(fileUploadComponent.getUrlPrefix()+commonApp.getFilePath());
BeanUtil.copyProperties(commonApp, remittanceConfirmationAppendixVo);
remittanceConfirmationAppendixs.add(remittanceConfirmationAppendixVo);
}
}
finCollectionConfirmationDetailsVo.setRemittanceConfirmationAppendixs(remittanceConfirmationAppendixs);
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid);
List<AsFinSelectedReceivablesDetailedVo> list = new ArrayList<>();
if (!finSelectedReceivablesDetailedVos.isEmpty()) {
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) {
AsFinSelectedReceivablesDetailedVo vo = new AsFinSelectedReceivablesDetailedVo();
BeanUtil.copyProperties(finSelectedReceivablesDetailedVo, vo);
if (StringUtils.isNotBlank(finSelectedReceivablesDetailedVo.getContractSid())) {
String asBillSid = finSelectedReceivablesDetailedVo.getContractSid(); // 售后维修单sid
FinBusrepairBillVo busrepairBillVo = asBusrepairBillFeign.fetchVehMarkAndTypeBySid(asBillSid);
if (null != busrepairBillVo) {
if (StringUtils.isNotBlank(busrepairBillVo.getBillType())) {
vo.setBillType(busrepairBillVo.getBillType());
}
if (StringUtils.isNotBlank(busrepairBillVo.getVehMark())) {
vo.setVehMark(busrepairBillVo.getVehMark());
}
}
}
list.add(vo);
}
}
finCollectionConfirmationDetailsVo.setFinSelectedReceivablesDetaileds(list);
if (finCollectionConfirmation.getAuditState() == 2) {
String confirmationDetails = finCollectionConfirmation.getConfirmName() + "于" + finCollectionConfirmation.getConfirmDate() + "已驳回,原因是:" + finCollectionConfirmation.getReason();
finCollectionConfirmationDetailsVo.setReason(confirmationDetails);
} else if (finCollectionConfirmation.getAuditState() == 3) {
String confirmationDetails = finCollectionConfirmation.getConfirmName() + "于" + finCollectionConfirmation.getConfirmDate() + "已确认";
finCollectionConfirmationDetailsVo.setReason(confirmationDetails);
}
return rb.success().setData(finCollectionConfirmationDetailsVo);
}
public ResultBean<FinCollectionConfirmationDetailsVo> fetchByAllSid(String sid) {
ResultBean rb = ResultBean.fireFail();
FinCollectionConfirmationDetailsVo finCollectionConfirmationDetailsVo = new FinCollectionConfirmationDetailsVo();
@ -3977,7 +4165,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
}
}
} else if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0){
} else if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0) {
try {
Date collDate = sdf.parse(finalConfirmation.getCollectionDate());
historyEntity.setActualDate(collDate);
@ -4181,7 +4369,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsFeign.fetchDetails(planSid).getData();
if (null != planDetails) {
ResultBean<SettleFinVo> finSettleVo = loanSettleApplyFeign.getFinSettleVo(planDetails.getBusVinSid(), v.getReceivablesName(),v.getSubscriptionMoney());
ResultBean<SettleFinVo> finSettleVo = loanSettleApplyFeign.getFinSettleVo(planDetails.getBusVinSid(), v.getReceivablesName(), v.getSubscriptionMoney());
if (finSettleVo.getSuccess()) {
SettleFinVo finVo = finSettleVo.getData();
voucherDetail.setPayCostTitleValue(v.getReceivablesName());
@ -5571,4 +5759,83 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
List<String> sids = baseMapper.selectSids(busVehSid);
return rb.success().setData(sids);
}
public PagerVo<AsFinCollectionConfirmationVo> asListPagess(PagerQuery<AsFinCollectionConfirmationQuery> pq) {
AsFinCollectionConfirmationQuery query = pq.getParams();
QueryWrapper<FinCollectionConfirmation> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", query.getUserSid());
} else {
PagerVo<AsFinCollectionConfirmationVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<AsFinCollectionConfirmationVo> p = new PagerVo<>();
return p;
}
String collectionStartDate = query.getCollectionStartDate();
String collectionEndDate = query.getCollectionEndDate();
qw.apply(StringUtils.isNotEmpty(collectionStartDate), "date_format (collectionDate,'%Y-%m-%d') >= date_format('" + collectionStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(collectionEndDate), "date_format (collectionDate,'%Y-%m-%d') <= date_format('" + collectionEndDate + "','%Y-%m-%d')"
);
String createStartDate = query.getCreateStartDate();
String createEndDate = query.getCreateEndDate();
qw.apply(StringUtils.isNotEmpty(createStartDate), "date_format (createDate,'%Y-%m-%d') >= date_format('" + createStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndDate), "date_format (createDate,'%Y-%m-%d') <= date_format('" + createEndDate + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getCollectionBank())) {
qw.eq("collectionBankKey", query.getCollectionBank());
}
if (StringUtils.isNotBlank(query.getCollectionTypeKey())) {
qw.eq("collectionTypeKey", query.getCollectionTypeKey());
}
if (StringUtils.isNotBlank(query.getSubscriptionState())) {
qw.eq("paymentState", query.getSubscriptionState());
}
if (StringUtils.isNotBlank(query.getPayerName())) {
qw.like("payerName", query.getPayerName());
}
if (StringUtils.isNotBlank(query.getCreateDept())) {
qw.like("createDept", query.getCreateDept());
}
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("createByName", query.getCreateByName());
}
if (StringUtils.isNotBlank(query.getCollectionMoney())) {
qw.eq("collectionMoney", query.getCollectionMoney());
}
qw.eq("source","03");
IPage<FinCollectionConfirmation> page = PagerUtil.queryToPage(pq);
IPage<AsFinCollectionConfirmationVo> pagging = baseMapper.asListPagess(page, qw);
PagerVo<AsFinCollectionConfirmationVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java

@ -31,6 +31,7 @@ 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.fin.api.finuncollectedreceivablesdetailed.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsDetailsOfReceivablesAndUncollectedItemsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -142,4 +143,6 @@ public interface FinUncollectedReceivablesDetailedMapper extends BaseMapper<FinU
List<CustomerBillSummaryVo> exportCustomerBillExcel( @Param(Constants.WRAPPER) QueryWrapper<FinUncollectedReceivablesDetailed> qw);
List<CustomerBillSummaryExportVo> selexportCustomerBillExcelDetails(@Param("contractNo") String contractNo);
List<AsDetailsOfReceivablesAndUncollectedItemsVo> asListAll(@Param(Constants.WRAPPER) QueryWrapper<FinUncollectedReceivablesDetailed> qw);
}

37
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml

@ -1051,4 +1051,41 @@
WHERE
m.collectionMoney != 0
</select>
<select id="asListAll"
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsDetailsOfReceivablesAndUncollectedItemsVo">
select * from
(SELECT
d.sid AS sid,
d.sid as receivablesSid,
d.staffDeptSid as staffDeptSid,
d.receivablesName,
d.contractNo AS billNo,
d.VIN,
d.customerSid,
d.contractSid,
d.contractNo,
d.customerName,
d.customerPhone,
d.reveivableMoney - IFNULL(((
SELECT
SUM( IFNULL( se.subscriptionMoney, 0 ) )
FROM
fin_selected_receivables_detailed AS se
WHERE
se.receivablesSid = d.sid
AND se.auditState != '2' and se.auditState != '4'
)),
0
) AS currentReceivableMoney,
d.reveivableMoney,
a.billType,
v.vehMark
FROM
fin_uncollected_receivables_detailed AS d
LEFT JOIN yxt_4sas.as_busrepair_bill AS a ON d.contractSid = a.sid
LEFT JOIN yxt_4sas.as_busrepair_bill_vech AS v ON v.billSid = a.sid ) furd
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

9
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java

@ -27,6 +27,8 @@ package com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempExportVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsDetailsOfReceivablesAndUncollectedItemsVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsFinUncollectedReceivablesDetailedQuery;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -73,6 +75,13 @@ public class FinUncollectedReceivablesDetailedRest implements FinUncollectedRece
return rb.success().setData(list);
}
@Override
public ResultBean<List<AsDetailsOfReceivablesAndUncollectedItemsVo>> asListAll(AsFinUncollectedReceivablesDetailedQuery query) {
ResultBean rb = ResultBean.fireFail();
List<AsDetailsOfReceivablesAndUncollectedItemsVo> list = finUncollectedReceivablesDetailedService.asListAll(query);
return rb.success().setData(list);
}
@Override
@ApiOperation("新增或修改保存")
@PostMapping("/saveOrUpdate")

49
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java

@ -42,6 +42,8 @@ import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardA
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsDetailsOfReceivablesAndUncollectedItemsVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.as.AsFinUncollectedReceivablesDetailedQuery;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice;
import com.yxt.anrui.fin.api.finvehicleinvoice.InvoiceVo;
import com.yxt.anrui.fin.biz.fincollectionconfirmation.FinCollectionConfirmationService;
@ -252,6 +254,51 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
return list;
}
/**
* 售后应收未收列表
* @param query
* @return
*/
public List<AsDetailsOfReceivablesAndUncollectedItemsVo> asListAll(AsFinUncollectedReceivablesDetailedQuery query) {
QueryWrapper<FinUncollectedReceivablesDetailed> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getDeptSid())) {
qw.eq("furd.staffDeptSid", query.getDeptSid());
}
// qw.eq("furd.createBySid", query.getCreateBySid());
String[] sids = query.getSids();
if (sids != null) {
for (String sid : sids) {
if (StringUtils.isNotBlank(sid)) {
qw.ne("furd.sid", sid);
}
}
}
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("furd.billNo", query.getBillNo());
}
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("furd.vehMark", query.getVehMark());
}
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("furd.customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("furd.VIN", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getCustomerPhone())) {
qw.like("furd.customerPhone", query.getCustomerPhone());
}
qw.apply("furd.currentReceivableMoney > 0");
qw.apply("(furd.receivablesName = '材料费' OR furd.receivablesName = '工时费' OR furd.receivablesName = '其他费用')");
qw.orderBy(true, true, "furd.contractNo")
.orderBy(true, true, "furd.VIN")
.orderBy(true, true, "furd.receivablesName")
;
List<AsDetailsOfReceivablesAndUncollectedItemsVo> list = baseMapper.asListAll(qw);
return list;
}
public ResultBean saveOrUpdateDto(FinUncollectedReceivablesDetailedDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
@ -1383,4 +1430,6 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService
}
return list;
}
}

25
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/fegin/as/asbusrepairbill/AsBusrepairBillFeign.java

@ -0,0 +1,25 @@
package com.yxt.anrui.fin.fegin.as.asbusrepairbill;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/20
**/
@FeignClient(
contextId = "yxt-as-AsBusrepairBill",
name = "yxt-as",
path = "v1/AsBusrepairBill")
public interface AsBusrepairBillFeign {
@ApiOperation("获取维修单车牌号和单据类型")
@GetMapping("/fetchVehMarkAndTypeBySid")
public FinBusrepairBillVo fetchVehMarkAndTypeBySid(@RequestParam("sid") String sid);
}

15
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/fegin/as/asbusrepairbill/FinBusrepairBillVo.java

@ -0,0 +1,15 @@
package com.yxt.anrui.fin.fegin.as.asbusrepairbill;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/11/18 17:33
*/
@Data
public class FinBusrepairBillVo {
private String billType;
private String vehMark;
}

15
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/FinBusrepairBillVo.java

@ -0,0 +1,15 @@
package com.yxt.anrui.as.api.asbusrepairbill;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/11/18 17:33
*/
@Data
public class FinBusrepairBillVo {
private String billType;
private String vehMark;
}

8
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillRest.java

@ -131,6 +131,14 @@ public class AsBusrepairBillRest {
public ResultBean<AsBusrepairBillDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
return asBusrepairBillService.fetchDetailsBySid(sid);
}
@ApiOperation("获取维修单车牌号和单据类型")
@GetMapping("/fetchVehMarkAndTypeBySid")
public FinBusrepairBillVo fetchVehMarkAndTypeBySid(@RequestParam("sid") String sid) {
return asBusrepairBillService.fetchVehMarkAndTypeBySid(sid);
}
@ApiOperation("获取维修单开票信息")
@GetMapping("/fetchInvoiceBySid")
public AsBusrepairBillInvoice fetchInvoiceBySid(@RequestParam("sid") String sid) {

65
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java

@ -1554,6 +1554,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
if (null != billVech) {
if (StringUtils.isNotBlank(billVech.getVinNo())) {
@ -1561,6 +1562,8 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
}
}
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
@ -1580,6 +1583,7 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
if (null != billVech) {
if (StringUtils.isNotBlank(billVech.getVinNo())) {
@ -1587,6 +1591,8 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
}
}
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
@ -1598,6 +1604,50 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
}
}
BigDecimal addAmount = BigDecimal.ZERO;
BigDecimal outAmount = BigDecimal.ZERO;
BigDecimal subsidyAmount = BigDecimal.ZERO;
BigDecimal rescueAmount = BigDecimal.ZERO;
if (null != asBusrepairBill.getAddAmount()) {
addAmount = asBusrepairBill.getAddAmount();
}
if (null != asBusrepairBill.getOutAmount()) {
outAmount = asBusrepairBill.getOutAmount();
}
if (null != asBusrepairBill.getSubsidyAmount()) {
subsidyAmount = asBusrepairBill.getSubsidyAmount();
}
if (null != asBusrepairBill.getRescueAmount()) {
rescueAmount = asBusrepairBill.getRescueAmount();
}
BigDecimal otherAmountAll = addAmount.add(outAmount).add(subsidyAmount).add(rescueAmount);
if (otherAmountAll.compareTo(BigDecimal.ZERO) > 0) {
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
finUncollectedReceivablesDetailedDto.setCreateByName(asBusrepairBill.getCreateByName());
finUncollectedReceivablesDetailedDto.setCreateBySid(asBusrepairBill.getCreateBySid());
finUncollectedReceivablesDetailedDto.setCustomerSid(asBusrepairBill.getCustomerSid());
finUncollectedReceivablesDetailedDto.setCustomerName(asBusrepairBill.getCustomerName());
finUncollectedReceivablesDetailedDto.setContractSid(asBusrepairBill.getSid());
finUncollectedReceivablesDetailedDto.setContractNo(asBusrepairBill.getBillNo());
AsBusrepairBillVech billVech = asBusrepairBillVechService.fetchByBillSid(asBusrepairBill.getSid());
if (null != billVech) {
if (StringUtils.isNotBlank(billVech.getVinNo())) {
finUncollectedReceivablesDetailedDto.setVIN(billVech.getVinNo());
finUncollectedReceivablesDetailedDto.setBusVinSid(billVech.getSid());
}
}
finUncollectedReceivablesDetailedDto.setStaffDeptSid(asBusrepairBill.getDeptSid());
finUncollectedReceivablesDetailedDto.setStaffDeptName(asBusrepairBill.getDeptName());
finUncollectedReceivablesDetailedDto.setCustomerPhone(asBusrepairBill.getMobile());
finUncollectedReceivablesDetailedDto.setUseOrgSid(asBusrepairBill.getUseOrgSid());
finUncollectedReceivablesDetailedDto.setOrgSidPath(asBusrepairBill.getOrgSidPath());
finUncollectedReceivablesDetailedDto.setReceivablesName("其他费用");
finUncollectedReceivablesDetailedDto.setCurrentReceivableMoney(otherAmountAll.toString());
finUncollectedReceivablesDetailedDto.setReveivableMoney(otherAmountAll.toString());
finUncollectedReceivablesDetailedDto.setUseOrgName(asBusrepairBill.getUseOrgName());
finUncollectedReceivablesDetailedDto.setKxState("01");
finUncollectedReceivablesDetailedFeign.saveOrUpdate(finUncollectedReceivablesDetailedDto);
}
}
asBusrepairBill.setSettleTime(DateUtil.formatDate(new Date()));
asBusrepairBill.setNodeCode(6);
@ -3004,4 +3054,19 @@ public class AsBusrepairBillService extends MybatisBaseService<AsBusrepairBillMa
PagerVo<BusinessDetailsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public FinBusrepairBillVo fetchVehMarkAndTypeBySid(String sid) {
FinBusrepairBillVo vo = new FinBusrepairBillVo();
AsBusrepairBill asBusrepairBill = fetchBySid(sid);
if (null != asBusrepairBill) {
vo.setBillType(asBusrepairBill.getBillType());
}
AsBusrepairBillVech vech = asBusrepairBillVechService.fetchByBillSid(sid);
if (null != vech) {
if (StringUtils.isNotBlank(vech.getVehMark())) {
vo.setVehMark(vech.getVehMark());
}
}
return vo;
}
}

2
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbillinvoice/AsBusrepairBillInvoiceService.java

@ -45,4 +45,4 @@ public class AsBusrepairBillInvoiceService extends MybatisBaseService<AsBusrepai
baseMapper.delByBillSid(billSid);
}
}
}

Loading…
Cancel
Save