Order.cs 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace DataTransmission.Joint
  8. {
  9. public class Order
  10. {
  11. private readonly CommonTool tool = new CommonTool();
  12. public DataTable GetOrder( string st_time, string end_time) {
  13. var conn = tool.GetConSqlServer();
  14. //获取工单数据
  15. var orderSql = $@"SELECT ROW_NUMBER() OVER (ORDER BY FSH_FlowID) AS Serial, CHPRCI.RCI_FlowID,*,REPLACE(CAST(FCT.FCT_Content AS NVARCHAR(MAX)),CHAR(13)+CHAR(10), '') 受理内容,REPLACE(CAST(ISNULL(FTC2.FTC_RRemark,FTRB.FTRB_RRemark) AS NVARCHAR(MAX)),CHAR(13)+CHAR(10), '') 承办意见
  16. FROM dbo.View_Flow_Process FSH
  17. LEFT JOIN dbo.Flow05_LinkMan FLM ON FSH.FSH_FlowID = FLM.FLM_FlowID
  18. LEFT JOIN dbo.Flow01_Type FT ON FT.FTE_TypeFlag =2 AND FSH.FSH_ConTypeID = FT.FTE_TypeID
  19. LEFT JOIN dbo.SYS19_Area SA ON FSH.FSH_AreaID = SA.SA_AreaID
  20. LEFT JOIN dbo.Flow04_Expand FED ON FSH.FSH_FlowID = FED.FED_FlowID
  21. LEFT JOIN Flow06_Content FCT WITH(NOLOCK) ON FCT.FCT_FlowID = FSH.FSH_FlowID
  22. LEFT JOIN dbo.Flow18_AppraiseList FAL ON FSH.FSH_FlowID = FAL.FALT_FlowID
  23. LEFT JOIN Flow_Transfer04_Specialty FTS WITH(NOLOCK) ON FTS.FTS_FlowID = FSH.FSH_FlowID
  24. LEFT JOIN Flow_Transfer02_Content FTC2 WITH(NOLOCK) ON FTC2.FTC_RunID = FTS.FTS_RunID
  25. LEFT JOIN Flow_Transfer01_RunBackups FTRB WITH(NOLOCK) ON FTS.FTS_RunID =FTRB.FTRB_RunID
  26. LEFT JOIN CityHotline_Province.dbo.receive_case_info CHPRCI ON CHPRCI.RCI_FlowID = FSH.FSH_FlowID
  27. WHERE FSH_AddDate >= '{st_time}' AND FSH_AddDate <= '{end_time}' AND ISNULL(FAL.FALT_ListID,0) > 0 AND FAL.FALT_AppFlag ='1' ";
  28. //AND FSH.FSH_Code = '202309190017'
  29. return tool.GetDataTable(orderSql, conn);
  30. }
  31. public string GetOrderISql(DataRow row,string orderId,DataTable org,DataTable user) {
  32. var sex = row["FLM_LKSex"].ToString() == "1" ? 1 : row["FLM_LKSex"].ToString() == "2" ? 0 : 2;
  33. var identityType = row["FSH_PersonnelType"].ToString() == "企业" ? 2 : 1;
  34. var ContactMask = tool.MaskPhoneNumber(row["FSH_LinkTel"].ToString());
  35. var EmergencyLevel = row["FSH_Urgent"].ToString() == "1" ? 2 : 0;
  36. var ExpiredStatus = row["FSH_OverTimeState"].ToString() == "正常" ? 0 : row["FSH_OverTimeState"].ToString() == "即将超期" ? 1 : 2;
  37. var IsSecret = row["FLM_SFlag"].ToString() == "1" ? "t" : "f";
  38. var IsProvince = row["RCI_FlowID"].ToString() == "NULL" ? "f" : "t";
  39. var ActualHandleOrgCode = row["FSH_AcceptBMID"].ToString();
  40. try
  41. {
  42. var orgRow = org.AsEnumerable().First(x => x.Field<int?>("oldBmid").ToString() == row["FSH_AcceptBMID"].ToString());
  43. ActualHandleOrgCode = string.IsNullOrEmpty(orgRow?["Id"].ToString()) ? "NULL" : orgRow?["Id"].ToString();
  44. }
  45. catch (Exception e)
  46. {
  47. tool.SaveLog(" OrderMessage :" + e.Message + ";" + row["FSH_AcceptBMID"].ToString() + " ;", 1);
  48. }
  49. #region CrEnt
  50. var order = new Entity.Order();
  51. order.InitId();
  52. order.CallId = row["FSH_SessionID"].ToString();
  53. order.FromPhone = row["FSH_FromTel"].ToString();
  54. order.TransferPhone = row["FSH_HotlineNum"].ToString();
  55. order.FromName = row["FSH_LinkName"].ToString();
  56. order.FromGender = (Enum.EGender)sex;
  57. order.IdentityType = (Enum.EIdentityType)identityType;
  58. order.Contact = row["FSH_LinkTel"].ToString();
  59. order.ContactMask = ContactMask;
  60. order.AcceptSms = false;
  61. order.No = row["FSH_Code"].ToString().Trim();
  62. order.AcceptType = row["FSH_PurTypeName"].ToString();
  63. order.Title = row["FSH_Title_ys"].ToString();
  64. order.HotspotId = row["FTE_ProvinceCode"].ToString();
  65. order.HotspotName = row["FTE_TypeName"].ToString();
  66. order.HotspotSpliceName = row["FTE_TypeNameFull"].ToString();
  67. order.PushTypeCode = row["FSH_PushType"].ToString();
  68. order.Content = row["受理内容"].ToString();
  69. order.Status = Enum.EOrderStatus.Visited;
  70. order.StartTime = DateTime.Parse(row["FSH_AddDate"].ToString());
  71. order.ExpiredTime = DateTime.Parse(row["FSH_TTime"].ToString());
  72. order.FiledTime = DateTime.Parse(row["FSH_DisposeDate"].ToString());
  73. order.ExpiredStatus = (Enum.EExpiredStatus)ExpiredStatus;
  74. order.AreaCode = row["SA_AreaCode"].ToString();
  75. order.Street = row["FLM_LKAddress"].ToString();
  76. order.IsDeleted = false;
  77. order.CreationTime = DateTime.Parse(row["FSH_AddDate"].ToString());
  78. order.SmsSended = false;
  79. order.ProcessType = row["FSH_AcceptBMID"].ToString() == CommonTool.CenterId ? Enum.EProcessType.Zhiban : Enum.EProcessType.Jiaoban;
  80. order.IsPublicity = row["FSH_IsPublic"].ToString() == "1"; //0:不公开 ;1:公开 12345在线传递过来的状态
  81. #endregion
  82. //""WorkflowId"", ""ExpiredTimeConfigId"", ""Longitude"", ""Latitude"",
  83. var pgOrderSql = $@"INSERT INTO ""public"".""order"" (""Id"", ""CallId"", ""FromPhone"", ""TransferPhone"", ""FromName"", ""FromGender"", ""IdentityType"",
  84. ""Contact"", ""ContactMask"", ""AcceptSms"",
  85. ""No"", ""AcceptType"", ""Title"", ""HotspotId"", ""HotspotName"", ""HotspotSpliceName"",
  86. ""PushTypeCode"", ""Content"", ""Status"", ""StartTime"", ""ExpiredTime"", ""FiledTime"",
  87. ""ExpiredStatus"", ""AreaCode"", ""Street"",
  88. ""IsDeleted"", ""CreationTime"", ""SmsSended"",
  89. ""ProcessType"", ""IsPublicity"", ""IsSecret"", ""ActualHandleOrgName"", ""ActualHandleOrgCode"", ""ActualOpinion"", ""SourceChannel"", ""IsProvince"",
  90. ""ActualHandleStepCode"",""ActualHandleStepName"", ""ActualHandleStepCreateTime"", ""ActualHandleTime"", ""ActualHandlerId"", ""ActualHandlerName"", ""OrgLevelOneCode"", ""OrgLevelOneName"",
  91. ""AcceptorId"",""AcceptorName"", ""SourceChannelCode"", ""ExpiredTimeProvince"", ""AcceptorStaffNo"", ""FirstVisitResult"", ""FirstVisitResultCode"", ""ActualHandleOrgAreaCode"",
  92. ""ActualHandleOrgAreaName"",""CallAddress"", ""DuplicateIds"", ""IsCancel"", ""TimeLimit"", ""TimeLimitCount"", ""TimeLimitUnit"", ""RealHandlerName"",
  93. ""RealHandlerPhone"",""RealCommunicationMode"", ""RealCommunicationTime"", ""RealCommunicationAddress"", ""AcceptorOrgCode"", ""AcceptorOrgName"", ""Address"", ""FullAddress"",
  94. ""CenterToOrgTime"",""ActualHandleStepAcceptTime"", ""HandleDuration"", ""HandleDurationWorkday"", ""AllDuration"", ""AcceptTypeCode"", ""Additions"", ""CreatorOrgName"",
  95. ""CreatorName"",""FlowedOrgIds"", ""FlowedUserIds"", ""CreatorOrgLevel"", ""ProvinceNo"", ""ExternalId"", ""Password"", ""EnterpriseName"",
  96. ""ZhuanBanMingCheng"", ""CounterSignType"", ""IncidentPurpose"", ""RealIsContacted"", ""RealContactLocale"", ""TagNames"", ""SignerId"", ""SignerName"",
  97. ""FileJson"",""Province"", ""City"", ""County"", ""Town"", ""EventCategoryId"", ""EventCategoryName"", ""EventCategorySpliceName"",
  98. ""EventCategoryExternal"",""NearlyExpiredTime"", ""CsActualHandleOrgIds"", ""CsActualHandleUserIds"", ""HandlerUsers"", ""HandlerOrgs"", ""FileDuration"", ""FileDurationWorkday"",
  99. ""AllDurationWorkday"") VALUES (
  100. '{order.Id}', '{order.CallId}', '{order.FromPhone}', '{order.TransferPhone}', '{order.FromName}', {(int)order.FromGender}, {(int)order.IdentityType},
  101. '{order.Contact}', '{order.ContactMask}', '{order.AcceptSms.ToString()}',
  102. '{order.No}', '{order.AcceptType}', '{order.Title}', '{order.HotspotId}', '{order.HotspotName}', '{order.HotspotSpliceName}',
  103. '{order.PushTypeCode}', '{order.Contact}', {(int)order.Status}, '{order.StartTime}', '{order.ExpiredTime}', '{order.FiledTime}',
  104. {(int)order.ExpiredStatus}, '{order.AreaCode}', '{order.Street}',
  105. '{order.IsDeleted.ToString()}', '{order.CreationTime}', '{order.SmsSended.ToString()}',
  106. {(int)order.ProcessType}, '{order.IsPublicity.ToString()}', '{IsSecret}', '{row["FSH_AcceptName"]}', {ActualHandleOrgCode}, '{row["承办意见"]}', '{row["FSH_FromName"]}', '{IsProvince}',
  107. NULL, NULL, '{row["FSH_AcceptDate"]}', '{row["FSH_AcceptDate"]}',NULL, '{row["FSH_AcceptUserName"]}', NULL, NULL,
  108. NULL, '{row["FSH_UserName"]}', NULL,NULL, '', NULL, NULL, '{row["SA_AreaCode"]}',
  109. '{row["SA_AreaName"]}', '{row["FLM_LKAddress"]}', NULL, 'f', '5个工作日', 5, 2, NULL,
  110. NULL, NULL, NULL, NULL, NULL, '市民热线服务系统', '{row["FLM_LKAddress"]}', '{row["FLM_LKAddress"]}',
  111. '2024-03-15 09:49:55.383397', '2024-03-15 09:53:50.264902', '4', '4', '5', '{GetAcceptTypeCode(row["FSH_PurTypeName"].ToString())}', '[]', '市民热线服务系统',
  112. '坐席', '[""001""]', '[]', 1, '{row["FSH_ProCode"]}', NULL, '{row["FED_ReultPWD"]}', NULL,
  113. NULL, NULL, NULL, NULL, NULL, NULL, '08dc0121-5960-4267-817c-b6dc6c068fa4', '坐席',
  114. NULL, NULL, '宜宾市', '', '', '', '', '',
  115. '19', '{row["FSH_EightyTTime"]}', '[]', '[]', '[]', '[]', '4', '4',
  116. '4');";
  117. return pgOrderSql;
  118. }
  119. private string GetAcceptTypeCode(string name)
  120. {
  121. var acceptTypeCode = string.Empty;
  122. switch (name)
  123. {
  124. case "其他":
  125. acceptTypeCode = "40";
  126. break;
  127. case "表扬":
  128. acceptTypeCode = "25";
  129. break;
  130. case "举报":
  131. acceptTypeCode = "30";
  132. break;
  133. case "投诉":
  134. acceptTypeCode = "35";
  135. break;
  136. case "咨询":
  137. acceptTypeCode = "10";
  138. break;
  139. case "建议":
  140. acceptTypeCode = "15";
  141. break;
  142. case "求助":
  143. acceptTypeCode = "20";
  144. break;
  145. case "意见":
  146. acceptTypeCode = "1";
  147. break;
  148. case "惠民帮助":
  149. acceptTypeCode = "2";
  150. break;
  151. case "大气污染举报":
  152. acceptTypeCode = "3";
  153. break;
  154. default:
  155. acceptTypeCode = "0";
  156. break;
  157. }
  158. return acceptTypeCode;
  159. }
  160. }
  161. }