diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java index 700dbdc433..63da1347e7 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java @@ -36,6 +36,7 @@ public enum BillTypeEnum { JCZLQRD("JCZLQRD", "交车资料确认单"), JCECQRD("JCECQRD", "交车资料二次确认单"), HKSQ("HKSQ", "划扣申请单据编号"), + DSDFSQ("DSDFSQ", "代收代付申请单据编号"), FKCEQRSQ("FKCEQRSQ", "放款差额确认申请"); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index 069f500f21..f4e9e496cb 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -7066,8 +7066,13 @@ public class BusSalesOrderService extends MybatisBaseService> selectAccountByUseOrgSid(@RequestParam("userSid") String userSid,@RequestParam("orgPath")String orgPath); + public ResultBean> selectAccountByUseOrgSid(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath); @ApiOperation("获取该本分公司下的开户账号") @GetMapping("/selAccountByOrgSid") @@ -96,4 +96,10 @@ public interface FinManufacturerBankFeign { @PostMapping("/selAppAccountByOrgSid") @ResponseBody public ResultBean> selAppAccountByOrgSid(@RequestBody PagerQuery query); + + @ApiOperation("代收代付选择银行账户") + @GetMapping("/listByPayment") + @ResponseBody + public ResultBean listByPayment(@RequestParam("orgPath") String orgPath, @RequestParam("key") String key); + } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finmanufacturerbank/FinManufacturerBankFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finmanufacturerbank/FinManufacturerBankFeignFallback.java index 892e377f46..b5ce5cbb12 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finmanufacturerbank/FinManufacturerBankFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finmanufacturerbank/FinManufacturerBankFeignFallback.java @@ -89,4 +89,9 @@ public class FinManufacturerBankFeignFallback implements FinManufacturerBankFeig public ResultBean> selAppAccountByOrgSid(PagerQuery query) { return null; } + + @Override + public ResultBean listByPayment(String orgPath, String key) { + return null; + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java index f93efe04ce..77ab5ffe23 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java @@ -888,6 +888,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService selectAccountByUseOrgSid(String useOrgSid); - List selAccountByOrgSid(@Param("useOrgSid") String useOrgSid,@Param("name") String name,@Param(Constants.WRAPPER) QueryWrapper qw); + List selAccountByOrgSid(@Param("useOrgSid") String useOrgSid, @Param("name") String name, @Param(Constants.WRAPPER) QueryWrapper qw); - IPage selAppAccountByOrgSid(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw,@Param("name") String name); + IPage selAppAccountByOrgSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw, @Param("name") String name); + + List listByPayment(@Param("useOrgSid") String useOrgSid, @Param("key") String key); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankMapper.xml index 7ba6ab9206..5599f7927a 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankMapper.xml @@ -87,4 +87,10 @@ + \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankRest.java index f7a53811d6..5e2dbe14ed 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankRest.java @@ -105,4 +105,9 @@ public class FinManufacturerBankRest implements FinManufacturerBankFeign { IPage voIPage = finManufacturerBankService.selAppAccountByOrgSid(query); return rb.success().setData(voIPage); } + + @Override + public ResultBean listByPayment(String orgPath, String key) { + return finManufacturerBankService.listByPayment(orgPath,key); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankService.java index 248cf994db..0aefac0f50 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finmanufacturerbank/FinManufacturerBankService.java @@ -80,10 +80,10 @@ public class FinManufacturerBankService extends MybatisBaseService qw = new QueryWrapper<>(); FinManufacturerBankQuery params = pq.getParams(); if (params != null) { - if(StringUtils.isNotBlank(params.getOrgPath())){ + if (StringUtils.isNotBlank(params.getOrgPath())) { String orgSid = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath()).getData(); qw.eq("useOrgSid", orgSid); - }else{ + } else { String userSid = params.getUserSid(); if (StringUtils.isNotBlank(userSid)) { ResultBean resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid); @@ -126,7 +126,7 @@ public class FinManufacturerBankService extends MybatisBaseService data = basePurchaseSystemFeign.fetchOrgCodeByUseOrgSid(finManufacturerBank.getUseOrgSid()).getData(); - if (data != null){ + if (data != null) { for (BasePurchaseSystemDetailsVo datum : data) { CNBankacnt cnBankacnt = new CNBankacnt(); cnBankacnt.setFCreateOrgId(datum.getOrgCode()); @@ -136,7 +136,7 @@ public class FinManufacturerBankService extends MybatisBaseService data = basePurchaseSystemFeign.fetchOrgCodeByUseOrgSid(finManufacturerBank.getUseOrgSid()).getData(); - if (data != null){ + if (data != null) { for (BasePurchaseSystemDetailsVo datum : data) { CNBankacnt cnBankacnt = new CNBankacnt(); cnBankacnt.setFCreateOrgId(datum.getOrgCode()); @@ -171,7 +171,7 @@ public class FinManufacturerBankService extends MybatisBaseService> selectAccountByUseOrgSid(String userSid,String orgPath) { + public ResultBean> selectAccountByUseOrgSid(String userSid, String orgPath) { ResultBean> rb = ResultBean.fireFail(); String useOrgSid = ""; - if(StringUtils.isNotBlank(orgPath)){ + if (StringUtils.isNotBlank(orgPath)) { useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); - }else{ + } else { useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData(); } List list = baseMapper.selectAccountByUseOrgSid(useOrgSid); @@ -220,20 +220,20 @@ public class FinManufacturerBankService extends MybatisBaseService list = baseMapper.selAccountByOrgSid(useOrgSid,query.getName(),qw); + List list = baseMapper.selAccountByOrgSid(useOrgSid, query.getName(), qw); list.removeAll(Collections.singleton(null)); return rb.success().setData(list); } @@ -250,19 +250,26 @@ public class FinManufacturerBankService extends MybatisBaseService iPage = baseMapper.selAppAccountByOrgSid(page, qw, name); return iPage; } + + public ResultBean listByPayment(String orgPath, String key) { + ResultBean rb = ResultBean.fireFail(); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); + List list = baseMapper.listByPayment(useOrgSid, key); + return rb.success().setData(list); + } } \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerQuery.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerQuery.java new file mode 100644 index 0000000000..2bae50ae1c --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerQuery.java @@ -0,0 +1,14 @@ +package com.yxt.anrui.reportcenter.api.dailyreport; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/12/7 + **/ +@Data +public class DailyReportAppPagerQuery implements Query { + private static final long serialVersionUID = 1122320253221250027L; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerVo.java new file mode 100644 index 0000000000..050f524f3a --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportAppPagerVo.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.reportcenter.api.dailyreport; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/12/7 + **/ +@Data +public class DailyReportAppPagerVo { + + @ApiModelProperty("日期") + private String date; + + //存销比 + @ApiModelProperty("存销比") + private String saleOfStockRatio; + //库存小计 + @ApiModelProperty("库存小计") + private int stock_subtotal; + @ApiModelProperty("排产小计") + private int pcOrder_subtotal; + @ApiModelProperty("本日销售订单") + private int saleOrder_subtotal_day; + @ApiModelProperty("本日销售") + private int sale_subtotal_day; + @ApiModelProperty("欠款出库金额") + private int arrears_carry_veh_amount; + @ApiModelProperty("金融未放款金额") + private int loan_not_amount; + @ApiModelProperty("本日买断") + private int buyout_day; + + private String useOrgSid; +} diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java index 490a324b85..864a335959 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java @@ -33,12 +33,13 @@ public interface DailyReportFeign { /** * 获取动态列 + * * @param useOrgSid * @return */ @GetMapping("selectListByUseOrgSid") @ResponseBody - ResultBean> selectListByUseOrgSid(@RequestParam("useOrgSid")String useOrgSid); + ResultBean> selectListByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid); /** * 按照生成日期、 @@ -73,9 +74,19 @@ public interface DailyReportFeign { @ResponseBody ResultBean> listPage_1(@RequestBody PagerQuery pagerQuery); - @ApiOperation("移动端事业部") + @ApiOperation("移动端事业部日报表") @PostMapping("list1") @ResponseBody ResultBean list1(@RequestBody ListQuery query); + @ApiOperation("移动端集团列表") + @PostMapping("pageList1") + @ResponseBody + ResultBean> pageList1(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("集团日期初始化") + @GetMapping("getReport") + @ResponseBody + ResultBean getReport(@RequestParam("date")String date); + } diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/ReportVo.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/ReportVo.java new file mode 100644 index 0000000000..b9586f22e7 --- /dev/null +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/ReportVo.java @@ -0,0 +1,110 @@ +package com.yxt.anrui.reportcenter.api.dailyreport; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/12/7 + **/ +@Data +public class ReportVo implements Vo { + private static final long serialVersionUID = 7906138153156271043L; + + @ApiModelProperty("存销比") + private String saleOfStockRatio; + @ApiModelProperty("库存总计") + private int stock_total; + @ApiModelProperty("库存未定") + private int stock_unreserve; + @ApiModelProperty("库存已定") + private int stock_reserve; + @ApiModelProperty("库存小计") + private int stock_subtotal; + @ApiModelProperty("库存-买断未定") + private int stock_buyout_unreserve; + @ApiModelProperty("库存-买断已定") + private int stock_buyout_reserve; + @ApiModelProperty("库存-买断小计") + private int stock_buyout_subtotal; + @ApiModelProperty("排产-未定") + private int pcOrder_unreserve; + @ApiModelProperty("排产-已定") + private int pcOrder_reserve; + @ApiModelProperty("排产-小计") + private int pcOrder_subtotal; + @ApiModelProperty("简易订单-本日") + private int simpleOrder_day; + @ApiModelProperty("简易订单-本月") + private int simpleOrder_month; + @ApiModelProperty("销售订单-全款-本日") + private int saleOrder_full_day; + @ApiModelProperty("销售订单-贷款-本日") + private int saleOrder_loan_day; + @ApiModelProperty("销售订单-小计-本日") + private int saleOrder_subtotal_day; + @ApiModelProperty("销售订单-全款-本月") + private int saleOrder_full_month; + @ApiModelProperty("销售订单-贷款-本月") + private int saleOrder_loan_month; + @ApiModelProperty("销售订单-小计-本月") + private int saleOrder_subtotal_month; + @ApiModelProperty("销售订单-待交车累计") + private int saleOrder_waitVeh_total; + @ApiModelProperty("销售-全款-本日") + private int sale_full_day; + @ApiModelProperty("销售-贷款-本日") + private int sale_loan_day; + @ApiModelProperty("销售-小计-本日") + private int sale_subtotal_day; + @ApiModelProperty("销售-全款-本月") + private int sale_full_month; + @ApiModelProperty("销售-贷款-本月") + private int sale_loan_month; + @ApiModelProperty("销售-小计-本月") + private int sale_subtotal_month; + @ApiModelProperty("销售-全款-本年") + private int sale_full_year; + @ApiModelProperty("销售-贷款-本年") + private int sale_loan_year; + @ApiModelProperty("销售-小计-本年") + private int sale_subtotal_year; + @ApiModelProperty("本日交付贷款") + private String deliver_loan_day; + + @ApiModelProperty("本日交付全款") + private String deliver_full_day; + + @ApiModelProperty("本日交付小计") + private String deliver_subtotal_day; + @ApiModelProperty("本月交付贷款") + private String deliver_loan_month; + @ApiModelProperty("本月交付全款") + private String deliver_full_month; + @ApiModelProperty("本月交付小计") + private String deliver_subtotal_month; + @ApiModelProperty("全年交付贷款") + private String deliver_loan_year; + @ApiModelProperty("全年交付全款") + private String deliver_full_year; + @ApiModelProperty("全年交付小计") + private String deliver_subtotal_year; + @ApiModelProperty("厂家开票数-全年") + private int manufacturer_invoicing_year; + @ApiModelProperty("买断-本日") + private int buyout_day; + @ApiModelProperty("买断-本月") + private int buyout_month; + @ApiModelProperty("买断-本年") + private int buyout_year; + @ApiModelProperty("欠款出库-数量") + private int arrears_carry_veh_count; + @ApiModelProperty("欠款出库-金额") + private String arrears_carry_veh_amount; + @ApiModelProperty("金融未放款-数量") + private int loan_not_count; + @ApiModelProperty("金融未放款-金额") + private String loan_not_amount; +} diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java index 4735ab40e5..7cce5d2b08 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java @@ -21,7 +21,7 @@ import java.util.List; public interface DailyReportMapper extends BaseMapper { IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - IPage listPage3(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + IPage listPage3(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List selectByParameters(String useOrgSid); @@ -29,7 +29,7 @@ public interface DailyReportMapper extends BaseMapper { BaseModelConfig selectConfig(String configSid); - IPage listPage3_1(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + IPage listPage3_1(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); String select(@Param("useOrgSid") String useOrgSid, @Param("brandSid") String brandSid, @Param("vehModelSid") String vehModelSid, @Param("vehMConfigSid") String vehMConfigSid, @Param("createTime") String createTime); @@ -39,7 +39,11 @@ public interface DailyReportMapper extends BaseMapper { String select3(@Param("busOrgSid") String busOrgSid, @Param("brandSid") String brandSid, @Param("vehModelSid") String vehModelSid, @Param("vehMConfigSid") String vehMConfigSid, @Param("createTime") String createTime); - List selectByBrand(@Param("sybOrgSid") String sybOrgSid,@Param("queryTime")String queryTime); + List selectByBrand(@Param("sybOrgSid") String sybOrgSid, @Param("queryTime") String queryTime); List selectReport(@Param("join") List brandList, @Param("sybOrgSid") String sybOrgSid, @Param("queryTime") String queryTime); + + IPage pageList1(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + ReportVo getReport(@Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml index 15619966d0..5cee5e68fe 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml @@ -119,7 +119,56 @@ + + + + \ No newline at end of file diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java index be70edc42a..aff79acab6 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java @@ -75,4 +75,16 @@ public class DailyReportRest implements DailyReportFeign { public ResultBean list1(ListQuery query) { return dailyReportService.list1(query); } + + @Override + public ResultBean> pageList1(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = dailyReportService.pageList1(pagerQuery); + return rb.success().setData(pv); + } + + @Override + public ResultBean getReport(String date) { + return dailyReportService.getReport(date); + } } diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java index 1d1ae70182..95c1c7a6d3 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java @@ -309,7 +309,10 @@ public class DailyReportService extends MybatisBaseService stringList = Arrays.asList(query.getOrgPath().split("/")); - sybOrgSid = query.getOrgPath().substring(37, 73); + if(stringList.size()>=2){ + sybOrgSid = query.getOrgPath().substring(37, 73); + } + } if (StringUtils.isNotBlank(sybOrgSid)) { List rows1 = baseMapper.selectByBrand(sybOrgSid, query.getQueryTime()); @@ -324,56 +327,95 @@ public class DailyReportService extends MybatisBaseService row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList()); dailyReportAppVo.setRow3(row3); //存销比 + List row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList()); + //合计 + BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row4.add(row4All.toString()); + dailyReportAppVo.setRow4(row4); //库存总计 List row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); dailyReportAppVo.setRow5(row5); //库存未定 List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); dailyReportAppVo.setRow6(row6); //库存-已定 List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); dailyReportAppVo.setRow7(row7); //库存-小计 List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); dailyReportAppVo.setRow8(row8); //其中买断-未定 List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); dailyReportAppVo.setRow9(row9); //其中买断-已定 List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); dailyReportAppVo.setRow10(row10); //其中买断-小计 List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); dailyReportAppVo.setRow11(row11); //排产-未定 List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); dailyReportAppVo.setRow12(row12); //排产-已定 List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); dailyReportAppVo.setRow13(row13); //排产-小计 List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); dailyReportAppVo.setRow14(row14); //订车-简易订单-本日 List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); dailyReportAppVo.setRow15(row15); //订车-简易订单-本月 List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); dailyReportAppVo.setRow16(row16); //订车-本日销售订单-贷款 List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); dailyReportAppVo.setRow17(row17); //订车-本日销售订单-全款 List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); dailyReportAppVo.setRow18(row18); //订车-本日销售订单-小计 List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); dailyReportAppVo.setRow19(row19); //订车-本月销售订单-贷款 List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); dailyReportAppVo.setRow20(row20); //订车-本月销售订单-全款 List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); dailyReportAppVo.setRow21(row21); //订车-本月销售订单-小计 List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); @@ -449,4 +491,26 @@ public class DailyReportService extends MybatisBaseService pageList1(PagerQuery pagerQuery) { + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.pageList1(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean getReport(String date) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(date)) { + qw.like("createTime", date); + } + ReportVo reportVo = baseMapper.getReport(qw); + return rb.success().setData(reportVo); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/DkRecordQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/DkRecordQuery.java new file mode 100644 index 0000000000..5b297c326b --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/DkRecordQuery.java @@ -0,0 +1,75 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.riskcenter.api.loanbepadsincereapply; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-riskcenter(垫款申请)
+ * File: LoanBePadsincereApplyQuery.java
+ * Class: com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyQuery
+ * Description: 逾期垫款申请 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-11-10 16:17:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class DkRecordQuery implements Query { + + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("垫款申请编号") + private String billNo; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("贷款合同编号") + private String loanContractNo; + @ApiModelProperty("资方") + private String bankName; + @ApiModelProperty("客户名称") + private String custName; + @ApiModelProperty("贷款人名称") + private String borrowerName; + @ApiModelProperty("期数") + private String period; + @ApiModelProperty("付款账户") + private String paymentAccount; + @ApiModelProperty("资方收款账户") + private String bankCollectionAcc; + + private String userSid; + private String orgPath; + private String menuUrl; + private String menuSid; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/DkRecordVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/DkRecordVo.java new file mode 100644 index 0000000000..236e2301a6 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/DkRecordVo.java @@ -0,0 +1,84 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.riskcenter.api.loanbepadsincereapply; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-riskcenter(垫款申请)
+ * File: LoanBePadsincereVehVo.java
+ * Class: com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehVo
+ * Description: 逾期垫款车辆 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-11-10 16:17:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class DkRecordVo implements Vo { + + @ApiModelProperty("垫款申请编号") + private String billNo; + @ApiModelProperty("车架号") + private String vinNo; // 车架号 + @ApiModelProperty("贷款合同编号") + private String loanContractNo; // 贷款合同编号 + @ApiModelProperty("资方") + private String bankName; // 资方 + @ApiModelProperty("资方合同编号") + private String bankContractNo; // 资方合同编号 + @ApiModelProperty("客户姓名") + private String customerName; // 客户姓名 + @ApiModelProperty("贷款人名称") + private String borrowerName; // 贷款人名称 + @ApiModelProperty("期数") + private String period; // 期数 + @ApiModelProperty("系统逾期金额") + private String sysBeMoney; // 系统逾期金额 + @ApiModelProperty("资方逾期金额") + private String bankBeMoney; // 资方逾期金额 + @ApiModelProperty("资方逾期罚息") + private String bankBeInter; // 资方逾期罚息 + @ApiModelProperty("垫款金额") + private String padMoney; // 垫款金额 + @ApiModelProperty("付款账户") + private String paymentAccount; // 付款账户 + @ApiModelProperty("付款账号") + private String paymentNum; // 付款账号 + @ApiModelProperty("资方收款账户") + private String bankCollectionAcc; // 资方收款账户 + @ApiModelProperty("资方收款账号") + private String bankCollectionNum; // 资方收款账号 + @ApiModelProperty("备注") + private String remarks; +} \ No newline at end of file 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 dfd4fa1268..c0ade89f7c 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 @@ -72,6 +72,11 @@ public interface LoanBePadsincereApplyFeign { @ResponseBody public ResultBean> listPage(@RequestBody PagerQuery pq); + @ApiOperation("垫款记录列表") + @PostMapping("/dkListPage") + @ResponseBody + public ResultBean> dkListPage(@RequestBody PagerQuery pq); + @ApiOperation("新增或修改") @PostMapping("/save") @ResponseBody 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 ad2106f7f8..9274380890 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 @@ -60,6 +60,11 @@ public class LoanBePadsincereApplyFeignFallback implements LoanBePadsincereApply return rb.setMsg("接口anrui-riskcenter/loanbepadsincereapply/listPage无法访问"); } + @Override + public ResultBean> dkListPage(PagerQuery pq) { + return null; + } + @Override public ResultBean save(LoanBePadsincereApplyDto dto){ return ResultBean.fireFail().setMsg("接口anrui-riskcenter/loanbepadsincereapply/save无法访问"); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java index 988ee93940..ab84a617e5 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java @@ -22,6 +22,7 @@ public enum LoanFileEnum { OTHER_INFO("013", "欠款客户备案其他资料"), BUCKLE_APPLY("014", "划扣申请附件"), BEPADSINCERE("015", "逾期垫款附件"), + TRANSFERPAYMENT("016", "代收代付附件"), ; diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentQuery.java index 21452bee75..ae3834a7ab 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentQuery.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentQuery.java @@ -22,7 +22,6 @@ public class TransferPaymentQuery implements Query { private String accountTypeKey; //转付账户类型key private String prepareStartDate; //预转付开始日期 private String prepareEndDate; //预转付结束日期 - private String overdueState; //转付状态 @ApiModelProperty("组织全路径") private String orgPath; @ApiModelProperty("菜单sid") @@ -32,4 +31,5 @@ public class TransferPaymentQuery implements Query { @ApiModelProperty("用户sid") private String userSid; private String type; //0待转付 1已转付 + private String period; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentVo.java index 048f888ac5..1f317a645f 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferPaymentVo.java @@ -15,6 +15,7 @@ public class TransferPaymentVo implements Vo { private String vinNo; //车架号 private String loanContractNo; //贷款合同号 private String bankName; //资方 + private String customer; private String bankContractNo; //资方合同号 private String borrowerName; //贷款人 private String period; //期数 @@ -23,6 +24,7 @@ public class TransferPaymentVo implements Vo { private String actualDate; //实还日期 private String actualMoney; //实还金额 private String prepareDate; //预转付日期 + private String transferDate; //实际付日期 private String spread; //息差 private String transferPrincipal; //转付本金 private String defaultInterest; //转付罚息 diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java index 85fc27849f..1141df38be 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java @@ -1,7 +1,7 @@ package com.yxt.anrui.riskcenter.api.loantransferpaymentapply; -import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -29,11 +29,67 @@ import java.util.List; fallback = LoanTransferPaymentApplyFeignFallback.class) public interface LoanTransferPaymentApplyFeign { + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); @ApiOperation("新增初始化") @PostMapping("/paymentInit") @ResponseBody public ResultBean paymentInit(@RequestBody String[] sids); + @ApiOperation("保存修改") + @PostMapping("/saveTransferPayment") + @ResponseBody + public ResultBean saveTransferPayment(@RequestBody LoanTransferPaymentApplyDto dto); + + @ApiOperation("详情查看") + @GetMapping("/paymentDetails") + @ResponseBody + public ResultBean paymentDetails(@RequestParam("sid") String sid); + + @ApiOperation("批量删除") + @DeleteMapping("/deleteBySids") + @ResponseBody + public ResultBean deleteBySids(@RequestBody String[] sids); + + + //---------------------------流程--------------------------------------- + + @ApiOperation("提交") + @PostMapping("/submit") + public ResultBean submitRecordApplication(@RequestBody @Valid SubmitTransferDto dto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody TransferCompleteDto dto); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody TransferTaskQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody TransferTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@RequestBody TransferTaskQuery query); + + @ApiOperation(value = "流程历史流转记录") + @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}") + public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap TransferGetNodeQuery query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap TransferGetNodeQuery query); + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + public ResultBean delegate(@RequestBody TransferDelegateQuery query); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java index 319564c0a3..2b77067dd5 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java @@ -3,6 +3,7 @@ package com.yxt.anrui.riskcenter.api.loantransferpaymentapply; import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -14,8 +15,74 @@ import java.util.List; @Component public class LoanTransferPaymentApplyFeignFallback implements LoanTransferPaymentApplyFeign { + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + @Override public ResultBean paymentInit(String[] sids) { return null; } + + @Override + public ResultBean saveTransferPayment(LoanTransferPaymentApplyDto dto) { + return null; + } + + @Override + public ResultBean paymentDetails(String sid) { + return null; + } + + @Override + public ResultBean deleteBySids(String[] sids) { + return null; + } + + @Override + public ResultBean submitRecordApplication(SubmitTransferDto dto) { + return null; + } + + @Override + public ResultBean complete(TransferCompleteDto dto) { + return null; + } + + + @Override + public ResultBean revokeProcess(TransferTaskQuery query) { + return null; + } + + @Override + public ResultBean taskReject(TransferTaskQuery query) { + return null; + } + + @Override + public ResultBean breakProcess(TransferTaskQuery query) { + return null; + } + + @Override + public ResultBean flowRecord(String procInsId) { + return null; + } + + @Override + public ResultBean> getNextNodesForSubmit(TransferGetNodeQuery query) { + return null; + } + + @Override + public ResultBean> getPreviousNodesForReject(TransferGetNodeQuery query) { + return null; + } + + @Override + public ResultBean delegate(TransferDelegateQuery query) { + return null; + } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyVo.java index abca520777..94b894234d 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyVo.java @@ -33,4 +33,5 @@ public class LoanTransferPaymentApplyVo implements Vo { private String remarks; // 备注 + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java index 73d02ee520..b5212c5b44 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java @@ -1,7 +1,10 @@ package com.yxt.anrui.riskcenter.api.loantransferpaymentapply; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + /** * @author Fan * @description @@ -9,5 +12,44 @@ import lombok.Data; */ @Data public class LoanTransferPaymentRecordVo { + private String recordSid; + private String loanContractNo; + @ApiModelProperty("资方名称") + private String bankName; + @ApiModelProperty("资方合同") + private String bankContractNo; + @ApiModelProperty("客户") + private String customer; + @ApiModelProperty("借款人名称") + private String borrowerName; + @ApiModelProperty("期数") + private String period; + @ApiModelProperty("实还日期") + private String actualDate; + @ApiModelProperty("实还金额") + private String actualMoney; + @ApiModelProperty("息差") + private String spread; + @ApiModelProperty("转付本金") + private String transferPrincipal; + @ApiModelProperty("转付罚息") + private String defaultInterest; + @ApiModelProperty("转付账户类型") + private String accountType; + @ApiModelProperty("转付账户类型key") + private String accountTypeKey; + @ApiModelProperty("转付账户") + private String account; + @ApiModelProperty("转付账户账号") + private String accountNumber; + private String vinNo; +// @ApiModelProperty("还款方式") +// private String returnWay; +// @ApiModelProperty("应还日期") +// private String dueDate; +// @ApiModelProperty("应还金额") +// private String dueMoney; + // @ApiModelProperty("本期未还金额") +// private String outstandingMoney; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/SubmitTransferDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/SubmitTransferDto.java new file mode 100644 index 0000000000..c2e3e06826 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/SubmitTransferDto.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow; + +import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyDto; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitTransferDto extends LoanTransferPaymentApplyDto { + private static final long serialVersionUID = 378585162071125756L; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferCompleteDto.java new file mode 100644 index 0000000000..daa797442d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferCompleteDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 9:01 + * @Description + */ +@Data +public class TransferCompleteDto implements Dto { + private static final long serialVersionUID = 3240453987322803352L; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") + @NotBlank(message = "参数错误:comment") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferDelegateQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferDelegateQuery.java new file mode 100644 index 0000000000..4448e49fbe --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferDelegateQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 9:28 + */ +@Data +public class TransferDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") +// @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeQuery.java new file mode 100644 index 0000000000..5ec8e57294 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 10:42 + * @Description + */ +@Data +public class TransferGetNodeQuery implements Query { + private static final long serialVersionUID = -5674867230708197611L; + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeVo.java new file mode 100644 index 0000000000..008df2a7aa --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferGetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/28 11:09 + * @Description + */ +@Data +public class TransferGetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferTaskQuery.java new file mode 100644 index 0000000000..a502b1f641 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/flow/TransferTaskQuery.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description 终止、撤回、驳回查询参数 + */ +@Data +public class TransferTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + private String instanceId; + /*@ApiModelProperty("用户Id") + private String userId; + @ApiModelProperty("节点") + private String targetKey; + @ApiModelProperty("流程变量信息") + private Map values = new HashMap<>(); + @ApiModelProperty("审批人") + private String assignee; + @ApiModelProperty("候选人") + private List candidateUsers = new ArrayList<>(); + @ApiModelProperty("审批组") + private List candidateGroups = new ArrayList<>();*/ +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.java index 52f6d0f4af..0c47274277 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.java @@ -26,9 +26,11 @@ package com.yxt.anrui.riskcenter.biz.loanbepadsincereapply; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.DkRecordVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -54,19 +56,23 @@ import java.util.Map; @Mapper public interface LoanBePadsincereApplyMapper extends BaseMapper { - //@Update("update loan_be_padsincere_apply set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from loan_be_padsincere_apply") - List selectListVo(); + //@Update("update loan_be_padsincere_apply set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + IPage dkListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from loan_be_padsincere_apply") + List selectListVo(); int updateFlowFiled(Map map); - int selectBySid(String join); + int selectBySid(String join); String selectNum(String billNo); + + } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.xml index efd50c5a5f..338b8e9934 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.xml @@ -1,43 +1,78 @@ - - - - - + + + + + - - UPDATE loan_be_padsincere_apply - SET nodeState=#{nodeState}, nodeSid=#{taskDefKey} - - , procDefId=#{procDefId} - - - , procInstSid=#{procInsId} - - - , taskId=#{taskId} - - WHERE sid=#{sid} + + UPDATE loan_be_padsincere_apply + SET nodeState=#{nodeState}, nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstSid=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} - + SELECT COUNT(*) + FROM loan_be_padsincere_apply + WHERE nodeState != '待提交' and find_in_set(sid, #{list}) - + select RIGHT (billNo, 4) + from loan_be_padsincere_apply + where billNo LIKE concat(#{billNo}, '%') + order by billNo desc + limit 1 + + + \ No newline at end of file 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 da3525398c..63d3435ddc 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 @@ -98,6 +98,13 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign { return rb.success().setData(pv); } + @Override + public ResultBean> dkListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = loanBePadsincereApplyService.dkListPage(pq); + return rb.success().setData(pv); + } + @Override @ApiOperation("新增或修改") @PostMapping("/save") 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 5614047a88..6cb44c0f7c 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 @@ -195,6 +195,85 @@ public class LoanBePadsincereApplyService extends MybatisBaseService dkListPage(PagerQuery pq) { + DkRecordQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("la.orgPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("la.orgPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("la.orgPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("la.orgPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("la.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("la.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("la.billNo", query.getBillNo()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("lv.vinNo", query.getVinNo()); + } + if (StringUtils.isNotBlank(query.getLoanContractNo())) { + qw.like("lv.loanContractNo", query.getLoanContractNo()); + } + if (StringUtils.isNotBlank(query.getBankName())) { + qw.like("lv.bankName", query.getBankName()); + } + if (StringUtils.isNotBlank(query.getCustName())) { + qw.like("lv.bankContractNo", query.getCustName()); + } + if (StringUtils.isNotBlank(query.getBorrowerName())) { + qw.like("lv.borrowerName", query.getBorrowerName()); + } + if (StringUtils.isNotBlank(query.getPeriod())) { + qw.like("lv.period", query.getPeriod()); + } + if (StringUtils.isNotBlank(query.getPaymentAccount())) { + qw.like("lv.paymentAccount", query.getPaymentAccount()); + } + if (StringUtils.isNotBlank(query.getBankCollectionAcc())) { + qw.like("lv.bankCollectionAcc", query.getBankCollectionAcc()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.dkListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + public ResultBean saveOrUpdateDto(LoanBePadsincereApplyDto dto) { ResultBean rb = ResultBean.fireFail(); String dtoSid = dto.getSid(); @@ -836,4 +915,6 @@ public class LoanBePadsincereApplyService extends MybatisBaseService wrapper.like("bo.contractNo", query.getNames()).or().like("bb.borrowerName", query.getNames()).or().like("li.homeVisStaffName", query.getNames())); } - if ("1".equals(query.getType())){ + if ("1".equals(query.getType())) { qw.orderByDesc("li.createTime"); - }else { + } else { qw.orderByDesc("li.modifyTime"); } IPage page = PagerUtil.queryToPage(pq); @@ -1684,13 +1684,13 @@ public class LoanHomevisitInvestigateService extends MybatisBaseService zCInfo = new ArrayList<>(); if (loanHomevisitInvestigatePropertyDetailsVo != null) { + FinanceForm financeForm43 = new FinanceForm(); + financeForm43.setValue("房产"); + financeForm43.setSpanSize(2); + financeForm43.setType(1); + financeForm43.setBold(true); + zCInfo.add(financeForm43); if (loanHomevisitInvestigatePropertyDetailsVo.getIsRealEstate() != null && loanHomevisitInvestigatePropertyDetailsVo.getIsRealEstate()) { - FinanceForm financeForm43 = new FinanceForm(); - financeForm43.setValue("房产"); - financeForm43.setSpanSize(2); - financeForm43.setType(1); - financeForm43.setBold(true); - zCInfo.add(financeForm43); FinanceForm financeForm44 = new FinanceForm(); String propertyType = ""; if (loanHomevisitInvestigatePropertyDetailsVo.getPropertyType() == 1) { @@ -1709,7 +1709,18 @@ public class LoanHomevisitInvestigateService extends MybatisBaseService { + LoanTransferPaymentRecordVo paymentInfo(String sid); + + int selectNum(String bill); + + IPage listPage(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + int updateFlowFiled(Map map); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyMapper.xml index bba1299560..615039d029 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyMapper.xml @@ -2,4 +2,66 @@ + + + + + UPDATE loan_transfer_payment_apply + SET nodeState=#{nodeState} + , nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java index ccff9d5c72..9d2cc48950 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java @@ -6,8 +6,8 @@ import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.riskcenter.api.loanbuckleapply.*; import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; -import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyFeign; -import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyInit; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.*; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -27,8 +27,79 @@ public class LoanTransferPaymentApplyRest implements LoanTransferPaymentApplyFei @Autowired private LoanTransferPaymentApplyService loanTransferPaymentApplyService; + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = loanTransferPaymentApplyService.listPage(pq); + return rb.success().setData(pv); + } + @Override public ResultBean paymentInit(String[] sids) { return loanTransferPaymentApplyService.paymentInit(sids); } + + @Override + public ResultBean saveTransferPayment(LoanTransferPaymentApplyDto dto) { + return loanTransferPaymentApplyService.saveTransferPayment(dto); + } + + @Override + public ResultBean paymentDetails(String sid) { + return loanTransferPaymentApplyService.paymentDetails(sid); + } + + @Override + public ResultBean deleteBySids(String[] sids) { + return loanTransferPaymentApplyService.deleteBySids(sids); + } + + @Override + public ResultBean submitRecordApplication(SubmitTransferDto dto) { + return loanTransferPaymentApplyService.submitRecordApplication(dto); + } + + @Override + public ResultBean complete(TransferCompleteDto dto) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(dto, bv); + bv.setModelId(ProcDefEnum.COLLECTIONPAYMENT.getProDefId()); + return loanTransferPaymentApplyService.complete(bv); + } + + @Override + public ResultBean revokeProcess(TransferTaskQuery query) { + return loanTransferPaymentApplyService.revokeProcess(query); + } + + @Override + public ResultBean taskReject(TransferTaskQuery query) { + return loanTransferPaymentApplyService.taskReject(query); + } + + @Override + public ResultBean breakProcess(TransferTaskQuery query) { + return loanTransferPaymentApplyService.breakProcess(query); + } + + @Override + public ResultBean flowRecord(String procInsId) { + return loanTransferPaymentApplyService.flowRecord(procInsId); + } + + @Override + public ResultBean> getNextNodesForSubmit(TransferGetNodeQuery query) { + return loanTransferPaymentApplyService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean> getPreviousNodesForReject(TransferGetNodeQuery query) { + return loanTransferPaymentApplyService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean delegate(TransferDelegateQuery query) { + return loanTransferPaymentApplyService.delegate(query); + } + } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java index 9f39e1d80d..1bbb895036 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java @@ -25,20 +25,15 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; -import com.yxt.anrui.riskcenter.api.loanbuckleapply.*; -import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; -import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppRecordVo; -import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; -import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; -import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo; -import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApply; -import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyInit; -import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.*; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*; +import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; +import com.yxt.anrui.riskcenter.biz.loantransferpaymentrecord.LoanTransferPaymentRecordService; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -66,22 +61,766 @@ import java.util.stream.Collectors; @Service public class LoanTransferPaymentApplyService extends MybatisBaseService { + @Autowired + private LoanTransferPaymentRecordService loanTransferPaymentRecordService; + @Autowired + private LoanFileService loanFileService; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private LoanRepaymentHistoryService loanRepaymentHistoryService; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private FlowFeign flowFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private MessageFeign messageFeign; public ResultBean paymentInit(String[] sids) { ResultBean rb = ResultBean.fireFail(); LoanTransferPaymentApplyInit vo = new LoanTransferPaymentApplyInit(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); vo.setApplyDate(sdf.format(new Date())); - List historyRecords = new ArrayList<>(); -// for (String sid : sids) { -// LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord(); -// LoanRepaymentHistoryRecordVo recordVo = loanRepaymentHistoryService.buckleInfo(sid).getData(); -// if (null != recordVo) { -// BeanUtil.copyProperties(recordVo, record); + List historyRecords = new ArrayList<>(); + for (String sid : sids) { + LoanTransferPaymentRecordVo recordVo = baseMapper.paymentInfo(sid); + recordVo.setSpread("0"); + recordVo.setDefaultInterest("0"); + if (StringUtils.isNotBlank(recordVo.getActualMoney())) { + recordVo.setTransferPrincipal(recordVo.getActualMoney()); + } + if (StringUtils.isNotBlank(recordVo.getBankContractNo())) { + LoanTransferPaymentRecord paymentRecord = loanTransferPaymentRecordService.selByBankContractNo(recordVo.getBankContractNo()); + if (null != paymentRecord) { + if (StringUtils.isNotBlank(paymentRecord.getAccount())) { + recordVo.setAccount(paymentRecord.getAccount()); + } + if (StringUtils.isNotBlank(paymentRecord.getAccountNumber())) { + recordVo.setAccountNumber(paymentRecord.getAccountNumber()); + } + if (StringUtils.isNotBlank(paymentRecord.getAccountType())) { + recordVo.setAccountType(paymentRecord.getAccountType()); + } + if (StringUtils.isNotBlank(paymentRecord.getAccountTypeKey())) { + recordVo.setAccountTypeKey(paymentRecord.getAccountTypeKey()); + } + } + } + historyRecords.add(recordVo); + } + vo.setRecords(historyRecords); + return rb.success().setData(vo); + } + + /** + * 生成申请单单据编号 + * + * @param orgSid + * @return + */ + public String getApplyCode(String orgSid) { + //获取分公司sid + ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); + String orgCode = resultBean1.getData().getOrgCode(); + BillNo b = new BillNo(); + b.setOrgCode(orgCode); + b.setBillType(BillTypeEnum.DSDFSQ.getBillType()); + String bill = Rule.getBill(b); + int i = baseMapper.selectNum(bill); + String billNo = Rule.getBillNo(bill, i); + return billNo; + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveTransferPayment(LoanTransferPaymentApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + LoanTransferPaymentApply updateEntity = fetchBySid(sid); + if (null != updateEntity) { + BeanUtil.copyProperties(dto, updateEntity, "id", "sid"); + baseMapper.updateById(updateEntity); + int i = loanTransferPaymentRecordService.deleteByMainSid(sid); + //删除附件表中关于该linkSid的文件 + loanFileService.deleteByLinkSid(sid); + List filess = dto.getFiles(); + if (!filess.isEmpty()) { + List files = new ArrayList<>(); + for (LoanTransferPaymentApplyFile file : filess) { + files.add(file.getUrl()); + } + loanFileService.saveAll(sid, files, LoanFileEnum.TRANSFERPAYMENT.getAttachType()); + } + List records = dto.getRecords(); + if (!records.isEmpty()) { + for (LoanTransferPaymentRecordVo record : records) { + LoanTransferPaymentRecord applyRecord = new LoanTransferPaymentRecord(); + BeanUtil.copyProperties(record, applyRecord, "id", "sid"); + applyRecord.setMainSid(sid); + applyRecord.setRepaymentHistorySid(record.getRecordSid()); + loanTransferPaymentRecordService.insert(applyRecord); + } + } + } + } else { + LoanTransferPaymentApply transferPaymentApply = new LoanTransferPaymentApply(); + sid = transferPaymentApply.getSid(); + BeanUtil.copyProperties(dto, transferPaymentApply, "id", "sid"); + transferPaymentApply.setCreateBySid(dto.getUserSid()); + transferPaymentApply.setOrgSidPath(dto.getOrgPath()); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()); + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + transferPaymentApply.setUseOrgSid(userOrgSid); + String billNo = getApplyCode(userOrgSid); + transferPaymentApply.setBillNo(billNo); + ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); + if (organizationVo.getSuccess()) { + SysOrganizationVo organizationVoData = organizationVo.getData(); + if (null != organizationVoData) { + transferPaymentApply.setUseOrgName(organizationVoData.getName()); + } + } + } + transferPaymentApply.setNodeState("待提交"); + baseMapper.insert(transferPaymentApply); + List records = dto.getRecords(); + if (!records.isEmpty()) { + for (LoanTransferPaymentRecordVo record : records) { + LoanTransferPaymentRecord applyRecord = new LoanTransferPaymentRecord(); + BeanUtil.copyProperties(record, applyRecord, "id", "sid"); + applyRecord.setMainSid(sid); + applyRecord.setRepaymentHistorySid(record.getRecordSid()); + loanTransferPaymentRecordService.insert(applyRecord); + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(record.getRecordSid()); + if (null != repaymentHistory) { + repaymentHistory.setPaymentState("转付中"); + repaymentHistory.setPaymentStateKey("002"); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + } + //删除附件表中关于该linkSid的文件 + loanFileService.deleteByLinkSid(sid); + List filess = dto.getFiles(); + if (!filess.isEmpty()) { + List files = new ArrayList<>(); + for (LoanTransferPaymentApplyFile file : filess) { + files.add(file.getUrl()); + } + loanFileService.saveAll(sid, files, LoanFileEnum.TRANSFERPAYMENT.getAttachType()); + } + } + return rb.success().setData(sid); + } + + public PagerVo listPage(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + LoanTransferPaymentApplyQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + //分公司 + if (StringUtils.isNotBlank(pagerQuery.getCompany())) { + qw.like("useOrgName", pagerQuery.getCompany()); + } + //申请人 + if (StringUtils.isNotBlank(pagerQuery.getApplyName())) { + qw.like("applyName", pagerQuery.getApplyName()); + } + //申请编号 + if (StringUtils.isNotBlank(pagerQuery.getBillNo())) { + qw.like("billNo", pagerQuery.getBillNo()); + } + String applyStartTime = pagerQuery.getApplyStartDate(); + String applyEndTime = pagerQuery.getApplyEndDate(); + qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(applyEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')" + ); + qw.eq("isDelete", 0); + qw.orderByDesc("createTime"); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean paymentDetails(String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanTransferPaymentApplyInit initVo = new LoanTransferPaymentApplyInit(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + LoanTransferPaymentApply paymentApply = fetchBySid(sid); + if (null != paymentApply) { + BeanUtil.copyProperties(paymentApply, initVo); + initVo.setUserSid(paymentApply.getCreateBySid()); + initVo.setOrgPath(paymentApply.getOrgSidPath()); + if (StringUtils.isNotBlank(paymentApply.getProcInstId())) { + initVo.setInstanceId(paymentApply.getProcInstId()); + } + if (null != paymentApply.getApplyDate()) { + initVo.setApplyDate(sdf.format(paymentApply.getApplyDate())); + } + List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.TRANSFERPAYMENT.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + List paymentApplyFiles = new ArrayList<>(); + for (String file : files) { + LoanTransferPaymentApplyFile paymentApplyFile = new LoanTransferPaymentApplyFile(); + paymentApplyFile.setUrl(file); + paymentApplyFiles.add(paymentApplyFile); + } + initVo.setFiles(paymentApplyFiles); + } + List records = loanTransferPaymentRecordService.selByMainSid(sid); + List recordList = new ArrayList<>(); + if (!records.isEmpty()) { + for (LoanTransferPaymentRecord record : records) { + String historySid = record.getRepaymentHistorySid(); + LoanTransferPaymentRecordVo recordVo = baseMapper.paymentInfo(historySid); + recordList.add(recordVo); + } + } + initVo.setRecords(recordList); + } + return rb.success().setData(initVo); + } + + public ResultBean deleteBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + for (String sid : sids) { + LoanTransferPaymentApply paymentApply = fetchBySid(sid); + if (null != paymentApply) { + if (!paymentApply.getNodeState().equals("待提交")) { + return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); + } + } + paymentApply.setIsDelete(1); + int i = baseMapper.updateById(paymentApply); + if (i == 0) { + return rb.setMsg("删除失败"); + } + List loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(sid); + if (!loanTransferPaymentRecords.isEmpty()) { + for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); + if (null != repaymentHistory) { + repaymentHistory.setPaymentState("待转付"); + repaymentHistory.setPaymentStateKey("001"); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + } + loanTransferPaymentRecordService.deleteByMainSid(sid); + } + return ResultBean.fireSuccess().setMsg("删除成功"); + } + + + //-------------------------------------流程------------------------------------------------/ + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitTransferDto dto, LoanTransferPaymentApply paymentApply) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (paymentApply != null) { + String businessTaskId = paymentApply.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + } + return r; + } + + /** + * 更新流程相关的状态 + * + * @param map + * @return + */ + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean submitRecordApplication(SubmitTransferDto dto) { + ResultBean rb = ResultBean.fireFail(); + LoanTransferPaymentApply paymentApply = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, paymentApply); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + String businessSid = ""; + //新增修改保存 + ResultBean resultBean = saveTransferPayment(dto); + if (resultBean.getSuccess()) { + businessSid = resultBean.getData(); + } + LoanTransferPaymentApply entity = fetchBySid(businessSid); + String orgSidPath = ""; + if (StringUtils.isNotBlank(entity.getOrgSidPath())) { + orgSidPath = entity.getOrgSidPath(); + } else { + SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); + if (null != data) { + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + } + } + List orgPathList = Arrays.asList(orgSidPath.split("/")); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); + if (sysOrganization == null) { + return rb.setMsg("当前所在的组织机构不存在"); + } + if (StringUtils.isBlank(sysOrganization.getManagerSid())) { +// return rb.setMsg("当前所在的组织机构未设置主管人员"); + sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); + } + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值 + Map variables = BeanUtil.beanToMap(dto); + Map appMap = new HashMap<>(); + //若有网关,则赋值网关中判断的字段。 +// boolean isTure = true; +// //去查询是否同意 +// if (StringUtils.isNotBlank(entity.getSalesUserSid())) { +// if (!entity.getCreateBySid().equals(entity.getSalesUserSid())) { +// isTure = false; // } -// historyRecords.add(record); // } -// vo.setRecords(historyRecords); - return rb.success().setData(vo); +// variables.put("isTure", isTure); + variables.put("businessSid", businessSid); + appMap.put("sid", businessSid); + variables.put("app", appMap); +// String orderNames = "<" + entity.getCustomer() + ">" + "欠款客户备案"; +// variables.put("orderNames", orderNames); + LoanTransferPaymentApply paymentApply1 = fetchBySid(businessSid); + String msgBusinessSid = paymentApply1.getSid(); + //用户的部门全路径sid + bv.setOrgSidPath(paymentApply1.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getUserSid()); + bv.setFormVariables(variables); +// String nextNodeUserSids_ = sysOrganization.getManagerSid(); +// if (isTure) { +// bv.setNextNodeUserSids(nextNodeUserSids_); +// } else { +// bv.setNextNodeUserSids(entity.getSalesUserSid()); +// } + //流程定义id + bv.setModelId(ProcDefEnum.COLLECTIONPAYMENT.getProDefId()); + if (r == 1) { + //流程定义id + bv.setModelId(ProcDefEnum.COLLECTIONPAYMENT.getProDefId()); + ResultBean voResultBean = flowFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(msgBusinessSid); + messageFlowableQuery.setModuleName("代收代付申请"); + SysUserVo userVo = sysUserFeign.fetchBySid(paymentApply1.getCreateBySid()).getData(); + if (userVo != null) { + if (StringUtils.isNotBlank(userVo.getName())) { + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + } + messageFlowableQuery.setMsgTitle("代收代付申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + LoanTransferPaymentApply paymentApply2 = fetchBySid(dto.getSid()); + bv.setTaskId(dto.getTaskId()); + bv.setTaskDefKey(paymentApply2.getNodeSid()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + LoanTransferPaymentApply paymentApply = this.fetchBySid(businessSid); + if (bv.getTaskId().equals(paymentApply.getTaskId())) { + bv.setOrgSidPath(paymentApply.getOrgSidPath()); + //流程中的参数赋值 + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + //若有网关,则赋值网关中判断的字段。 +// boolean isTure = true; +// //去查询是否同意 +// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +// isTure = false; +// } +// } +// variables.put("isTure", isTure); +// if (bv.getTaskDefKey().equals("Activity_1078xxs")) { +// if (StringUtils.isNotBlank(loanCustomerRecord.getManageSid())) { +// bv.setNextNodeUserSids(loanCustomerRecord.getManageSid()); +// } else { +// bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +// } +// } + variables.put("businessSid", businessSid); + appMap.put("sid", businessSid); + variables.put("app", appMap); + bv.setFormVariables(variables); + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + List loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(businessSid); + if (!loanTransferPaymentRecords.isEmpty()) { + for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); + if (null != repaymentHistory) { + repaymentHistory.setPaymentStateKey("003"); + repaymentHistory.setPaymentState("已转付"); + repaymentHistory.setTransferDate(new DateTime()); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + } + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + + public ResultBean revokeProcess(TransferTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + LoanTransferPaymentApply paymentApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = paymentApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean taskReject(TransferTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + LoanTransferPaymentApply paymentApply = fetchBySid(businessSid); + if (paymentApply == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = paymentApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //若有网关,则赋值网关中判断的字段。 +// boolean isTure = true; +// //去查询是否同意 +// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +// isTure = false; +// } +// } +// variables.put("isTure", isTure); + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + paymentApply = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = paymentApply.getProcInstId(); + messageFlowVo.setProcInsId(procId); + messageFlowVo.setProcDefId(paymentApply.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("代收代付申请"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextName = listResultBean.getData().get(0).getName_(); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); +// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { + if ("发起申请".equals(nextName)) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + SysUserVo userVo = sysUserFeign.fetchBySid(paymentApply.getCreateBySid()).getData(); + if (userVo != null) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + } + } + messageFlowableQuery.setMsgTitle("代收代付申请"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean breakProcess(TransferTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (org.apache.commons.lang3.StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + LoanTransferPaymentApply paymentApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = paymentApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(paymentApply.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + //终止任务后划扣状态改完未通过 + LoanTransferPaymentApply entity = fetchBySid(query.getBusinessSid()); + if (entity.getNodeState().equals("终止")) { + List loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(query.getBusinessSid()); + if (!loanTransferPaymentRecords.isEmpty()) { + for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); + if (null != repaymentHistory) { + repaymentHistory.setPaymentStateKey("001"); + repaymentHistory.setPaymentState("待转付"); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + } + } + return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + //终止任务后划扣状态改完未通过 + LoanTransferPaymentApply entity = fetchBySid(query.getBusinessSid()); + if (entity.getNodeState().equals("终止")) { + List loanTransferPaymentRecords = loanTransferPaymentRecordService.selByMainSid(query.getBusinessSid()); + if (!loanTransferPaymentRecords.isEmpty()) { + for (LoanTransferPaymentRecord applyRecord : loanTransferPaymentRecords) { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); + if (null != repaymentHistory) { + repaymentHistory.setPaymentStateKey("001"); + repaymentHistory.setPaymentState("待转付"); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + } + } + + return rb.success().setData(resultBean.getData()); + } + } + + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean flowRecord(String procInsId) { + return flowTaskFeign.businessFlowRecord(procInsId); + } + + public ResultBean> getNextNodesForSubmit(TransferGetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + + //根据业务sid查询排产信息 + LoanTransferPaymentApply paymentApply = fetchBySid(query.getBusinessSid()); + //若有网关,则赋值网关中判断的字段。 +// boolean isTure = true; +// //去查询是否同意 +// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +// isTure = false; +// } +// } +// variables.put("isTure", isTure); + bv.setFormVariables(variables); + bv.setModelId(paymentApply.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), TransferGetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getPreviousNodesForReject(TransferGetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //根据业务sid查询排产信息 + LoanTransferPaymentApply paymentApply = fetchBySid(query.getBusinessSid()); +// //若有网关,则赋值网关中判断的字段。 +// boolean isTure = true; +// //去查询是否同意 +// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +// isTure = false; +// } +// } +// variables.put("isTure", isTure); + bv.setFormVariables(variables); + bv.setModelId(paymentApply.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), TransferGetNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean delegate(TransferDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.java index 646edc5314..8c1591854c 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.java @@ -3,8 +3,10 @@ package com.yxt.anrui.riskcenter.biz.loantransferpaymentrecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.springframework.web.bind.annotation.DeleteMapping; import java.util.List; @@ -13,4 +15,9 @@ import java.util.List; public interface LoanTransferPaymentRecordMapper extends BaseMapper { + int deleteByMainSid(String mainSid); + + List selByMainSid(String mainSid); + + LoanTransferPaymentRecord selByBankContractNo(String bankContractNo); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.xml index b7701af16e..ef8dbb2cd9 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordMapper.xml @@ -3,4 +3,24 @@ + + DELETE + FROM loan_transfer_payment_record + WHERE mainSid = #{mainSid} + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordService.java index 7ca6e3d55c..d272380066 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentrecord/LoanTransferPaymentRecordService.java @@ -16,4 +16,15 @@ import java.util.List; public class LoanTransferPaymentRecordService extends MybatisBaseService { + public int deleteByMainSid(String mainSid) { + return baseMapper.deleteByMainSid(mainSid); + } + + public List selByMainSid(String mainSid) { + return baseMapper.selByMainSid(mainSid); + } + + public LoanTransferPaymentRecord selByBankContractNo(String bankContractNo) { + return baseMapper.selByBankContractNo(bankContractNo); + } } diff --git a/doc/databases/报表中心.sql b/doc/databases/报表中心.sql index c1859cc712..5e5f4e6db6 100644 --- a/doc/databases/报表中心.sql +++ b/doc/databases/报表中心.sql @@ -525,6 +525,23 @@ set deliver_subtotal_year = s.scount where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); +-- 存销比 +update daily_report r inner join ( + select ifnull(sum(dr.sale_subtotal_month), 0) as subtotal,dr.useOrgSid,dr.vehModelSid,dr.vehMConfigSid + from daily_report dr + where + (DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m') + OR DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH), '%Y-%m') + OR DATE_FORMAT(createTime, '%Y-%m') LIKE DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH), '%Y-%m') + ) group by dr.useOrgSid, dr.vehModelSid, dr.vehMConfigSid) s + on r.useOrgSid = s.useOrgSid + and r.vehModelSid = s.vehModelSid + and r.vehMConfigSid = s.vehMConfigSid +set saleOfStockRatio =if(s.subtotal= 0,stock_subtotal+pcOrder_subtotal,ROUND((stock_subtotal+pcOrder_subtotal)/ROUND(s.subtotal/3,2),2)) , + stock_total = (stock_subtotal+pcOrder_subtotal) +where DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE(); + +