From 8e0463cc1a43c4e469446c719db3449b5a2ebc3a Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 9 Jan 2024 11:33:17 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E9=80=BE=E6=9C=9F=E5=AF=B9=E8=B4=A6?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E8=B4=A2=E5=8A=A1=E6=96=B0=E5=A2=9E=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanOverdueFinDetailVo.java | 28 ++++--- .../LoanOverdueFinDetailsQuery.java | 20 +++++ .../loanoverduefin/LoanOverdueFinFeign.java | 4 + .../LoanOverdueFinDetails.java | 4 + .../LoanOverdueFinDetailsDto.java | 7 +- .../loanoverduefin/LoanOverdueFinMapper.java | 4 + .../loanoverduefin/LoanOverdueFinMapper.xml | 45 ++++++++++- .../loanoverduefin/LoanOverdueFinRest.java | 5 ++ .../loanoverduefin/LoanOverdueFinService.java | 74 +++++++++++++++++++ .../LoanOverdueFinDetailsMapper.xml | 7 +- doc/databases/risk_center.sql | 2 + 11 files changed, 183 insertions(+), 17 deletions(-) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailsQuery.java diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java index c5ff940952..ab75db9bd8 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.riskcenter.api.loanoverduefin; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -16,24 +17,29 @@ import java.util.List; public class LoanOverdueFinDetailVo { private String sid; + @ApiModelProperty("发起部门sid") + private String createDeptSid; + @ApiModelProperty("发起部门") + private String createDept; @ApiModelProperty("用户sid") private String userSid; - @ApiModelProperty("机构全路径sid") - private String orgPath; + @ApiModelProperty("发起人") + private String createByName; + @ApiModelProperty("发起日期") + private String createDate; @ApiModelProperty("截止时间") private String stopDate; + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("附件") private List filesList = new ArrayList<>(); + @ApiModelProperty("逾期客户列表") private List detailsVoList = new ArrayList<>(); - @ApiModelProperty("申请人") - private String createByName; - @ApiModelProperty("申请部门sid") - private String createDeptSid; - @ApiModelProperty("申请部门") - private String createDept; - - private String remarks; - + @ApiModelProperty("机构全路径sid") + private String orgPath; + @JsonIgnore private String files; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailsQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailsQuery.java new file mode 100644 index 0000000000..8da8ca9334 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailsQuery.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.riskcenter.api.loanoverduefin; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/9 + **/ +@Data +public class LoanOverdueFinDetailsQuery { + + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("机构全路径sid") + private String orgPath; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java index d47b16fe8f..622e233f5e 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java @@ -39,6 +39,10 @@ public interface LoanOverdueFinFeign { @PostMapping("/details") ResultBean details(@RequestParam("sid") String sid); + @ApiOperation("详情初始化2") + @PostMapping("/details2") + ResultBean details2(LoanOverdueFinDetailsQuery query); + @ApiOperation("删除/批量删除") @DeleteMapping("/delBySids") ResultBean delBySids(@RequestBody String[] sids); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetails.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetails.java index cf30a9fbda..4efa189fc6 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetails.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetails.java @@ -22,6 +22,10 @@ public class LoanOverdueFinDetails extends BaseEntity { private String loanSid; @ApiModelProperty("贷款人") private String loanName; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("销售订单车辆表sid") + private String busVinSid; @ApiModelProperty("当前逾期金额") private String overdueMoney; @ApiModelProperty("累欠") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetailsDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetailsDto.java index ce1f94cc77..c432b5f255 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetailsDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetailsDto.java @@ -12,7 +12,8 @@ import lombok.Data; @Data public class LoanOverdueFinDetailsDto implements Dto { private static final long serialVersionUID = 7484921327629725722L; - + @ApiModelProperty("明细sid") + private String sid; @ApiModelProperty("客户名称") private String customerName; @ApiModelProperty("客户sid") @@ -27,4 +28,8 @@ public class LoanOverdueFinDetailsDto implements Dto { private String tiredDeficiency; @ApiModelProperty("差异金额") private String diffMoney; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("销售订单关联的车辆sid") + private String busVinSid; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java index 16a974fd05..80a31186c6 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java @@ -7,9 +7,11 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFin; import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFinDetailVo; import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFinVo; +import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -26,4 +28,6 @@ public interface LoanOverdueFinMapper extends BaseMapper { int selectBySid(String join); int updateFlowFiled(Map beanToMap); + + List detailsList(@Param("useOrgSid") String useOrgSid, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml index 9d8ab22350..f591cb9eff 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml @@ -22,11 +22,12 @@ lof.files, lof.remarks, lof.createByName, - lof.createBySid userSid, + lof.createBySid userSid, lof.createDept, lof.createDeptSid, - lof.orgSidPath orgPath, - lof.stopDate + lof.orgSidPath orgPath, + lof.stopDate, + date_format(lof.createTime, '%Y-%m-%d') as createDate from loan_overdue_fin lof where sid = #{sid} @@ -55,4 +56,42 @@ WHERE sid = #{sid} + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java index 284cbca0d5..604a602c4a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java @@ -46,6 +46,11 @@ public class LoanOverdueFinRest implements LoanOverdueFinFeign { return loanOverdueFinService.details(sid); } + @Override + public ResultBean details2(LoanOverdueFinDetailsQuery query) { + return loanOverdueFinService.details2(query); + } + @Override public ResultBean delBySids(String[] sids) { return loanOverdueFinService.delAllBySids(sids); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java index 2e9c77f403..d0aafbd5df 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java @@ -1,6 +1,7 @@ package com.yxt.anrui.riskcenter.biz.loanoverduefin; import cn.hutool.core.bean.BeanUtil; +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; @@ -18,6 +19,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.riskcenter.api.loanoverduefin.*; import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeQuery; import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeVo; @@ -520,4 +522,76 @@ public class LoanOverdueFinService extends MybatisBaseService details2(LoanOverdueFinDetailsQuery query) { + ResultBean rb = ResultBean.fireFail(); + LoanOverdueFinDetailVo loanOverdueFinDetailVo = new LoanOverdueFinDetailVo(); + String sid = query.getSid(); + String userSid = query.getUserSid(); + String orgPath = query.getOrgPath(); + if (StringUtils.isBlank(sid)) {//新增初始化 + //根据用户查询发起人、发起部门、发起日期和截止日期均为当前日期,其中发起日期为年月日,截止日期为年月日时分秒 + String deptName = ""; + String deptSid = ""; + String useOrgSid = ""; + if (StringUtils.isNotBlank(orgPath)) { + List split = Arrays.asList(orgPath.split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptName = sysOrganization.getName() + "/" + sysOrganization1.getName(); + deptName = sysOrganization1.getName(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptName = sysOrganization.getName(); + deptName = sysOrganization.getName(); + deptSid = sysOrganization.getSid(); + } + useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); + } + //根据用户sid查询人员姓名 + ResultBean userVoResultBean = sysUserFeign.fetchBySid(userSid); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + loanOverdueFinDetailVo.setCreateDept(deptName);//销售部门 + loanOverdueFinDetailVo.setCreateDeptSid(deptSid);//销售部门sid + loanOverdueFinDetailVo.setUserSid(userSid);//用户sid + loanOverdueFinDetailVo.setCreateByName(userVoResultBean.getData().getName());//发起人 + //发起日期 + loanOverdueFinDetailVo.setCreateDate(DateUtil.today()); + //截止时间 + loanOverdueFinDetailVo.setStopDate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); + List detailsList = detailsList(useOrgSid); + loanOverdueFinDetailVo.setDetailsVoList(detailsList); + } else {//编辑初始化 + LoanOverdueFin loanOverdueFin = fetchBySid(sid); + if (loanOverdueFin == null) { + return rb.setMsg("该申请不存在"); + } + loanOverdueFinDetailVo = baseMapper.details(sid); + List detailsVoList = loanOverdueFinDetailsService.selectByMainSid(sid); + detailsVoList.removeAll(Collections.singleton(null)); + if (!detailsVoList.isEmpty()) { + loanOverdueFinDetailVo.setDetailsVoList(detailsVoList); + } + String files = loanOverdueFinDetailVo.getFiles(); + if (StringUtils.isNotBlank(files)) { + List fileList = Arrays.asList(files.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + loanOverdueFinDetailVo.setFilesList(fileList); + } + } + return rb.success().setData(loanOverdueFinDetailVo); + } + + public List detailsList(String useOrgSid) { + QueryWrapper qw = new QueryWrapper(); + qw.groupBy("a1.vinNo"); + qw.groupBy("a1.busVinSid"); + List detailsDtoList = baseMapper.detailsList(useOrgSid, qw); + detailsDtoList.removeAll(Collections.singleton(null)); + return detailsDtoList; + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefindetails/LoanOverdueFinDetailsMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefindetails/LoanOverdueFinDetailsMapper.xml index 6206e0c51c..dd79e8300d 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefindetails/LoanOverdueFinDetailsMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefindetails/LoanOverdueFinDetailsMapper.xml @@ -9,13 +9,16 @@ diff --git a/doc/databases/risk_center.sql b/doc/databases/risk_center.sql index f79122f4bf..284bf4f4d4 100644 --- a/doc/databases/risk_center.sql +++ b/doc/databases/risk_center.sql @@ -1309,6 +1309,8 @@ CREATE TABLE `loan_overdue_fin_details` `customerSid` varchar(64) DEFAULT NULL COMMENT '客户sid', `loanSid` varchar(64) DEFAULT NULL COMMENT '贷款人sid', `loanName` varchar(64) DEFAULT NULL COMMENT '贷款人名称', + `vinNo` varchar(64) DEFAULT NULL COMMENT '车架号', + `busVinSid` varchar(64) DEFAULT NULL COMMENT '销售订单车辆表sid', `overdueMoney` decimal(10, 2) DEFAULT NULL COMMENT '当前逾期金额', `tiredDeficiency` decimal(10, 2) DEFAULT NULL COMMENT '累欠', `diffMoney` decimal(10, 2) DEFAULT NULL COMMENT '差异金额', From d7edaaf1ca5d88cc71bf7d593673758c1a70aae0 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 9 Jan 2024 11:37:45 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E9=80=BE=E6=9C=9F=E5=AF=B9=E8=B4=A6?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E8=B4=A2=E5=8A=A1=E6=96=B0=E5=A2=9E=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java | 2 +- .../riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml | 5 +---- .../biz/loanoverduefin/LoanOverdueFinService.java | 6 +++--- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java index 80a31186c6..1643ba8245 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java @@ -29,5 +29,5 @@ public interface LoanOverdueFinMapper extends BaseMapper { int updateFlowFiled(Map beanToMap); - List detailsList(@Param("useOrgSid") String useOrgSid, @Param(Constants.WRAPPER) QueryWrapper qw); + List detailsList(@Param("useOrgSid") String useOrgSid, @Param(Constants.WRAPPER) QueryWrapper qw, @Param("stopDate") String stopDate); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml index f591cb9eff..77bdcf5090 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml @@ -68,9 +68,6 @@ a1.borrowerName loanName FROM (SELECT lrpd.sid, lrpd.busVinSid, - lrpd.`useOrgName`, - lrpd.`dept`, - lrpd.`loanContractNo`, lrpd.borrowerName, lrpd.`vinNo`, lrpd.dueMoney, @@ -86,7 +83,7 @@ ON lrh.planDetailSid = lrpd.`sid` LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv ON lrpd.busVinSid = bv.sid - WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') < CURDATE() + WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') < #{stopDate} and lrpd.useOrgSid = #{useOrgSid} GROUP BY lrpd.`sid` HAVING (yq_total > 0)) a1 diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java index d0aafbd5df..72ccb76e76 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java @@ -564,7 +564,7 @@ public class LoanOverdueFinService extends MybatisBaseService detailsList = detailsList(useOrgSid); + List detailsList = detailsList(useOrgSid, loanOverdueFinDetailVo.getStopDate()); loanOverdueFinDetailVo.setDetailsVoList(detailsList); } else {//编辑初始化 LoanOverdueFin loanOverdueFin = fetchBySid(sid); @@ -586,11 +586,11 @@ public class LoanOverdueFinService extends MybatisBaseService detailsList(String useOrgSid) { + public List detailsList(String useOrgSid, String stopDate) { QueryWrapper qw = new QueryWrapper(); qw.groupBy("a1.vinNo"); qw.groupBy("a1.busVinSid"); - List detailsDtoList = baseMapper.detailsList(useOrgSid, qw); + List detailsDtoList = baseMapper.detailsList(useOrgSid, qw, stopDate); detailsDtoList.removeAll(Collections.singleton(null)); return detailsDtoList; } From aea50ed4999b67b46d521f9c873c57c10eaa7e4d Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 9 Jan 2024 13:29:13 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E4=BA=A4=E4=BB=98?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BC=98=E5=8C=96=E9=87=8D=E5=A4=8D=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bussalesvehicle/BusSalesVehicleMapper.xml | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleMapper.xml index bfcc82e261..9e87da8d38 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleMapper.xml @@ -58,17 +58,18 @@ t1.saleDate, t1.handoverState, t1.handoverDate, - (@rank := @rank + 1) rankNo from (SELECT @rank := 0) t,(select bv.useOrgName, - bvoa.orgName deptName, - bvoa.staffName, - bvoa.customerName, - bvoa.contractNo, - bv.modelName, - bv.vinNo, - bvoa.saleTypeValue saleType, - bvoa.saleDate, - if(length(bh.closingDate) > 0, '已交付', '未交付') as handoverState, - DATE_FORMAT(bh.closingDate, '%Y-%m-%d') as handoverDate + (@rank := @rank + 1) rankNo from (SELECT @rank := 0) t,(select distinct bv.vinNo, + bv.useOrgName, + bvoa.orgName deptName, + bvoa.staffName, + bvoa.customerName, + bvoa.contractNo, + bv.modelName, + + bvoa.saleTypeValue saleType, + bvoa.saleDate, + if(length(bh.closingDate) > 0, '已交付', '未交付') as handoverState, + DATE_FORMAT(bh.closingDate, '%Y-%m-%d') as handoverDate from anrui_base.base_vehicle_out bvo left join anrui_base.base_vehicle_out_apply bvoa on bvoa.sid = bvo.mainSid left join anrui_base.base_vehicle bv on bvo.vinSid = bv.sid From 1516d73d7035c4019e30d4bbbf3a6837b5c75519 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 9 Jan 2024 14:35:44 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BA=A4=E5=9B=9E=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E8=B5=8E=E5=9B=9E=E6=A8=A1=E5=9D=97=E3=80=81=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E5=87=AD=E8=AF=81=E5=AE=A2=E6=88=B7=E7=BC=96=E7=A0=81=E5=8F=96?= =?UTF-8?q?=E5=80=BC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanRedemptionApply.java | 62 + .../LoanRedemptionApplyDto.java | 28 + .../LoanRedemptionApplyFeign.java | 96 ++ .../LoanRedemptionApplyFeignFallback.java | 18 + .../LoanRedemptionApplyFile.java | 18 + .../LoanRedemptionApplyInit.java | 34 + .../LoanRedemptionApplyQuery.java | 49 + .../LoanRedemptionApplyVo.java | 51 + .../flow/RedemptionCompleteDto.java | 41 + .../flow/RedemptionDelegateQuery.java | 26 + .../flow/RedemptionGetNodeQuery.java | 26 + .../flow/RedemptionGetNodeVo.java | 25 + .../flow/RedemptionTaskQuery.java | 56 + .../flow/SubmitRedemptionDto.java | 20 + .../loanredemptionveh/LoanRedemptionVeh.java | 32 + .../LoanRedemptionVehFeign.java | 22 + .../LoanRedemptionVehFeignFallback.java | 11 + .../LoanBuckleApplyService.java | 44 +- .../LoanMonthlyAccrualApplyService.java | 44 +- .../LoanRedemptionApplyMapper.java | 25 + .../LoanRedemptionApplyMapper.xml | 46 + .../LoanRedemptionApplyRest.java | 113 ++ .../LoanRedemptionApplyService.java | 1038 +++++++++++++++++ .../LoanRedemptionVehMapper.java | 18 + .../LoanRedemptionVehMapper.xml | 16 + .../LoanRedemptionVehRest.java | 16 + .../LoanRedemptionVehService.java | 26 + .../LoanRepaymentHistoryService.java | 44 +- .../LoanTransferPaymentApplyService.java | 44 +- 29 files changed, 2081 insertions(+), 8 deletions(-) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeignFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFile.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionCompleteDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionDelegateQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionTaskQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/SubmitRedemptionDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVeh.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeignFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehService.java diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java new file mode 100644 index 0000000000..cf971fd462 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java @@ -0,0 +1,62 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "赎回申请", description = "赎回申请") +@TableName("loan_redemption_apply") +@Data +public class LoanRedemptionApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("申请日期") + private Date applyDate; // 申请日期 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("taskId") + private String taskId; // taskId + @ApiModelProperty("使用组织sid") + private String useOrgSid; // 使用组织sid + @ApiModelProperty("使用组织名称") + private String useOrgName; // 使用组织名称 + @ApiModelProperty("申请人组织路径") + private String orgSidPath; // 申请人组织路径 + @ApiModelProperty("办结日期") + private Date closingDate; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方") + private String bankName; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("本次还款金额") + private BigDecimal amount; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java new file mode 100644 index 0000000000..fc5ec79b26 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply; + +import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleHistoryRecord; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/13 14:11 + */ +@Data +public class LoanRedemptionApplyDto implements Dto { + + private String sid; + private String userSid; + private String dept; + private String deptSid; + private String applyName; + private String applyDate; + private String remarks; + private String orgPath; + private List files = new ArrayList<>(); + private List records = new ArrayList<>(); +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeign.java new file mode 100644 index 0000000000..7bc96948c9 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeign.java @@ -0,0 +1,96 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply; + +import com.yxt.anrui.riskcenter.api.loanredemptionapply.flow.*; +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 io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "赎回申请") +@FeignClient( + contextId = "anrui-riskcenter-LoanRedemptionApply", + name = "anrui-riskcenter", + path = "v1/loanredemptionapply", + fallback = LoanRedemptionApplyFeignFallback.class) +public interface LoanRedemptionApplyFeign { + + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); +// +// @ApiOperation("新增初始化") +// @PostMapping("/buckleInit") +// @ResponseBody +// public ResultBean buckleInit(@RequestBody String[] sids); +// +// @ApiOperation("保存修改") +// @PostMapping("/saveBuckle") +// @ResponseBody +// public ResultBean saveBuckle(@RequestBody LoanRedemptionApplyDto dto); +// +// @ApiOperation("详情查看") +// @GetMapping("/buckleDetails") +// @ResponseBody +// public ResultBean buckleDetails(@RequestParam("sid") String sid); +// +// @ApiOperation("批量删除") +// @DeleteMapping("/deleteBySids") +// @ResponseBody +// public ResultBean deleteBySids(@RequestBody String[] sids); +// +// //------------------------------流程接口---------------------------------------------- +// +// @ApiOperation("提交") +// @PostMapping("/submit") +// public ResultBean submitRecordApplication(@RequestBody @Valid SubmitRedemptionDto dto); +// +// @ApiOperation(value = "办理(同意)") +// @PostMapping("/complete") +// public ResultBean complete(@Valid @RequestBody RedemptionCompleteDto dto); +// +// @ApiOperation(value = "撤回流程") +// @PostMapping(value = "/revokeProcess") +// public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody RedemptionTaskQuery query); +// +// @ApiOperation(value = "驳回任务") +// @PostMapping(value = "/reject") +// public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody RedemptionTaskQuery query); +// +// @ApiOperation(value = "终止任务") +// @PostMapping(value = "/breakProcess") +// public ResultBean breakProcess(@RequestBody RedemptionTaskQuery query); +// +// @ApiOperation(value = "流程历史流转记录") +// @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}") +// public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId); +// +// @ApiOperation(value = "获取下一个环节") +// @GetMapping(value = "/getNextNodesForSubmit") +// ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap RedemptionGetNodeQuery query); +// +// @ApiOperation(value = "获取上一个环节") +// @GetMapping(value = "/getPreviousNodesForReject") +// ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap RedemptionGetNodeQuery query); +// +// @ApiOperation(value = "加签") +// @PostMapping(value = "/delegate") +// public ResultBean delegate(@RequestBody RedemptionDelegateQuery query); + + //-------------------------app------------------------ + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeignFallback.java new file mode 100644 index 0000000000..1c6ac44c23 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeignFallback.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply; + + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + + +@Component +public class LoanRedemptionApplyFeignFallback implements LoanRedemptionApplyFeign { + + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFile.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFile.java new file mode 100644 index 0000000000..5e8f1b2fec --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFile.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/17 9:18 + */ +@Data +public class LoanRedemptionApplyFile { + private String filePath; + private String name; + private String size; + private String status; + private String uid; + private String url; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java new file mode 100644 index 0000000000..d991e46d79 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply; + +import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleHistoryRecord; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/13 13:43 + */ +@Data +public class LoanRedemptionApplyInit implements Vo { + + private String sid; + private String userSid; + private String dept; + private String deptSid; + private String applyName; + private String applyDate; + private String remarks; + private String orgPath; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("实例id") + private String instanceId; + private List files = new ArrayList<>(); + private List records = new ArrayList<>(); + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyQuery.java new file mode 100644 index 0000000000..2ac58c3dfe --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyQuery.java @@ -0,0 +1,49 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Administrator + * @description + * @date 2023/11/13 13:32 + */ +@Data +public class LoanRedemptionApplyQuery implements Query { + + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("菜单url") + private String menuUrl; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("分公司") + private String company; // 使用组织名称 + @ApiModelProperty("申请人") + private String applyName; // 申请人 + private String applyStartDate; + private String applyEndDate; + private String closingStartDate; + private String closingEndDate; + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方") + private String bankName; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("申请部门") + private String dept; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyVo.java new file mode 100644 index 0000000000..09f304e17f --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyVo.java @@ -0,0 +1,51 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author Administrator + * @description + * @date 2023/11/13 13:32 + */ +@Data +public class LoanRedemptionApplyVo implements Vo { + + private String sid; + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("分公司") + private String company; // 使用组织名称 + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请日期") + private String applyDate; // 申请日期 + @ApiModelProperty("办结日期") + private String closingDate; + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方") + private String bankName; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("本次还款金额") + private String amount; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车牌号") + private String vehMark; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionCompleteDto.java new file mode 100644 index 0000000000..15496a6682 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionCompleteDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply.flow; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 9:01 + * @Description + */ +@Data +public class RedemptionCompleteDto implements Dto { + private static final long serialVersionUID = 3240453987322803352L; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") + @NotBlank(message = "参数错误:comment") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionDelegateQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionDelegateQuery.java new file mode 100644 index 0000000000..f06692bef9 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionDelegateQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply.flow; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 9:28 + */ +@Data +public class RedemptionDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") +// @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeQuery.java new file mode 100644 index 0000000000..53409015b2 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 10:42 + * @Description + */ +@Data +public class RedemptionGetNodeQuery implements Query { + private static final long serialVersionUID = -5674867230708197611L; + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeVo.java new file mode 100644 index 0000000000..1459344a30 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply.flow; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/28 11:09 + * @Description + */ +@Data +public class RedemptionGetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionTaskQuery.java new file mode 100644 index 0000000000..11ef0d2f4c --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionTaskQuery.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description 终止、撤回、驳回查询参数 + */ +@Data +public class RedemptionTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + private String instanceId; + /*@ApiModelProperty("用户Id") + private String userId; + @ApiModelProperty("节点") + private String targetKey; + @ApiModelProperty("流程变量信息") + private Map values = new HashMap<>(); + @ApiModelProperty("审批人") + private String assignee; + @ApiModelProperty("候选人") + private List candidateUsers = new ArrayList<>(); + @ApiModelProperty("审批组") + private List candidateGroups = new ArrayList<>();*/ +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/SubmitRedemptionDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/SubmitRedemptionDto.java new file mode 100644 index 0000000000..bb6de76bc6 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/SubmitRedemptionDto.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionapply.flow; + +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitRedemptionDto extends LoanRedemptionApplyDto { + private static final long serialVersionUID = 378585162071125756L; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVeh.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVeh.java new file mode 100644 index 0000000000..b4fc303260 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVeh.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionveh; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "赎回车辆列表", description = "赎回车辆列表") +@TableName("loan_redemption_veh") +@Data +public class LoanRedemptionVeh extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请表sid") + private String mainSid; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("车辆订单业务sid") + private String busVinSid; + @ApiModelProperty("车辆sid") + private String vinSid; + @ApiModelProperty("0主车1挂车") + private String vehType; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeign.java new file mode 100644 index 0000000000..5a51ce4f8c --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeign.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionveh; + +import io.swagger.annotations.Api; +import org.springframework.cloud.openfeign.FeignClient; + + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "赎回车辆列表") +@FeignClient( + contextId = "anrui-riskcenter-LoanRedemptionVeh", + name = "anrui-riskcenter", + path = "v1/loanredemptionveh", + fallback = LoanRedemptionVehFeignFallback.class) +public interface LoanRedemptionVehFeign { + + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeignFallback.java new file mode 100644 index 0000000000..cf59d30785 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeignFallback.java @@ -0,0 +1,11 @@ +package com.yxt.anrui.riskcenter.api.loanredemptionveh; + + +import org.springframework.stereotype.Component; + + +@Component +public class LoanRedemptionVehFeignFallback implements LoanRedemptionVehFeign { + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java index b255c0d665..d23cdf5073 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java @@ -638,8 +638,48 @@ public class LoanBuckleApplyService extends MybatisBaseService bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.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(); + } + voucherDetail.setCustomerCode(customerNumber); + } + } voucherDetail.setAmount(repaymentHistory.getActualMoney()); voucherDetails.add(voucherDetail); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java index 5948db3464..c3f893f948 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java @@ -695,8 +695,48 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.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(); + } + voucherDetail.setCustomerCode(customerNumber); + } + } voucherDetail.setAmount(planDetails.getDueMoney()); voucherDetails.add(voucherDetail); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.java new file mode 100644 index 0000000000..e1ccda520e --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.riskcenter.biz.loanredemptionapply; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyVo; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApply; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + + +@Mapper +public interface LoanRedemptionApplyMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +// +// int updateFlowFiled(Map map); +// +// int selectNum(String bill); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml new file mode 100644 index 0000000000..9149815a39 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml @@ -0,0 +1,46 @@ + + + + + UPDATE loan_buckle_apply + SET nodeState=#{nodeState} + , nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyRest.java new file mode 100644 index 0000000000..c32bf3b864 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyRest.java @@ -0,0 +1,113 @@ +package com.yxt.anrui.riskcenter.biz.loanredemptionapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.*; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyFeign; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyQuery; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyVo; +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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +@Api(tags = "赎回申请") +@RestController +@RequestMapping("v1/loanredemptionapply") +public class LoanRedemptionApplyRest implements LoanRedemptionApplyFeign { + + @Autowired + LoanRedemptionApplyService loanRedemptionApplyService; + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = loanRedemptionApplyService.listPage(pq); + return rb.success().setData(pv); + } +// +// @Override +// public ResultBean buckleInit(String[] sids) { +// return loanRedemptionApplyService.buckleInit(sids); +// } +// +// +// +// @Override +// public ResultBean saveBuckle(LoanBuckleApplyDto dto) { +// return loanRedemptionApplyService.saveBuckle(dto); +// } +// +// @Override +// public ResultBean buckleDetails(String sid) { +// return loanRedemptionApplyService.buckleDetails(sid); +// } +// +// @Override +// public ResultBean deleteBySids(String[] sids) { +// return loanRedemptionApplyService.deleteBySids(sids); +// } +// +// @Override +// public ResultBean submitRecordApplication(SubmitBuckleDto dto) { +// return loanRedemptionApplyService.submitRecordApplication(dto); +// } +// +// @Override +// public ResultBean complete(BuckleCompleteDto dto) { +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(dto, bv); +// bv.setModelId(ProcDefEnum.LOANBUCKLEAPPLLY.getProDefId()); +// return loanRedemptionApplyService.complete(bv); +// } +// +// @Override +// public ResultBean revokeProcess(BuckleTaskQuery query) { +// return loanRedemptionApplyService.revokeProcess(query); +// } +// +// @Override +// public ResultBean taskReject(BuckleTaskQuery query) { +// return loanRedemptionApplyService.taskReject(query); +// } +// +// @Override +// public ResultBean breakProcess(BuckleTaskQuery query) { +// return loanRedemptionApplyService.breakProcess(query); +// } +// +// @Override +// public ResultBean flowRecord(String procInsId) { +// return loanRedemptionApplyService.flowRecord(procInsId); +// } +// +// @Override +// public ResultBean> getNextNodesForSubmit(BuckleGetNodeQuery query) { +// return loanRedemptionApplyService.getNextNodesForSubmit(query); +// } +// +// @Override +// public ResultBean> getPreviousNodesForReject(BuckleGetNodeQuery query) { +// return loanRedemptionApplyService.getPreviousNodesForReject(query); +// } +// +// @Override +// public ResultBean delegate(BuckleDelegateQuery query) { +// return loanRedemptionApplyService.delegate(query); +// } +// +// @Override +// public ResultBean appDetail(String sid) { +// return loanRedemptionApplyService.appDetail(sid); +// } + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java new file mode 100644 index 0000000000..6a75a67626 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java @@ -0,0 +1,1038 @@ +package com.yxt.anrui.riskcenter.biz.loanredemptionapply; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +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.BasePurchaseSystemFeign; +import com.yxt.anrui.base.common.enums.BillTypeEnum; +import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.base.common.utils.domain.BillNo; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.*; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppRecordVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApply; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyQuery; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyVo; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; +import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService; +import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; +import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; +import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessageFlowVo; +import com.yxt.messagecenter.api.message.MessageFlowableQuery; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; + +/** + * @description: + * @author: fzz + * @date: 2023/7/6 + **/ +@Service +public class LoanRedemptionApplyService extends MybatisBaseService { + + @Autowired + private MessageFeign messageFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private LoanRepaymentHistoryService loanRepaymentHistoryService; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private LoanBuckleApplyRecordService loanBuckleApplyRecordService; + @Autowired + private LoanFileService loanFileService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private FlowFeign flowFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService; + @Autowired + private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; + @Autowired + private FinKingDeeFeign finKingDeeFeign; + @Autowired + private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign; + @Autowired + private BusSalesOrderFeign busSalesOrderFeign; + @Autowired + private BasePurchaseSystemFeign basePurchaseSystemFeign; + + public PagerVo listPage(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + LoanRedemptionApplyQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.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("a.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("a.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("a.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("a.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("a.createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + //分公司 + if (StringUtils.isNotBlank(pagerQuery.getCompany())) { + qw.like("a.useOrgName", pagerQuery.getCompany()); + } + //申请人 + if (StringUtils.isNotBlank(pagerQuery.getApplyName())) { + qw.like("a.applyName", pagerQuery.getApplyName()); + } + //申请部门 + if (StringUtils.isNotBlank(pagerQuery.getDept())) { + qw.like("a.dept", pagerQuery.getDept()); + } + //消贷合同号 + if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) { + qw.like("a.loanContractNo", pagerQuery.getLoanContractNo()); + } + //资方 + if (StringUtils.isNotBlank(pagerQuery.getBankName())) { + qw.like("a.bankName", pagerQuery.getBankName()); + } + //资方合同号 + if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) { + qw.like("a.bankContractNo", pagerQuery.getBankContractNo()); + } + //客户名称 + if (StringUtils.isNotBlank(pagerQuery.getCustomer())) { + qw.like("a.customer", pagerQuery.getCustomer()); + } + //贷款人 + if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) { + qw.like("a.borrowerName", pagerQuery.getBorrowerName()); + } + //车架号 + if (StringUtils.isNotBlank(pagerQuery.getVinNo())) { + qw.like("v.vinNo", pagerQuery.getVinNo()); + } + //车牌号 + if (StringUtils.isNotBlank(pagerQuery.getVehMark())) { + qw.like("v.vehMark", pagerQuery.getVehMark()); + } + String applyStartTime = pagerQuery.getApplyStartDate(); + String applyEndTime = pagerQuery.getApplyEndDate(); + qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (a.applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(applyEndTime), "date_format (a.applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')" + ); + String closingStartDate = pagerQuery.getClosingStartDate(); + String closingEndDate = pagerQuery.getClosingEndDate(); + qw.apply(StringUtils.isNotEmpty(closingStartDate), "date_format (a.closingDate,'%Y-%m-%d') >= date_format('" + closingStartDate + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(closingEndDate), "date_format (a.closingDate,'%Y-%m-%d') <= date_format('" + closingEndDate + "','%Y-%m-%d')" + ); + qw.eq("a.isDelete", 0); + qw.orderByDesc("a.createTime"); + qw.eq("v.vehType","0"); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean buckleInit(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + LoanBuckleApplyInit vo = new LoanBuckleApplyInit(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + vo.setApplyDate(sdf.format(new Date())); + List historyRecords = new ArrayList<>(); + for (String sid : sids) { + LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord(); + LoanRepaymentHistoryRecordVo recordVo = loanRepaymentHistoryService.buckleInfo(sid).getData(); + if (null != recordVo) { + BeanUtil.copyProperties(recordVo, record); + } + historyRecords.add(record); + } + vo.setRecords(historyRecords); + return rb.success().setData(vo); + } +// +// +// /** +// * 生成申请单单据编号 +// * +// * @param orgSid +// * @return +// */ +// public String getApplyCode(String orgSid) { +// //获取分公司sid +// ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); +// String orgCode = resultBean1.getData().getOrgCode(); +// BillNo b = new BillNo(); +// b.setOrgCode(orgCode); +// b.setBillType(BillTypeEnum.HKSQ.getBillType()); +// String bill = Rule.getBill(b); +// int i = baseMapper.selectNum(bill); +// String billNo = Rule.getBillNo(bill, i); +// return billNo; +// } +// +// @Transactional(rollbackFor = Exception.class) +// public ResultBean saveBuckle(LoanBuckleApplyDto dto) { +// ResultBean rb = ResultBean.fireFail(); +// String sid = ""; +// if (dto.getRecords().isEmpty()) { +// return rb.setMsg("当月还款记录列表不能为空"); +// } +// if (StringUtils.isNotBlank(dto.getSid())) { +// sid = dto.getSid(); +// LoanBuckleApply updateEntity = fetchBySid(sid); +// if (null != updateEntity) { +// BeanUtil.copyProperties(dto, updateEntity, "id", "sid"); +// baseMapper.updateById(updateEntity); +// loanBuckleApplyRecordService.deleteByMainSid(sid); +// //删除附件表中关于该linkSid的文件 +// loanFileService.deleteByLinkSid(sid); +// List filess = dto.getFiles(); +// if (!filess.isEmpty()) { +// List files = new ArrayList<>(); +// for (LoanBuckleFile file : filess) { +// files.add(file.getUrl()); +// } +// loanFileService.saveAll(sid, files, LoanFileEnum.BUCKLE_APPLY.getAttachType()); +// } +// List records = dto.getRecords(); +// if (!records.isEmpty()) { +// for (LoanBuckleHistoryRecord record : records) { +// LoanBuckleApplyRecord applyRecord = new LoanBuckleApplyRecord(); +// applyRecord.setMainSid(sid); +// applyRecord.setRepaymentHistorySid(record.getRecordSid()); +// loanBuckleApplyRecordService.insert(applyRecord); +// } +// } +// } +// } else { +// LoanBuckleApply loanBuckleApply = new LoanBuckleApply(); +// sid = loanBuckleApply.getSid(); +// BeanUtil.copyProperties(dto, loanBuckleApply, "id", "sid"); +// loanBuckleApply.setCreateBySid(dto.getUserSid()); +// loanBuckleApply.setOrgSidPath(dto.getOrgPath()); +// ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()); +// if (orgSidByPath.getSuccess()) { +// String userOrgSid = orgSidByPath.getData(); +// loanBuckleApply.setUseOrgSid(userOrgSid); +// String billNo = getApplyCode(userOrgSid); +// loanBuckleApply.setBillNo(billNo); +// ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); +// if (organizationVo.getSuccess()) { +// SysOrganizationVo organizationVoData = organizationVo.getData(); +// if (null != organizationVoData) { +// loanBuckleApply.setUseOrgName(organizationVoData.getName()); +// } +// } +// } +// loanBuckleApply.setNodeState("待提交"); +// baseMapper.insert(loanBuckleApply); +// List records = dto.getRecords(); +// if (!records.isEmpty()) { +// for (LoanBuckleHistoryRecord record : records) { +// LoanBuckleApplyRecord applyRecord = new LoanBuckleApplyRecord(); +// applyRecord.setMainSid(sid); +// applyRecord.setRepaymentHistorySid(record.getRecordSid()); +// loanBuckleApplyRecordService.insert(applyRecord); +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(record.getRecordSid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("申请中"); +// repaymentHistory.setBuckleKey("002"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// //删除附件表中关于该linkSid的文件 +// loanFileService.deleteByLinkSid(sid); +// List filess = dto.getFiles(); +// if (!filess.isEmpty()) { +// List files = new ArrayList<>(); +// for (LoanBuckleFile file : filess) { +// files.add(file.getUrl()); +// } +// loanFileService.saveAll(sid, files, LoanFileEnum.BUCKLE_APPLY.getAttachType()); +// } +// } +// return rb.success().setData(sid); +// } +// +// public ResultBean buckleDetails(String sid) { +// ResultBean rb = ResultBean.fireFail(); +// LoanBuckleApplyInit initVo = new LoanBuckleApplyInit(); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// LoanBuckleApply loanBuckleApply = fetchBySid(sid); +// if (null != loanBuckleApply) { +// BeanUtil.copyProperties(loanBuckleApply, initVo); +// initVo.setUserSid(loanBuckleApply.getCreateBySid()); +// initVo.setOrgPath(loanBuckleApply.getOrgSidPath()); +// if (StringUtils.isNotBlank(loanBuckleApply.getProcInstId())) { +// initVo.setInstanceId(loanBuckleApply.getProcInstId()); +// } +// if (null != loanBuckleApply.getApplyDate()) { +// initVo.setApplyDate(sdf.format(loanBuckleApply.getApplyDate())); +// } +// List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.BUCKLE_APPLY.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). +// collect(Collectors.toList()); +// List loanBuckleFiles = new ArrayList<>(); +// for (String file : files) { +// LoanBuckleFile loanBuckleFile = new LoanBuckleFile(); +// loanBuckleFile.setUrl(file); +// loanBuckleFiles.add(loanBuckleFile); +// } +// initVo.setFiles(loanBuckleFiles); +// } +// List records = loanBuckleApplyRecordService.selByMainSid(sid); +// List recordList = new ArrayList<>(); +// if (!records.isEmpty()) { +// for (LoanBuckleApplyRecord record : records) { +// String historySid = record.getRepaymentHistorySid(); +// LoanBuckleHistoryRecord historyRecord = new LoanBuckleHistoryRecord(); +// LoanRepaymentHistoryRecordVo recordVo = loanRepaymentHistoryService.buckleInfo(historySid).getData(); +// if (null != recordVo) { +// BeanUtil.copyProperties(recordVo, historyRecord); +// } +// recordList.add(historyRecord); +// } +// } +// initVo.setRecords(recordList); +// } +// return rb.success().setData(initVo); +// } +// +// //-------------------------------------流程------------------------------------------------/ +// +// /** +// * 判断提交的流程是否被允许 +// * +// * @param dto +// * @return +// */ +// private synchronized int submitBusinessData(SubmitBuckleDto dto, LoanBuckleApply loanBuckleApply) { +// int r = 0; +// if (StringUtils.isBlank(dto.getSid())) { +// r = 1; +// } else { +// if (loanBuckleApply != null) { +// String businessTaskId = loanBuckleApply.getTaskId(); +// if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { +// //新提交 +// r = 1; +// } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { +// //二次提交//只有数据一致的时候才能进行下一步 +// r = 2; +// } +// } else { +// r = 3; +// } +// } +// return r; +// } +// +// /** +// * 更新流程相关的状态 +// * +// * @param map +// * @return +// */ +// private int updateFlowFiled(Map map) { +// return baseMapper.updateFlowFiled(map); +// } +// +// public ResultBean submitRecordApplication(SubmitBuckleDto dto) { +// ResultBean rb = ResultBean.fireFail(); +// LoanBuckleApply loanBuckleApply = fetchBySid(dto.getSid()); +// int r = submitBusinessData(dto, loanBuckleApply); +// if (r == 3) { +// return rb.setMsg("该申请不存在"); +// } +// if (r == 0) { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// String businessSid = ""; +// //新增修改保存 +// ResultBean resultBean = saveBuckle(dto); +// if (resultBean.getSuccess()) { +// businessSid = resultBean.getData(); +// } else { +// return rb.setMsg(resultBean.getMsg()); +// } +// LoanBuckleApply entity = fetchBySid(businessSid); +// String orgSidPath = ""; +// if (StringUtils.isNotBlank(entity.getOrgSidPath())) { +// orgSidPath = entity.getOrgSidPath(); +// } else { +// SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); +// if (null != data) { +// //根据staffSid获取用户的组织全路径 +// ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); +// if (!staffOrgResultBean.getSuccess()) { +// return rb.setMsg(staffOrgResultBean.getMsg()); +// } +// //用户的组织全路径 +// orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); +// } +// } +// List orgPathList = Arrays.asList(orgSidPath.split("/")); +// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); +// if (sysOrganization == null) { +// return rb.setMsg("当前所在的组织机构不存在"); +// } +// if (StringUtils.isBlank(sysOrganization.getManagerSid())) { +//// return rb.setMsg("当前所在的组织机构未设置主管人员"); +// sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +// } +// //创建BusinessVariables实体对象 +// BusinessVariables bv = new BusinessVariables(); +// //流程中的参数赋值 +// Map variables = BeanUtil.beanToMap(dto); +// Map appMap = new HashMap<>(); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(entity.getSalesUserSid())) { +//// if (!entity.getCreateBySid().equals(entity.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// variables.put("businessSid", businessSid); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +//// String orderNames = "<" + entity.getCustomer() + ">" + "欠款客户备案"; +//// variables.put("orderNames", orderNames); +// LoanBuckleApply loanBuckleApply1 = fetchBySid(businessSid); +// String msgBusinessSid = loanBuckleApply1.getSid(); +// //用户的部门全路径sid +// bv.setOrgSidPath(loanBuckleApply1.getOrgSidPath()); +// //业务sid +// bv.setBusinessSid(businessSid); +// //用户sid +// bv.setUserSid(dto.getUserSid()); +// bv.setFormVariables(variables); +//// String nextNodeUserSids_ = sysOrganization.getManagerSid(); +//// if (isTure) { +//// bv.setNextNodeUserSids(nextNodeUserSids_); +//// } else { +//// bv.setNextNodeUserSids(entity.getSalesUserSid()); +//// } +// //流程定义id +// bv.setModelId(ProcDefEnum.LOANBUCKLEAPPLLY.getProDefId()); +// if (r == 1) { +// //流程定义id +// bv.setModelId(ProcDefEnum.LOANBUCKLEAPPLLY.getProDefId()); +// ResultBean voResultBean = flowFeign.startProcess(bv); +// if (!voResultBean.getSuccess()) { +// return rb.setMsg(voResultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = voResultBean.getData(); +// int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); +// //==================================添加线程 +// try { +// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() +// .setNameFormat("demo-pool-%d").build(); +// ExecutorService pool = new ThreadPoolExecutor(2, 100, +// 0L, TimeUnit.MILLISECONDS, +// new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); +// Future future1 = pool.submit(() -> { +// //极光推送 +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(msgBusinessSid); +// messageFlowableQuery.setModuleName("划扣申请"); +// SysUserVo userVo = sysUserFeign.fetchBySid(loanBuckleApply1.getCreateBySid()).getData(); +// if (userVo != null) { +// if (StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// messageFlowableQuery.setMsgTitle("划扣申请"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// }); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// //==================================添加线程 +// return voResultBean; +// } +// if (r == 2) { +// // ToDo:驳回到发起人后再次提交 +// if (StringUtils.isBlank(dto.getInstanceId())) { +// return rb.setMsg("参数错误:instanceId"); +// } +// LoanBuckleApply loanBuckleApply2 = fetchBySid(dto.getSid()); +// bv.setTaskId(dto.getTaskId()); +// bv.setTaskDefKey(loanBuckleApply2.getNodeSid()); +// bv.setComment("重新提交"); +// bv.setInstanceId(dto.getInstanceId()); +// return complete(bv); +// } +// return rb; +// } +// +// public ResultBean complete(BusinessVariables bv) { +// ResultBean rb = ResultBean.fireFail(); +// String businessSid = bv.getBusinessSid(); +// LoanBuckleApply loanBuckleApply = this.fetchBySid(businessSid); +// if (bv.getTaskId().equals(loanBuckleApply.getTaskId())) { +// bv.setOrgSidPath(loanBuckleApply.getOrgSidPath()); +// //流程中的参数赋值 +// Map variables = new HashMap<>(); +// Map appMap = new HashMap<>(); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +//// if (bv.getTaskDefKey().equals("Activity_1078xxs")) { +//// if (StringUtils.isNotBlank(loanCustomerRecord.getManageSid())) { +//// bv.setNextNodeUserSids(loanCustomerRecord.getManageSid()); +//// } else { +//// bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +//// } +//// } +// variables.put("businessSid", businessSid); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +// bv.setFormVariables(variables); +// ResultBean resultBean = flowFeign.handleProsess(bv); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); +// if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { +// LoanBuckleApply buckleApply = fetchBySid(businessSid); +// buckleApply.setClosingDate(new DateTime()); +// baseMapper.updateById(buckleApply); +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(businessSid); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("审核通过"); +// repaymentHistory.setBuckleKey("003"); +// repaymentHistory.setClosingDate(new DateTime()); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// try { +// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() +// .setNameFormat("demo-pool-%d").build(); +// ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(1, 10, +// 1000, TimeUnit.MILLISECONDS, +// new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); +// //推送划扣凭证 +// Future future = pool.submit(() -> { +// pushBuckleVoucher(businessSid); +// }); +// } catch (Exception e) { +// e.printStackTrace(); +// log.error("推送数据失败=========================" + e.getMessage()); +// return rb.setMsg("推送数据失败"); +// } +// } +// return rb.success().setData(resultBean.getData()); +// } else { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// } +// +// private void pushBuckleVoucher(String businessSid) { +// List records = loanBuckleApplyRecordService.selByMainSid(businessSid); +// if (!records.isEmpty()) { +// GeneralVoucher generalVoucher = new GeneralVoucher(); +// List voucherDetails = new ArrayList<>(); +// for (LoanBuckleApplyRecord v : records) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(v.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// String planDetailSid = repaymentHistory.getPlanDetailSid(); +// LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(planDetailSid); +// if (null != planDetails) { +// GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); +// String state = loanRepaymentPlanDetailsService.selForPushBuckleVoucher(planDetailSid); +// if (StringUtils.isNotBlank(state)) { +// if (state.equals("0")) { +// voucherDetail.setSceneCode("03"); +// } else if (state.equals("1")) { +// voucherDetail.setSceneCode("02"); +// } else if (state.equals("2")) { +// voucherDetail.setSceneCode("01"); +// } +// } +// String bankName = loanRepaymentPlanDetailsService.getBankNameByMainOrOtherPolicy(planDetails); +// if (StringUtils.isNotBlank(bankName)) { +// voucherDetail.setBankName(bankName); +// } +// String useOrgSid = planDetails.getUseOrgSid(); +// SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); +// if (null != organizationVo) { +// generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); +// } +// String deptSid = planDetails.getDeptSid(); +// SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); +// if (null != organizationDeptVo) { +// voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); +// } +// String[] split = planDetails.getLoanContractNo().split("-"); +// voucherDetail.setCustomerCode(split[0] + split[1]); +// voucherDetail.setAmount(repaymentHistory.getActualMoney()); +// voucherDetails.add(voucherDetail); +// } +// } +// } +// generalVoucher.setVoucherDetails(voucherDetails); +// finKingDeeFeign.saveBuckleVoucher(generalVoucher); +// } +// } +// +// +// public ResultBean revokeProcess(BuckleTaskQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// if (StringUtils.isBlank(query.getUserSid())) { +// return rb.setMsg("参数错误:userSid"); +// } +// LoanBuckleApply loanBuckleApply = fetchBySid(query.getBusinessSid()); +// String businessTaskId = loanBuckleApply.getTaskId(); +// if (StringUtils.isNotBlank(businessTaskId)) { +// if (businessTaskId.equals(query.getTaskId())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); +// return rb.success().setData(resultBean.getData()); +// } +// } +// return rb.setMsg("操作失败,提交的数据不一致!"); +// } +// +// public ResultBean taskReject(BuckleTaskQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// String businessSid = query.getBusinessSid(); +// LoanBuckleApply loanBuckleApply = fetchBySid(businessSid); +// if (loanBuckleApply == null) { +// return rb.setMsg("该申请不存在"); +// } +// String businessTaskId = loanBuckleApply.getTaskId(); +// if (StringUtils.isNotBlank(businessTaskId)) { +// if (businessTaskId.equals(query.getTaskId())) { +// if (StringUtils.isBlank(query.getComment())) { +// return rb.setMsg("请填写意见"); +// } +// if (StringUtils.isBlank(query.getUserSid())) { +// return rb.setMsg("参数错误:userSid"); +// } +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// Map variables = new HashMap<>(); +// Map appMap = new HashMap<>(); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// flowTaskVo.setValues(variables); +// ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = resultBean.getData(); +// Map map = BeanUtil.beanToMap(ufVo); +// //更新业务中的流程相关的参数 +// updateFlowFiled(map); +// //极光推送 +// loanBuckleApply = fetchBySid(businessSid); +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// String procId = loanBuckleApply.getProcInstId(); +// messageFlowVo.setProcInsId(procId); +// messageFlowVo.setProcDefId(loanBuckleApply.getProcDefId()); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(businessSid); +// messageFlowableQuery.setModuleName("划扣申请"); +// ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); +// String nextName = listResultBean.getData().get(0).getName_(); +// String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); +// List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); +//// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { +// if ("发起申请".equals(nextName)) { +// messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); +// } else { +// SysUserVo userVo = sysUserFeign.fetchBySid(loanBuckleApply.getCreateBySid()).getData(); +// if (userVo != null) { +// if (StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// } +// messageFlowableQuery.setMsgTitle("划扣申请"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// return rb.success(); +// } +// } +// return rb.setMsg("操作失败!提交的数据不一致!"); +// } +// +// public ResultBean breakProcess(BuckleTaskQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// if (StringUtils.isBlank(query.getInstanceId())) { +// return rb.setMsg("参数错误:instanceId"); +// } +// if (StringUtils.isBlank(query.getUserSid())) { +// return rb.setMsg("参数错误:userSid"); +// } +// if (StringUtils.isBlank(query.getComment())) { +// return rb.setMsg("请填写意见"); +// } +// LoanBuckleApply loanBuckleApply = fetchBySid(query.getBusinessSid()); +// String businessTaskId = loanBuckleApply.getTaskId(); +// if (StringUtils.isNotBlank(businessTaskId)) { +// if (query.getUserSid().equals(loanBuckleApply.getCreateBySid())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// Map map = BeanUtil.beanToMap(resultBean.getData()); +// updateFlowFiled(map); +// //终止任务后划扣状态改完未通过 +// LoanBuckleApply entity = fetchBySid(query.getBusinessSid()); +// if (entity.getNodeState().equals("终止")) { +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(query.getBusinessSid()); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("审核未通过"); +// repaymentHistory.setBuckleKey("004"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// } +// return rb.success().setData(resultBean.getData()); +// } else { +// if (businessTaskId.equals(query.getTaskId())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// Map map = BeanUtil.beanToMap(resultBean.getData()); +// updateFlowFiled(map); +// //终止任务后划扣状态改完未通过 +// LoanBuckleApply entity = fetchBySid(query.getBusinessSid()); +// if (entity.getNodeState().equals("终止")) { +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(query.getBusinessSid()); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("审核未通过"); +// repaymentHistory.setBuckleKey("004"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// } +// +// return rb.success().setData(resultBean.getData()); +// } +// } +// +// } +// return rb.setMsg("操作失败!提交的数据不一致!"); +// } +// +// public ResultBean flowRecord(String procInsId) { +// return flowTaskFeign.businessFlowRecord(procInsId); +// } +// +// public ResultBean> getNextNodesForSubmit(BuckleGetNodeQuery query) { +// ResultBean> rb = ResultBean.fireFail(); +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 +// Map variables = new HashMap<>(); +// +// //根据业务sid查询排产信息 +// LoanBuckleApply loanBuckleApply = fetchBySid(query.getBusinessSid()); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// bv.setFormVariables(variables); +// bv.setModelId(loanBuckleApply.getProcDefId()); +// ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BuckleGetNodeVo.class)).collect(Collectors.toList()); +// return rb.success().setData(voList); +// } +// +// public ResultBean> getPreviousNodesForReject(BuckleGetNodeQuery query) { +// ResultBean> rb = ResultBean.fireFail(); +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 +// Map variables = new HashMap<>(); +// //根据业务sid查询排产信息 +// LoanBuckleApply loanBuckleApply = fetchBySid(query.getBusinessSid()); +//// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// bv.setFormVariables(variables); +// bv.setModelId(loanBuckleApply.getProcDefId()); +// ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BuckleGetNodeVo.class)).collect(Collectors.toList()); +// return rb.success().setData(voList); +// } +// +// public ResultBean delegate(BuckleDelegateQuery query) { +// ResultBean rb = ResultBean.fireFail(); +// FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); +// BeanUtil.copyProperties(query, delegateQuery); +// flowFeign.delegate(delegateQuery); +// return rb.success(); +// } +// +// +// public ResultBean appDetail(String sid) { +// ResultBean rb = ResultBean.fireFail(); +// AppBuckleDetailsVo vo = new AppBuckleDetailsVo(); +// LoanBuckleApply loanBuckleApply = fetchBySid(sid); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// if (null != loanBuckleApply) { +// vo.setSid(sid); +// String dept = ""; +// String applyName = ""; +// if (StringUtils.isNotBlank(loanBuckleApply.getRemarks())) { +// vo.setRemarks(loanBuckleApply.getRemarks()); +// } +// if (StringUtils.isNotBlank(loanBuckleApply.getProcInstId())) { +// vo.setProcInsId(loanBuckleApply.getProcInstId()); +// } +// if (StringUtils.isNotBlank(loanBuckleApply.getTaskId())) { +// vo.setTaskId(loanBuckleApply.getTaskId()); +// } +// if (null != loanBuckleApply.getApplyDate()) { +// vo.setTime(sdf.format(loanBuckleApply.getApplyDate())); +// } +// if (StringUtils.isNotBlank(loanBuckleApply.getDept())) { +// dept = loanBuckleApply.getDept(); +// } +// if (StringUtils.isNotBlank(loanBuckleApply.getApplyName())) { +// applyName = loanBuckleApply.getApplyName(); +// } +// vo.setPublishInfo(dept + "-" + applyName); +// List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.BUCKLE_APPLY.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). +// collect(Collectors.toList()); +// vo.setFiles(files); +// } +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(sid); +// List records = new ArrayList<>(); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// String historySid = applyRecord.getRepaymentHistorySid(); +// LoanRepaymentHistoryRecordVo data = loanRepaymentHistoryService.buckleInfo(historySid).getData(); +// if (null != data) { +// AppRecordVo appRecordVo = new AppRecordVo(); +// if (StringUtils.isNotBlank(data.getLoanContractNo())) { +// appRecordVo.setContractId(data.getLoanContractNo()); +// } +// if (StringUtils.isNotBlank(data.getPeriod())) { +// appRecordVo.setInstalments("期数:" + data.getPeriod()); +// } +// if (StringUtils.isNotBlank(data.getVinNo())) { +// appRecordVo.setVin("车架号:" + data.getVinNo()); +// } +// if (StringUtils.isNotBlank(data.getReturnWay())) { +// appRecordVo.setType(data.getReturnWay()); +// } +// if (StringUtils.isNotBlank(data.getBankName())) { +// appRecordVo.setZf(data.getBankName()); +// } +// if (StringUtils.isNotBlank(data.getBankContractNo())) { +// appRecordVo.setZfNo(data.getBankContractNo()); +// } +// if (StringUtils.isNotBlank(data.getCustomer())) { +// appRecordVo.setCusName(data.getCustomer()); +// } +// if (StringUtils.isNotBlank(data.getBorrowerName())) { +// appRecordVo.setLoanName(data.getBorrowerName()); +// } +//// if (StringUtils.isNotBlank(data.getDueDate())) { +//// appRecordVo.setRepaymentDate(data.getDueDate()); +//// } +// String yinghuan = ""; +// String weihuan = ""; +// String shihuan = ""; +// String shihuandate = ""; +//// if (StringUtils.isNotBlank(data.getDueMoney())) { +//// yinghuan = data.getDueMoney(); +//// } +//// if (StringUtils.isNotBlank(data.getOutstandingMoney())) { +//// weihuan = data.getOutstandingMoney(); +//// } +// if (StringUtils.isNotBlank(data.getActualDate())) { +// shihuandate = data.getActualDate(); +// } +// if (StringUtils.isNotBlank(data.getActualMoney())) { +// shihuan = data.getActualMoney(); +// } +// appRecordVo.setInfo1(""); +// appRecordVo.setInfo2("实还日期:" + shihuandate + ",实还金额:" + shihuan); +// records.add(appRecordVo); +// } +// } +// } +// vo.setRecords(records); +// } +// return rb.success().setData(vo); +// } +// +// public ResultBean deleteBySids(String[] sids) { +// ResultBean rb = ResultBean.fireFail(); +// for (String sid : sids) { +// LoanBuckleApply loanBuckleApply = fetchBySid(sid); +// if (null != loanBuckleApply) { +// if (!loanBuckleApply.getNodeState().equals("待提交")) { +// return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); +// } +// } +// loanBuckleApply.setIsDelete(1); +// int i = baseMapper.updateById(loanBuckleApply); +// if (i == 0) { +// return rb.setMsg("删除失败"); +// } +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(sid); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("未申请"); +// repaymentHistory.setBuckleKey("001"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } +// } +// return ResultBean.fireSuccess().setMsg("删除成功"); +// } + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.java new file mode 100644 index 0000000000..eabc10e276 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.biz.loanredemptionveh; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; +import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +@Mapper +public interface LoanRedemptionVehMapper extends BaseMapper { + + int deleteByMainSid(@Param("mainSid") String mainSid); + + List selByMainSid(String sid); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.xml new file mode 100644 index 0000000000..a5d2dcf76c --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.xml @@ -0,0 +1,16 @@ + + + + + + DELETE + FROM loan_buckle_apply_record + WHERE mainSid = #{mainSid} + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehRest.java new file mode 100644 index 0000000000..1e41192a0e --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehRest.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.riskcenter.biz.loanredemptionveh; + +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecordFeign; +import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVehFeign; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Api(tags = "赎回车辆列表") +@RestController +@RequestMapping("v1/loanredemptionveh") +public class LoanRedemptionVehRest implements LoanRedemptionVehFeign { + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehService.java new file mode 100644 index 0000000000..794b6b124d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehService.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.biz.loanredemptionveh; + +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; +import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh; +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @description: + * @author: fzz + * @date: 2023/7/6 + **/ +@Service +public class LoanRedemptionVehService extends MybatisBaseService { + + public int deleteByMainSid(String mainSid) { + return baseMapper.deleteByMainSid(mainSid); + } + + + public List selByMainSid(String sid) { + return baseMapper.selByMainSid(sid); + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java index 4394abc463..f66c56bb4c 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java @@ -876,8 +876,48 @@ public class LoanRepaymentHistoryService extends MybatisBaseService bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.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(); + } + voucherDetail.setCustomerCode(customerNumber); + } + } if (StringUtils.isNotBlank(planDetails.getOutstandingMoney())) { voucherDetail.setAmount(new BigDecimal(planDetails.getOutstandingMoney())); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java index 5a0062b0f4..41d0f48a53 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java @@ -823,8 +823,48 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.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(); + } + voucherDetail.setCustomerCode(customerNumber); + } + } BigDecimal money = new BigDecimal(0); if (null != v.getTransferPrincipal()) { money = v.getTransferPrincipal(); From b0125b11576cb10818e5b5e7148f1f7541799e16 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 9 Jan 2024 15:15:06 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E9=80=BE=E6=9C=9F=E5=AF=B9=E8=B4=A6?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E8=B5=84=E6=96=B9=E6=96=B0=E5=A2=9E=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E5=92=8C=E7=BC=96=E8=BE=91=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E5=90=88=E5=B9=B6=E3=80=81=E8=B5=84=E6=96=B9=E9=80=BE?= =?UTF-8?q?=E6=9C=9F=E5=AE=A2=E6=88=B7=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanOverdueBankDetailVo.java | 21 ++--- .../LoanOverdueBankDetailsQuery.java | 19 +++++ .../loanoverduebank/LoanOverdueBankFeign.java | 4 + .../LoanOverdueBankDetailsDto.java | 3 + .../LoanOverdueBankMapper.java | 8 +- .../loanoverduebank/LoanOverdueBankMapper.xml | 58 ++++++++++++++ .../loanoverduebank/LoanOverdueBankRest.java | 5 ++ .../LoanOverdueBankService.java | 77 +++++++++++++++++++ .../LoanOverdueBankDetailsMapper.xml | 3 +- .../loanoverduefin/LoanOverdueFinService.java | 1 + 10 files changed, 188 insertions(+), 11 deletions(-) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailsQuery.java diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailVo.java index 14d7638b97..d588783aea 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.riskcenter.api.loanoverduebank; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto; import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto; import io.swagger.annotations.ApiModelProperty; @@ -19,22 +20,24 @@ public class LoanOverdueBankDetailVo { private String sid; @ApiModelProperty("用户sid") private String userSid; - @ApiModelProperty("机构全路径sid") - private String orgPath; - @ApiModelProperty("截止时间") - private String stopDate; - @ApiModelProperty("附件") - private List filesList = new ArrayList<>(); - private List detailsVoList = new ArrayList<>(); - @ApiModelProperty("申请人") private String createByName; @ApiModelProperty("申请部门sid") private String createDeptSid; @ApiModelProperty("申请部门") private String createDept; - + @ApiModelProperty("发起日期") + private String createDate; + @ApiModelProperty("机构全路径sid") + private String orgPath; + @ApiModelProperty("截止时间") + private String stopDate; + @ApiModelProperty("备注") private String remarks; + @ApiModelProperty("附件") + private List filesList = new ArrayList<>(); + private List detailsVoList = new ArrayList<>(); + @JsonIgnore private String files; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailsQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailsQuery.java new file mode 100644 index 0000000000..48ebee78d4 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailsQuery.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.riskcenter.api.loanoverduebank; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/9 + **/ +@Data +public class LoanOverdueBankDetailsQuery { + + private String sid; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("机构全路径sid") + private String orgPath; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java index db8acf144f..bcc9bf3327 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java @@ -36,6 +36,10 @@ public interface LoanOverdueBankFeign { @PostMapping("/details") ResultBean details(@RequestParam("sid") String sid); + @ApiOperation("详情初始化2") + @PostMapping("/details2") + ResultBean details2(LoanOverdueBankDetailsQuery query); + @ApiOperation("删除/批量删除") @DeleteMapping("/delBySids") ResultBean delBySids(@RequestBody String[] sids); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebankdetails/LoanOverdueBankDetailsDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebankdetails/LoanOverdueBankDetailsDto.java index 0d93e50e8a..6f37a22b0f 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebankdetails/LoanOverdueBankDetailsDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebankdetails/LoanOverdueBankDetailsDto.java @@ -13,6 +13,9 @@ import java.math.BigDecimal; @Data public class LoanOverdueBankDetailsDto { + @ApiModelProperty("sid") + private String sid; + @ApiModelProperty("贷款合同编号") private String loanContractNo; @ApiModelProperty("客户名称") diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.java index 8bcb7522ff..d016c7c72d 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.java @@ -3,11 +3,15 @@ package com.yxt.anrui.riskcenter.biz.loanoverduebank; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBank; import com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBankDetailVo; import com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBankVo; +import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -17,11 +21,13 @@ import java.util.Map; **/ @Mapper public interface LoanOverdueBankMapper extends BaseMapper { - IPage selectPageVo(IPage page, QueryWrapper qw); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); LoanOverdueBankDetailVo details(String sid); int selectBySid(String join); int updateFlowFiled(Map beanToMap); + + List detailsList(@Param("useOrgSid") String useOrgSid, @Param(Constants.WRAPPER) QueryWrapper qw, @Param("stopDate") String stopDate); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.xml index b83e60a5b2..4e591e886f 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.xml @@ -39,4 +39,62 @@ WHERE sid = #{sid} + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java index 46f3da55ca..3d5d97099e 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java @@ -43,6 +43,11 @@ public class LoanOverdueBankRest implements LoanOverdueBankFeign { return loanOverdueBankService.details(sid); } + @Override + public ResultBean details2(LoanOverdueBankDetailsQuery query) { + return loanOverdueBankService.details2(query); + } + @Override public ResultBean delBySids(String[] sids) { return loanOverdueBankService.delAllBySids(sids); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java index dabfe7b6b1..422ba72c0f 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java @@ -1,6 +1,7 @@ package com.yxt.anrui.riskcenter.biz.loanoverduebank; import cn.hutool.core.bean.BeanUtil; +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; @@ -18,12 +19,14 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.riskcenter.api.loanoverduebank.*; import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNodeQuery; import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNodeVo; import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyTaskQuery; import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.SubmitApplyBankDto; import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto; +import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto; import com.yxt.anrui.riskcenter.biz.loanoverduebankdetails.LoanOverdueBankDetailsService; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; @@ -523,4 +526,78 @@ public class LoanOverdueBankService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } + + public ResultBean details2(LoanOverdueBankDetailsQuery query) { + ResultBean rb = ResultBean.fireFail(); + LoanOverdueBankDetailVo loanOverdueBankDetailVo = new LoanOverdueBankDetailVo(); + String sid = query.getSid(); + String userSid = query.getUserSid(); + String orgPath = query.getOrgPath(); + if (StringUtils.isBlank(sid)) {//新增初始化 + //根据用户查询发起人、发起部门、发起日期和截止日期均为当前日期,其中发起日期为年月日,截止日期为年月日时分秒 + String deptName = ""; + String deptSid = ""; + String useOrgSid = ""; + if (StringUtils.isNotBlank(orgPath)) { + List split = Arrays.asList(orgPath.split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptName = sysOrganization.getName() + "/" + sysOrganization1.getName(); + deptName = sysOrganization1.getName(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptName = sysOrganization.getName(); + deptName = sysOrganization.getName(); + deptSid = sysOrganization.getSid(); + } + useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); + //根据用户sid查询人员姓名 + ResultBean userVoResultBean = sysUserFeign.fetchBySid(userSid); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + loanOverdueBankDetailVo.setCreateDept(deptName);//销售部门 + loanOverdueBankDetailVo.setCreateDeptSid(deptSid);//销售部门sid + loanOverdueBankDetailVo.setUserSid(userSid);//用户sid + loanOverdueBankDetailVo.setCreateByName(userVoResultBean.getData().getName());//发起人 + //发起日期 + loanOverdueBankDetailVo.setCreateDate(DateUtil.today()); + //截止时间 + loanOverdueBankDetailVo.setStopDate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); + List detailsVoList = detailsVoList(useOrgSid,loanOverdueBankDetailVo.getStopDate()); + loanOverdueBankDetailVo.setDetailsVoList(detailsVoList); + } + + } else {//编辑初始化 + LoanOverdueBank loanOverdueBank = fetchBySid(sid); + if (loanOverdueBank == null) { + return rb.setMsg("该申请不存在"); + } + loanOverdueBankDetailVo = baseMapper.details(sid); + List detailsVoList = loanOverdueBankDetailsService.selectByMainSid(sid); + detailsVoList.removeAll(Collections.singleton(null)); + if (!detailsVoList.isEmpty()) { + loanOverdueBankDetailVo.setDetailsVoList(detailsVoList); + } + String files = loanOverdueBankDetailVo.getFiles(); + if (StringUtils.isNotBlank(files)) { + List fileList = Arrays.asList(files.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + loanOverdueBankDetailVo.setFilesList(fileList); + } + } + return rb.success().setData(loanOverdueBankDetailVo); + } + + public List detailsVoList(String useOrgSid, String stopDate) { + QueryWrapper qw = new QueryWrapper(); + qw.eq("1", 1); + qw.groupBy("a1.bankContractNo"); + qw.groupBy("a1.loanContractNo"); + List detailsDtoList = baseMapper.detailsList(useOrgSid, qw, stopDate); + detailsDtoList.removeAll(Collections.singleton(null)); + return detailsDtoList; + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.xml index 6c2a8d16cf..1cebe1a852 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.xml @@ -9,7 +9,8 @@