田爽 3 月之前
父节点
当前提交
f3d6a04042
共有 9 个文件被更改,包括 85 次插入60 次删除
  1. 23 0
      Entity/Config.cs
  2. 1 1
      Entity/Order.cs
  3. 8 8
      Execute.cs
  4. 19 25
      Form1.cs
  5. 2 2
      Joint/Delay.cs
  6. 12 5
      Joint/Order.cs
  7. 1 1
      Joint/Public.cs
  8. 7 7
      Joint/Visit.cs
  9. 12 11
      Joint/Workflow.cs

+ 23 - 0
Entity/Config.cs

@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Entity
+{
+	public class Config
+	{
+		//public static string Name = string.Empty;
+
+		//public static string CenterId = string.Empty;
+
+		//public static string Paseword = string.Empty;
+
+		//public static string ModuleId = string.Empty;
+		public string Name { get; set; }
+		public string CenterId { get; set; }
+		public string Paseword { get; set; }
+		public string ModuleId { get; set; }
+	}
+}

+ 1 - 1
Entity/Order.cs

@@ -388,7 +388,7 @@ namespace DataTransmission.Entity
 		/// <summary>
 		/// 时间限制计数
 		/// </summary>
-		public int? TimeLimitCount { get; set; }
+		public string? TimeLimitCount { get; set; }
 
 		/// <summary>
 		/// 时间限制单位

+ 8 - 8
Execute.cs

@@ -23,7 +23,7 @@ namespace DataTransmission
         private readonly Notice notice = new Notice();
         private readonly OrderPublic orderPublic  = new OrderPublic();
 
-        public void ExecuteSql(DataTable orderTable)
+        public void ExecuteSql(DataTable orderTable, Entity.Config config)
         {
             try
             {
@@ -45,28 +45,28 @@ namespace DataTransmission
 
 
 					//工单
-					var pgOrderSql = order.GetOrderISql(row, orderId, org, user);
+					var pgOrderSql = order.GetOrderISql(row, orderId, org, user, config);
                     //工单流程
                     var orderModule = module.AsEnumerable().FirstOrDefault(x => x.Field<string>("Code").ToString() == "OrderHandle");
                     //var orderDefinition = definition.AsEnumerable().FirstOrDefault(x => x.Field<string>("Id").ToString() == orderModule["DefinitionId"].ToString());
 					var pgOrderWorkflow = workflow.GetWorkflow(row["FSH_FlowID"].ToString(), "CityHotline");
-                    var pgOrderWorkflowSql = workflow.GetWorkflowSql(pgOrderWorkflow, row, orderId, org, user, orderModule,null);
+                    var pgOrderWorkflowSql = workflow.GetWorkflowSql(pgOrderWorkflow, row, orderId, org, user, orderModule,null, config);
 					//发布
 					var publicTable = _public.GetOldPublic(row["FSH_FlowID"].ToString());
-                    var publicSql = _public.GetOldPublicSql(publicTable, row, orderId, org, user);
+                    var publicSql = _public.GetOldPublicSql(publicTable, row, orderId, org, user, config);
 					//回访
 					var appraiseTable = visit.GetVisit(row["FSH_FlowID"].ToString());
-                    var visitSql = visit.GetVisitSql(appraiseTable, row, VisitId, orderId, org, user);
+                    var visitSql = visit.GetVisitSql(appraiseTable, row, VisitId, orderId, org, user, config);
                     //延期
                     var delayTable = delay.GetDelay(row["FSH_FlowID"].ToString());
 					var delayModule = module.AsEnumerable().FirstOrDefault(x => x.Field<string>("Code").ToString() == "OrderDelay");
-					var delaySql = delay.GetDelaySql(delayTable, row, orderId, org, user, delayModule);
+					var delaySql = delay.GetDelaySql(delayTable, row, orderId, org, user, delayModule, config);
                     var pgSql = pgOrderSql;
 					pgSql = pgOrderWorkflowSql.Length > 0 ? pgSql + pgOrderWorkflowSql : pgSql;
 					pgSql = publicSql.Length > 0 ? pgSql + publicSql : pgSql;
 					pgSql = visitSql.Length > 0 ? pgSql + visitSql : pgSql;
-                    pgSql = delaySql.Length > 0 ? pgSql + delaySql : pgOrderSql;
-                    tool.SaveLog("SQL :" + pgSql + "  ;", 1);
+                    pgSql = delaySql.Length > 0 ? pgSql + delaySql : pgSql;
+                    //tool.SaveLog("SQL :" + pgSql + "  ;", 1);
                     tool.Execute(pgSql, pgConn);
                 }
             }

