using Abp; using DataTransmission.Joint; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DataTransmission { public class Execute { private readonly CommonTool tool = new CommonTool(); private readonly Order order = new Order(); private readonly Visit visit = new Visit(); private readonly Delay delay = new Delay(); private readonly Knowledge knowledge = new Knowledge(); private readonly Organize organize = new Organize(); private readonly User user = new User(); private readonly Notice notice = new Notice(); public void ExecuteSql(DataTable orderTable) { try { DataTable org = GetPgOrganize(); DataTable user = GetPgUser(); foreach (DataRow row in orderTable.Rows) { var pgConn = tool.GetConPgSql(); var pgOrder = tool.GetDataTable($@" SELECT * from ""order"" where ""No"" ='{row["FSH_Code"]}'; ", pgConn); if (pgOrder != null && pgOrder.Rows.Count > 0) { continue; } var orderId = SequentialGuidGenerator.Instance.Create().ToString("D"); var VisitId = SequentialGuidGenerator.Instance.Create().ToString("D"); //工单 var pgOrderSql = order.GetOrderISql(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 = delaySql.Length > 0 ? pgSql + delaySql : pgOrderSql; tool.SaveLog("SQL :" + pgSql + " ;", 1); tool.Execute(pgSql, pgConn); } } catch (Exception e) { tool.SaveLog(e.ToString(), 1); throw; } } public void ExecuteTypeSql() { var pgConn = tool.GetConPgSql(); var pgSql = knowledge.GetKnowledgeTypeSql(); //tool.SaveLog("KnowledgeTypeSQL :" + pgSql + " ;", 1); tool.Execute(pgSql, pgConn); } public void ExecuteOrganizeSql() { var pgConn = tool.GetConPgSql(); var pgSql = organize.GetOrganize(); tool.SaveLog("OrganizeSQL :" + pgSql + " ;", 1); //tool.Execute(pgSql, pgConn); } public void ExecuteUserSql() { var pgConn = tool.GetConPgSql(); var pgSql = user.GetUserSql(); tool.SaveLog("UserSQL :" + pgSql + " ;", 1); //tool.Execute(pgSql, pgConn); } public void ExecuteStaffSql() { var pgConn = tool.GetConPgSql(); var pgSql = user.GetStaffNoSql(); tool.SaveLog("StaffSQL :" + pgSql + " ;", 1); //tool.Execute(pgSql, pgConn); } /// /// 消息通知 /// /// /// public void ExecuteInsertNotice(string stTime, string endTime) { var know = notice.GetOldNotice(stTime, endTime); foreach (DataRow item in know.Rows) { var insert = notice.GetNoticeSql(item); if (!string.IsNullOrEmpty(insert)) { var pgConn = tool.GetConPgSql(); // tool.SaveLog("KnowledgeSQL :" + insert + " ;", 1); tool.Execute(insert, pgConn); } } } public void ExecuteInsertKnowledge(string stTime, string endTime) { var know = knowledge.GetKnowledge(stTime, endTime); foreach (DataRow item in know.Rows) { var insert = knowledge.GetKnowledgeSql(item); if (!string.IsNullOrEmpty(insert)) { var pgConn = tool.GetConPgSql(); //tool.SaveLog("KnowledgeSQL :" + insert + " ;", 1); tool.Execute(insert, pgConn); } } } public DataTable GetPgOrganize() { var conn = tool.GetConPgSql(); var sql = $@" SELECT * FROM system_organize "; return tool.GetDataTable(sql, conn); } public DataTable GetPgUser() { var conn = tool.GetConPgSql(); var sql = $@" SELECT * FROM ""user"" "; return tool.GetDataTable(sql, conn); } } }