田爽 4 months ago
parent
commit
cb3c417e74
2 changed files with 81 additions and 4 deletions
  1. 9 4
      Execute.cs
  2. 72 0
      Joint/Public.cs

+ 9 - 4
Execute.cs

@@ -13,7 +13,8 @@ namespace DataTransmission
     {
         private readonly CommonTool tool = new CommonTool();
         private readonly Order order = new Order();
-        private readonly Visit visit = new Visit();
+		private readonly Public _public = new Public();
+		private readonly Visit visit = new Visit();
         private readonly Delay delay = new Delay();
         private readonly Knowledge knowledge = new Knowledge();
         private readonly Organize organize = new Organize();
@@ -40,14 +41,18 @@ namespace DataTransmission
 
                     //工单
                     var pgOrderSql = order.GetOrderISql(row, orderId, org, user);
-                    //回访
-                    var appraiseTable = visit.GetVisit(row["FSH_FlowID"].ToString());
+                    //发布
+                    var publicTable = _public.GetOldPublic(row["FSH_FlowID"].ToString());
+                    var publicSql = _public.GetOldPublicSql(publicTable, row, orderId, org, user);
+					//回访
+					var appraiseTable = visit.GetVisit(row["FSH_FlowID"].ToString());
                     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 pgSql = pgOrderSql;
-                    pgSql = visitSql.Length > 0 ? pgSql + visitSql : 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);
                     tool.Execute(pgSql, pgConn);

+ 72 - 0
Joint/Public.cs

@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataTransmission.Joint
+{
+	public class Public
+	{
+		private readonly CommonTool tool = new CommonTool();
+
+		public DataTable GetOldPublic(string oldOrderId) {
+
+			var conn = tool.GetConSqlServer();
+			var sql = $@" SELECT * FROM Flow16_PubIdea FP
+						LEFT JOIN Flow03_Search  FS ON FP.FPIA_FlowID = FS.FSH_FlowID
+						LEFT JOIN Flow15_PubList FPL ON FP.FPIA_FlowID  = FPL.FPLT_FlowID
+						WHERE  FP.FPIA_FlowID ='{oldOrderId}';";
+			return tool.GetDataTable(sql, conn);
+		}
+
+		public string GetOldPublicSql(DataTable data, DataRow row, string orderId, DataTable org, DataTable user) {
+			var sql = string.Empty;
+			if (data.Rows.Count > 0)
+			{
+
+				var item = data.Rows[0];
+				//Creator
+				var creator = user.AsEnumerable().FirstOrDefault(x => x.Field<int?>("oldUserId").ToString() == item["FPLT_PubUserID"].ToString());
+				var creatorOrg = org.AsEnumerable().FirstOrDefault(x => x.Field<int?>("oldBmid").ToString() == creator["OrgId"].ToString());
+
+				var model = new Entity.OrderPublish();
+				model.InitId();
+				model.No = item["FSH_Code"].ToString();
+				model.ArrangeTitle = item["FPIA_Title"].ToString();
+				model.ArrangeContent = item["FPIA_Content"].ToString();
+				model.ArrangeOpinion = item["FPIA_Result"].ToString();
+				//model.ProPublishState = item["FPLT_PubFlag"].ToString() == "2" 
+				model.FeedBackPhone = item["FSH_LinkTel"].ToString();
+				model.CreationTime = DateTime.Parse(item["FPLT_PubDate"].ToString());
+				model.OrderId = orderId;
+				if (creatorOrg != null) {
+					model.CreatorOrgId = item["FSH_LinkTel"].ToString();
+					model.CreatorOrgId = creatorOrg["Id"].ToString();
+					model.CreatorOrgName = creatorOrg["Name"].ToString();
+					model.CreatorOrgLevel = int.Parse(creatorOrg["Level"].ToString());
+					model.AreaId = creatorOrg["AreaId"].ToString();
+					//model.AssignerOrgIsCenter = bool.Parse(creatorOrg["IsCenter"].ToString());
+				}
+				model.CreatorId = item["FPLT_PubUserID"].ToString();
+				if (creator != null)
+				{
+					model.CreatorId = creator["Id"].ToString();
+					model.CreatorName = creator["Name"].ToString();
+				}
+				model.IsContact = item["FPIA_CONTACTFLAG"].ToString() == "1";
+				model.IsVisited = item["FPIA_ASSESSFLAG"].ToString() == "1";
+
+
+				sql = $@"INSERT INTO ""public"".""order_publish"" (""Id"", ""No"", ""PublishState"", ""ArrangeTitle"", ""ArrangeContent"", ""ArrangeOpinion"", ""ProPublishState"", ""FeedBackPhone"", ""NoPubReason"",
+				""CreationTime"", ""CreatorOrgId"", ""CreatorId"", ""AreaId"", ""OrderId"", ""CreatorName"", ""CreatorOrgName"", ""CreatorOrgLevel"", ""LastModificationTime"", ""IsDeleted"", ""DeletionTime"", ""IsContact"",
+				""IsVisited"", ""NetizenEvaluate"", ""EvaluateContent"", ""Remark"", ""Resolve"", ""AnswerContent"") VALUES(
+				'{model.Id}', '{model.No}', 'f', '{model.ArrangeTitle}', '{model.ArrangeContent}', '{model.ArrangeOpinion}', 'f', '{model.FeedBackPhone}', NULL,
+				'{model.CreationTime.ToString()}', '{model.CreatorOrgId}', '{model.CreatorId}', '{model.AreaId}', '{model.OrderId}', '{model.CreatorName}', '{model.CreatorOrgName}', {model.CreatorOrgLevel}, NULL, 'f', NULL, {model.IsContact},
+				{model.IsVisited}, NULL, NULL, NULL, NULL, NULL);";
+			}
+			return sql;
+		}
+	}
+}