+ 19 - 25
Form1.cs

@@ -11,15 +11,9 @@ namespace DataTransmission
 		private readonly Execute execute = new Execute();
 		private readonly CommonTool tool = new CommonTool();
 		private readonly Knowledge knowledge = new Knowledge();
+		private  Entity.Config config = new Entity.Config();
 
-
-		public static string Name = string.Empty;
-
-		public static string CenterId = string.Empty;
-
-		public static string Paseword = string.Empty;
-
-		public static string ModuleId = string.Empty;
+	
 
 		public Form1()
 		{
@@ -37,25 +31,25 @@ namespace DataTransmission
 			//{
 
 			//}
-			switch (cbox_bb.SelectedText)
+			switch (cbox_bb.SelectedItem)
 			{
 				case "宜宾":
-					Name = "宜宾市";
-					CenterId = "23";
-					Paseword = "AQAAAAIAAYagAAAAELQ9clcozvhLoTC0pUjUwv40VXsIp3JyxFhEmqVQOmBLMZ7gGmne6cqL9FHXb0CUBQ==";
-					ModuleId = "08db8db3-eea4-4737-88dd-6c7b990c7705";
+					config.Name = "宜宾市";
+					config.CenterId = "23";
+					config.Paseword = "AQAAAAIAAYagAAAAELQ9clcozvhLoTC0pUjUwv40VXsIp3JyxFhEmqVQOmBLMZ7gGmne6cqL9FHXb0CUBQ==";
+					config.ModuleId = "08db8db3-eea4-4737-88dd-6c7b990c7705";
 					break;
 				case "自贡":
-					Name = "自贡市";
-					CenterId = "2";
-					Paseword = "AQAAAAIAAYagAAAAEJZNauXWsvzHDvSCLEwNjA3qVJcQqEHAexlWDg6ONJJtK5hDNnL8gwwXxwZW5YszfA==";
-					ModuleId = "2430d69a-59df-46a1-b155-85e69cfba010";
+					config.Name = "自贡市";
+					config.CenterId = "2";
+					config.Paseword = "AQAAAAIAAYagAAAAEJZNauXWsvzHDvSCLEwNjA3qVJcQqEHAexlWDg6ONJJtK5hDNnL8gwwXxwZW5YszfA==";
+					config.ModuleId = "2430d69a-59df-46a1-b155-85e69cfba010";
 					break;
 				case "泸州":
-					Name = "泸州市";
-					CenterId = "23";
-					Paseword = "AQAAAAIAAYagAAAAELQ9clcozvhLoTC0pUjUwv40VXsIp3JyxFhEmqVQOmBLMZ7gGmne6cqL9FHXb0CUBQ==";
-					ModuleId = "08db8db3-eea4-4737-88dd-6c7b990c7705";
+					config.Name = "泸州市";
+					config.CenterId = "23";
+					config.Paseword = "AQAAAAIAAYagAAAAELQ9clcozvhLoTC0pUjUwv40VXsIp3JyxFhEmqVQOmBLMZ7gGmne6cqL9FHXb0CUBQ==";
+					config.ModuleId = "08db8db3-eea4-4737-88dd-6c7b990c7705";
 					break;
 				default:
 					break;
@@ -83,7 +77,7 @@ namespace DataTransmission
 			}
 			if (cb_order.Checked)
 			{
-				ExecuteInsert();
+				ExecuteInsert(config);
 			}
 			if (cb_jg.Checked)
 			{
@@ -99,7 +93,7 @@ namespace DataTransmission
 			btn_tb.Enabled = true;
 		}
 
-		private void ExecuteInsert()
+		private void ExecuteInsert(Entity.Config config)
 		{
 			var orderTable = order.GetOrder(st_time.Value.ToString("yyyy-MM-dd") + " 00:00:00", end_time.Value.ToString("yyyy-MM-dd") + " 23:59:59");
 
@@ -116,7 +110,7 @@ namespace DataTransmission
 				var enNum = exNum + threadNum;
 
 				var data = orderTable.AsEnumerable().Where(x => ((int)x.Field<long>("Serial")) > stNum && ((int)x.Field<long>("Serial")) <= enNum).CopyToDataTable();
-				execute.ExecuteSql(data);
+				execute.ExecuteSql(data, config);
 				exNum += threadNum;
 			}
 
@@ -124,7 +118,7 @@ namespace DataTransmission
 			{
 				var stNum = divisor * threadNum;
 				var data = orderTable.AsEnumerable().Where(x => ((int)x.Field<long>("Serial")) >= stNum).CopyToDataTable();
-				execute.ExecuteSql(data);
+				execute.ExecuteSql(data, config);
 			}
 		}
 	}

