diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java index 4cbeb63cf4..aaf94ed4d6 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java @@ -46,5 +46,7 @@ public class PaymentVoucher { public BigDecimal amount; @ApiModelProperty("备注") public String remarks; + @ApiModelProperty("借贷方类型") + public String type; } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java index 95bdf31e54..72da53c3d1 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java @@ -526,6 +526,10 @@ public class FinPaymentrecordService extends MybatisBaseService { loanTransferPaymentApplyFeign.pushPaymentVoucher(finPaymentrecord.getBusSid(), finPaymentrecord.getSid()); }); + } else if ("007".equals(costTypeKey)) { + Future future1 = pool.submit(() -> { + loanBePadsincereApplyFeign.pushAdvancesVoucher(finPaymentrecord.getBusSid(), finPaymentrecord.getSid()); + }); } } catch (Exception e) { e.printStackTrace(); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java index f8d1b025f3..cc2e9bc1fc 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java @@ -550,33 +550,36 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { List voucherDetails = voucher.getVoucherDetails(); if (!voucherDetails.isEmpty()) { for (PaymentVoucher.PaymentVoucherDetail voucherDetail : voucherDetails) { - Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 - Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 - if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER1.getCode())) { - dto1.setSummary(voucherDetail.getBankName() + "垫付" + voucherDetail.getCustomerName() + "月还款"); - DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(voucherDetail.getBankName(), "investorsCode").getData(); - if (null != dictCommonVo) { - dto1.setSubjectNo(dictCommonVo.getDictValue()); + if (voucherDetail.getType().equals("借方")) { + Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 + if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER1.getCode())) { + dto1.setSummary(voucherDetail.getBankName() + "垫付" + voucherDetail.getCustomerName() + "月还款"); + DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(voucherDetail.getBankName(), "investorsCode").getData(); + if (null != dictCommonVo) { + dto1.setSubjectNo(dictCommonVo.getDictValue()); + } + } else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode())) { + dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金"); + dto1.setSubjectNo("1201.02.03"); } - } else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode())) { - dto1.setSummary(voucherDetail.getBankName() + "垫款资方违约金"); - dto1.setSubjectNo("1201.02.03"); - } - if (voucher.getPayTypeCode().equals("02")) { - dto2.setSubjectNo("1002.01.00"); - } else if (voucher.getPayTypeCode().equals("01")) { - dto2.setSubjectNo("1002.02.01"); + dto1.setDimensionDept(voucherDetail.getDeptCode()); + dto1.setDimensionCustom(voucherDetail.getCustomerCode()); + dto1.setDebit(String.valueOf(voucherDetail.getAmount())); + resultDetails.add(dto1); + } else if (voucherDetail.getType().equals("贷方")) { + Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 + if (voucher.getPayTypeCode().equals("02")) { + dto2.setSubjectNo("1002.01.00"); + } else if (voucher.getPayTypeCode().equals("01")) { + dto2.setSubjectNo("1002.02.01"); + } + String date = sdf.format(voucherDetail.getDataTime()); + String[] split = date.split("-"); + dto2.setSummary(split[1] + "月垫付月还款"); + dto2.setBankAccount(voucher.getBankAccount()); + dto2.setCredit(String.valueOf(voucherDetail.getAmount())); + resultDetails.add(dto2); } - String date = sdf.format(voucherDetail.getDataTime()); - String[] split = date.split("-"); - dto2.setSummary(split[1] + "月垫付月还款"); - dto1.setDimensionDept(voucherDetail.getDeptCode()); - dto1.setDimensionCustom(voucherDetail.getCustomerCode()); - dto2.setBankAccount(voucher.getBankAccount()); - dto1.setDebit(String.valueOf(voucherDetail.getAmount())); - dto2.setCredit(String.valueOf(voucherDetail.getAmount())); - resultDetails.add(dto1); - resultDetails.add(dto2); } newVoucher.setResultDetails(resultDetails); } @@ -643,8 +646,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { List voucherDetails = voucher.getVoucherDetails(); if (!voucherDetails.isEmpty()) { for (GeneralVoucher.GeneralVoucherDetail voucherDetail : voucherDetails) { - Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 - Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 String format = sdf.format(voucherDetail.getDataTime()); String[] split = format.split("-"); String month = split[1]; @@ -654,18 +655,24 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } else { m = String.valueOf(Integer.parseInt(month) - 1); } - dto1.setSummary("计提" + m + "逾期利息"); - dto2.setSummary("计提" + m + "逾期利息"); - dto1.setSubjectNo("1201.02.02"); - dto2.setSubjectNo("2191.05.00"); - dto1.setDimensionDept(voucherDetail.getDeptCode()); - dto1.setDimensionCustom(voucherDetail.getCustomerCode()); - dto2.setDimensionDept(voucherDetail.getDeptCode()); - // dto2.setDimensionCustom(voucherDetail.getCustomerCode()); - dto1.setDebit(String.valueOf(voucherDetail.getAmount())); - dto2.setCredit(String.valueOf(voucherDetail.getAmount())); - resultDetails.add(dto1); - resultDetails.add(dto2); + if (voucherDetail.getSceneCode().equals("借方")) { + Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 + dto1.setSummary("计提" + m + "逾期利息"); + dto1.setSubjectNo("1201.02.02"); + dto1.setDimensionDept(voucherDetail.getDeptCode()); + dto1.setDimensionCustom(voucherDetail.getCustomerCode()); + dto1.setDebit(String.valueOf(voucherDetail.getAmount())); + resultDetails.add(dto1); + } + if (voucherDetail.getSceneCode().equals("贷方")) { + Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 + dto2.setSummary("计提" + m + "逾期利息"); + dto2.setSubjectNo("2191.05.00"); + dto2.setDimensionDept(voucherDetail.getDeptCode()); + // dto2.setDimensionCustom(voucherDetail.getCustomerCode()); + dto2.setCredit(String.valueOf(voucherDetail.getAmount())); + resultDetails.add(dto2); + } } newVoucher.setResultDetails(resultDetails); } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java index 18cf503fbe..5f885049e3 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java @@ -447,7 +447,7 @@ public class FlowService extends MybatisBaseService { boolean adminContains = false; String service = (String) formVariables.get("service"); String ydfOrgPath = (String) formVariables.get("ydfOrgPath"); - if ("公司间调车".equals(service) && "Activity_0695qh4".equals(bv.getTaskDefKey())){ + if ("公司间调车".equals(service) && "Activity_0695qh4".equals(bv.getTaskDefKey())) { if (StringUtils.isBlank(nextUserSid)) { bv.setOrgSidPath(ydfOrgPath); ResultBean stringResultBean = getNextNodeUserSidsOfSubmit(bv); @@ -528,59 +528,62 @@ public class FlowService extends MybatisBaseService { bv.setNextNodeUserSids(""); return handleProsess(bv, false); } - //获取该流程所有要走的环节节点 - List flowElements = calApprovePath(bv.getModelId(), - bv.getFormVariables()); - for (int i = 0; i < flowElements.size(); i++) { - FlowElement flowElement = flowElements.get(i); - String id = flowElement.getId(); - if (taskDefKey.equals(id) && i + 1 < flowElements.size()) { - //获取下下一环节 - FlowElement flowElement1 = flowElements.get(i + 1); - List sysUserVoLists2 = new ArrayList<>(); - if (i + 2 < flowElements.size()) { - //获取下下下一环节用户 - FlowElement flowElement2 = flowElements.get(i + 2); - if (flowElement2 instanceof UserTask) { - UserTask userTask = (UserTask) flowElement2; + if (!DelegationState.PENDING.equals(task.getDelegationState())) { + //获取该流程所有要走的环节节点 + List flowElements = calApprovePath(bv.getModelId(), + bv.getFormVariables()); + for (int i = 0; i < flowElements.size(); i++) { + FlowElement flowElement = flowElements.get(i); + String id = flowElement.getId(); + if (taskDefKey.equals(id) && i + 1 < flowElements.size()) { + //获取下下一环节 + FlowElement flowElement1 = flowElements.get(i + 1); + List sysUserVoLists2 = new ArrayList<>(); + if (i + 2 < flowElements.size()) { + //获取下下下一环节用户 + FlowElement flowElement2 = flowElements.get(i + 2); + if (flowElement2 instanceof UserTask) { + UserTask userTask = (UserTask) flowElement2; + List candidateGroups = userTask.getCandidateGroups(); + UserssQuery userssQuery = new UserssQuery(); + userssQuery.setCandidateGroups(candidateGroups); + userssQuery.setOrgSidPath(orgPath); + sysUserVoLists2 = sysUserFeign.getUsersByRoles(userssQuery).getData(); + if (sysUserVoLists2 == null) { + sysUserVoLists2 = new ArrayList<>(); + } + } + } + if (flowElement1 instanceof UserTask) { + UserTask userTask = (UserTask) flowElement1; List candidateGroups = userTask.getCandidateGroups(); + List sysUserVoLists = new ArrayList<>(); UserssQuery userssQuery = new UserssQuery(); userssQuery.setCandidateGroups(candidateGroups); userssQuery.setOrgSidPath(orgPath); - sysUserVoLists2 = sysUserFeign.getUsersByRoles(userssQuery).getData(); - if (sysUserVoLists2 == null) { - sysUserVoLists2 = new ArrayList<>(); + sysUserVoLists = sysUserFeign.getUsersByRoles(userssQuery).getData(); + if (sysUserVoLists == null) { + sysUserVoLists = new ArrayList<>(); + } + //当前环节运营部总经理 刘丽艳 点击同意 下一环节 事业部副总经理 (nextUserSid) 和事业部总经理(sysUserVoLists.get(0).getSid()) + //判断查询回来的用户的集合size是1 并且用户的sid和下一环节的用户的sid相同。 + if (sysUserVoLists.size() == 1 && sysUserVoLists.get(0).getSid().equals(nextUserSid)) { + contains = true; + break; + } + //如果下下一环节无用户,下下下一环节用户与下一环节用户相同且只有一个,则下一环节用户自动审批。 + if (sysUserVoLists.size() == 0 && sysUserVoLists2.size() == 1 && sysUserVoLists2.get(0).getSid().equals(nextUserSid)) { + contains = true; + break; } } } - if (flowElement1 instanceof UserTask) { - UserTask userTask = (UserTask) flowElement1; - List candidateGroups = userTask.getCandidateGroups(); - List sysUserVoLists = new ArrayList<>(); - UserssQuery userssQuery = new UserssQuery(); - userssQuery.setCandidateGroups(candidateGroups); - userssQuery.setOrgSidPath(orgPath); - sysUserVoLists = sysUserFeign.getUsersByRoles(userssQuery).getData(); - if (sysUserVoLists == null) { - sysUserVoLists = new ArrayList<>(); - } - //当前环节运营部总经理 刘丽艳 点击同意 下一环节 事业部副总经理 (nextUserSid) 和事业部总经理(sysUserVoLists.get(0).getSid()) - //判断查询回来的用户的集合size是1 并且用户的sid和下一环节的用户的sid相同。 - if (sysUserVoLists.size() == 1 && sysUserVoLists.get(0).getSid().equals(nextUserSid)) { - contains = true; - break; - } - //如果下下一环节无用户,下下下一环节用户与下一环节用户相同且只有一个,则下一环节用户自动审批。 - if (sysUserVoLists.size() == 0 && sysUserVoLists2.size() == 1 && sysUserVoLists2.get(0).getSid().equals(nextUserSid)) { - contains = true; - break; - } + if (contains) { + break; } } - if (contains) { - break; - } } + if (contains) { bv.setUserSid(nextUserSid); bv.setTaskId(vo.getTaskId()); diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNotice.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNotice.java new file mode 100644 index 0000000000..479fc55e27 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNotice.java @@ -0,0 +1,30 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/30 + **/ +@Data +public class SysNotice extends BaseEntity { + + private static final long serialVersionUID = 8324297245354558865L; + @ApiModelProperty("标题") + private String title; + @ApiModelProperty("有效期至") + private String validityDate; + @ApiModelProperty("类别") + private String type; + @ApiModelProperty("类别key") + private String typeKey; + @ApiModelProperty("是否置顶") + private String topping; + @ApiModelProperty("内容") + private String content; + @ApiModelProperty("附件") + private String files; +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeDetailsVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeDetailsVo.java new file mode 100644 index 0000000000..3aca922657 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeDetailsVo.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/31 + **/ +@Data +public class SysNoticeDetailsVo { + + private String sid; + + @ApiModelProperty("标题") + private String title; + @ApiModelProperty("有效期至") + private String validityDate; + @ApiModelProperty("类别") + private String type; + @ApiModelProperty("类别key") + private String typeKey; + @ApiModelProperty("是否置顶") + private String topping; + @ApiModelProperty("内容") + private String content; + @ApiModelProperty("附件") + private List filesList = new ArrayList<>(); + + private String createTime; +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeDto.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeDto.java new file mode 100644 index 0000000000..22be5060df --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeDto.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/31 + **/ +@Data +public class SysNoticeDto implements Dto { + private static final long serialVersionUID = 8074080443156103663L; + + private String sid; + + @ApiModelProperty("标题") + private String title; + @ApiModelProperty("有效期至") + private String validityDate; + @ApiModelProperty("类别") + private String type; + @ApiModelProperty("类别key") + private String typeKey; + @ApiModelProperty("是否置顶") + private String topping; + @ApiModelProperty("内容") + private String content; + @ApiModelProperty("附件") + private List filesList = new ArrayList<>(); + + private String createTime; + +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeFeign.java new file mode 100644 index 0000000000..fe1e776d64 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeFeign.java @@ -0,0 +1,53 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/30 + **/ +@Api(tags = "通知公告") +@FeignClient( + contextId = "anrui-portal-SysNotice", + name = "anrui-portal", + path = "v1/SysNotice", + fallback = SysNoticeFeignFallback.class) +public interface SysNoticeFeign { + + @ApiOperation("分页列表") + @PostMapping("/listPage") + ResultBean> listPage(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("新增修改保存") + @PostMapping("/saveOrUpdate") + ResultBean saveOrUpdate(@RequestBody SysNoticeDto dto); + + @ApiOperation("初始化") + @GetMapping("/getDetails") + ResultBean getDetails(@RequestParam("sid") String sid); + + @ApiOperation("开启关闭:1是开启,2是关闭") + @PostMapping("/setState") + ResultBean setState(@RequestBody SysNoticesQuery query); + + @ApiOperation("置顶是,取消置顶否") + @PostMapping("/setTopping") + ResultBean setTopping(@RequestBody SysNoticessQuery query); + + @ApiOperation("首页通知公告") + @GetMapping("/getLists") + ResultBean> getLists(); + + @ApiOperation("删除/批量删除") + @DeleteMapping("/delBySids") + ResultBean delBySids(@RequestBody String[] sids); +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeFeignFallback.java new file mode 100644 index 0000000000..044f1b3731 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import org.springframework.stereotype.Component; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/30 + **/ +@Component +public class SysNoticeFeignFallback { +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeListVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeListVo.java new file mode 100644 index 0000000000..9bc23c699c --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeListVo.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/31 + **/ +@Data +public class SysNoticeListVo { + + private String sid; + private String title; + private String createTime; +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeQuery.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeQuery.java new file mode 100644 index 0000000000..c222ec6e06 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/30 + **/ +@Data +public class SysNoticeQuery implements Query { + private static final long serialVersionUID = -2087301472856056824L; + @ApiModelProperty("标题") + private String title; + @ApiModelProperty("发布时间开始") + private String createDateStart; + @ApiModelProperty("发布时间结束") + private String createDateEnd; + @ApiModelProperty("是否置顶") + private String topping; + @ApiModelProperty("开启1,关闭2") + private String state; +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeVo.java new file mode 100644 index 0000000000..605db06062 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticeVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/30 + **/ +@Data +public class SysNoticeVo { + private String sid; + @ApiModelProperty("标题") + private String title; + @ApiModelProperty("发布时间") + private String createDate; + @ApiModelProperty("有效期至") + private String validityDate; + @ApiModelProperty("状态") + private String stateValue; + @ApiModelProperty("是否置顶") + private String topping; +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticesQuery.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticesQuery.java new file mode 100644 index 0000000000..8d39001a72 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticesQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/31 + **/ +@Data +public class SysNoticesQuery { + + @ApiModelProperty("sids") + private List sidsList = new ArrayList<>(); + @ApiModelProperty("1开启、2关闭") + private String state; +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticessQuery.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticessQuery.java new file mode 100644 index 0000000000..c22ec685c3 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/SysNoticessQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/31 + **/ +@Data +public class SysNoticessQuery { + + @ApiModelProperty("sids") + private List sidsList = new ArrayList<>(); + @ApiModelProperty("置顶是、取消置顶否") + private String topping; +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/UrlQuery.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/UrlQuery.java new file mode 100644 index 0000000000..1dbd8c34e2 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysnotice/UrlQuery.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.portal.api.sysnotice; + +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/31 + **/ +@Data +public class UrlQuery { + + private String url; + + +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/syssourcemenu/SysSourceMenu.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/syssourcemenu/SysSourceMenu.java index c8e3734756..6142766781 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/syssourcemenu/SysSourceMenu.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/syssourcemenu/SysSourceMenu.java @@ -10,7 +10,7 @@ import lombok.Data; * Project: anrui_portal(门户建设)
* File: SysMenuRole.java
* Class: com.yxt.anrui.portal.api.sysmenurole.SysMenuRole
- * Description: 菜单与资源关联表.
+ * Description: 菜单与资源关联表.-考虑作废
* Copyright: Copyright (c) 2011
* Company: https://gitee.com/liuzp315
* Makedate: 2021-08-03 00:24:28
diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuMapper.java index 7b0e5b9c8b..ec7bfc1c4b 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuMapper.java @@ -74,4 +74,12 @@ public interface SysMenuMapper extends BaseMapper { int selectBySourceSid(@Param("isEnable") int isEnable, @Param("sourceSid") String sourceSid); List selectByMenuUrl(String menuUrl); + + /** + * 查询该资源下一级菜单列表 + * + * @param sourceSid 资源sid + * @return + */ + List fetchRootMenuBySourceSid(@Param("sourceSid") String sourceSid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuMapper.xml index e31226f48e..02c89790c3 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuMapper.xml @@ -63,4 +63,26 @@ + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuService.java index 03cefcb364..fda97af2a4 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysmenu/SysMenuService.java @@ -133,8 +133,9 @@ public class SysMenuService extends MybatisBaseService { //查询所有的资源列表 List sysSourceVos = sysSourceService.listMenuTreeVo(); for (SysMenuTreeVo s : sysSourceVos) { - //根据资源sid查询该资源下的所有单位 - List sysMenuVoList = sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid()); + //根据资源sid查询该资源下的所有一级菜单 + //List sysMenuVoList = sysSourceMenuService.fetchRootMenuBySourceSid(s.getSourceSid()); + List sysMenuVoList = sysMenuService.fetchRootMenuBySourceSid(s.getSourceSid()); s.setChildren(sysMenuVoList); s.setIsSource("1"); //判断该资源下的菜单是否有可用的状态 @@ -413,4 +414,14 @@ public class SysMenuService extends MybatisBaseService { public List selectByMenuUrl(String menuUrl) { return baseMapper.selectByMenuUrl(menuUrl); } + + /** + * 根据资源sid查询该资源下的一级菜单列表(yxt_mtl 2024-01-31) + * + * @param sid 资源sid + * @return + */ + public List fetchRootMenuBySourceSid(String sid) { + return baseMapper.fetchRootMenuBySourceSid(sid); + } } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.java new file mode 100644 index 0000000000..122d28133b --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.portal.biz.sysnotice; + +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.portal.api.sysnotice.SysNotice; +import com.yxt.anrui.portal.api.sysnotice.SysNoticeListVo; +import com.yxt.anrui.portal.api.sysnotice.SysNoticeVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/30 + **/ +@Mapper +public interface SysNoticeMapper extends BaseMapper { + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getLists(); +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.xml new file mode 100644 index 0000000000..6e0fdb9a6f --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeMapper.xml @@ -0,0 +1,26 @@ + + + + + + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeRest.java new file mode 100644 index 0000000000..638caf95ed --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeRest.java @@ -0,0 +1,63 @@ +package com.yxt.anrui.portal.biz.sysnotice; + +import com.yxt.anrui.portal.api.sysnotice.*; +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; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/30 + **/ +@Api(tags = "通知公告") +@RestController +@RequestMapping("v1/SysNotice") +public class SysNoticeRest implements SysNoticeFeign { + + @Autowired + private SysNoticeService sysNoticeService; + + @Override + public ResultBean> listPage(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = sysNoticeService.listPageVo(pagerQuery); + return rb.success().setData(pv); + } + + @Override + public ResultBean saveOrUpdate(SysNoticeDto dto) { + return sysNoticeService.saveOrUpdateNotice(dto); + } + + @Override + public ResultBean getDetails(String sid) { + return sysNoticeService.getDetails(sid); + } + + @Override + public ResultBean setState(SysNoticesQuery query) { + return sysNoticeService.setState(query); + } + + @Override + public ResultBean setTopping(SysNoticessQuery query) { + return sysNoticeService.setTopping(query); + } + + @Override + public ResultBean> getLists() { + return sysNoticeService.getLists(); + } + + @Override + public ResultBean delBySids(String[] sids) { + return sysNoticeService.delAllBySids(sids); + } +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeService.java new file mode 100644 index 0000000000..29d2f3ce0b --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysnotice/SysNoticeService.java @@ -0,0 +1,174 @@ +package com.yxt.anrui.portal.biz.sysnotice; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.sysnotice.*; +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.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/1/30 + **/ +@Service +public class SysNoticeService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + + public PagerVo listPageVo(PagerQuery pagerQuery) { + SysNoticeQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + qw.eq("1", 1); + //标题 + if (StringUtils.isNotBlank(query.getTitle())) { + qw.like("sn.title", query.getTitle()); + } + qw.apply(StringUtils.isNotBlank(query.getCreateDateStart()), "date_format (sn.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateDateStart() + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(query.getCreateDateEnd()), "date_format (sn.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateDateEnd() + "','%Y-%m-%d')" + ); + if (StringUtils.isNotBlank(query.getTopping())) { + qw.like("sn.topping", query.getTopping()); + } + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("sn.state", query.getState()); + } + qw.orderByDesc("sn.createTime"); + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveOrUpdateNotice(SysNoticeDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + if (StringUtils.isBlank(sid)) { + SysNotice sysNotice = new SysNotice(); + BeanUtil.copyProperties(dto, sysNotice, "sid"); + List filss = dto.getFilesList(); + filss.removeAll(Collections.singleton(null)); + if (!filss.isEmpty()) { + List filesList = filss.stream().map(v -> v.getUrl()).collect(Collectors.toList()); + filesList.removeAll(Collections.singleton(null)); + if (!filesList.isEmpty()) { + String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + sysNotice.setFiles(files); + } + } + baseMapper.insert(sysNotice); + } else { + SysNotice sysNotice = fetchBySid(sid); + if (sysNotice == null) { + return rb.setMsg("该通知公告不存在"); + } + BeanUtil.copyProperties(dto, sysNotice, "sid"); + List filss = dto.getFilesList(); + filss.removeAll(Collections.singleton(null)); + if (!filss.isEmpty()) { + List filesList = filss.stream().map(v -> v.getUrl()).collect(Collectors.toList()); + filesList.removeAll(Collections.singleton(null)); + if (!filesList.isEmpty()) { + String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + sysNotice.setFiles(files); + } + } else { + sysNotice.setFiles(""); + } + baseMapper.updateById(sysNotice); + } + return rb.success(); + } + + public ResultBean getDetails(String sid) { + ResultBean rb = ResultBean.fireFail(); + SysNoticeDetailsVo sysNoticeDetailsVo = new SysNoticeDetailsVo(); + SysNotice sysNotice = fetchBySid(sid); + if (sysNotice == null) { + return rb.setMsg("该通知公告不存在"); + } + BeanUtil.copyProperties(sysNotice, sysNoticeDetailsVo); + sysNoticeDetailsVo.setCreateTime(DateUtil.format(sysNotice.getCreateTime(), "yyyy-MM-dd")); + String filesss = sysNotice.getFiles(); + List lists = new ArrayList<>(); + if (StringUtils.isNotBlank(filesss)) { + List fileList = Arrays.asList(filesss.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + for (int i = 0; i < fileList.size(); i++) { + UrlQuery urlQuery = new UrlQuery(); + urlQuery.setUrl(fileList.get(i)); + lists.add(urlQuery); + } + sysNoticeDetailsVo.setFilesList(lists); + } + return rb.success().setData(sysNoticeDetailsVo); + } + + public ResultBean setState(SysNoticesQuery query) { + ResultBean rb = ResultBean.fireFail(); + List sidsList = query.getSidsList(); + sidsList.removeAll(Collections.singleton(null)); + if (sidsList.isEmpty()) { + return rb.setMsg("请选择数据"); + } + String state = query.getState(); + for (String sid : sidsList) { + SysNotice sysNotice = fetchBySid(sid); + if (sysNotice == null) { + return rb.setMsg("操作的数据中包含不存在的数据,请刷新后操作"); + } + sysNotice.setState(Integer.valueOf(state).intValue()); + baseMapper.updateById(sysNotice); + } + return rb.success(); + } + + public ResultBean> getLists() { + ResultBean> rb = ResultBean.fireFail(); + List list = baseMapper.getLists(); + list.removeAll(Collections.singleton(null)); + return rb.success().setData(list); + } + + public ResultBean delAllBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + delBySids(sids); + return rb.success().setMsg("删除成功"); + } + + public ResultBean setTopping(SysNoticessQuery query) { + ResultBean rb = ResultBean.fireFail(); + List sidsList = query.getSidsList(); + sidsList.removeAll(Collections.singleton(null)); + if (sidsList.isEmpty()) { + return rb.setMsg("请选择数据"); + } + String topping = query.getTopping(); + for (String sid : sidsList) { + SysNotice sysNotice = fetchBySid(sid); + if (sysNotice == null) { + return rb.setMsg("操作的数据中包含不存在的数据,请刷新后操作"); + } + sysNotice.setTopping(topping); + baseMapper.updateById(sysNotice); + } + return rb.success(); + } +} diff --git a/anrui-riskcenter-ui/src/api/secondarysales/secondarysales.js b/anrui-riskcenter-ui/src/api/secondarysales/secondarysales.js index 040745e461..7f518cd113 100644 --- a/anrui-riskcenter-ui/src/api/secondarysales/secondarysales.js +++ b/anrui-riskcenter-ui/src/api/secondarysales/secondarysales.js @@ -26,6 +26,23 @@ export default { headers: { 'Content-Type': 'application/json' } }) }, + // 生成合同--初始化 + getDetails: function(data) { + return request({ + url: '/riskcenter/v1/LoanSecondarySalesCustomer/getDetails', + method: 'get', + params: data + }) + }, + // 生成合同--保存合同 + save: function(data) { + return request({ + url: '/riskcenter/v1/LoanSecondarySalesCustomer/saveOrUpdate', + method: 'post', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + }, fetchBySid: function(data) { return request({ url: '/riskcenter/v1/LoanSecondarySalesApply/details', diff --git a/anrui-riskcenter-ui/src/views/secondarysales/relation/generatecontract.vue b/anrui-riskcenter-ui/src/views/secondarysales/relation/generatecontract.vue new file mode 100644 index 0000000000..15365b8865 --- /dev/null +++ b/anrui-riskcenter-ui/src/views/secondarysales/relation/generatecontract.vue @@ -0,0 +1,351 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/secondarysales/secondarysales.vue b/anrui-riskcenter-ui/src/views/secondarysales/secondarysales.vue index 33f0cdbc00..c06aa6b501 100644 --- a/anrui-riskcenter-ui/src/views/secondarysales/secondarysales.vue +++ b/anrui-riskcenter-ui/src/views/secondarysales/secondarysales.vue @@ -168,6 +168,8 @@ + + @@ -219,6 +221,7 @@ import req from '@/api/secondarysales/secondarysales' import { getStorage } from '@/utils/auth' import secondarysalesAdd from './secondarysalesAdd' import secondarysalesInfo from './secondarysalesInfo' +import generatecontract from './relation/generatecontract' export default { name: 'SecondarySales', @@ -227,7 +230,8 @@ export default { pageye, ButtonBar, secondarysalesAdd, - secondarysalesInfo + secondarysalesInfo, + generatecontract }, data() { return { @@ -243,6 +247,13 @@ export default { btnKey: 'toAdd', btnLabel: '新增' }, + { + type: 'primary', + size: 'small', + icon: '', + btnKey: 'toCreate', + btnLabel: '生成合同' + }, { type: 'danger', size: 'small', @@ -264,6 +275,7 @@ export default { tableKey: 0, list: [], sids: [], // 用于导出的时候保存已选择的SIDs + multipleSelection: [], FormLoading: false, listLoading: false, // 翻页 @@ -361,6 +373,9 @@ export default { case 'toAdd': this.toAdd() break + case 'toCreate': + this.toCreate() + break case 'doDel': this.doDel() break @@ -374,6 +389,7 @@ export default { // 信息条数 获取点击时当前的sid handleSelectionChange(row) { const aa = [] + this.multipleSelection = row row.forEach(element => { aa.push(element.sid) }) @@ -442,6 +458,18 @@ export default { this.carList.params.vehMark = '' this.getCarList() }, + toCreate() { + if (this.sids.length === 1) { + if (this.multipleSelection[0].nodeState === '已办结') { + this.viewState = 5 + this.$refs['divContract'].showEdit(this.sids[0]) + } else { + this.$message({ showClose: true, type: 'error', message: '请选择状态为已办结的记录进行操作' }) + } + } else { + this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行操作' }) + } + }, toEdit(row) { this.viewState = 3 this.$refs['divAdd'].showEdit(row) diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java index c0ade89f7c..1f4b41caa5 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java @@ -138,4 +138,10 @@ public interface LoanBePadsincereApplyFeign { @ApiOperation(value = "加签") @PostMapping(value = "/delegate") public ResultBean delegate(@RequestBody LoanBePadsincereDelegateQuery loanBePadsincereDelegateQuery); + + @ApiOperation("推送财务垫款付款凭证") + @PostMapping("/pushAdvancesVoucher") + @ResponseBody + public ResultBean pushAdvancesVoucher(@RequestParam("sid") String sid, @RequestParam("paySid") String paySid); + } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java index 9274380890..00c67078f1 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java @@ -136,4 +136,9 @@ public class LoanBePadsincereApplyFeignFallback implements LoanBePadsincereApply return null; } + @Override + public ResultBean pushAdvancesVoucher(String sid, String paySid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistory.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistory.java new file mode 100644 index 0000000000..bd9acab7ce --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistory.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.riskcenter.api.loanpushfundhistory; + +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; + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "推送资金占用费记录表", description = "推送资金占用费记录表") +@TableName("loan_push_fund_history") +@Data +public class LoanPushFundHistory extends BaseEntity { + private static final long serialVersionUID = 1L; + @ApiModelProperty("资金占用费") + private BigDecimal fund; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("使用组织名称") + private String useOrgName; + @ApiModelProperty("销售订单车辆sid") + private String busVinSid; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeign.java new file mode 100644 index 0000000000..f29e33f6bc --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeign.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.riskcenter.api.loanpushfundhistory; + +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-LoanPushFundHistory", + name = "anrui-riskcenter", + path = "v1/loanpushfundhistory", + fallback = LoanPushFundHistoryFeignFallback.class) +public interface LoanPushFundHistoryFeign { + + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeignFallback.java new file mode 100644 index 0000000000..f9a54fd94d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpushfundhistory/LoanPushFundHistoryFeignFallback.java @@ -0,0 +1,11 @@ +package com.yxt.anrui.riskcenter.api.loanpushfundhistory; + + +import org.springframework.stereotype.Component; + + +@Component +public class LoanPushFundHistoryFeignFallback implements LoanPushFundHistoryFeign { + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanPlanDetailsVoForFundVoucher.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanPlanDetailsVoForFundVoucher.java new file mode 100644 index 0000000000..c86af3b3f6 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanPlanDetailsVoForFundVoucher.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.riskcenter.api.loanrepaymentplandetails; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Fan + * @description + * @date 2024/1/5 15:59 + */ +@Data +public class LoanPlanDetailsVoForFundVoucher { + private String busVinSid; + private String useOrgName; + private BigDecimal duePushMoney; + private String useOrgSid; + private BigDecimal fund; + private BigDecimal reveivableMoney; +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java index e5158e3e12..3689c022f4 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java @@ -211,4 +211,9 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign { public ResultBean delegate(LoanBePadsincereDelegateQuery loanBePadsincereDelegateQuery) { return loanBePadsincereApplyService.delegate(loanBePadsincereDelegateQuery); } + + @Override + public ResultBean pushAdvancesVoucher(String sid, String paySid) { + return loanBePadsincereApplyService.pushAdvancesVoucher(sid,paySid); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java index 2446f8d58e..5bbaab7960 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java @@ -31,14 +31,26 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; +import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBank; +import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBankFeign; import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapply; import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyDto; import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyFeign; import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto; import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; +import com.yxt.anrui.fin.api.kingdee.voucher.PaymentVoucher; +import com.yxt.anrui.fin.api.kingdee.voucher.SceneCodeEnum; import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; @@ -57,12 +69,17 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.*; import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.*; +import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVeh; import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo; import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDto; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanMoneyVo; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo; +import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; import com.yxt.anrui.riskcenter.biz.loanbepadsincereveh.LoanBePadsincereVehService; import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; @@ -144,6 +161,17 @@ public class LoanBePadsincereApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanBePadsincereApplyQuery query = pq.getParams(); @@ -936,7 +964,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService mergeListByBankCon(List loanBePadsincereVehDetailsVoList){ + private static List mergeListByBankCon(List loanBePadsincereVehDetailsVoList) { Map voHashMap = new HashMap<>(); for (LoanBePadsincereVehDetailsVo loanBePadsincereVehDetailsVo : loanBePadsincereVehDetailsVoList) { String bankCon = loanBePadsincereVehDetailsVo.getBankContractNo(); - if (voHashMap.containsKey(bankCon)){ + if (voHashMap.containsKey(bankCon)) { LoanBePadsincereVehDetailsVo loanBePadsincereVehDetailsVo1 = voHashMap.get(bankCon); loanBePadsincereVehDetailsVo1.setPadMoney(String.valueOf(Double.parseDouble(loanBePadsincereVehDetailsVo1.getPadMoney()) + Double.parseDouble(loanBePadsincereVehDetailsVo.getPadMoney()))); - }else { - voHashMap.put(bankCon,loanBePadsincereVehDetailsVo); + } else { + voHashMap.put(bankCon, loanBePadsincereVehDetailsVo); } } return new ArrayList<>(voHashMap.values()); @@ -1069,4 +1097,132 @@ public class LoanBePadsincereApplyService extends MybatisBaseService records = loanBePadsincereVehService.selByMainSidAndPaySid(sid, paySid); + if (!records.isEmpty()) { + PaymentVoucher paymentVoucher = new PaymentVoucher(); + List voucherDetails = new ArrayList<>(); + LoanBePadsincereVeh l = records.get(0); + if (null != l) { + String accountNumber = l.getBankCollectionNum(); + paymentVoucher.setBankAccount(l.getBankCollectionNum()); + String mainSid = l.getMainSid(); + LoanBePadsincereApply loanBePadsincereApply = fetchBySid(mainSid); + FinManufacturerBank manufacturerBank = finManufacturerBankFeign.selOneByBankNo(accountNumber, loanBePadsincereApply.getUseOrgSid()).getData(); + if (null != manufacturerBank) { + paymentVoucher.setPayTypeCode(manufacturerBank.getDueBankKey()); + } + String useOrgSid = loanBePadsincereApply.getUseOrgSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + if (null != organizationVo) { + paymentVoucher.setUseOrgCode(organizationVo.getOrgCode()); + } + } + PaymentVoucher.PaymentVoucherDetail voucherDetail1 = new PaymentVoucher.PaymentVoucherDetail(); + voucherDetail1.setType("贷方"); + List result = new ArrayList<>(); + records.stream().forEach(r -> { + result.add(new BigDecimal(r.getPadMoney())); + }); + BigDecimal b = result.stream() + // 使用reduce()聚合函数,实现累加器 + .reduce(BigDecimal.ZERO, BigDecimal::add); + voucherDetail1.setAmount(b); + voucherDetail1.setDataTime(new DateTime()); + voucherDetails.add(voucherDetail1); + + for (LoanBePadsincereVeh v : records) { + LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.selOneByBankNoAndBusVinSid(v.getBankContractNo(), v.getSaleVehSid()); + if (null != planDetails) { + String bankName = loanRepaymentPlanDetailsService.getBankNameByMainOrOtherPolicy(planDetails); + String deptSid = planDetails.getDeptSid(); + SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData(); + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); + String customerNumber = ""; + if (null != salesOrder) { + if (null != busSalesOrderVehicle) { + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + // List bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + 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(); + } + } + } + if (StringUtils.isNotBlank(v.getBankBeMoney())) { + BigDecimal beMoney = new BigDecimal(v.getBankBeMoney()); + if (beMoney.compareTo(BigDecimal.ZERO) > 0) { + PaymentVoucher.PaymentVoucherDetail voucherDetail = new PaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER1.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + if (null != organizationDeptVo) { + voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); + } + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beMoney); + voucherDetails.add(voucherDetail); + } + } + if (StringUtils.isNotBlank(v.getBankBeInter())) { + BigDecimal beInter = new BigDecimal(v.getBankBeInter()); + if (beInter.compareTo(BigDecimal.ZERO) > 0) { + PaymentVoucher.PaymentVoucherDetail voucherDetail = new PaymentVoucher.PaymentVoucherDetail(); + voucherDetail.setSceneCode(SceneCodeEnum.PADSINCERE_VOUCHER2.getCode()); + voucherDetail.setType("借方"); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + if (null != organizationDeptVo) { + voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); + } + if (StringUtils.isNotBlank(customerNumber)) { + voucherDetail.setCustomerCode(customerNumber); + } + voucherDetail.setAmount(beInter); + voucherDetails.add(voucherDetail); + } + } + } + } + paymentVoucher.setVoucherDetails(voucherDetails); + finKingDeeFeign.saveAdvancesVoucher(paymentVoucher); + } + return rb.success(); + } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java index df74d368e9..802caaa6be 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.java @@ -70,4 +70,6 @@ public interface LoanBePadsincereVehMapper extends BaseMapper selByMainSidAndPaySid(@Param("sid") String sid,@Param("paySid") String paySid); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml index 36e584cc6d..9fb268dc67 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehMapper.xml @@ -1,13 +1,22 @@ - - - - - + + + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java index fc5691dc73..4f7f5cf41c 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereveh/LoanBePadsincereVehService.java @@ -106,4 +106,8 @@ public class LoanBePadsincereVehService extends MybatisBaseService selByMainSidAndPaySid(String sid, String paySid) { + return baseMapper.selByMainSidAndPaySid(sid,paySid); + } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.java new file mode 100644 index 0000000000..3d03a2f02b --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.biz.loanpushfundhistory; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; +import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +@Mapper +public interface LoanPushFundHistoryMapper extends BaseMapper { + + + int saveLists(@Param("list") List list); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml new file mode 100644 index 0000000000..fb5c3044bd --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryMapper.xml @@ -0,0 +1,13 @@ + + + + + + + insert into loan_push_fund_history(sid,busVinSid,useOrgSid,useOrgName,fund) + values + + (#{item.sid},#{item.busVinSid},#{item.useOrgSid},#{item.useOrgName},#{item.fund}) + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryRest.java new file mode 100644 index 0000000000..a6e266b18b --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryRest.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.riskcenter.biz.loanpushfundhistory; + +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistoryFeign; +import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecordFeign; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +@Api(tags = "推送资金占用费记录表") +@RestController +@RequestMapping("v1/loanpushfundhistory") +public class LoanPushFundHistoryRest implements LoanPushFundHistoryFeign { + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java new file mode 100644 index 0000000000..c804eea8e7 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpushfundhistory/LoanPushFundHistoryService.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.riskcenter.biz.loanpushfundhistory; + + +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; +import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; +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 LoanPushFundHistoryService extends MybatisBaseService { + + public int saveLists(List list) { + return baseMapper.saveLists(list); + } + +} 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 915270e5ee..e3e4e47e57 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 @@ -785,21 +785,21 @@ public class LoanRepaymentHistoryService extends MybatisBaseService(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); - //推送财务当月逾期转累欠凭证 - Future future = pool.submit(() -> { - pushLateVoucher(pushUseOrgSid); - }); - } catch (Exception e) { - e.printStackTrace(); - log.error("推送数据失败=========================" + e.getMessage()); - return rb.setMsg("推送数据失败"); - } +// 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 org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); +// //推送财务当月逾期转累欠凭证 +// Future future = pool.submit(() -> { +// pushLateVoucher(pushUseOrgSid); +// }); +// } catch (Exception e) { +// e.printStackTrace(); +// log.error("推送数据失败=========================" + e.getMessage()); +// return rb.setMsg("推送数据失败"); +// } } else { return rb.setMsg("暂无可更新的还款记录"); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java index 3e19e1176a..c5c0bf78d2 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java @@ -1,16 +1,9 @@ package com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails; -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.loanrepaymenthistory.DifferenceVo; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.HistoryOverDueVo; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.*; -import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.AppRepaymentPlanVo; -import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule; -import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.ScanRepaymentVo; -import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -70,4 +63,12 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper selUseOrgSidListForFundVoucher(); + + List getFundForVoucher(@Param("u") String u); + + List selUseOrgSidListForLateVoucher(); + + LoanRepaymentPlanDetails selOneByBankNoAndBusVinSid(@Param("bankContractNo") String bankContractNo,@Param("saleVehSid") String saleVehSid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml index 676527ed4d..8d7a52db53 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml @@ -562,4 +562,58 @@ WHERE lrpd.busVinSid = #{busVinSid} AND lrpd.period = #{period} + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java index c84ad5fe4a..89d29502d7 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java @@ -192,4 +192,20 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService selUseOrgSidListForFundVoucher() { + return baseMapper.selUseOrgSidListForFundVoucher(); + } + + public List getFundForVoucher(String u) { + return baseMapper.getFundForVoucher(u); + } + + public List selUseOrgSidListForLateVoucher() { + return baseMapper.selUseOrgSidListForLateVoucher(); + } + + public LoanRepaymentPlanDetails selOneByBankNoAndBusVinSid(String bankContractNo, String saleVehSid) { + return baseMapper.selOneByBankNoAndBusVinSid(bankContractNo,saleVehSid); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java new file mode 100644 index 0000000000..daf4ba3489 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/ScheduledRepaymentPlanDetailsService.java @@ -0,0 +1,270 @@ +package com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.math.Money; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; +import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDay; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.utils.CollectorsUtil; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForFundVoucher; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; +import com.yxt.anrui.riskcenter.biz.loanfundday.LoanFundDayService; +import com.yxt.anrui.riskcenter.biz.loanpushfundhistory.LoanPushFundHistoryService; +import com.yxt.common.core.result.ResultBean; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @description: + * @author: fzz + * @date: 2024/1/30 + **/ +@Component +public class ScheduledRepaymentPlanDetailsService { + + @Autowired + private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService; + @Autowired + private BusSalesOrderFeign busSalesOrderFeign; + @Autowired + private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign; + @Autowired + private FinKingDeeFeign finKingDeeFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; + @Autowired + private BasePurchaseSystemFeign basePurchaseSystemFeign; + @Autowired + private LoanPushFundHistoryService loanPushFundHistoryService; + + + /** + * 次月1日23点推送上月尚未转累欠的记录 + */ + @Scheduled(cron = "0 0 23 1 * ?") + public void pushLateVoucher() { + List useOrgSidList = loanRepaymentPlanDetailsService.selUseOrgSidListForLateVoucher(); + useOrgSidList.removeAll(Collections.singleton(null)); + if (!useOrgSidList.isEmpty()) { + for (String u : useOrgSidList) { + List records = loanRepaymentPlanDetailsService.selListForLateVoucher(u); + List planSids = new ArrayList<>(); + if (!records.isEmpty()) { + GeneralVoucher generalVoucher = new GeneralVoucher(); + List voucherDetails = new ArrayList<>(); + for (LoanPlanDetailsVoForLateVoucher planDetails : records) { + if (null != planDetails) { + planSids.add(planDetails.getPlanSid()); + GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); + if (StringUtils.isNotBlank(planDetails.getUseOrgSid())) { + String useOrgSid = planDetails.getUseOrgSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + if (null != organizationVo) { + generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); + } + } + if (StringUtils.isNotBlank(planDetails.getDeptSid())) { + String deptSid = planDetails.getDeptSid(); + SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); + if (null != organizationDeptVo) { + voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); + } + } + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData(); + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); + if (null != salesOrder) { + if (null != busSalesOrderVehicle) { + String customerNumber = ""; + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + // List bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + 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())); + } + voucherDetails.add(voucherDetail); + } + } + generalVoucher.setVoucherDetails(voucherDetails); + finKingDeeFeign.saveLateVoucher(generalVoucher); + } + if (!planSids.isEmpty()) { + int i = loanRepaymentPlanDetailsService.updateOweState(planSids); + } + } + } + } + + + /** + * 月初1号计提上个月资金占用费 + * 1号1点 + */ + @Scheduled(cron = "0 0 1 1 * ?") + public void pushFundVoucher() { + List useOrgSidList = loanRepaymentPlanDetailsService.selUseOrgSidListForFundVoucher(); + useOrgSidList.removeAll(Collections.singleton(null)); + if (!useOrgSidList.isEmpty()) { + for (String u : useOrgSidList) { + List fundVouchers = loanRepaymentPlanDetailsService.getFundForVoucher(u); + List fundHistoryList = new ArrayList<>(); + if (!fundVouchers.isEmpty()) { + BigDecimal result = fundVouchers.stream() + // 将LoanPlanDetailsVoForFundVoucher对象的duePushMoney取出来map为Bigdecimal + .map(LoanPlanDetailsVoForFundVoucher::getDuePushMoney) + // 使用reduce()聚合函数,实现累加器 + .reduce(BigDecimal.ZERO, BigDecimal::add); + GeneralVoucher generalVoucher = new GeneralVoucher(); + List voucherDetails = new ArrayList<>(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(u).getData(); + if (null != organizationVo) { + generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); + } + GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail(); + voucherDetail1.setSceneCode("贷方"); + voucherDetail1.setDataTime(new DateTime()); + voucherDetail1.setAmount(result); + List deptVo = sysOrganizationFeign.selectChildrenListBySid(u).getData(); + if (!deptVo.isEmpty()) { + deptVo.stream().forEach(d -> { + if (d.getName().equals("金融服务部")) { + voucherDetail1.setDeptCode(d.getOrgCode()); + } + }); + } + voucherDetails.add(voucherDetail1); + for (LoanPlanDetailsVoForFundVoucher v : fundVouchers) { + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(v.getBusVinSid()).getData(); + if (null != busSalesOrderVehicle) { + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData(); + String deptSid = salesOrder.getOrgSid(); + GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); + voucherDetail.setSceneCode("借方"); + voucherDetail.setDataTime(new DateTime()); + SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); + if (null != organizationDeptVo) { + voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); + } + if (null != salesOrder) { + if (null != busSalesOrderVehicle) { + String customerNumber = ""; + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + // List bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + 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(v.getDuePushMoney()); + voucherDetails.add(voucherDetail); + } + LoanPushFundHistory loanPushFundHistory = new LoanPushFundHistory(); + BeanUtil.copyProperties(v, loanPushFundHistory, "id", "sid", "fund"); + if (null != v.getDuePushMoney()) { + loanPushFundHistory.setFund(v.getDuePushMoney()); + } + fundHistoryList.add(loanPushFundHistory); + } + generalVoucher.setVoucherDetails(voucherDetails); + finKingDeeFeign.saveFundVoucher(generalVoucher); + // 生成推送资金占用费历史记录 + if (!fundHistoryList.isEmpty()) { + loanPushFundHistoryService.saveLists(fundHistoryList); + } + } + } + } + } + + +} diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue index 4f5579ef80..a87446ca67 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue @@ -123,7 +123,7 @@ import req from '@/api/bikerebate/bicyclerebatecheck' import Pagination from '@/components/pagination' import pageye from '@/components/pagination/pageye' import ButtonBar from '@/components/ButtonBar' -import { brandDown, getPathSidByUserSid } from '@/api/cheliang/dictcommons' +import { brandDown, getOrgSidByPath } from '@/api/cheliang/dictcommons' import bicyclerebatecheckAdd from './bicyclerebatecheckAdd' import bicyclerebatecheckInfo from './bicyclerebatecheckInfo' import {getStorage} from "@/utils/auth"; @@ -224,7 +224,7 @@ export default { this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params))) }, init() { - getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => { + getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => { if (resp.success) { this.listQuery.params.createOrgSid = resp.data brandDown({ useOrg: this.listQuery.params.createOrgSid }).then((res) => { diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue index 3b4a97c8b6..51baec0cd1 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatetobechecked.vue @@ -274,7 +274,7 @@ import Pagination from '@/components/pagination' import ButtonBar from '@/components/ButtonBar' import bicyclerebatecheck from './bicyclerebatecheck' import bicyclerebatecheckAdd from './bicyclerebatecheckAdd' -import { brandDown, getPathSidByUserSid, typeValues } from '@/api/cheliang/dictcommons' +import { brandDown, getOrgSidByPath, typeValues } from '@/api/cheliang/dictcommons' export default { name: 'bicyclerebatetobechecked', @@ -389,7 +389,7 @@ export default { this.rebateType_list = res.data } }) - getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => { + getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => { if (resp.success) { this.listQuery.params.createOrgSid = resp.data brandDown({ useOrg: this.listQuery.params.createOrgSid }).then((res) => { diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholding.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholding.vue index a34baf6c02..e953cd646d 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholding.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatewithholding/bicyclerebatewithholding.vue @@ -96,7 +96,7 @@ import req from '@/api/bikerebate/bicyclerebatewithholding' import Pagination from '@/components/pagination' import pageye from '@/components/pagination/pageye' import ButtonBar from '@/components/ButtonBar' -import { brandDown, getPathSidByUserSid } from '@/api/cheliang/dictcommons' +import { brandDown, getOrgSidByPath } from '@/api/cheliang/dictcommons' import bicyclerebatewithholdingAdd from './bicyclerebatewithholdingAdd' import bicyclerebatewithholdingInfo from './bicyclerebatewithholdingInfo' import { getStorage } from '@/utils/auth' @@ -202,7 +202,7 @@ export default { this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params))) }, init() { - getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => { + getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => { if (resp.success) { this.listQuery.params.createOrgSid = resp.data brandDown({ useOrg: this.listQuery.params.createOrgSid }).then((res) => { diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue index 6f68a5b5ef..7cc1a0a3be 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue @@ -189,7 +189,7 @@ import req from '@/api/bikerebate/bicyclerebatemanagement' import Pagination from '@/components/pagination' import pageye from '@/components/pagination/pageye' import ButtonBar from '@/components/ButtonBar' -import { getPathSidByUserSid, typeValues, brandDown } from '@/api/cheliang/dictcommons' +import { getOrgSidByPath, typeValues, brandDown } from '@/api/cheliang/dictcommons' import bicyclerebatemanagementAdd from './bicyclerebatemanagementAdd' import bicyclerebatemanagementEdit from './bicyclerebatemanagementEdit' import bicyclerebatemanagementInfo from './bicyclerebatemanagementInfo' @@ -295,7 +295,7 @@ export default { this.rebateType_list = res.data } }) - getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((resp) => { + getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => { if (resp.success) { this.listQuery.params.createOrgSid = resp.data brandDown({ useOrg: this.listQuery.params.createOrgSid }).then((res) => { diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementByVehicle.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementByVehicle.vue index 5d101104b8..0a47ea1b1e 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementByVehicle.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagementByVehicle.vue @@ -109,7 +109,7 @@