田爽 3 місяців тому
батько
коміт
5b672b5a1c
3 змінених файлів з 31 додано та 20 видалено
  1. 3 2
      Execute.cs
  2. 24 14
      Joint/Delay.cs
  3. 4 4
      Joint/Workflow.cs

+ 3 - 2
Execute.cs

@@ -50,7 +50,7 @@ namespace DataTransmission
                     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);
+                    var pgOrderWorkflowSql = workflow.GetWorkflowSql(pgOrderWorkflow, row, orderId, org, user, orderModule,null);
 					//发布
 					var publicTable = _public.GetOldPublic(row["FSH_FlowID"].ToString());
                     var publicSql = _public.GetOldPublicSql(publicTable, row, orderId, org, user);
@@ -59,7 +59,8 @@ namespace DataTransmission
                     var visitSql = visit.GetVisitSql(appraiseTable, row, VisitId, orderId, org, user);
                     //延期
                     var delayTable = delay.GetDelay(row["FSH_FlowID"].ToString());
-                    var delaySql = delay.GetDelaySql(delayTable, row, orderId, org, user);
+					var delayModule = module.AsEnumerable().FirstOrDefault(x => x.Field<string>("Code").ToString() == "OrderDelay");
+					var delaySql = delay.GetDelaySql(delayTable, row, orderId, org, user, delayModule);
                     var pgSql = pgOrderSql;
 					pgSql = pgOrderWorkflowSql.Length > 0 ? pgSql + pgOrderWorkflowSql : pgSql;
 					pgSql = publicSql.Length > 0 ? pgSql + publicSql : pgSql;

+ 24 - 14
Joint/Delay.cs

@@ -12,6 +12,7 @@ namespace DataTransmission.Joint
 	public class Delay
 	{
 		private readonly CommonTool tool = new CommonTool();
+		private readonly Workflow workflow = new Workflow();
 
 		public DataTable GetDelay(string flowId)
 		{
@@ -20,7 +21,7 @@ namespace DataTransmission.Joint
 			return tool.GetDataTable(sql, conn);
 		}
 
-		public string GetDelaySql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user) {
+		public string GetDelaySql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user,DataRow delayModule) {
 			var delayNum = 0;
 			var pgDelaySql = string.Empty;
 			foreach (DataRow delay in data.Rows)
@@ -47,6 +48,7 @@ namespace DataTransmission.Joint
 				if (applyUser != null)
 				{
 					model.EmployeeId = applyUser["Id"].ToString();
+					model.EmployeeName = applyUser["Name"].ToString();
 					model.CreatorId = applyUser["Id"].ToString();
 					model.CreatorName = applyUser["Name"].ToString();
 				}
@@ -56,20 +58,28 @@ namespace DataTransmission.Joint
 				model.DelayState = (Enum.EDelayState)int.Parse(delay["FPE_AuditFlag"].ToString());
 				model.CreationTime = DateTime.Parse(delay["FPE_FPDate"].ToString());
 
-				//if (delayNum == 0)
-				//{
-				//	pgDelaySql = $@"INSERT INTO ""public"".""order_delay"" (""Id"", ""No"", ""OrderId"", ""ApplyDelayTime"", ""ApplyOrgCode"", ""ApplyOrgName"", ""EmployeeId"", ""DelayNum"", ""DelayUnit"", ""DelayReason"",
-				//				""BeforeDelay"", ""AfterDelay"", ""DelayState"", ""IsProDelay"", ""CreationTime"", ""CreatorOrgId"", ""CreatorId"", ""AreaId"", ""CreatorOrgName"", ""CreatorName"", ""CreatorOrgLevel"", 
-				//				""WorkflowId"", ""FileJson"", ""EmployeeName"", ""ExpiredTimeConfigId"", ""FlowedOrgIds"", ""FlowedUserIds"", ""LastModificationTime"", ""IsDeleted"", ""DeletionTime"") VALUES 
-				//				('{delayId}', '{row["FSH_Code"].ToString().Trim()}', '{orderId}', '{delay["FPE_FPDate"]}', '{VisitOrgCode}', '{delay["FPE_BMName"]}', '{EmployeeId}', '{delay["FPE_SLimits"]}', 2, '{delay["FPE_Reson"]}',
-				//				NULL, '{delay["FPE_STTime"]}',{(int)model.DelayState}, 'f', '{delay["FPE_FPDate"]}', '{VisitOrgCode}', '08dc10ec-2dd8-4383-8426-b194c4f5e917', '', '{delay["FPE_BMName"]}', '张晓梅1', 1, '', NULL, '{delay["FPE_UserName"]}', NULL, NULL,NULL, NULL, 'f', NULL)";
-				//}
-				//else
-				//{
-				//	pgDelaySql += $@",('{delayId}', '{row["FSH_Code"].ToString().Trim()}', '{orderId}', '{delay["FPE_FPDate"]}', '{VisitOrgCode}', '{delay["FPE_BMName"]}', '{EmployeeId}', '{delay["FPE_SLimits"]}', 2, '{delay["FPE_Reson"]}', NULL, '{delay["FPE_STTime"]}',
-				//			1, 'f', '{delay["FPE_FPDate"]}', '{VisitOrgCode}', '08dc10ec-2dd8-4383-8426-b194c4f5e917', '', '{delay["FPE_BMName"]}', '张晓梅1', 1, '', NULL, '{delay["FPE_UserName"]}', NULL, NULL, NULL, NULL, 'f', NULL)";
-				//}
+				if (delayNum == 0)
+				{
+					pgDelaySql = $@"INSERT INTO ""public"".""order_delay"" (""Id"", ""No"", ""OrderId"", ""ApplyDelayTime"", ""ApplyOrgCode"", ""ApplyOrgName"", ""EmployeeId"", ""DelayNum"", ""DelayUnit"", ""DelayReason"",
+								""BeforeDelay"", ""AfterDelay"", ""DelayState"", ""IsProDelay"", ""CreationTime"", ""CreatorOrgId"", ""CreatorId"", ""AreaId"", ""CreatorOrgName"", ""CreatorName"", 
+								""CreatorOrgLevel"", ""WorkflowId"", ""FileJson"", ""EmployeeName"", ""ExpiredTimeConfigId"", ""FlowedOrgIds"", ""FlowedUserIds"", ""LastModificationTime"", ""IsDeleted"", ""DeletionTime"") VALUES 
+								('{model.Id}', '{model.No}', '{model.OrderId}', '{model.ApplyDelayTime}', '{model.ApplyOrgCode}', '{model.ApplyOrgName}', '{model.EmployeeId}', '{model.DelayNum}', 2, '{model.DelayReason}',
+								NULL, '{model.AfterDelay}',{(int)model.DelayState}, 'f', '{model.CreationTime}', '{model.CreatorOrgId}', '{model.CreatorId}', '{model.AreaId}', '{model.CreatorOrgName}', '{model.CreatorName}',
+								{model.CreatorOrgLevel}, '', NULL, '{model.EmployeeName}', NULL, NULL,NULL, NULL, 'f', NULL)";
+				}
+				else
+				{
+					pgDelaySql += $@",('{model.Id}', '{model.No}', '{model.OrderId}', '{model.ApplyDelayTime}', '{model.ApplyOrgCode}', '{model.ApplyOrgName}', '{model.EmployeeId}', '{model.DelayNum}', 2, '{model.DelayReason}',
+					NULL, '{model.AfterDelay}',{(int)model.DelayState}, 'f', '{model.CreationTime}', '{model.CreatorOrgId}', '{model.CreatorId}', '{model.AreaId}', '{model.CreatorOrgName}', '{model.CreatorName}',
+					{model.CreatorOrgLevel}, '', NULL, '{model.EmployeeName}', NULL, NULL, NULL, NULL, 'f', NULL)";
+				}
 				delayNum++;
