FlowExampleService.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.fjhx.flow.service.flow;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.fjhx.flow.entity.flow.dto.FlowExampleSelectDto;
  4. import com.fjhx.flow.entity.flow.dto.FlowNodeDto;
  5. import com.fjhx.flow.entity.flow.dto.SetStartDataDto;
  6. import com.fjhx.flow.entity.flow.po.FlowExample;
  7. import com.fjhx.flow.entity.flow.po.FlowInfo;
  8. import com.fjhx.flow.entity.flow.vo.ApprovalRecordVo;
  9. import com.fjhx.flow.entity.flow.vo.FlowExampleVo;
  10. import com.ruoyi.common.core.domain.BaseIdPo;
  11. import com.ruoyi.common.core.service.BaseService;
  12. import java.util.Collections;
  13. import java.util.List;
  14. import java.util.function.BiConsumer;
  15. import java.util.function.Function;
  16. /**
  17. * <p>
  18. * 流程实例 服务类
  19. * </p>
  20. *
  21. * @author
  22. * @since 2023-03-16
  23. */
  24. public interface FlowExampleService extends BaseService<FlowExample> {
  25. /**
  26. * 获取流程类型
  27. */
  28. List<FlowInfo> getFlowType();
  29. /**
  30. * 获取待处理流程实例
  31. */
  32. Page<FlowExampleVo> getToBeProcessedPage(FlowExampleSelectDto dto);
  33. /**
  34. * 获取已发起流程实例
  35. */
  36. Page<FlowExampleVo> getHaveInitiatedPage(FlowExampleSelectDto dto);
  37. /**
  38. * 获取已处理流程实例
  39. */
  40. Page<FlowExampleVo> getProcessedPage(FlowExampleSelectDto dto);
  41. /**
  42. * 获取审批记录
  43. */
  44. ApprovalRecordVo getApprovalRecord(Long id);
  45. /**
  46. * 获取流程分页列表
  47. */
  48. Page<FlowExampleVo> getPage(FlowExampleSelectDto dto);
  49. /**
  50. * 发起流程记录
  51. */
  52. List<ApprovalRecordVo.Record> getFlowNode(FlowNodeDto dto);
  53. /**
  54. * 重新赋值开始节点数据
  55. */
  56. void setStartData(SetStartDataDto dto);
  57. /**
  58. * 赋值流程id
  59. */
  60. <T> void setFlowId(List<T> list, Function<T, Long> getIdFun, BiConsumer<T, Long> setFun);
  61. /**
  62. * 赋值流程id
  63. */
  64. default <T extends BaseIdPo> void setFlowId(List<T> list, BiConsumer<T, Long> setFun) {
  65. setFlowId(list, BaseIdPo::getId, setFun);
  66. }
  67. /**
  68. * 赋值流程id
  69. */
  70. default <T extends BaseIdPo> void setFlowId(T entity, BiConsumer<T, Long> setFun) {
  71. setFlowId(Collections.singletonList(entity), BaseIdPo::getId, setFun);
  72. }
  73. /**
  74. * 赋值流程id
  75. */
  76. default <T> void setFlowId(T entity, Function<T, Long> getIdFun, BiConsumer<T, Long> setFun) {
  77. setFlowId(Collections.singletonList(entity), getIdFun, setFun);
  78. }
  79. }