Browse Source

优化工作

master
God 2 years ago
parent
commit
7a872ae807
  1. 18
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  2. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
  3. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java
  4. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data_model.json
  5. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  6. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDetailsVo.java
  7. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyDto.java
  8. 36
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeign.java
  9. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyFeignFallback.java
  10. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/LoanCreditAppealApplyQuery.java
  11. 37
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyCompleteDto.java
  12. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyNodeQuery.java
  13. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyNodeVo.java
  14. 48
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/LoanCreditApplyTaskQuery.java
  15. 24
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealapply/flowable/SubmitLoanCreditApplyDto.java
  16. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDetailsVo.java
  17. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancreditappealpeo/LoanCreditAppealPeoDto.java
  18. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.java
  19. 15
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyMapper.xml
  20. 52
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyRest.java
  21. 569
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealapply/LoanCreditAppealApplyService.java
  22. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoMapper.java
  23. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancreditappealpeo/LoanCreditAppealPeoService.java
  24. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java

18
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")
<where>
${ew.SqlSegment}
</where>
@ -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")
<where>
${ew.sqlSegment}
</where>

3
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<Fi
}
}
qw.eq("ferd.auditState", 3);
qw.ne("bv.vehicleState", VehicleState.StockEnum.OUT_STOCK.getCode());
qw.eq("ferd.kxState","01");
//qw.ne("bv.vehicleState", VehicleState.StockEnum.OUT_STOCK.getCode());
if (StringUtils.isNotBlank(query.getStaffDeptName())) {
qw.and(wrapper -> wrapper.like("fcc.staffDeptName", query.getStaffDeptName()).or().like("ffcfa.saleDeptName", query.getStaffDeptName()));
}

3
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<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), kingDeeData, KingDeeBillUrl.SUBMIT_URL.getURL());
String submitKD = getSubmitKD(resultBean1.getData(),KingDeeBillId.AR_OTHERRECEIVABLE.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), submitKD, KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("其他应收单提交失败!");
return rb.setMsg("其他应收单提交失败!");

6
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": "",

1
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*********************************************/

20
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(信用审核申诉) <br/>
* File: LoanCreditAppealApplyVo.java <br/>
@ -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<LoanCreditAppealPeoDetailsVo> loanCreditAppealPeos = new ArrayList<>();
@ApiModelProperty("申诉附件")
private List<String> ssImages = new ArrayList<>();
}

2
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("申诉原因")

36
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<LoanCreditAppealApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("初始化申诉申请")
@GetMapping("/init/{sid}")
@ResponseBody
public ResultBean<LoanCreditAppealApplyDetailsVo> 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<List<LoanCreditApplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap LoanCreditApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<LoanCreditApplyNodeVo>> 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);
}

41
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<LoanCreditAppealApplyDetailsVo> init(String sid) {
return null;
}
@Override
public ResultBean submitLoanCreditApply(SubmitLoanCreditApplyDto dto) {
return null;
}
@Override
public ResultBean complete(LoanCreditApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<LoanCreditApplyNodeVo>> getPreviousNodesForReject(LoanCreditApplyNodeQuery query) {
return null;
}
@Override
public ResultBean<List<LoanCreditApplyNodeVo>> 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;
}
}

2
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("创建人接口")

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

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

26
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<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

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

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

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

2
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("姓名")

3
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(信用审核申诉) <br/>
@ -64,4 +65,6 @@ public interface LoanCreditAppealApplyMapper extends BaseMapper<LoanCreditAppeal
List<LoanCreditAppealApplyVo> selectListVo();
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> map);
}

15
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})
</select>
<update id="updateFlowFiled">
UPDATE loan_credit_appeal_apply
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
</mapper>

52
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<LoanCreditAppealApplyDetailsVo> 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<LoanCreditAppealApplyDetailsVo> 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<List<LoanCreditApplyNodeVo>> getPreviousNodesForReject(LoanCreditApplyNodeQuery query) {
return loanCreditAppealApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<LoanCreditApplyNodeVo>> 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);
}
}

