Execute.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. using Abp;
  2. using DataTransmission.Joint;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace DataTransmission
  10. {
  11. public class Execute
  12. {
  13. private readonly CommonTool tool = new CommonTool();
  14. private readonly Order order = new Order();
  15. private readonly Workflow workflow = new Workflow();
  16. private readonly Public _public = new Public();
  17. private readonly Visit visit = new Visit();
  18. private readonly Delay delay = new Delay();
  19. private readonly Knowledge knowledge = new Knowledge();
  20. private readonly Organize organize = new Organize();
  21. private readonly User user = new User();
  22. private readonly Notice notice = new Notice();
  23. private readonly OrderPublic orderPublic = new OrderPublic();
  24. public void ExecuteSql(DataTable orderTable)
  25. {
  26. try
  27. {
  28. DataTable org = GetPgOrganize();
  29. DataTable user = GetPgUser();
  30. foreach (DataRow row in orderTable.Rows)
  31. {
  32. var pgConn = tool.GetConPgSql();
  33. var pgOrder = tool.GetDataTable($@" SELECT * from ""order"" where ""No"" ='{row["FSH_Code"]}'; ", pgConn);
  34. if (pgOrder != null && pgOrder.Rows.Count > 0)
  35. {
  36. continue;
  37. }
  38. var orderId = SequentialGuidGenerator.Instance.Create().ToString("D");
  39. var VisitId = SequentialGuidGenerator.Instance.Create().ToString("D");
  40. var module = tool.GetDataTable($@" SELECT * from ""workflow_module"" ; ", pgConn);
  41. var definition = tool.GetDataTable($@"SELECT * FROM workflow_definition WHERE ""Status"" =1 ; ", pgConn);
  42. //工单
  43. var pgOrderSql = order.GetOrderISql(row, orderId, org, user);
  44. //工单流程
  45. var orderModule = module.AsEnumerable().FirstOrDefault(x => x.Field<string>("Code").ToString() == "OrderHandle");
  46. //var orderDefinition = definition.AsEnumerable().FirstOrDefault(x => x.Field<string>("Id").ToString() == orderModule["DefinitionId"].ToString());
  47. var pgOrderWorkflow = workflow.GetWorkflow(row["FSH_FlowID"].ToString(), "CityHotline");
  48. var pgOrderWorkflowSql = workflow.GetWorkflowSql(pgOrderWorkflow, row, orderId, org, user, orderModule);
  49. //发布
  50. var publicTable = _public.GetOldPublic(row["FSH_FlowID"].ToString());
  51. var publicSql = _public.GetOldPublicSql(publicTable, row, orderId, org, user);
  52. //回访
  53. var appraiseTable = visit.GetVisit(row["FSH_FlowID"].ToString());
  54. var visitSql = visit.GetVisitSql(appraiseTable, row, VisitId, orderId, org, user);
  55. //延期
  56. var delayTable = delay.GetDelay(row["FSH_FlowID"].ToString());
  57. var delaySql = delay.GetDelaySql(delayTable, row, orderId, org, user);
  58. var pgSql = pgOrderSql;
  59. pgSql = pgOrderWorkflowSql.Length > 0 ? pgSql + pgOrderWorkflowSql : pgSql;
  60. pgSql = publicSql.Length > 0 ? pgSql + publicSql : pgSql;
  61. pgSql = visitSql.Length > 0 ? pgSql + visitSql : pgSql;
  62. pgSql = delaySql.Length > 0 ? pgSql + delaySql : pgOrderSql;
  63. tool.SaveLog("SQL :" + pgSql + " ;", 1);
  64. tool.Execute(pgSql, pgConn);
  65. }
  66. }
  67. catch (Exception e)
  68. {
  69. tool.SaveLog(e.ToString(), 1);
  70. throw;
  71. }
  72. }
  73. public void ExecuteTypeSql()
  74. {
  75. var pgConn = tool.GetConPgSql();
  76. var pgSql = knowledge.GetKnowledgeTypeSql();
  77. tool.SaveLog("KnowledgeTypeSQL :" + pgSql + " ;", 1);
  78. //tool.Execute(pgSql, pgConn);
  79. }
  80. public void ExecuteOrganizeSql()
  81. {
  82. var pgConn = tool.GetConPgSql();
  83. var pgSql = organize.GetOrganize();
  84. tool.SaveLog("OrganizeSQL :" + pgSql + " ;", 1);
  85. //tool.Execute(pgSql, pgConn);
  86. }
  87. public void ExecuteUserSql()
  88. {
  89. var pgConn = tool.GetConPgSql();
  90. var pgSql = user.GetUserSql();
  91. tool.SaveLog("UserSQL :" + pgSql + " ;", 1);
  92. //tool.Execute(pgSql, pgConn);
  93. }
  94. public void ExecuteStaffSql()
  95. {
  96. var pgConn = tool.GetConPgSql();
  97. var pgSql = user.GetStaffNoSql();
  98. tool.SaveLog("StaffSQL :" + pgSql + " ;", 1);
  99. //tool.Execute(pgSql, pgConn);
  100. }
  101. /// <summary>
  102. /// 同步工单已发布数据
  103. /// </summary>
  104. /// <param name="stTime"></param>
  105. /// <param name="endTime"></param>
  106. public void ExecuteInsertOrderPublic(string stTime, string endTime)
  107. {
  108. var know = orderPublic.GetOldNotice(stTime, endTime);
  109. foreach (DataRow item in know.Rows)
  110. {
  111. var insert = orderPublic.GetNoticeSql(item);
  112. if (!string.IsNullOrEmpty(insert))
  113. {
  114. var pgConn = tool.GetConPgSql();
  115. // tool.SaveLog("KnowledgeSQL :" + insert + " ;", 1);
  116. tool.Execute(insert, pgConn);
  117. }
  118. }
  119. }
  120. /// <summary>
  121. /// 消息通知
  122. /// </summary>
  123. /// <param name="stTime"></param>
  124. /// <param name="endTime"></param>
  125. public void ExecuteInsertNotice(string stTime, string endTime)
  126. {
  127. var know = notice.GetOldNotice(stTime, endTime);
  128. foreach (DataRow item in know.Rows)
  129. {
  130. var insert = notice.GetNoticeSql(item);
  131. if (!string.IsNullOrEmpty(insert))
  132. {
  133. var pgConn = tool.GetConPgSql();
  134. // tool.SaveLog("KnowledgeSQL :" + insert + " ;", 1);
  135. tool.Execute(insert, pgConn);
  136. }
  137. }
  138. }
  139. public void ExecuteInsertKnowledge(string stTime, string endTime)
  140. {
  141. var know = knowledge.GetKnowledge(stTime, endTime);
  142. foreach (DataRow item in know.Rows)
  143. {
  144. var insert = knowledge.GetKnowledgeSql(item);
  145. if (!string.IsNullOrEmpty(insert))
  146. {
  147. var pgConn = tool.GetConPgSql();
  148. //tool.SaveLog("KnowledgeSQL :" + insert + " ;", 1);
  149. tool.Execute(insert, pgConn);
  150. }
  151. }
  152. }
  153. public DataTable GetPgOrganize()
  154. {
  155. var conn = tool.GetConPgSql();
  156. var sql = $@" SELECT * FROM system_organize ";
  157. return tool.GetDataTable(sql, conn);
  158. }
  159. public DataTable GetPgUser()
  160. {
  161. var conn = tool.GetConPgSql();
  162. var sql = $@" SELECT * FROM ""user"" ";
  163. return tool.GetDataTable(sql, conn);
  164. }
  165. }
  166. }