+
+				var pgDelayWorkflow = workflow.GetWorkflow(row["FSH_FlowID"].ToString(), "CityHotline");
+				var pgDelayWorkflowSql = workflow.GetWorkflowSql(pgDelayWorkflow, row, orderId, org, user, delayModule, model);
+				if (!string.IsNullOrEmpty(pgDelayWorkflowSql)) {
+					pgDelaySql += pgDelayWorkflowSql;
+				}
 			}
 			return pgDelaySql += ";";
 		}

+ 4 - 4
Joint/Workflow.cs

@@ -21,7 +21,7 @@ namespace DataTransmission.Joint
 			return tool.GetDataTable(orderSql, conn);
 		}
 
-		public string GetWorkflowSql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user, DataRow module)
+		public string GetWorkflowSql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user, DataRow module,Entity.OrderDelay delay)
 		{
 			var pgSql = string.Empty;
 
@@ -71,7 +71,7 @@ namespace DataTransmission.Joint
 			}
 			else {
 				workflow.FlowType =  EFlowType.Handle;
-				workflow.ReviewResult =  EReviewResult.Approval;
+				workflow.ReviewResult =  delay.DelayState == EDelayState.Pass ? EReviewResult.Approval : delay.DelayState == EDelayState.NoPass ? EReviewResult.Failed : EReviewResult.Unknown ;
 			}
 
 			var order = 1;
@@ -191,7 +191,7 @@ namespace DataTransmission.Joint
 			'{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, NULL, 
-			'f', '08db8db3-eea4-4737-88dd-6c7b990c7705', '工单办理', 'OrderHandle', 0, '[]', '{step.ExternalId}',  '', '{step.CreatorId}', '{step.CreatorName}', '{step.CreatorOrgId}', '{step.CreatorOrgName}', '{step.AssignerOrgIsCenter.ToString()}', 0, 0);";
+			'f', '{workflow.ModuleId}', '{workflow.ModuleName}', '{workflow.ModuleCode}', 0, '[]', '{step.ExternalId}',  '', '{step.CreatorId}', '{step.CreatorName}', '{step.CreatorOrgId}', '{step.CreatorOrgName}', '{step.AssignerOrgIsCenter.ToString()}', 0, 0);";
 
 			var traceSql = GetWorkflowTraceSql(item, step, org, user, start, end, ref workflow);
 			return stepSql + traceSql;
@@ -225,7 +225,7 @@ namespace DataTransmission.Joint
 			'{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', '08db8db3-eea4-4737-88dd-6c7b990c7705', '工单办理', 'OrderHandle', 0, '{step.ExternalId}', 1, '[]', '{step.PrevStepId}', NULL, 'f', 'f', '',
+			'f', '{workflow.ModuleId}', '{workflow.ModuleName}', '{workflow.ModuleCode}', 0, '{step.ExternalId}', 1, '[]', '{step.PrevStepId}', NULL, 'f', 'f', '',
 			0, '[]', NULL, 'f', 'f', '', 0, NULL, NULL, 0,
 			NULL, 0, NULL, NULL, NULL, '{step.CreatorId}', '{step.CreatorName}', '{step.CreatorOrgId}', '{step.CreatorOrgName}', '{step.AssignerOrgIsCenter.ToString()}', NULL, 0);";
 			return traceSql;