Execute.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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 Visit visit = new Visit();
  16. private readonly Delay delay = new Delay();
  17. private readonly Knowledge knowledge = new Knowledge();
  18. private readonly Organize organize = new Organize();
  19. private readonly User user = new User();
  20. private readonly Notice notice = new Notice();
  21. private readonly OrderPublic orderPublic = new OrderPublic();
  22. public void ExecuteSql(DataTable orderTable)
  23. {
  24. try
  25. {
  26. DataTable org = GetPgOrganize();
  27. DataTable user = GetPgUser();
  28. foreach (DataRow row in orderTable.Rows)
  29. {
  30. var pgConn = tool.GetConPgSql();
  31. var pgOrder = tool.GetDataTable($@" SELECT * from ""order"" where ""No"" ='{row["FSH_Code"]}'; ", pgConn);
  32. if (pgOrder != null && pgOrder.Rows.Count > 0)
  33. {
  34. continue;
  35. }
  36. var orderId = SequentialGuidGenerator.Instance.Create().ToString("D");
  37. var VisitId = SequentialGuidGenerator.Instance.Create().ToString("D");
  38. //工单
  39. var pgOrderSql = order.GetOrderISql(row, orderId, org, user);
  40. //回访
  41. var appraiseTable = visit.GetVisit(row["FSH_FlowID"].ToString());
  42. var visitSql = visit.GetVisitSql(appraiseTable, row, VisitId, orderId, org, user);
  43. //延期
  44. var delayTable = delay.GetDelay(row["FSH_FlowID"].ToString());
  45. var delaySql = delay.GetDelaySql(delayTable, row, orderId, org, user);
  46. var pgSql = pgOrderSql;
  47. pgSql = visitSql.Length > 0 ? pgSql + visitSql : pgSql;
  48. pgSql = delaySql.Length > 0 ? pgSql + delaySql : pgOrderSql;
  49. tool.SaveLog("SQL :" + pgSql + " ;", 1);
  50. tool.Execute(pgSql, pgConn);
  51. }
  52. }
  53. catch (Exception e)
  54. {
  55. tool.SaveLog(e.ToString(), 1);
  56. throw;
  57. }
  58. }
  59. public void ExecuteTypeSql()
  60. {
  61. var pgConn = tool.GetConPgSql();
  62. var pgSql = knowledge.GetKnowledgeTypeSql();
  63. tool.SaveLog("KnowledgeTypeSQL :" + pgSql + " ;", 1);
  64. //tool.Execute(pgSql, pgConn);
  65. }
  66. public void ExecuteOrganizeSql()
  67. {
  68. var pgConn = tool.GetConPgSql();
  69. var pgSql = organize.GetOrganize();
  70. tool.SaveLog("OrganizeSQL :" + pgSql + " ;", 1);
  71. //tool.Execute(pgSql, pgConn);
  72. }
  73. public void ExecuteUserSql()
  74. {
  75. var pgConn = tool.GetConPgSql();
  76. var pgSql = user.GetUserSql();
  77. tool.SaveLog("UserSQL :" + pgSql + " ;", 1);
  78. //tool.Execute(pgSql, pgConn);
  79. }
  80. public void ExecuteStaffSql()
  81. {
  82. var pgConn = tool.GetConPgSql();
  83. var pgSql = user.GetStaffNoSql();
  84. tool.SaveLog("StaffSQL :" + pgSql + " ;", 1);
  85. //tool.Execute(pgSql, pgConn);
  86. }
  87. /// <summary>
  88. /// 同步工单已发布数据
  89. /// </summary>
  90. /// <param name="stTime"></param>
  91. /// <param name="endTime"></param>
  92. public void ExecuteInsertOrderPublic(string stTime, string endTime)
  93. {
  94. var know = orderPublic.GetOldNotice(stTime, endTime);
  95. foreach (DataRow item in know.Rows)
  96. {
  97. var insert = orderPublic.GetNoticeSql(item);
  98. if (!string.IsNullOrEmpty(insert))
  99. {
  100. var pgConn = tool.GetConPgSql();
  101. // tool.SaveLog("KnowledgeSQL :" + insert + " ;", 1);
  102. tool.Execute(insert, pgConn);
  103. }
  104. }
  105. }
  106. /// <summary>
  107. /// 消息通知
  108. /// </summary>
  109. /// <param name="stTime"></param>
  110. /// <param name="endTime"></param>
  111. public void ExecuteInsertNotice(string stTime, string endTime)
  112. {
  113. var know = notice.GetOldNotice(stTime, endTime);
  114. foreach (DataRow item in know.Rows)
  115. {
  116. var insert = notice.GetNoticeSql(item);
  117. if (!string.IsNullOrEmpty(insert))
  118. {
  119. var pgConn = tool.GetConPgSql();
  120. // tool.SaveLog("KnowledgeSQL :" + insert + " ;", 1);
  121. tool.Execute(insert, pgConn);
  122. }
  123. }
  124. }
  125. public void ExecuteInsertKnowledge(string stTime, string endTime)
  126. {
  127. var know = knowledge.GetKnowledge(stTime, endTime);
  128. foreach (DataRow item in know.Rows)
  129. {
  130. var insert = knowledge.GetKnowledgeSql(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 DataTable GetPgOrganize()
  140. {
  141. var conn = tool.GetConPgSql();
  142. var sql = $@" SELECT * FROM system_organize ";
  143. return tool.GetDataTable(sql, conn);
  144. }
  145. public DataTable GetPgUser()
  146. {
  147. var conn = tool.GetConPgSql();
  148. var sql = $@" SELECT * FROM ""user"" ";
  149. return tool.GetDataTable(sql, conn);
  150. }
  151. }
  152. }