diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index d938239201..737b54c28b 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -23,7 +23,7 @@ public enum ProcDefEnum { // BASEVEHICLEACTUALSALES("未售买断", "process_6qx07b75:8:725012"), BASEVEHICLEACTUALSALES("未售买断", "process_6qx07b75:9:4087504"), FINCOSTAPPLY("费用申请", "process_u0pahv0s:6:725016"), - FINPAYAPPLY("付款申请", "process_gin2tntb:5:16412504"), + FINPAYAPPLY("付款申请", "process_gin2tntb:6:16692504"), RECORDAPPLICATION("入库申请", "process_xbwq2c7p:5:1742504"), SCMVEHICLERETURN("采购退库", "process_md8aeoap:2:722508"), SEALAPPLY("盖章申请", "process_7h0z66tp:1:240064"), diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehExcelVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehExcelVo.java new file mode 100644 index 0000000000..5870be2ce2 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbeoverdueveh/LoanBeOverdueVehExcelVo.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.riskcenter.api.loanbeoverdueveh; + +import com.yxt.common.core.utils.ExportEntityMap; +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +@Data +public class LoanBeOverdueVehExcelVo { + + @ExportEntityMap(CnName = "序号", EnName = "rankNo") + private Integer rankNo; + @ExportEntityMap(CnName = "分公司", EnName = "useOrgName") + private String useOrgName; + @ExportEntityMap(CnName = "销售部门", EnName = "dept") + private String dept; + @ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo") + private String loanContractNo; + @ExportEntityMap(CnName = "车架号", EnName = "vinNo") + private String vinNo; + @ExportEntityMap(CnName = "车牌号", EnName = "carNum") + private String carNum; + @ExportEntityMap(CnName = "贷款人", EnName = "borrowerName") + private String borrowerName; + @ExportEntityMap(CnName = "还款操作人", EnName = "repaymentName") + private String repaymentName; + @ExportEntityMap(CnName = "逾期期数", EnName = "beOverduePeriod") + private String beOverduePeriod; + @ExportEntityMap(CnName = "逾期金额", EnName = "beOverdueMoney") + private String beOverdueMoney; + @ExportEntityMap(CnName = "换算期数", EnName = "beOverdueMoneyAndPeriod") + private String beOverdueMoneyAndPeriod; + @ExportEntityMap(CnName = "最近催收日期", EnName = "createTime") + private String createTime; + @ExportEntityMap(CnName = "风控专员", EnName = "riskStaffUserName") + private String riskStaffUserName; + @ExportEntityMap(CnName = "远程控制状态", EnName = "lockCarState") + private String lockCarState; +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.java index 814a668c01..47579ddde5 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.java @@ -1,18 +1,15 @@ package com.yxt.anrui.riskcenter.biz.loanbeoverdueveh; import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVehInit; +import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehExcelVo; import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehVo; import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.ReaRepaymentVo; -import com.yxt.anrui.riskcenter.api.loanborrower.AppLoanBorrowerListVo; -import com.yxt.anrui.riskcenter.api.loanborrower.LoanBorrower; -import com.yxt.anrui.riskcenter.api.loanborrower.LoanBorrowerVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; import java.util.List; @@ -26,4 +23,6 @@ public interface LoanBeOverdueVehMapper { List initVehListByBorrSid(String borrowerSid); ReaRepaymentVo initReaRepayment(String saleVehSid); + + List excelList(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml index 7445812721..7c80365ea6 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml @@ -7,21 +7,21 @@ + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehRest.java index e82511ac60..90ab607b39 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehRest.java @@ -1,15 +1,21 @@ package com.yxt.anrui.riskcenter.biz.loanbeoverdueveh; import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.*; -import com.yxt.anrui.riskcenter.api.loanborrower.*; +import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.List; @Api(tags = "逾期车辆列表") @@ -19,6 +25,8 @@ public class LoanBeOverdueVehRest implements LoanBeOverdueVehFegin { @Autowired private LoanBeOverdueVehService loanBeOverdueVehService; + @Autowired + private HttpServletResponse response; @Override public ResultBean> listPage(PagerQuery pq) { @@ -27,6 +35,22 @@ public class LoanBeOverdueVehRest implements LoanBeOverdueVehFegin { return rb.success().setData(pv); } + @ApiOperation("导出") + @PostMapping("/excelList") + public void excelList(@RequestBody LoanBeOverdueVehQuery query) { + //得到所有要导出的数据 + List exportVoList = loanBeOverdueVehService.excelList(query); + //定义导出的excel名字 + String excelName = "逾期车辆列表"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, exportVoList, LoanBeOverdueVehExcelVo.class, response); + } + @Override public ResultBean> riskListPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehService.java index 05f9d191df..3782464e6a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehService.java @@ -3,7 +3,6 @@ package com.yxt.anrui.riskcenter.biz.loanbeoverdueveh; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; -import com.yxt.anrui.buscenter.api.bussalesvehicle.BusSalesVehicleFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; @@ -17,6 +16,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; @Service @@ -205,4 +205,103 @@ public class LoanBeOverdueVehService { ReaRepaymentVo reaRepaymentVo = loanBeOverdueVehMapper.initReaRepayment(saleVehSid); return reaRepaymentVo; } + + public List excelList(LoanBeOverdueVehQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean 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("a1.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("a1.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("a1.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("a1.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("a1.createBySid", query.getUserSid()); + } else { + List loanBeOverdueVehExcelVoArrayList = new ArrayList(); + return loanBeOverdueVehExcelVoArrayList; + } + } else { + List loanBeOverdueVehExcelVoArrayList = new ArrayList(); + return loanBeOverdueVehExcelVoArrayList; + } + } + if (query.getIsFP()) { + qw.isNull("a1.riskStaffUserName"); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("a1.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getDept())) { + qw.like("a1.dept", query.getDept()); + } + if (StringUtils.isNotBlank(query.getLoanContractNo())) { + qw.like("a1.loanContractNo", query.getLoanContractNo()); + } + if (StringUtils.isNotBlank(query.getBorrowerName())) { + qw.like("a1.borrowerName", query.getBorrowerName()); + } + if (StringUtils.isNotBlank(query.getRepaymentName())) { + qw.like("a1.reaRepaymentName", query.getRepaymentName()); + } + if (StringUtils.isNotBlank(query.getCarNum())) { + qw.like("a1.vehMark", query.getCarNum()); + } + if (StringUtils.isNotBlank(query.getBankName())) { + qw.like("a1.bankName", query.getBankName()); + } + if (StringUtils.isNotBlank(query.getBankContractNo())) { + qw.like("a1.bankContractNo", query.getBankContractNo()); + } + if (StringUtils.isNotBlank(query.getRiskStaffName())) { + qw.like("a1.riskStaffUserName", query.getRiskStaffName()); + } + if (StringUtils.isNotBlank(query.getLockCarState())) { + qw.eq("a1.lockCarState", query.getLockCarState()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("a1.vinNo", query.getVinNo()); + } + String collectionStartDate = query.getCollectionStartDate(); + String collectionEndDate = query.getCollectionEndDate(); + qw.apply(StringUtils.isNotBlank(collectionStartDate), "date_format (a1.createTime,'%Y-%m-%d') >= date_format('" + collectionStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(collectionEndDate), "date_format (a1.createTime,'%Y-%m-%d') <= date_format('" + collectionEndDate + "','%Y-%m-%d')" + ); + qw.groupBy("a1.loanContractNo"); + qw.groupBy("a1.vinNo"); + qw.groupBy("a1.busVinSid"); + if (StringUtils.isNotBlank(query.getBeOverduePeriod())) { + qw.having("beOverduePeriod = {0}", query.getBeOverduePeriod()); + } + if (StringUtils.isNotBlank(query.getBeOverdueMoney())) { + qw.having("beOverdueMoney = {0}", query.getBeOverdueMoney()); + } + if (StringUtils.isNotBlank(query.getBeOverdueMoneyAndPeriod())) { + qw.having("beOverdueMoneyAndPeriod = {0}", query.getBeOverdueMoneyAndPeriod()); + } + List loanBeOverdueVehExcelVos = loanBeOverdueVehMapper.excelList(qw); + return loanBeOverdueVehExcelVos; + } } \ No newline at end of file