diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java new file mode 100644 index 0000000000..dd67eee67d --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +@FeignClient( + contextId = "anrui-reportcenter-AppVehRebate", + name = "anrui-reportcenter", + path = "v1/carRebate") +public interface AppVehRebateFeign { + + @ApiOperation("单车返利统计列表") + @PostMapping("/list") + @ResponseBody + ResultBean list(@RequestBody PagerQuery pagerQuery); +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java new file mode 100644 index 0000000000..9aad34ec6b --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java @@ -0,0 +1,43 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class ListVehRebate { + + @ApiModelProperty("车架号") + private String vin; + @ApiModelProperty("销售日期") + private String saleTime; + @ApiModelProperty("实销日期") + private String realSaleTime; + @ApiModelProperty("预提返利") + private String rebateEstimate; + @ApiModelProperty("上传") + private String rebateUpload; + @ApiModelProperty("二次上传") + private String rebateSecondaryUpload; + @ApiModelProperty("待确定") + private String rebateStayDetermine; + @ApiModelProperty("调整") + private String rebateAdjust; + @ApiModelProperty("未上传") + private String rebateNoUpload; + @ApiModelProperty("费用预提") + private String feesEstimate; + @ApiModelProperty("上传") + private String feeUpload; + @ApiModelProperty("车型") + private String model; + @ApiModelProperty("品牌") + private String brand; + @ApiModelProperty("采购系统") + private String buySystem; + @ApiModelProperty("分公司") + private String branch; + @ApiModelProperty("事业部") + private String division; + @ApiModelProperty("车辆sid") + private String sid; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java new file mode 100644 index 0000000000..11d752e859 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java @@ -0,0 +1,45 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class TotalVehRebate implements Vo { + private static final long serialVersionUID = -8631337422991366458L; + + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("合同状态") + private String contractType; + @ApiModelProperty("合同编号") + private String contractId; + @ApiModelProperty("欠款金额") + private String arrearsMoney; + @ApiModelProperty("承诺汇款日期") + private String paymentDate; + @ApiModelProperty("申请人") + private String applicant; + @ApiModelProperty("数量") + private String number; + @ApiModelProperty("原因") + private String reason; + @ApiModelProperty("创建日期") + private String date; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("是否显示办理按钮") + private Boolean showUpdateBtn; + @ApiModelProperty("是否显示删除按钮") + private Boolean showDeleteBtn; + @ApiModelProperty("是否显示领票按钮") + private Boolean showGetInvoiceBtn; + @ApiModelProperty("车型") + private String model; + @ApiModelProperty("销售类型") + private String type; + @ApiModelProperty("车架号(拼接)") + private String vinNo; + @ApiModelProperty("是否领取发票原件") + private String isLQOrigInvoice; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java new file mode 100644 index 0000000000..4c07b5638f --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class VehRebatePageQuery implements Query { + + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("条件") + private String names; + @ApiModelProperty("销售日期") + private String date; + @ApiModelProperty("实销日期") + private String date2; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java new file mode 100644 index 0000000000..a56e696894 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.reportcenter.api.vehRebate; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class VehRebatePageVo { + + @ApiModelProperty("合计") + private TotalVehRebate total; + @ApiModelProperty("列表") + private List list; + @ApiModelProperty("总页数") + private Integer pages; +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/pom.xml b/anrui-reportcenter/anrui-reportcenter-biz/pom.xml index 1a387a5bc3..98d73c7fc3 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/pom.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/pom.xml @@ -116,6 +116,12 @@ 0.0.1-SNAPSHOT compile + + com.yxt.anrui.scm + anrui-scm-api + 0.0.1-SNAPSHOT + compile + diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java index d3db6b6027..4d00c47daf 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java @@ -14,7 +14,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.anrui.reportcenter" }) @EnableDiscoveryClient -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal","com.yxt.anrui.base"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.*"}) public class ReportcenterApplication { public static void main(String[] args) { diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java new file mode 100644 index 0000000000..e0d4d1b448 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java @@ -0,0 +1,48 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.reportcenter.biz.vehRebate; + +import com.yxt.anrui.reportcenter.api.vehRebate.AppVehRebateFeign; +import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageQuery; +import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController() +@RequestMapping("v1/carRebate") +public class AppVehRebateRest implements AppVehRebateFeign { + + @Autowired + private AppVehRebateService appVehRebateService; + + @Override + public ResultBean list(PagerQuery query) { + return appVehRebateService.list(query); + } +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java new file mode 100644 index 0000000000..efc1663487 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java @@ -0,0 +1,117 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.reportcenter.biz.vehRebate; + +import com.yxt.anrui.reportcenter.api.vehRebate.ListVehRebate; +import com.yxt.anrui.reportcenter.api.vehRebate.TotalVehRebate; +import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageQuery; +import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageVo; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatQuery; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatVo; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class AppVehRebateService { + + @Autowired + private ScmVehRebateFeign scmVehRebateFeign; + + public ResultBean list(PagerQuery query) { + ResultBean rb = ResultBean.fireFail(); + //返回值 + VehRebatePageVo vehRebatePageVo = new VehRebatePageVo(); + TotalVehRebate totalVehRebate = new TotalVehRebate(); + List listVehRebates = new ArrayList<>(); + //查询条件 + PagerQuery scmVehRebateStatQueryPagerQuery = new PagerQuery<>(); + ScmVehRebateStatQuery scmVehRebateStatQuery = new ScmVehRebateStatQuery(); + VehRebatePageQuery params = query.getParams(); + scmVehRebateStatQuery.setOrgPath(params.getOrgPath()); + scmVehRebateStatQuery.setUserSid(params.getUserSid()); + scmVehRebateStatQuery.setMenuSid(params.getMenuSid()); + scmVehRebateStatQuery.setNames(params.getNames()); + //发起日期查询 + String date = params.getDate(); + if(StringUtils.isNotBlank(date)){ + String[] s = date.split("至"); + String startDate = s[0]; + if (StringUtils.isNotBlank(startDate)) { + scmVehRebateStatQuery.setSaleDateStart(startDate); + } + String endDate = s[1]; + if (StringUtils.isNotBlank(endDate)) { + scmVehRebateStatQuery.setSaleDateEnd(endDate); + } + } + String date2 = params.getDate2(); + if(StringUtils.isNotBlank(date2)){ + String[] s = date2.split("至"); + String startDate = s[0]; + if (StringUtils.isNotBlank(startDate)) { + scmVehRebateStatQuery.setAcSaleDateStart(startDate); + } + String endDate = s[1]; + if (StringUtils.isNotBlank(endDate)) { + scmVehRebateStatQuery.setAcSaleDateEnd(endDate); + } + } + scmVehRebateStatQueryPagerQuery.setParams(scmVehRebateStatQuery); + PagerVo data = scmVehRebateFeign.statistics(scmVehRebateStatQueryPagerQuery).getData(); + for (ScmVehRebateStatVo record : data.getRecords()) { + ListVehRebate listVehRebate = new ListVehRebate(); + listVehRebate.setVin(record.getVinNo()); + listVehRebate.setSaleTime(record.getSaleDate()); + listVehRebate.setRealSaleTime(record.getAcSaleDate()); + listVehRebate.setRebateEstimate(record.getEstimateRebate().toString()); + listVehRebate.setRebateUpload(record.getUploadMoney().toString()); + listVehRebate.setRebateSecondaryUpload(record.getSecondaryUploadMoney().toString()); + listVehRebate.setRebateStayDetermine(record.getStayDetermineMoney().toString()); + listVehRebate.setRebateAdjust(record.getAdjustmentMoney().toString()); + listVehRebate.setRebateNoUpload(record.getNotUploadMoney().toString()); + listVehRebate.setFeesEstimate(record.getExpectCost().toString()); + listVehRebate.setFeeUpload(record.getMoney().toString()); + listVehRebate.setModel(record.getVehModelName()); + listVehRebate.setBrand(record.getBrandName()); + listVehRebate.setBuySystem(record.getPurchaseSystemName()); + listVehRebate.setBranch(record.getUseOrgName()); + listVehRebate.setDivision(record.getDivision()); + listVehRebate.setSid(record.getVehSid()); + listVehRebates.add(listVehRebate); + } + vehRebatePageVo.setList(listVehRebates); + vehRebatePageVo.setPages((int) data.getPages()); + return rb.success().setData(vehRebatePageVo); + } +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java index 7818530a10..10f3f0579c 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java @@ -787,7 +787,7 @@ public class LoanOutboundApplyService extends MybatisBaseService + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java index 97ae1e5d07..88be0095f0 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotapply/LoanSecondarySalesNotApplyService.java @@ -30,11 +30,23 @@ import cn.hutool.core.date.DateUtil; 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.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesorderreturnveh.BusSalesOrderReturnVehDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehPdfVo; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; +import com.yxt.anrui.fin.api.kingdee.voucher.Voucher; import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; @@ -54,8 +66,10 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.LoanOutboundApply; import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo; import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.*; +import com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCost; import com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCostVo; import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.*; import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.flowable.*; @@ -63,6 +77,7 @@ import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesN import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDto; import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo; import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; +import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService; import com.yxt.anrui.riskcenter.biz.loansecondarysalesapply.LoanSecondarySalesApplyService; import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostService; @@ -90,6 +105,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.BigInteger; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; import static java.util.Comparator.comparing; @@ -130,6 +146,19 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanSecondarySalesNotApplyQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -542,6 +571,27 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); + LoanSecondarySalesNotApply finalLoanSecondarySalesNotApply = loanSecondarySalesNotApply; + Future future1 = pool.submit(() -> { + //推送不追偿申请凭证 + //TOdO: + List busVinSidList = loanSecondarySalesNotVehService.selectByMainSid(businessSid); + busVinSidList.removeAll(Collections.singleton(null)); + if(!busVinSidList.isEmpty()){ + pushRiskToFin2(finalLoanSecondarySalesNotApply,busVinSidList); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + } else { //极光推送 loanSecondarySalesNotApply = fetchBySid(businessSid); @@ -564,6 +614,142 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService busVinSidList) { + LoanSecondarySalesCost loanSecondarySalesCost = loanSecondarySalesCostService.selectMainSu(loanSecondarySalesNotApply.getSecSaleSid()); + Voucher voucher = new Voucher(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanSecondarySalesNotApply.getUseOrgSid()).getData(); + if (null != organizationVo) { + voucher.setAccountBook(organizationVo.getOrgCode()); + voucher.setVoucherNo(organizationVo.getOrgCode()); + } + List voucherResultDetailDtos = new ArrayList<>(); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanSecondarySalesNotApply.getCreateDeptSid()).getData(); + for (int i = 0; i < busVinSidList.size(); i++){ + String busVinSid = busVinSidList.get(i); + //ToDo: + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData(); + String customerNumber = ""; + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData(); + if (salesOrder != null && busSalesOrderVehicle != null) { + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + // List bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + if (StringUtils.isNotBlank(salesOrder.getPurchaseSystemSid())) { + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.getOrgCode()); + } + bdCustomer.setTOrgIds(deptVo.getOrgCode()); + if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { + String vinNo = busSalesOrderVehicle.getLinkNo(); + if (vinNo.length() > 8) { + linkNo = vinNo.substring(vinNo.length() - 8); + } else { + linkNo = busSalesOrderVehicle.getLinkNo(); + } + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); + } + } else { + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); + } + } + // bdCustomers.add(bdCustomer); + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + } + BigDecimal all = BigDecimal.ZERO;//扣回车辆费用=扣回入库-已认款+资方结清费用 + BigDecimal bxbzjMoney = BigDecimal.ZERO;//保险保证金 + BigDecimal cssMoney = BigDecimal.ZERO;//车损失---计算=扣回车辆费用-贷款保证金-保险保证金 + AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(busVinSid); + //应收贷款车欠款_到期欠款_累欠 + BigDecimal lqMoney = BigDecimal.ZERO; + //应收贷款车欠款_未到期欠款_未到期欠款 + BigDecimal wdqMoney = BigDecimal.ZERO; + //应收贷款车欠款_到期欠款_本金 + BigDecimal bjMoney = BigDecimal.ZERO; + BigDecimal zjzyfMoney = BigDecimal.ZERO; + String lq = loanRepaymentPlanDetailsService.getYqLq(busVinSid); + lqMoney = lqMoney.add(new BigDecimal(StringUtils.isBlank(lq) ? "0" : lq)); + //未到期欠款 + String wdq = loanRepaymentPlanDetailsService.getWdq(busVinSid); + wdqMoney = wdqMoney.add(new BigDecimal(StringUtils.isBlank(wdq) ? "0" : wdq)); + String bj = loanRepaymentPlanDetailsService.getBj(busVinSid); + bjMoney = bjMoney.add(new BigDecimal(StringUtils.isBlank(bj) ? "0" : bj)); + all = lqMoney.add(wdqMoney).add(bjMoney); + //已认款 + String subAll = baseMapper.selectByBusVinSid(busVinSid); + if(loanSecondarySalesCost.getBankSettleCost().compareTo(BigDecimal.ZERO)>0){ + all = all.add(loanSecondarySalesCost.getBankSettleCost()).subtract(new BigDecimal(subAll)); + } + + BigDecimal bankSettleCost = loanSecondarySalesCost.getBankSettleCost(); + all = all.subtract(new BigDecimal(subAll)).add(bankSettleCost); + BigDecimal loanDeposit = loanSecondarySalesCost.getLoanDeposit();//贷款保证金 + cssMoney = all.subtract(loanDeposit).subtract(bxbzjMoney);//车损失 + String zjzyf = alrepaidAndArrVo.getWheFundOccMoney(); + zjzyfMoney = zjzyfMoney.add(new BigDecimal(StringUtils.isBlank(zjzyf)?"0":zjzyf)); + + if(cssMoney.compareTo(BigDecimal.ZERO)>0){//贷方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDf.setSummary("**扣回车辆再次销售-不追偿处理"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(cssMoney.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoDf); + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJf.setSummary("**扣回车辆再次销售-不追偿处理"); + voucherResultDetailDtoJf.setSubjectNo("1911.05"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(cssMoney.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoJf); + } + if(zjzyfMoney.compareTo(BigDecimal.ZERO)>0){ + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDf.setSummary("**扣回车辆再次销售-不追偿减免资金占用费"); + voucherResultDetailDtoDf.setSubjectNo("2191.05.00"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(zjzyfMoney.negate().toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoDf); + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJf.setSummary("**扣回车辆再次销售-不追偿减免资金占用费"); + voucherResultDetailDtoDf.setSubjectNo("1201.02.02"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(zjzyfMoney.negate().toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoJf); + + } + } + + if(!voucherResultDetailDtos.isEmpty()){ + voucher.setResultDetails(voucherResultDetailDtos); + finKingDeeFeign.saveVoucher(voucher); + } + } + public ResultBean> getPreviousNodesForReject(NodeQuery query) { ResultBean> rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.java index 8dff6f8d93..0273571b67 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.java @@ -40,4 +40,6 @@ public interface LoanSecondarySalesNotVehMapper extends BaseMapper selByMainSid(String mainSid); + + List selectByMainSid(String businessSid); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.xml index 9dc41eed95..0096c13729 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehMapper.xml @@ -9,4 +9,10 @@ from loan_secondary_sales_not_veh where mainSid = #{s} + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehService.java index 7cc25cf931..4ca5f77a91 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesnotveh/LoanSecondarySalesNotVehService.java @@ -62,4 +62,8 @@ public class LoanSecondarySalesNotVehService extends MybatisBaseService selByMainSid(String mainSid) { return baseMapper.selByMainSid(mainSid); } + + public List selectByMainSid(String businessSid) { + return baseMapper.selectByMainSid(businessSid); + } } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java index 2c658fee20..8bdbc92a34 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java @@ -56,4 +56,5 @@ public class ScmVehRebateStatQuery implements Query { private String orgPath; private String menuUrl; private String menuSid; + private String names; } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java index cf26817c5a..8fbfb0ff53 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java @@ -361,7 +361,7 @@ public class ScmVehRebateService extends MybatisBaseService qw = new QueryWrapper<>(); //========================================数据授权开始 - if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) { PrivilegeQuery privilegeQuery = new PrivilegeQuery(); privilegeQuery.setOrgPath(query.getOrgPath()); privilegeQuery.setMenuUrl(query.getMenuUrl()); @@ -423,11 +423,15 @@ public class ScmVehRebateService extends MybatisBaseService= date_format('" + saleDateStart + "','%Y-%m-%d')"). apply(StringUtils.isNotBlank(saleDateEnd), "date_format (v.salesDate,'%Y-%m-%d') <= date_format('" + saleDateEnd + "','%Y-%m-%d')" ); - /* String acSaleDateStart = query.getAcSaleDateStart(); + String acSaleDateStart = query.getAcSaleDateStart(); String acSaleDateEnd = query.getAcSaleDateEnd(); - qw.apply(StringUtils.isNotBlank(acSaleDateStart), "date_format (createTime,'%Y-%m-%d') >= date_format('" + acSaleDateStart + "','%Y-%m-%d')"). - apply(StringUtils.isNotBlank(acSaleDateEnd), "date_format (createTime,'%Y-%m-%d') <= date_format('" + acSaleDateEnd + "','%Y-%m-%d')" - );*/ + qw.apply(StringUtils.isNotBlank(acSaleDateStart), "date_format (v.solidDate,'%Y-%m-%d') >= date_format('" + acSaleDateStart + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(acSaleDateEnd), "date_format (v.solidDate,'%Y-%m-%d') <= date_format('" + acSaleDateEnd + "','%Y-%m-%d')" + ); + //移动端条件 + if (StringUtils.isNotBlank(query.getNames())) { + qw.and(wrapper -> wrapper.like("r.useOrgName", query.getUseOrgName()).or().like("o.name", query.getNames()).or().like("r.vinNo", query.getNames()).or().like("r.vehModelName", query.getNames()).or().like("r.brandName", query.getNames()).or().like("r.purchaseSystemName", query.getNames())); + } qw.groupBy("r.vehSid"); qw.orderByDesc("r.createTime"); IPage page = PagerUtil.queryToPage(pq); diff --git a/anrui-system-ui/src/views/Home/Home.vue b/anrui-system-ui/src/views/Home/Home.vue index d54e151464..b3fd73f7b9 100644 --- a/anrui-system-ui/src/views/Home/Home.vue +++ b/anrui-system-ui/src/views/Home/Home.vue @@ -1,12 +1,14 @@