WorkflowService.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading.Tasks;
  5. using wispro.sp.entity.workflowDefine;
  6. using wispro.sp.share;
  7. namespace wispro.sp.web.Services
  8. {
  9. public class WorkflowService
  10. {
  11. private readonly IHttpService _httpClient;
  12. public WorkflowService(IHttpService http)
  13. {
  14. _httpClient = http;
  15. }
  16. private List<BindObjectType> bindObjectTypes = new List<BindObjectType>()
  17. {
  18. new BindObjectType(){ Name ="绩效记录",ObjectTypeFullName = typeof(wispro.sp.entity.PerformanceItem).AssemblyQualifiedName },
  19. new BindObjectType(){ Name ="人员",ObjectTypeFullName = typeof(wispro.sp.entity.Staff).AssemblyQualifiedName}
  20. };
  21. public List<BindObjectType> GetBindObjects()
  22. {
  23. return bindObjectTypes;
  24. }
  25. public string GetBindObjectName(string ObjectTypeFullName)
  26. {
  27. var retObj = bindObjectTypes.FirstOrDefault<BindObjectType>(b => b.ObjectTypeFullName == ObjectTypeFullName);
  28. if(retObj != null)
  29. {
  30. return retObj.Name;
  31. }
  32. else
  33. {
  34. return "";
  35. }
  36. }
  37. List<entity.workflowDefine.Workflow> Workflows = new List<Workflow>();
  38. Dictionary<int, List<entity.workflowDefine.InputValueSetting>> InitInputValues = new Dictionary<int, List<InputValueSetting>>();
  39. public async Task<ApiSaveResponse> AddWorkflow(entity.workflowDefine.Workflow wf,entity.workflowDefine.Action InitAction)
  40. {
  41. share.NewWorkflowObject newWorkflow = new share.NewWorkflowObject();
  42. newWorkflow.Workflow = wf;
  43. newWorkflow.InitAction = InitAction;
  44. Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(newWorkflow));
  45. var ret = await _httpClient.Post<ApiSaveResponse>("WorkflowEngine/AddNew", newWorkflow);
  46. return ret;
  47. }
  48. public async Task<List<Workflow>> getAllWorkflows()
  49. {
  50. var retList = await _httpClient.Get<List<Workflow>>($"WorkflowEngine/GetAllWorkflows");
  51. return retList;
  52. }
  53. public async Task<Workflow> GetWorkflow(int Id)
  54. {
  55. Workflow ret = await _httpClient.Get<Workflow>($"WorkflowEngine/GetWorkflow?workflowId={Id}");
  56. Console.WriteLine(System.Text.Json.JsonSerializer.Serialize(ret));
  57. return ret;
  58. }
  59. public async Task<List<entity.workflowDefine.Step>> GetSteps(int Id)
  60. {
  61. var ret = await _httpClient.Get<List<entity.workflowDefine.Step>>($"WorkflowEngine/GetSteps?workflowId={Id}");
  62. return ret;
  63. }
  64. public async Task<List<entity.workflowDefine.Action>> GetActions(int workflowId)
  65. {
  66. var ret = await _httpClient.Get<List<entity.workflowDefine.Action>>($"WorkflowEngine/GetActions?workflowId={workflowId}");
  67. return ret;
  68. }
  69. public async Task<List<entity.workflowDefine.TrasferCondition>> GetTransfers(int workflowId)
  70. {
  71. var ret = await _httpClient.Get<List<entity.workflowDefine.TrasferCondition>>($"WorkflowEngine/GetTrasfers?workflowId={workflowId}");
  72. return ret;
  73. }
  74. public async Task<ApiSaveResponse> SaveStep(NewStepObject editStep)
  75. {
  76. var ret = await _httpClient.Post<ApiSaveResponse>("WorkflowEngine/SaveStep", editStep);
  77. return ret;
  78. }
  79. public async Task<ApiSaveResponse> SaveAction(entity.workflowDefine.Action editAction)
  80. {
  81. var ret = await _httpClient.Post<ApiSaveResponse>("WorkflowEngine/SaveAction", editAction);
  82. return ret;
  83. }
  84. public async Task<ApiSaveResponse> SaveTransfer(entity.workflowDefine.TrasferCondition trasfer)
  85. {
  86. var ret = await _httpClient.Post<ApiSaveResponse>("WorkflowEngine/SaveTransfer", trasfer);
  87. return ret;
  88. }
  89. }
  90. }