Browse Source

逾期对账申请财务新增编辑初始化

master
dimengzhe 1 year ago
parent
commit
8e0463cc1a
  1. 28
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java
  2. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailsQuery.java
  3. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java
  4. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetails.java
  5. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetailsDto.java
  6. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java
  7. 45
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml
  8. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java
  9. 74
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java
  10. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefindetails/LoanOverdueFinDetailsMapper.xml
  11. 2
      doc/databases/risk_center.sql

28
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<String> filesList = new ArrayList<>();
@ApiModelProperty("逾期客户列表")
private List<LoanOverdueFinDetailsDto> 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;
}

20
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;
}

4
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<LoanOverdueFinDetailVo> details(@RequestParam("sid") String sid);
@ApiOperation("详情初始化2")
@PostMapping("/details2")
ResultBean<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query);
@ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids")
ResultBean delBySids(@RequestBody String[] sids);

4
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("累欠")

7
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;
}

4
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<LoanOverdueFin> {
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> beanToMap);
List<LoanOverdueFinDetailsDto> detailsList(@Param("useOrgSid") String useOrgSid, @Param(Constants.WRAPPER) QueryWrapper qw);
}

45
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}
</select>
@ -55,4 +56,42 @@
</if>
WHERE sid = #{sid}
</update>
<select id="detailsList" resultType="com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto">
SELECT a1.busVinSid AS busViNSid,
RIGHT(a1.vinNo, 8) AS vinNo,
<!--逾期金额-->
SUM(a1.yq_total) AS overdueMoney,
a1.customer AS customerName,
a1.customerSid as customerSid,
a1.borrowerSid loanSid,
a1.borrowerName loanName
FROM (SELECT lrpd.sid,
lrpd.busVinSid,
lrpd.`useOrgName`,
lrpd.`dept`,
lrpd.`loanContractNo`,
lrpd.borrowerName,
lrpd.`vinNo`,
lrpd.dueMoney,
(
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total,
lrpd.borrowerSid,
lrpd.borrowerName,
lrpd.customerSid,
lrpd.customer
FROM `loan_repayment_plan_details` lrpd
LEFT JOIN `loan_repayment_history` lrh
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') &lt; CURDATE()
and lrpd.useOrgSid = #{useOrgSid}
GROUP BY lrpd.`sid`
HAVING (yq_total > 0)) a1
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

5
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<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query) {
return loanOverdueFinService.details2(query);
}
@Override
public ResultBean delBySids(String[] sids) {
return loanOverdueFinService.delAllBySids(sids);

74
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<LoanOverdueFinMapp
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query) {
ResultBean<LoanOverdueFinDetailVo> 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<String> 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<SysUserVo> 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<LoanOverdueFinDetailsDto> detailsList = detailsList(useOrgSid);
loanOverdueFinDetailVo.setDetailsVoList(detailsList);
} else {//编辑初始化
LoanOverdueFin loanOverdueFin = fetchBySid(sid);
if (loanOverdueFin == null) {
return rb.setMsg("该申请不存在");
}
loanOverdueFinDetailVo = baseMapper.details(sid);
List<LoanOverdueFinDetailsDto> detailsVoList = loanOverdueFinDetailsService.selectByMainSid(sid);
detailsVoList.removeAll(Collections.singleton(null));
if (!detailsVoList.isEmpty()) {
loanOverdueFinDetailVo.setDetailsVoList(detailsVoList);
}
String files = loanOverdueFinDetailVo.getFiles();
if (StringUtils.isNotBlank(files)) {
List<String> fileList = Arrays.asList(files.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
loanOverdueFinDetailVo.setFilesList(fileList);
}
}
return rb.success().setData(loanOverdueFinDetailVo);
}
public List<LoanOverdueFinDetailsDto> detailsList(String useOrgSid) {
QueryWrapper qw = new QueryWrapper();
qw.groupBy("a1.vinNo");
qw.groupBy("a1.busVinSid");
List<LoanOverdueFinDetailsDto> detailsDtoList = baseMapper.detailsList(useOrgSid, qw);
detailsDtoList.removeAll(Collections.singleton(null));
return detailsDtoList;
}
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefindetails/LoanOverdueFinDetailsMapper.xml

@ -9,13 +9,16 @@
<select id="selectByMainSid"
resultType="com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto">
select customerName,
select sid,
customerName,
customerSid,
loanName,
loanSid,
overdueMoney,
diffMoney,
tiredDeficiency
tiredDeficiency,
vinNo,
busVinSid
from loan_overdue_fin_details
where mainSid = #{sid}
</select>

2
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 '差异金额',

Loading…
Cancel
Save