diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
index 39431dd35d..0abdc8232f 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
@@ -382,7 +382,7 @@
fcc.createBySid AS createBySid,
fcc.`useOrgSid`,
fcc.`staffDeptName` AS staffDeptName,
- fcc.staffUserSid AS staffSid,
+ su.staffSid AS staffSid,
fcc.`staffName` AS staffName,
ferd.`contractNo`,
ferd.`payType`,
@@ -401,11 +401,14 @@
FROM fin_selected_receivables_detailed ferd
LEFT JOIN fin_collection_confirmation fcc
ON ferd.`collSid` = fcc.`sid`
- LEFT JOIN anrui_base.`base_vehicle` bv
- ON RIGHT(ferd.`VIN`, 8) = RIGHT(bv.`vinNo`, 8)
- AND fcc.`useOrgSid` = bv.`createOrgSid`
LEFT JOIN `fin_funds_carried_forward_veh` ffc
ON ffc.`busSid` = ferd.`sid`
+ LEFT JOIN anrui_portal.`sys_user` su
+ ON fcc.`staffUserSid` = su.sid
+ LEFT JOIN fin_uncollected_receivables_detailed furd
+ ON ferd.`receivablesSid` = furd.`sid`
+ JOIN anrui_base.`base_vehicle_state` bvs
+ ON furd.busVinSid = bvs.busSid AND (bvs.`busNo` = "200" OR bvs.`busState` = "401")
${ew.SqlSegment}
@@ -433,11 +436,12 @@
FROM fin_selected_receivables_detailed ferd
LEFT JOIN fin_funds_carried_forward_apply ffcfa
ON ferd.`collSid` = ffcfa.`sid`
- LEFT JOIN anrui_base.`base_vehicle` bv
- ON RIGHT(ferd.`VIN`, 8) = RIGHT(bv.`vinNo`, 8)
- AND ffcfa.`useOrgSid` = bv.`createOrgSid`
LEFT JOIN `fin_funds_carried_forward_veh` ffc
ON ffc.`busSid` = ferd.`sid`
+ LEFT JOIN fin_uncollected_receivables_detailed furd
+ ON ferd.`receivablesSid` = furd.`sid`
+ JOIN anrui_base.`base_vehicle_state` bvs
+ ON furd.busVinSid = bvs.busSid AND (bvs.`busNo` = "200" OR bvs.`busState` = "401")
${ew.sqlSegment}
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
index c500a90f74..d3303dc3de 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
@@ -570,7 +570,8 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService wrapper.like("fcc.staffDeptName", query.getStaffDeptName()).or().like("ffcfa.saleDeptName", query.getStaffDeptName()));
}
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java
index 986f544c8a..b4aa902096 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java
@@ -72,7 +72,8 @@ public class OtherReceivableBillService extends FinKingDeeService {
return rb.setMsg("其他应收单保存失败!");
}
log.info("其他应收单保存成功!");
- ResultBean resultBean2 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), kingDeeData, KingDeeBillUrl.SUBMIT_URL.getURL());
+ String submitKD = getSubmitKD(resultBean1.getData(),KingDeeBillId.AR_OTHERRECEIVABLE.getID());
+ ResultBean resultBean2 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), submitKD, KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("其他应收单提交失败!");
return rb.setMsg("其他应收单提交失败!");
diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data_model.json
index 8dae9a5ec6..f1a8471d51 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data_model.json
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data_model.json
@@ -41,12 +41,12 @@
"FNumber": ""
},
"FMAINBOOKSTDCURRID": {
- "FNumber": ""
+ "FNumber": "PRE001"
},
"FEXCHANGETYPE": {
- "FNumber": ""
+ "FNumber": "HLTX01_SYS"
},
- "FExchangeRate": "0",
+ "FExchangeRate": "1",
"FNOTAXAMOUNT": "0",
"FTAXAMOUNT": "0",
"FCancelStatus": "",
diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
index 2d6987262d..2298821c09 100644
--- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
+++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
@@ -54,6 +54,7 @@ public enum ProcDefEnum {
BUSHANDOVER("交车确认", "process_e8feloik:6:2675004"),
LOANFINPOLICYRECORDAPPLY("金融产品政策备案", "process_u45lo7qc:1:2272516"),
LOANOTHERPOLICYRECORDAPPLY("其它融产品备案", "process_7pptyzfc:1:2272524"),
+ LOANCREDITAPPEALAPPLY("信用审核申诉", "process_gygvxw8k:1:2847504"),
DEALERFILINGAPPLY("经销商备案", "process_jdu35cog:3:2577504"),
/******************************测试流程id*********************************************/
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDetailsVo.java
index 909ca08ff6..f96c0aba82 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDetailsVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDetailsVo.java
@@ -26,12 +26,18 @@
package com.yxt.anrui.riskcenter.api.loancreditappealapply;
+import com.yxt.anrui.riskcenter.api.loancreditappealpeo.LoanCreditAppealPeoDetailsVo;
+import com.yxt.anrui.riskcenter.api.loancreditappealpeo.LoanCreditAppealPeoDto;
+import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyDetailsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Project: anrui-riskcenter(信用审核申诉)
* File: LoanCreditAppealApplyVo.java
@@ -51,6 +57,10 @@ public class LoanCreditAppealApplyDetailsVo implements Vo {
private String sid;
+ @ApiModelProperty("贷前信用审核")
+ private LoanPreloanCreditApplyDetailsVo loanPreloanCreditApplyDetailsVo;
+ @ApiModelProperty("创建人sid")
+ private String createBySid;
@ApiModelProperty("创建人接口")
private String createByName;
@ApiModelProperty("申诉原因")
@@ -69,4 +79,14 @@ public class LoanCreditAppealApplyDetailsVo implements Vo {
private String applyDeptSid;
@ApiModelProperty("申请部门名称")
private String applyDeptName;
+ @ApiModelProperty("销售订单sid")
+ private String saleOrderSid = "1b54fcc7-9909-436d-a134-03c3f5a7f7ff";
+ @ApiModelProperty("流程定义的id")
+ private String procDefId;
+ @ApiModelProperty("流程实例的sid")
+ private String procInstSid;
+ @ApiModelProperty("信用申诉人员列表")
+ private List loanCreditAppealPeos = new ArrayList<>();
+ @ApiModelProperty("申诉附件")
+ private List ssImages = new ArrayList<>();
}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDto.java
index 49c3f67c15..633d696114 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDto.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDto.java
@@ -55,6 +55,8 @@ public class LoanCreditAppealApplyDto implements Dto {
private String sid;
+ @ApiModelProperty("创建人sid")
+ private String createBySid;
@ApiModelProperty("创建人接口")
private String createByName;
@ApiModelProperty("申诉原因")
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeign.java
index cffdcdd3ad..2e473fe66c 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeign.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeign.java
@@ -25,14 +25,17 @@
*********************************************************/
package com.yxt.anrui.riskcenter.api.loancreditappealapply;
+import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
+import javax.validation.Valid;
import java.util.List;
/**
@@ -75,4 +78,37 @@ public interface LoanCreditAppealApplyFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid);
+
+ @ApiOperation("初始化申诉申请")
+ @GetMapping("/init/{sid}")
+ @ResponseBody
+ public ResultBean init(@PathVariable("sid") String sid);
+
+ @ApiOperation("信用审核申诉审批流程")
+ @PostMapping("/submitLoanCreditApply")
+ public ResultBean submitLoanCreditApply(@RequestBody @Valid SubmitLoanCreditApplyDto dto);
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody LoanCreditApplyCompleteDto query);
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap LoanCreditApplyNodeQuery query);
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap LoanCreditApplyNodeQuery query);
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean reject(@Valid @RequestBody LoanCreditApplyTaskQuery query);
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@Valid @RequestBody LoanCreditApplyTaskQuery query);
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@Valid @RequestBody LoanCreditApplyTaskQuery query);
}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeignFallback.java
index c522df697b..d1fe87f1b5 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeignFallback.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeignFallback.java
@@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.riskcenter.api.loancreditappealapply;
+import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@@ -69,4 +70,44 @@ public class LoanCreditAppealApplyFeignFallback implements LoanCreditAppealApply
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-riskcenter/loancreditappealapply/fetchDetailsBySid无法访问");
}
+
+ @Override
+ public ResultBean init(String sid) {
+ return null;
+ }
+
+ @Override
+ public ResultBean submitLoanCreditApply(SubmitLoanCreditApplyDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean complete(LoanCreditApplyCompleteDto query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(LoanCreditApplyNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(LoanCreditApplyNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean reject(LoanCreditApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean revokeProcess(LoanCreditApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean breakProcess(LoanCreditApplyTaskQuery 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/loancreditappealapply/LoanCreditAppealApplyQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyQuery.java
index a3773fb8ac..b05e15bd33 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyQuery.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyQuery.java
@@ -49,6 +49,8 @@ import lombok.Data;
@ApiModel(value = "信用审核申诉表 查询条件", description = "信用审核申诉表 查询条件")
public class LoanCreditAppealApplyQuery implements Query {
+ @ApiModelProperty("分公司名称")
+ private String useOrgName;
@ApiModelProperty("申请部门名称")
private String applyDeptName;
@ApiModelProperty("创建人接口")
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyCompleteDto.java
new file mode 100644
index 0000000000..c8eb8ebd87
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyCompleteDto.java
@@ -0,0 +1,37 @@
+package com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable;
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 14:57
+ * @Description
+ */
+@Data
+public class LoanCreditApplyCompleteDto implements Dto {
+ private static final long serialVersionUID = 6378752532534735663L;
+
+ @ApiModelProperty(value = "用户sid")
+ private String userSid;
+ @ApiModelProperty(value = "下载类型")
+ private String pdfType;
+ @ApiModelProperty(value = "节点id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "任务id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ @ApiModelProperty(value = "流程id(PC)")
+ private String instanceId;
+ @ApiModelProperty(value = "流程id(移动)")
+ private String procInsId;
+ @ApiModelProperty(value = "意见")
+ private String comment;
+ @ApiModelProperty(value = "业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyNodeQuery.java
new file mode 100644
index 0000000000..0bafc87d53
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyNodeQuery.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:04
+ * @Description
+ */
+@Data
+public class LoanCreditApplyNodeQuery implements Query {
+ private static final long serialVersionUID = 9117613683840483366L;
+
+ @ApiModelProperty(value = "环节定义id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "业务sid")
+ private String businessSid;
+ @ApiModelProperty(value = "0 上一环节 1下一环节")
+ private Integer next;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyNodeVo.java
new file mode 100644
index 0000000000..808fed6ba0
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyNodeVo.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:03
+ * @Description
+ */
+@Data
+public class LoanCreditApplyNodeVo implements Vo {
+ private static final long serialVersionUID = -833419512294877848L;
+
+ @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/loancreditappealapply/flowable/LoanCreditApplyTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyTaskQuery.java
new file mode 100644
index 0000000000..bf5a055ec5
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyTaskQuery.java
@@ -0,0 +1,48 @@
+package com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:06
+ * @Description
+ */
+@Data
+public class LoanCreditApplyTaskQuery implements Query {
+ private static final long serialVersionUID = 1288615499873178778L;
+
+ /**
+ * 终止、驳回、撤回
+ */
+ @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(PC)")
+ private String instanceId;
+
+ @ApiModelProperty("流程实例Id(移动)")
+ private String procInsId;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/SubmitLoanCreditApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/SubmitLoanCreditApplyDto.java
new file mode 100644
index 0000000000..2b11c212dd
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/SubmitLoanCreditApplyDto.java
@@ -0,0 +1,24 @@
+package com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable;
+
+import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApplyDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liuguohui
+ * @version 1.0
+ * @description
+ * @date 2022/04/13
+ */
+@ApiModel("提交")
+@Data
+public class SubmitLoanCreditApplyDto extends LoanCreditAppealApplyDto {
+
+ @ApiModelProperty("意见")
+ private String comment;
+ @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/loancreditappealpeo/LoanCreditAppealPeoDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDetailsVo.java
index 97ec2be237..2f4d0ac2c9 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDetailsVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDetailsVo.java
@@ -49,17 +49,19 @@ import lombok.Data;
@ApiModel(value = "信用审核申诉人员表 视图数据详情", description = "信用审核申诉人员表 视图数据详情")
public class LoanCreditAppealPeoDetailsVo implements Vo {
- private String sid; // sid
+ private String sid;
+ @ApiModelProperty("备注")
+ private String remarks;
@ApiModelProperty("创建人接口")
- private String createByName; // 创建人接口
+ private String createByName;
@ApiModelProperty("姓名")
- private String name; // 姓名
+ private String name;
@ApiModelProperty("身份证号码")
- private String idCard; // 身份证号码
+ private String idCard;
@ApiModelProperty("手机号码")
- private String phone; // 手机号码
+ private String phone;
@ApiModelProperty("主表sid")
- private String mainSid; // 主表sid
+ private String mainSid;
}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDto.java
index f947ff52e2..25671240d7 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDto.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDto.java
@@ -51,6 +51,8 @@ public class LoanCreditAppealPeoDto implements Dto {
private String sid; // sid
+ @ApiModelProperty("备注")
+ private String remarks;
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
@ApiModelProperty("姓名")
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.java
index 84a7acf9af..e379443a32 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.java
@@ -36,6 +36,7 @@ import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApply;
import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApplyVo;
import java.util.List;
+import java.util.Map;
/**
* Project: anrui-riskcenter(信用审核申诉)
@@ -64,4 +65,6 @@ public interface LoanCreditAppealApplyMapper extends BaseMapper selectListVo();
int selectBySid(String join);
+
+ int updateFlowFiled(Map map);
}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.xml
index 584ed2f6e5..c3196de78c 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.xml
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.xml
@@ -44,4 +44,19 @@
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
+
+
+ UPDATE loan_credit_appeal_apply
+ SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
+
+ , procDefId=#{procDefId}
+
+
+ , procInstSid=#{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/loancreditappealapply/LoanCreditAppealApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyRest.java
index a31c701dcc..2398ebe178 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyRest.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyRest.java
@@ -25,11 +25,16 @@
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loancreditappealapply;
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
+import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
+import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -89,8 +94,49 @@ public class LoanCreditAppealApplyRest implements LoanCreditAppealApplyFeign {
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
- ResultBean rb = ResultBean.fireFail();
- LoanCreditAppealApplyDetailsVo vo = loanCreditAppealApplyService.fetchDetailsVoBySid(sid);
- return rb.success().setData(vo);
+ return loanCreditAppealApplyService.fetchDetailsVoBySid(sid);
+ }
+
+ @Override
+ public ResultBean init(String sid) {
+ return loanCreditAppealApplyService.init(sid);
+ }
+
+ @Override
+ public ResultBean submitLoanCreditApply(SubmitLoanCreditApplyDto dto) {
+ return loanCreditAppealApplyService.submitLoanCreditApply(dto);
+ }
+
+ @Override
+ public ResultBean complete(LoanCreditApplyCompleteDto query) {
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ bv.setModelId(ProcDefEnum.LOANCREDITAPPEALAPPLY.getProDefId());
+ return loanCreditAppealApplyService.complete(bv);
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(LoanCreditApplyNodeQuery query) {
+ return loanCreditAppealApplyService.getPreviousNodesForReject(query);
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(LoanCreditApplyNodeQuery query) {
+ return loanCreditAppealApplyService.getNextNodesForSubmit(query);
+ }
+
+ @Override
+ public ResultBean reject(LoanCreditApplyTaskQuery query) {
+ return loanCreditAppealApplyService.reject(query);
+ }
+
+ @Override
+ public ResultBean revokeProcess(LoanCreditApplyTaskQuery query) {
+ return loanCreditAppealApplyService.revokeProcess(query);
+ }
+
+ @Override
+ public ResultBean breakProcess(LoanCreditApplyTaskQuery query) {
+ return loanCreditAppealApplyService.breakProcess(query);
}
}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyService.java
index 4eb4ad646e..d0677f6ee1 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyService.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyService.java
@@ -26,16 +26,41 @@
package com.yxt.anrui.riskcenter.biz.loancreditappealapply;
import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign;
+import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
+import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo;
+import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
+import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
+import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
+import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery;
+import com.yxt.anrui.flowable.api.flow.FlowableFeign;
+import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
+import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
+import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
+import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
+import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
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.loancreditappealapply.flowable.LoanCreditApplyNodeQuery;
+import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.LoanCreditApplyNodeVo;
+import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.LoanCreditApplyTaskQuery;
+import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.SubmitLoanCreditApplyDto;
+import com.yxt.anrui.riskcenter.api.loancreditappealpeo.LoanCreditAppealPeoDetailsVo;
import com.yxt.anrui.riskcenter.api.loancreditappealpeo.LoanCreditAppealPeoDto;
+import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyVo;
import com.yxt.anrui.riskcenter.biz.loancreditappealpeo.LoanCreditAppealPeoService;
+import com.yxt.anrui.riskcenter.biz.loanpreloancreditapply.LoanPreloanCreditApplyService;
import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.messagecenter.api.message.MessageFeign;
+import com.yxt.messagecenter.api.message.MessageFlowVo;
+import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@@ -52,7 +77,9 @@ import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApplyF
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* Project: anrui-riskcenter(信用审核申诉)
@@ -70,174 +97,380 @@ import java.util.List;
@Service
public class LoanCreditAppealApplyService extends MybatisBaseService {
- @Autowired
- private SysUserFeign sysUserFeign;
- @Autowired
- private LoanCreditAppealPeoService loanCreditAppealPeoService;
- @Autowired
- private CommonAppendixFeign commonAppendixFeign;
- @Autowired
- private FileUploadComponent fileUploadComponent;
-
- public PagerVo listPageVo(PagerQuery pq) {
- LoanCreditAppealApplyQuery query = pq.getParams();
- QueryWrapper qw = new QueryWrapper<>();
- if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) {
- //=======================
- PrivilegeQuery privilegeQuery = new PrivilegeQuery();
- privilegeQuery.setOrgPath(query.getOrgSidPath());
- 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.getOrgSidPath();
- 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("lc.orgSidPath", orgSidPath);
- } else if ("2".equals(orgLevelKey)) {
- orgSidPath = orgSidPath.substring(0, i2);
- qw.like("lc.orgSidPath", orgSidPath);
- } else if ("3".equals(orgLevelKey)) {
- orgSidPath = orgSidPath.substring(0, i3);
- qw.like("lc.orgSidPath", orgSidPath);
- } else if ("4".equals(orgLevelKey)) {
- orgSidPath = orgSidPath.substring(0, i4);
- qw.like("lc.orgSidPath", orgSidPath);
- } else if ("5".equals(orgLevelKey)) {
- qw.eq("lc.createBySid", query.getUserSid());
- } else {
- PagerVo p = new PagerVo<>();
- return p;
- }
- } else {
- PagerVo p = new PagerVo<>();
- return p;
- }
- }
- if (StringUtils.isNotBlank(query.getApplyDeptName())) {
- qw.like("lc.applyDeptName", query.getApplyDeptName());
- }
- if (StringUtils.isNotBlank(query.getCreateByName())) {
- qw.like("lc.createByName", query.getCreateByName());
- }
- if (StringUtils.isNotBlank(query.getModelName())) {
- qw.like("lp.modelName", query.getModelName());
- }
- if (StringUtils.isNotBlank(query.getCustTypeValue())) {
- qw.like("lp.custTypeValue", query.getCustTypeValue());
- }
- if (StringUtils.isNotBlank(query.getKhqyName())) {
- qw.and(wrapper -> wrapper.like("lp.custName", query.getKhqyName()).or().like("lp.qyName", query.getKhqyName()));
- }
- if (StringUtils.isNotBlank(query.getIdCard())) {
- qw.like("lp.idCard", query.getIdCard());
- }
- if (StringUtils.isNotBlank(query.getPhone())) {
- qw.like("lp.phone", query.getPhone());
- }
- if (StringUtils.isNotBlank(query.getGsfkjg())) {
- qw.like("lp.gsfkjg", query.getGsfkjg());
- }
- if (StringUtils.isNotBlank(query.getZffkjg())) {
- qw.like("lp.zffkjg", query.getZffkjg());
- }
- if (StringUtils.isNotBlank(query.getSsjg())) {
- qw.like("lp.ssjg", query.getSsjg());
- }
- if (StringUtils.isNotBlank(query.getName())) {
- }
- IPage page = PagerUtil.queryToPage(pq);
- IPage pagging = baseMapper.selectPageVo(page, qw);
- PagerVo p = PagerUtil.pageToVo(pagging, null);
- return p;
- }
-
- public ResultBean saveOrUpdateDto(LoanCreditAppealApplyDto dto){
- ResultBean rb = ResultBean.fireFail();
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private LoanCreditAppealPeoService loanCreditAppealPeoService;
+ @Autowired
+ private CommonAppendixFeign commonAppendixFeign;
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private LoanPreloanCreditApplyService loanPreloanCreditApplyService;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ LoanCreditAppealApplyQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) {
+ //=======================
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgSidPath());
+ 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.getOrgSidPath();
+ 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("lc.orgSidPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("lc.orgSidPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("lc.orgSidPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("lc.orgSidPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("lc.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getUseOrgName())) {
+ qw.like("lc.useOrgName", query.getUseOrgName());
+ }
+ if (StringUtils.isNotBlank(query.getApplyDeptName())) {
+ qw.like("lc.applyDeptName", query.getApplyDeptName());
+ }
+ if (StringUtils.isNotBlank(query.getCreateByName())) {
+ qw.like("lc.createByName", query.getCreateByName());
+ }
+ if (StringUtils.isNotBlank(query.getModelName())) {
+ qw.like("lp.modelName", query.getModelName());
+ }
+ if (StringUtils.isNotBlank(query.getCustTypeValue())) {
+ qw.like("lp.custTypeValue", query.getCustTypeValue());
+ }
+ if (StringUtils.isNotBlank(query.getKhqyName())) {
+ qw.and(wrapper -> wrapper.like("lp.custName", query.getKhqyName()).or().like("lp.qyName", query.getKhqyName()));
+ }
+ if (StringUtils.isNotBlank(query.getIdCard())) {
+ qw.like("lp.idCard", query.getIdCard());
+ }
+ if (StringUtils.isNotBlank(query.getPhone())) {
+ qw.like("lp.phone", query.getPhone());
+ }
+ if (StringUtils.isNotBlank(query.getGsfkjg())) {
+ qw.like("lp.gsfkjg", query.getGsfkjg());
+ }
+ if (StringUtils.isNotBlank(query.getZffkjg())) {
+ qw.like("lp.zffkjg", query.getZffkjg());
+ }
+ if (StringUtils.isNotBlank(query.getSsjg())) {
+ qw.like("lp.ssjg", query.getSsjg());
+ }
+ if (StringUtils.isNotBlank(query.getName())) {
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public ResultBean saveOrUpdateDto(LoanCreditAppealApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String dtoSid = dto.getSid();
+ List loanCreditAppealPeos = dto.getLoanCreditAppealPeos();
+ List ssImages = dto.getSsImages();
+ if (StringUtils.isBlank(dtoSid)) {
+ String sid = this.insertByDto(dto);
+ for (LoanCreditAppealPeoDto loanCreditAppealPeo : loanCreditAppealPeos) {
+ loanCreditAppealPeo.setMainSid(sid);
+ loanCreditAppealPeoService.insertByDto(loanCreditAppealPeo);
+ }
+ for (String ssImage : ssImages) {
+ CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
+ if (ssImage.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
+ ssImage = ssImage.replace(fileUploadComponent.getUrlPrefix(), "");
+ }
+ commonAppendixDto.setLinkSid(sid);
+ commonAppendixDto.setFilePath(ssImage);
+ commonAppendixFeign.save(commonAppendixDto);
+ }
+ return rb.success().setData(sid);
+ }
+ this.updateByDto(dto);
+ loanCreditAppealPeoService.delByMainSid(dtoSid);
+ for (LoanCreditAppealPeoDto loanCreditAppealPeo : loanCreditAppealPeos) {
+ loanCreditAppealPeo.setMainSid(dtoSid);
+ loanCreditAppealPeoService.insertByDto(loanCreditAppealPeo);
+ }
+ commonAppendixFeign.deleteFiles(dtoSid);
+ for (String ssImage : ssImages) {
+ CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
+ if (ssImage.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
+ ssImage = ssImage.replace(fileUploadComponent.getUrlPrefix(), "");
+ }
+ commonAppendixDto.setLinkSid(dtoSid);
+ commonAppendixDto.setFilePath(ssImage);
+ commonAppendixFeign.save(commonAppendixDto);
+ }
+ return rb.success().setData(dtoSid);
+ }
+
+ public String insertByDto(LoanCreditAppealApplyDto dto) {
+ LoanCreditAppealApply entity = new LoanCreditAppealApply();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ entity.setNodeState("待提交");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(LoanCreditAppealApplyDto dto) {
String dtoSid = dto.getSid();
- List loanCreditAppealPeos = dto.getLoanCreditAppealPeos();
- List ssImages = dto.getSsImages();
- if (StringUtils.isBlank(dtoSid)) {
- String sid = this.insertByDto(dto);
- for (LoanCreditAppealPeoDto loanCreditAppealPeo : loanCreditAppealPeos) {
- loanCreditAppealPeo.setMainSid(sid);
- loanCreditAppealPeoService.insertByDto(loanCreditAppealPeo);
- }
- for (String ssImage : ssImages) {
- CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
- if (ssImage.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
- ssImage = ssImage.replace(fileUploadComponent.getUrlPrefix(), "");
- }
- commonAppendixDto.setLinkSid(sid);
- commonAppendixDto.setFilePath(ssImage);
- commonAppendixFeign.save(commonAppendixDto);
- }
- return rb.success();
- }
- this.updateByDto(dto);
- loanCreditAppealPeoService.delByMainSid(dtoSid);
- for (LoanCreditAppealPeoDto loanCreditAppealPeo : loanCreditAppealPeos) {
- loanCreditAppealPeo.setMainSid(dtoSid);
- loanCreditAppealPeoService.insertByDto(loanCreditAppealPeo);
- }
- commonAppendixFeign.deleteFiles(dtoSid);
- for (String ssImage : ssImages) {
- CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
- if (ssImage.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
- ssImage = ssImage.replace(fileUploadComponent.getUrlPrefix(), "");
- }
- commonAppendixDto.setLinkSid(dtoSid);
- commonAppendixDto.setFilePath(ssImage);
- commonAppendixFeign.save(commonAppendixDto);
- }
- return rb.success();
- }
-
- public String insertByDto(LoanCreditAppealApplyDto dto){
- LoanCreditAppealApply entity = new LoanCreditAppealApply();
- BeanUtil.copyProperties(dto, entity, "id", "sid");
- entity.setNodeState("待提交");
- baseMapper.insert(entity);
- return entity.getSid();
- }
-
- public void updateByDto(LoanCreditAppealApplyDto dto){
- String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
- }
- LoanCreditAppealApply entity = fetchBySid(dtoSid);
- BeanUtil.copyProperties(dto, entity, "id", "sid");
- baseMapper.updateById(entity);
- }
-
- public LoanCreditAppealApplyDetailsVo fetchDetailsVoBySid(String sid){
- LoanCreditAppealApply entity = fetchBySid(sid);
- LoanCreditAppealApplyDetailsVo vo = new LoanCreditAppealApplyDetailsVo();
- BeanUtil.copyProperties(entity, vo);
- return vo;
- }
-
- public ResultBean delAll(String[] sids) {
- ResultBean rb = ResultBean.fireFail();
- //查询该sid中是否有流程不是待提交的
- int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
- if (count > 0) {
- return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
- }
- delBySids(sids);
- for (String sid : sids) {
- commonAppendixFeign.deleteFiles(sid);
- loanCreditAppealPeoService.delByMainSid(sid);
- }
- return rb.success().setMsg("删除成功");
- }
+ }
+ LoanCreditAppealApply entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public ResultBean fetchDetailsVoBySid(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCreditAppealApply entity = fetchBySid(sid);
+ LoanCreditAppealApplyDetailsVo vo = new LoanCreditAppealApplyDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ String creditApplySid = entity.getCreditApplySid();
+ LoanPreloanCreditApplyDetailsVo loanPreloanCreditApplyDetailsVo = loanPreloanCreditApplyService.fetchDetailsVoBySid(creditApplySid);
+ vo.setLoanPreloanCreditApplyDetailsVo(loanPreloanCreditApplyDetailsVo);
+ List loanCreditAppealPeoDetailsVos = loanCreditAppealPeoService.fetchByMainSid(sid);
+ vo.setLoanCreditAppealPeos(loanCreditAppealPeoDetailsVos);
+ List data = commonAppendixFeign.selByLinkSid(sid).getData();
+ List ssImages = new ArrayList<>();
+ for (CommonAppendixVo datum : data) {
+ ssImages.add(datum.getFilePath());
+ }
+ vo.setSsImages(ssImages);
+ return rb.success().setData(vo);
+ }
+
+
+ public ResultBean init(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCreditAppealApplyDetailsVo vo = new LoanCreditAppealApplyDetailsVo();
+ LoanPreloanCreditApplyDetailsVo loanPreloanCreditApplyDetailsVo = loanPreloanCreditApplyService.fetchDetailsVoBySid(sid);
+ vo.setLoanPreloanCreditApplyDetailsVo(loanPreloanCreditApplyDetailsVo);
+ return rb.success().setData(vo);
+ }
+
+ public ResultBean delAll(String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ //查询该sid中是否有流程不是待提交的
+ int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
+ if (count > 0) {
+ return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
+ }
+ delBySids(sids);
+ for (String sid : sids) {
+ commonAppendixFeign.deleteFiles(sid);
+ loanCreditAppealPeoService.delByMainSid(sid);
+ }
+ return rb.success().setMsg("删除成功");
+ }
+
+ public ResultBean submitLoanCreditApply(SubmitLoanCreditApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCreditAppealApply loanCreditAppealApply = fetchBySid(dto.getSid());
+ int r = submitBusinessData(dto, loanCreditAppealApply);
+ if (r == 3) {
+ return rb.setMsg("该申请不存在");
+ }
+ if (r == 0) {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ //新增修改保存
+ ResultBean resultBean = saveOrUpdateDto(dto);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ String businessSid = resultBean.getData();
+ //创建BusinessVariables实体对象
+ BusinessVariables bv = new BusinessVariables();
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //用户的部门全路径sid
+ bv.setOrgSidPath(dto.getOrgSidPath());
+ //业务sid
+ bv.setBusinessSid(businessSid);
+ //用户sid
+ bv.setUserSid(dto.getCreateBySid());
+ //若app移动端有此功能,则传递appMap参数
+ Map appMap = new HashMap<>();
+ //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ //流程定义id
+ bv.setModelId(ProcDefEnum.LOANCREDITAPPEALAPPLY.getProDefId());
+ bv.setFormVariables(variables);
+ if (r == 1) {
+ ResultBean voResultBean = flowableFeign.startProcess(bv);
+ UpdateFlowFieldVo ufVo = voResultBean.getData();
+ updateFlowFiled(BeanUtil.beanToMap(ufVo));
+ //极光推送
+ loanCreditAppealApply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("信用审核申诉");
+ messageFlowableQuery.setMsgContent(loanCreditAppealApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("信用审核申诉");
+ messageFeign.pushMessage(messageFlowableQuery);
+ return voResultBean;
+ }
+ if (r == 2) {
+ // ToDo:驳回到发起人后再次提交
+ if (StringUtils.isBlank(dto.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ bv.setTaskId(loanCreditAppealApply.getTaskId());
+ bv.setTaskDefKey(loanCreditAppealApply.getNodeSid());
+ bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
+ bv.setInstanceId(dto.getInstanceId());
+ return complete(bv);
+ }
+ return rb;
+ }
+
+ private int updateFlowFiled(Map map) {
+ return baseMapper.updateFlowFiled(map);
+ }
+
+ private synchronized int submitBusinessData(SubmitLoanCreditApplyDto dto, LoanCreditAppealApply loanCreditAppealApply) {
+ int r = 0;
+ if (StringUtils.isBlank(dto.getSid())) {
+ r = 1;
+ } else {
+ if (loanCreditAppealApply != null) {
+ String businessTaskId = loanCreditAppealApply.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;
+ }
+
+ public ResultBean complete(BusinessVariables bv) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = bv.getBusinessSid();
+ LoanCreditAppealApply loanCreditAppealApply = fetchBySid(businessSid);
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
+ if (StringUtils.isBlank(loanCreditAppealApply.getProcDefId())){
+ flowProcessMapQuery.setProDefKey(bv.getModelId());
+ }else {
+ flowProcessMapQuery.setProDefKey(loanCreditAppealApply.getProcDefId());
+ }
+ flowProcessMapQuery.setVariables(variables);
+ variables = flowableFeign.getMap(flowProcessMapQuery).getData();
+ //=======================================
+ bv.setFormVariables(variables);
+ bv.setOrgSidPath(loanCreditAppealApply.getOrgSidPath());
+ if (bv.getTaskId().equals(loanCreditAppealApply.getTaskId())) {
+ ResultBean resultBean = flowableFeign.handleProsess(bv);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
+ } else {
+ //极光推送
+ loanCreditAppealApply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ ufVo.setProcDefId(loanCreditAppealApply.getProcDefId());
+ ufVo.setProcInsId(loanCreditAppealApply.getProcInstSid());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("信用审核申诉");
+ messageFlowableQuery.setMsgContent(loanCreditAppealApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("信用审核申诉");
+ messageFeign.pushMessage(messageFlowableQuery);
+ }
+ return rb.success().setData(resultBean.getData());
+ } else {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ }
+
+ public ResultBean> getPreviousNodesForReject(LoanCreditApplyNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LoanCreditApplyNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean> getNextNodesForSubmit(LoanCreditApplyNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LoanCreditApplyNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean reject(LoanCreditApplyTaskQuery query) {
+ return null;
+ }
+
+ public ResultBean revokeProcess(LoanCreditApplyTaskQuery query) {
+ return null;
+ }
+
+ public ResultBean breakProcess(LoanCreditApplyTaskQuery query) {
+ return null;
+ }
+
}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoMapper.java
index 4852def16a..19a79dc6d7 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoMapper.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoMapper.java
@@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
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.loancreditappealpeo.LoanCreditAppealPeoDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -66,4 +67,7 @@ public interface LoanCreditAppealPeoMapper extends BaseMapper fetchByMainSid(String sid);
}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoService.java
index 60d9c19f62..3cfc4bb413 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoService.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoService.java
@@ -111,4 +111,8 @@ public class LoanCreditAppealPeoService extends MybatisBaseService fetchByMainSid(String sid) {
+ return baseMapper.fetchByMainSid(sid);
+ }
}
\ No newline at end of file
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java
index a4f8a93c2a..8a54c3ef58 100644
--- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java
@@ -21,7 +21,7 @@ import java.util.List;
* @Date
* @Description
*/
-@Api(tags = "贷前信用审核")
+@Api(tags = "贷前信用审核/信用申诉")
@FeignClient(
contextId = "terminal-CreditReview",
name = "anrui-terminal",