569
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(信用审核申诉) <br/>
@ -70,174 +97,380 @@ import java.util.List;
@Service
public class LoanCreditAppealApplyService extends MybatisBaseService<LoanCreditAppealApplyMapper, LoanCreditAppealApply> {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private LoanCreditAppealPeoService loanCreditAppealPeoService;
@Autowired
private CommonAppendixFeign commonAppendixFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
public PagerVo<LoanCreditAppealApplyVo> listPageVo(PagerQuery<LoanCreditAppealApplyQuery> pq) {
LoanCreditAppealApplyQuery query = pq.getParams();
QueryWrapper<LoanCreditAppealApply> 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<String> 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<LoanCreditAppealApplyVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanCreditAppealApplyVo> 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<LoanCreditAppealApply> page = PagerUtil.queryToPage(pq);
IPage<LoanCreditAppealApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<LoanCreditAppealApplyVo> 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<LoanCreditAppealApplyVo> listPageVo(PagerQuery<LoanCreditAppealApplyQuery> pq) {
LoanCreditAppealApplyQuery query = pq.getParams();
QueryWrapper<LoanCreditAppealApply> 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<String> 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<LoanCreditAppealApplyVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanCreditAppealApplyVo> 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<LoanCreditAppealApply> page = PagerUtil.queryToPage(pq);
IPage<LoanCreditAppealApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<LoanCreditAppealApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<String> saveOrUpdateDto(LoanCreditAppealApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<LoanCreditAppealPeoDto> loanCreditAppealPeos = dto.getLoanCreditAppealPeos();
List<String> 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<LoanCreditAppealPeoDto> loanCreditAppealPeos = dto.getLoanCreditAppealPeos();
List<String> 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<LoanCreditAppealApplyDetailsVo> 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<LoanCreditAppealPeoDetailsVo> loanCreditAppealPeoDetailsVos = loanCreditAppealPeoService.fetchByMainSid(sid);
vo.setLoanCreditAppealPeos(loanCreditAppealPeoDetailsVos);
List<CommonAppendixVo> data = commonAppendixFeign.selByLinkSid(sid).getData();
List<String> ssImages = new ArrayList<>();
for (CommonAppendixVo datum : data) {
ssImages.add(datum.getFilePath());
}
vo.setSsImages(ssImages);
return rb.success().setData(vo);
}
public ResultBean<LoanCreditAppealApplyDetailsVo> 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<String> resultBean = saveOrUpdateDto(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//用户的部门全路径sid
bv.setOrgSidPath(dto.getOrgSidPath());
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
//若app移动端有此功能,则传递appMap参数
Map<String, Object> 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<UpdateFlowFieldVo> 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<String, Object> 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<String, Object> variables = new HashMap<>();
Map<String, Object> 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<UpdateFlowFieldVo> 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<List<LoanCreditApplyNodeVo>> getPreviousNodesForReject(LoanCreditApplyNodeQuery query) {
ResultBean<List<LoanCreditApplyNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<LoanCreditApplyNodeVo> 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<List<LoanCreditApplyNodeVo>> getNextNodesForSubmit(LoanCreditApplyNodeQuery query) {
ResultBean<List<LoanCreditApplyNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<LoanCreditApplyNodeVo> 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;
}
}

4
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<LoanCreditAppealPe
@Delete("delete from loan_credit_appeal_peo where mainSid = #{dtoSid}")
void delByMainSid(String dtoSid);
@Select("select * from loan_credit_appeal_peo where mainSid = #{sid}")
List<LoanCreditAppealPeoDetailsVo> fetchByMainSid(String sid);
}

4
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<LoanCreditApp
public void delByMainSid(String dtoSid) {
baseMapper.delByMainSid(dtoSid);
}
public List<LoanCreditAppealPeoDetailsVo> fetchByMainSid(String sid) {
return baseMapper.fetchByMainSid(sid);
}
}

2
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",

Loading…
Cancel
Save