+ 2 - 2
Joint/Delay.cs

@@ -21,7 +21,7 @@ namespace DataTransmission.Joint
 			return tool.GetDataTable(sql, conn);
 		}
 
-		public string GetDelaySql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user,DataRow delayModule) {
+		public string GetDelaySql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user,DataRow delayModule, Entity.Config config) {
 			var delayNum = 0;
 			var pgDelaySql = string.Empty;
 			foreach (DataRow delay in data.Rows)
@@ -78,7 +78,7 @@ namespace DataTransmission.Joint
 				var pgDelayWorkflow = workflow.GetWorkflow(row["FSH_FlowID"].ToString(), "Flow_Postpone");
 				if (pgDelayWorkflow.Rows.Count > 0)
 				{
-					var pgDelayWorkflowSql = workflow.GetWorkflowSql(pgDelayWorkflow, row, orderId, org, user, delayModule, model);
+					var pgDelayWorkflowSql = workflow.GetWorkflowSql(pgDelayWorkflow, row, orderId, org, user, delayModule, model, config);
 					if (!string.IsNullOrEmpty(pgDelayWorkflowSql))
 					{
 						pgDelaySql += pgDelayWorkflowSql;

+ 12 - 5
Joint/Order.cs

@@ -39,7 +39,7 @@ namespace DataTransmission.Joint
 			return tool.GetDataTable(orderSql, conn);
 		}
 
-		public string GetOrderISql(DataRow row,string orderId,DataTable org,DataTable user) {
+		public string GetOrderISql(DataRow row,string orderId,DataTable org,DataTable user, Entity.Config config) {
 			var sex = row["FLM_LKSex"].ToString() == "1" ? 1 : row["FLM_LKSex"].ToString() == "2" ? 0 : 2;
 			var identityType = row["FSH_PersonnelType"].ToString() == "企业" ? 2 : 1;
 			var ContactMask = tool.MaskPhoneNumber(row["FSH_LinkTel"].ToString());
@@ -88,8 +88,14 @@ namespace DataTransmission.Joint
 			order.IsDeleted = false;
 			order.CreationTime = Convert.ToDateTime(row["FSH_AddDate"])   ;
 			order.SmsSended = false;
-			order.ProcessType = row["FSH_AcceptBMID"].ToString() == Form1.CenterId ? 10 : 20;
-			order.IsPublicity = row["FSH_IsPublic"].ToString() == "1"; //0:不公开 ;1:公开 12345在线传递过来的状态
+			order.ProcessType = row["FSH_AcceptBMID"].ToString() == config.CenterId ? 10 : 20;
+			if (config.Name == "自贡市")
+			{
+				order.IsPublicity = false;
+			}
+			else {
+				order.IsPublicity = row["FSH_IsPublic"].ToString() == "1"; //0:不公开 ;1:公开 12345在线传递过来的状态
+			}
 			order.IsSecret = row["FLM_SFlag"].ToString() == "1";
 			order.ActualHandleOrgName = row["FSH_AcceptName"].ToString();
 			order.ActualHandleOrgCode = ActualHandleOrgCode;
@@ -119,7 +125,8 @@ namespace DataTransmission.Joint
 			order.ActualHandleOrgAreaCode = row["SA_AreaCode"].ToString();
 			order.ActualHandleOrgAreaName = row["SA_AreaName"].ToString();
 			order.CallAddress = row["FLM_LKAddress"].ToString();
-			order.TimeLimitCount = int.Parse(row["FTRB_TLimits"].ToString());
+			//order.TimeLimitCount = int.Parse(row["FTRB_TLimits"].ToString());
+			order.TimeLimitCount = row["FTRB_TLimits"].ToString();
 			order.TimeLimit = order.TimeLimitCount + "个工作日";
 			order.AcceptTypeCode = GetAcceptTypeCode(row["FSH_PurTypeName"].ToString());
 			order.NearlyExpiredTime = string.IsNullOrEmpty(row["FSH_EightyTTime"].ToString()) ? "NULL" : row["FSH_EightyTTime"].ToString() ;
@@ -162,7 +169,7 @@ namespace DataTransmission.Joint
 						 '{order.AcceptTypeCode}', '[]', '{order.AcceptorOrgName}',
 						'{order.AcceptorName}', '[""001""]', '[]', 1, '{order.ProvinceNo}', NULL, '{order.Password}',
 						'{order.AcceptorId}', '{order.AcceptorName}',
-						'{Form1.Name}','0','t','f','f','{order.IsUrgent.ToString()}','f',
+						'{config.Name}','0','t','f','f','{order.IsUrgent.ToString()}','f',
 						'19', '{order.NearlyExpiredTime.ToString()}', '[]', '[]', '[]', '[]',
 						'f','f','f','f','f','{order.OldOrderId}');";
 			pgOrderSql = pgOrderSql.Replace("'NULL'", "NULL");

+ 1 - 1
Joint/Public.cs

@@ -21,7 +21,7 @@ namespace DataTransmission.Joint
 			return tool.GetDataTable(sql, conn);
 		}
 
-		public string GetOldPublicSql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user) {
+		public string GetOldPublicSql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user, Entity.Config config) {
 			var sql = string.Empty;
 			if (data.Rows.Count > 0)
 			{

+ 7 - 7
Joint/Visit.cs

@@ -22,7 +22,7 @@ namespace DataTransmission.Joint
 			return tool.GetDataTable(appraiseSql, conn);
 		}
 
-		public string GetVisitSql(DataTable data,DataRow row,string VisitId, string orderId,DataTable org,DataTable user) {
+		public string GetVisitSql(DataTable data,DataRow row,string VisitId, string orderId,DataTable org,DataTable user, Entity.Config config) {
 			var num = 0;
 			var pgVisitSql = string.Empty;
 			var pgVisitDetail = string.Empty;
@@ -104,7 +104,7 @@ namespace DataTransmission.Joint
 				var OrgNoSatisfiedReason = "NULL";
 				if ((item["FALT_AppTypeName"].ToString() == "非常不满意" || item["FALT_AppTypeName"].ToString() == "不满意") && !string.IsNullOrEmpty(item["SDICT_Name"].ToString()))
 				{
-					OrgNoSatisfiedReason = $@" '[{{""Key"":""{GetDissatisfiedReason(item["SDICT_Name"].ToString())}"",""Value"":""{item["SDICT_Name"].ToString()}""}}]'";
+					OrgNoSatisfiedReason = $@" '[{{""Key"":""{GetDissatisfiedReason(item["SDICT_Name"].ToString(),config)}"",""Value"":""{item["SDICT_Name"].ToString()}""}}]'";
 				}
 				pgVisitDetail += $@",('{bmDetail.Id}', '{VisitId}', NULL, NULL, '{{""Key"":""{GetSatisfaction(item["FALT_AppTypeName"].ToString())}"",""Value"":""{item["FALT_AppTypeName"]}""}}',{OrgNoSatisfiedReason}, 
 				'{{""Key"":""{GetSatisfaction(item["FALT_AppTypeBName"].ToString())}"",""Value"":""{item["FALT_AppTypeBName"]}""}}', '{item["FALT_ZxRemark"]}', '{VisitOrgCode}', '{item["SBM_Name"]}',
@@ -153,14 +153,14 @@ namespace DataTransmission.Joint
 			}
 			return satisfaction;
 		}
-		private string GetDissatisfiedReason(string name) {
-			switch (Form1.Name)
+		private string GetDissatisfiedReason(string name, Entity.Config config) {
+			switch (config.Name)
 			{
-				case "宜宾":
+				case "宜宾":
 					return GetDissatisfiedReason_YB(name);
-				case "自贡":
+				case "自贡":
 					return GetDissatisfiedReason_ZG(name);
-				case "泸州":
+				case "泸州":
 					return GetDissatisfiedReason_LZ(name);
 				default:
 					return "";

+ 12 - 11
Joint/Workflow.cs

@@ -1,4 +1,5 @@
-using DataTransmission.Enum;
+using DataTransmission.Entity;
+using DataTransmission.Enum;
 using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
@@ -22,7 +23,7 @@ namespace DataTransmission.Joint
 			return tool.GetDataTable(orderSql, conn);
 		}
 
-		public string GetWorkflowSql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user, DataRow module,Entity.OrderDelay delay)
+		public string GetWorkflowSql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user, DataRow module,Entity.OrderDelay delay, Entity.Config config)
 		{
 			var pgSql = string.Empty;
 
@@ -36,9 +37,9 @@ namespace DataTransmission.Joint
 			var stStep = data.AsEnumerable().OrderBy(x => x.Field<int?>("FTRB_RunID")).FirstOrDefault();
 			var endStep = data.AsEnumerable().OrderByDescending(x=>x.Field<int?>("FTRB_RunID")).FirstOrDefault(x=> x.Field<string>("FTRB_ItemName").ToString() == "结束");
 			var actualStep = data.AsEnumerable().FirstOrDefault(x => x.Field<int?>("FSH_AcceptBMID").ToString() == x.Field<int?>("FTRB_APBMID").ToString());
-			if (row["FSH_AcceptBMID"].ToString() == Form1.CenterId)
+			if (row["FSH_AcceptBMID"].ToString() == config.CenterId)
 			{
-				actualStep = data.AsEnumerable().FirstOrDefault(x => x.Field<DateTime>("FSH_AcceptDate").ToString() == x.Field<DateTime>("FTRB_APDate").ToString());
+				actualStep = data.AsEnumerable().FirstOrDefault(x => x.Field<DateTime?>("FSH_AcceptDate") != null && x.Field<DateTime?>("FTRB_APDate")!= null &&  x.Field<DateTime?>("FSH_AcceptDate").ToString() == x.Field<DateTime?>("FTRB_APDate").ToString());
 			}
 
 			//Creator
@@ -82,7 +83,7 @@ namespace DataTransmission.Joint
 				
 				var start = order == 1;
 				var end = order == data.Rows.Count;
- 				var stepSql = GetWorkflowStepSql(item, org, user, start, end, ref workflow);
+ 				var stepSql = GetWorkflowStepSql(item, org, user, start, end, ref workflow, config);
 				pgSql += stepSql ;
 				order++;
 			}
@@ -108,7 +109,7 @@ namespace DataTransmission.Joint
 		/// <param name="end"></param>
 		/// <param name="workflow"></param>
 		/// <returns></returns>
-		private string GetWorkflowStepSql(DataRow item, DataTable org, DataTable user,bool start,bool end, ref Entity.Workflow workflow) {
+		private string GetWorkflowStepSql(DataRow item, DataTable org, DataTable user,bool start,bool end, ref Entity.Workflow workflow, Entity.Config config) {
 
 			//Acceptor
 			var acceptor = user.AsEnumerable().FirstOrDefault(x => x.Field<int?>("oldUserId").ToString() == item["FTRB_APUserID"].ToString());
@@ -169,7 +170,7 @@ namespace DataTransmission.Joint
 			}
 			else {
 				step.HandlerOrgName ="热线中心";
-				step.HandlerOrgId = Form1.CenterId.ToString();
+				step.HandlerOrgId = config.CenterId.ToString();
 				step.HandlerOrgAreaCode = string.Empty;
 				step.HandlerOrgAreaName = string.Empty;
 				step.HandlerOrgIsCenter = false;
@@ -203,7 +204,7 @@ namespace DataTransmission.Joint
 			}
 			else {
 				step.CreatorOrgName = "热线中心";
-				step.CreatorOrgId = Form1.CenterId.ToString();
+				step.CreatorOrgId = config.CenterId.ToString();
 				step.CreatorOrgLevel = 1;
 				step.AreaId = string.Empty;
 				step.AssignerOrgIsCenter = true;
@@ -258,9 +259,9 @@ namespace DataTransmission.Joint
 			""CountersignPosition"", ""CountersignSteps"", ""StartCountersignId"", ""IsStartedCountersignEnd"", ""IsCountersignEndStep"", ""CountersignStartStepId"", ""SendHandleTimes"", ""RoleId"", ""RoleName"", ""TraceState"", 
 			""Remark"", ""TraceStyle"", ""OrderPublishId"", ""OrderVisitId"", ""PrevStepName"", ""AssignerId"", ""AssignerName"", ""AssignerOrgId"", ""AssignerOrgName"", ""AssignerOrgIsCenter"", ""HandleMode"", ""ReviewResult"",""InstanceMode"") 
 			VALUES ('{trace.Id}', '{step.Id}', 2, NULL, '{workflow.Id}', 1, '[]', NULL, '{step.AcceptorId}', '{step.AcceptorName}',
-			'{step.AcceptorOrgId}', '{step.AcceptorOrgName}', '{step.AcceptorOrgAreaCode}', '{step.AcceptorOrgAreaName}', '{step.AcceptTime.ToString()}', '{step.HandlerId}', '{step.HandlerName}', '{step.HandlerOrgId}',
-			'{step.HandlerOrgIsCenter.ToString()}', '{step.HandlerOrgName}', '{step.HandlerOrgAreaCode}', '{step.HandlerOrgAreaName}', '{step.HandleTime.ToString()}', '{step.Name}', '', {(int)step.StepType}, {(int)step.BusinessType},
-			3, 'f', 0, 'f',  '[]',  'f', 'f', '{step.Opinion}', '{step.StepExpiredTime.ToString()}',
+			'{step.AcceptorOrgId}', '{step.AcceptorOrgName}', '{step.AcceptorOrgAreaCode}', '{step.AcceptorOrgAreaName}', {step.AcceptTime.ToString()}, '{step.HandlerId}', '{step.HandlerName}', '{step.HandlerOrgId}',
+			'{step.HandlerOrgIsCenter.ToString()}', '{step.HandlerOrgName}', '{step.HandlerOrgAreaCode}', '{step.HandlerOrgAreaName}', {step.HandleTime.ToString()}, '{step.Name}', '', {(int)step.StepType}, {(int)step.BusinessType},
+			3, 'f', 0, 'f',  '[]',  'f', 'f', '{step.Opinion}', {step.StepExpiredTime.ToString()},
 			'f', '{step.CreationTime.ToString()}', '{step.CreatorId}', '{step.CreatorName}', '{step.CreatorOrgId}', '{step.CreatorOrgName}', {step.CreatorOrgLevel}, '{step.AreaId}', NULL, '[]',
 			'f', '{workflow.ModuleId}', '{workflow.ModuleName}', '{workflow.ModuleCode}', 0, '{step.ExternalId}', 1, '[]', '{step.PrevStepId}', NULL, 'f', 'f', '',
 			0, '[]', NULL, 'f', 'f', '', 0, NULL, NULL, 0,