You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
193 lines
7.4 KiB
193 lines
7.4 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using Quartz;
|
|
using System.Data;
|
|
//using NFine.Data.Extensions;
|
|
using System.Configuration;
|
|
using ICSSoft.FromERP;
|
|
//using ICSSoft.SendMail;
|
|
using System.Data.SqlClient;
|
|
using System.Net;
|
|
using System.Net.Mail;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using System.Net.Security;
|
|
|
|
|
|
namespace ICSSoft.FromERP
|
|
{
|
|
/// <summary>
|
|
/// 发送SQE人员复判
|
|
/// </summary>
|
|
public class AutoSendMail_KBS : IJob
|
|
{
|
|
private static object key = new object();
|
|
private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
|
public void Execute(IJobExecutionContext context)
|
|
{
|
|
try
|
|
{
|
|
lock (key)
|
|
{
|
|
log.Info("开始……………………………………………………………………");
|
|
Execute();
|
|
log.Info("结束……………………………………………………………………");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
log.Error(ex.ToString());
|
|
}
|
|
}
|
|
|
|
private void Execute()
|
|
{
|
|
string erpName = ICSHelper.GetConfigString()["ERPDB"];
|
|
string conStr = ICSHelper.GetConnectString();
|
|
string Namespace = this.GetType().Namespace;
|
|
//string Class = this.GetType().Name;
|
|
|
|
DataTable dt = ICSHelper.GetOldERPDB(conStr);
|
|
|
|
foreach (DataRow dr1 in dt.Rows)
|
|
{
|
|
string WorkPoint = dr1["WorkPointCode"].ToString();
|
|
string Class = this.GetType().Name + WorkPoint;
|
|
|
|
string sql = @"select
|
|
a.*
|
|
from IcsMatCheckResult a with(nolock)
|
|
where 1=1
|
|
and a.WorkPoint='KC47'
|
|
and a.CheckNo='CR202410290034'
|
|
--and a.IsCheckComplete='是'
|
|
--and a.AsnCode='DNA08S000072400088'
|
|
--and a.InvCode='8S11332'
|
|
--and a.InvBatcgNo=''
|
|
|
|
order by a.Mtime desc
|
|
";
|
|
|
|
|
|
DataTable dtInInfo = ICSHelper.ExecuteTable(conStr, sql);
|
|
if (dtInInfo == null || dtInInfo.Rows.Count == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
string MailOpen = ICSHelper.GetConfigString("MailOpen");
|
|
|
|
if (MailOpen != "true")
|
|
{
|
|
return;
|
|
}
|
|
|
|
string SendHost = ICSHelper.GetConfigString("SendHost");
|
|
string StrSendPort = ICSHelper.GetConfigString("SendPort");
|
|
int SendPort = 25;
|
|
if (!string.IsNullOrEmpty(StrSendPort))
|
|
SendPort = Convert.ToInt32(ICSHelper.GetConfigString("SendPort"));
|
|
string SendDisplayName = ICSHelper.GetConfigString("SendDisplayName");
|
|
string SendAddress = ICSHelper.GetConfigString("SendAddress");
|
|
string SendPassword = ICSHelper.GetConfigString("SendPassword");
|
|
|
|
string sqls = @" select *
|
|
from V_QuerySysEnumItem a
|
|
where a.F_EnCode = 'SQESendMail'";
|
|
DataTable dts = ICSHelper.ExecuteTable(conStr, sqls);
|
|
|
|
string Email = string.Empty;
|
|
foreach (DataRow drs in dts.Rows)
|
|
{
|
|
Email += drs["Ext1"].ToString() + ",";
|
|
}
|
|
|
|
foreach (DataRow dr in dtInInfo.Rows)
|
|
{
|
|
string TOAddress = Email.TrimEnd(',');
|
|
string CCAddress = "";
|
|
string Subject = "SQE复判提醒";
|
|
bool isBodyHtml = true;
|
|
//string VenName = dr["VENDORNAME"].ToString();
|
|
//string STNO = dr["STNO"].ToString();
|
|
string NowDate = DateTime.Now.GetDateTimeFormats('D')[0].ToString();
|
|
string body = "SQE复判" + ":";
|
|
body += "\r\n";
|
|
body += " 您好!有一个来料复判的检验单,单号为:" + dr["CheckNo"].ToString() + " 的检验单已经超过48小时没有复判,请及时处理 !";
|
|
|
|
body += "\r\n";
|
|
body += " 苏州咖博士咖啡系统科技有限公司";
|
|
body += "\r\n";
|
|
body += " " + NowDate;
|
|
|
|
|
|
//string StrConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
|
|
SendEmail(conStr, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, TOAddress, CCAddress, Subject, isBodyHtml, body);
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
public void SendEmail(string ConnectionString, string SendHost, int SendPort, string SendDisplayName, string SendAddress, string SendPassword, string TOAddress, string CCAddress, string Subject, bool IsBodyHtml, string Body)
|
|
{
|
|
try
|
|
{
|
|
SmtpClient smtpClient = new SmtpClient
|
|
{
|
|
//EnableSsl = false,
|
|
UseDefaultCredentials = false,
|
|
Host = SendHost,
|
|
Port = SendPort,
|
|
Credentials = new NetworkCredential(SendAddress, SendPassword)
|
|
};
|
|
MailMessage mailMessage = new MailMessage
|
|
{
|
|
Subject = Subject,
|
|
SubjectEncoding = Encoding.GetEncoding("utf-8"),
|
|
BodyEncoding = Encoding.GetEncoding("utf-8"),
|
|
From = new MailAddress(SendAddress, SendDisplayName),
|
|
IsBodyHtml = IsBodyHtml,
|
|
Body = Body
|
|
};
|
|
string[] array = TOAddress.Split(new char[]
|
|
{
|
|
','
|
|
});
|
|
string[] array2 = array;
|
|
for (int i = 0; i < array2.Length; i++)
|
|
{
|
|
string text = array2[i];
|
|
if (!string.IsNullOrEmpty(text))
|
|
{
|
|
mailMessage.To.Add(text);
|
|
}
|
|
}
|
|
string[] array3 = CCAddress.Split(new char[]
|
|
{
|
|
','
|
|
});
|
|
array2 = array3;
|
|
for (int i = 0; i < array2.Length; i++)
|
|
{
|
|
string text2 = array2[i];
|
|
if (!string.IsNullOrEmpty(text2))
|
|
{
|
|
mailMessage.CC.Add(text2);
|
|
}
|
|
}
|
|
ServicePointManager.ServerCertificateValidationCallback = ((object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) => true);
|
|
smtpClient.Send(mailMessage);
|
|
//InsertData(ConnectionString, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, TOAddress, CCAddress, Subject, IsBodyHtml, Body, "1", null);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
//InsertData(ConnectionString, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, TOAddress, CCAddress, Subject, IsBodyHtml, Body, "2", ex.Message);
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|