/// <summary> /// 装载数据库信息 /// </summary> public DatabaseSetSettingInfo GetDatabaseSetSettingInfo() { string str = "/set/customers/customer"; string dataSource = XmlHelper.Read(settingPath, str + "/databaseSet/dataSource"); string database = XmlHelper.Read(settingPath, str + "/databaseSet/database"); string user = XmlHelper.Read(settingPath, str + "/databaseSet/user"); string pwd = XmlHelper.Read(settingPath, str + "/databaseSet/pwd"); DatabaseSetSettingInfo databaseSetSettingInfo = new DatabaseSetSettingInfo() { dbHost = dataSource, dbName = database, dbUser = user, dbPwd = pwd }; return(databaseSetSettingInfo); }
static void Main(string[] args) { StringBuilder sbLog = new StringBuilder(); //可变的字符串 DateTime dateTime = DateTime.Now; //获取当前的日期 sbLog.AppendLine(string.Format("数据开始解析,当前时间为:{0}", dateTime.ToString("yyyy-MM-dd HH:mm:ss"))); string beginTime = dateTime.AddDays(-1).ToString("yyyy-MM-dd 09:00:00"); string endTime = dateTime.ToString("yyyy-MM-dd 09:00:00"); OperationServer operationServer = new OperationServer(settingPath); sbLog.AppendLine(string.Format("开始创建文价夹")); string excelPath = Path.Combine(startupPath, @"Result\Excel\"); string logPath = Path.Combine(startupPath, @"Result\Log\"); try { operationServer.CreateDirectory(excelPath); operationServer.CreateDirectory(logPath); sbLog.AppendLine(string.Format("文价夹创建成功")); SendEmailSettingInfo sendEmailSettingInfo = operationServer.GetSendEmailSettingInfo(); DatabaseSetSettingInfo databaseSetSettingInfo = operationServer.GetDatabaseSetSettingInfo(); SqlHelper sqlHelper = new SqlHelper(dbHost: databaseSetSettingInfo.dbHost, dbName: databaseSetSettingInfo.dbName, dbUser: databaseSetSettingInfo.dbUser, dbPwd: databaseSetSettingInfo.dbPwd); DataTable dataTable = operationServer.GetDataTable(sqlHelper, beginTime, endTime, true); sbLog.AppendLine(string.Format("数据获取成功,共有{0}条", dataTable.Rows.Count)); string excelFilePath = string.Empty; if (dataTable != null && dataTable.Rows.Count > 0) { excelFilePath = Path.Combine(excelPath, string.Format("NA354_{0}_{1}_{2}_拦截单.xlsx", dateTime.ToString("yyyy"), dateTime.ToString("MM"), dateTime.ToString("dd"))); NPOIHelper npoiHelper = new NPOIHelper(); npoiHelper.ExportDataTableToExcel(dataTable, excelFilePath); sbLog.AppendLine(string.Format("Excel生成成功,路径为{0}", excelFilePath)); } if (!string.IsNullOrEmpty(excelFilePath)) { StringBuilder tableSB = new StringBuilder(); tableSB.AppendLine("<table border='1' cellspacing='0' cellpadding='0' style='text-align:center;'>"); tableSB.AppendLine("<tr style='background-color:#5b9bd5'>" + "<th width='300px'>deposit_number</th>" + "<th width='350px'>wo_number</th>" + "<th width='200px'>type</th>" + "<th width='200px'>status</th>" + "<th width='300px'>ref_num</th>" + "<th width='200px'>in_param</th>" + "<th width='300px'>err_msg</th>" + "<th width='300px'>updated_on</th>" + "</tr>"); if (dataTable.Rows.Count > 0) { foreach (DataRow row in dataTable.Rows) { tableSB.AppendLine(string.Format("<tr><td>{0}</td><td>{1}</td>" + "<td>{2}</td>" + "<td>{3}</td>" + "<td>{4}</td>" + "<td>{5}</td>" + "<td>{6}</td>" + "<td>{7}</td></tr>", row["deposit_number"].ToString(), row["wo_number"].ToString(), row["type"].ToString(), row["status"].ToString(), row["ref_num"].ToString(), row["in_param"].ToString(), row["err_msg"].ToString(), row["updated_on"].ToString())); } } tableSB.AppendLine($"</table"); sbLog.AppendLine(string.Format("Table拼接成功")); bool flagSentEmail = operationServer.SentEmail(new List <string>() { excelFilePath }, sendEmailSettingInfo, sbLog, dateTime, tableSB); sbLog.AppendLine(string.Format("发送邮件{0}", flagSentEmail ? "成功" : "失败")); } } catch (Exception ex) { sbLog.AppendLine(string.Format("发送错误:{0}", ex.Message)); } string logFilePath = Path.Combine(logPath, "Log_" + dateTime.ToString("yyyyMMddHHmmss") + ".TXT"); TxtHelper.Write(logFilePath, sbLog.ToString()); }