SendUrgeMail(1)
using System;
using System.Data;
namespace ePOUrgeMail_Service
{
/// <summary>
/// Summary description for SendUrgeMail.
/// </summary>
public class SendUrgeMail
{
Notification.NotificationWS notes = new Notification.NotificationWS();
public SendUrgeMail()
{
//
// TODO: Add constructor logic here
//
}
/// <summary>
/// 對ePO中Processes表未完成的紀錄進行催發Mail
/// </summary>
public void StartSendUrgeMail()
{
try
{
PublicModule.bFinished_UrgeMail = false;
PublicModule clsPublic = new PublicModule();
string strSql = "EXEC sp_GetUrgeMailData " + PublicModule.Timer_Interval/60000;
DataSet dsInitData = clsPublic.ExecuteQuerySql( strSql );
if( dsInitData != null && dsInitData.Tables.Count == 2 )
{
DataView dvInitData_Single = dsInitData.Tables[0].DefaultView;
DataView dvInitData_Collect = dsInitData.Tables[1].DefaultView;
// 處理單筆催發Mail
for( int i = 0; i < dvInitData_Single.Count; i ++ )
{
string SendRealName = dvInitData_Single[i]["real_name"].ToString().Trim();
string SendMail = dvInitData_Single[i]["email"].ToString().Trim();
if( dvInitData_Single[i]["Att_real_name"].ToString().Trim() != "" )
{
SendRealName += "," + dvInitData_Single[i]["Att_real_name"].ToString().Trim();
}
if( dvInitData_Single[i]["Att_email"].ToString().Trim() != "" )
{
SendMail += "," + dvInitData_Single[i]["Att_email"].ToString().Trim();
}
SendUrgeMailByWS_Single( SendRealName, SendMail,
dvInitData_Single[i]["case_no"].ToString(), dvInitData_Single[i]["delay_time"].ToString(), dvInitData_Single[i]["case_type"].ToString() );
}
// 處理匯整催發Mail
if( dvInitData_Collect.Count > 0 )
{
dvInitData_Collect.Sort = "real_name, email, case_type";
string strSendRealName_old = dvInitData_Collect[0]["real_name"].ToString().Trim();
string strSendMail_old = dvInitData_Collect[0]["email"].ToString().Trim();
string strCaseType_old = dvInitData_Collect[0]["case_type"].ToString().Trim();
int iListCout = 1;
string CaseNoList = dvInitData_Collect[0]["case_no"].ToString().Trim();
string CreatorList = dvInitData_Collect[0]["creator"].ToString().Trim();
string DelayTimeList = dvInitData_Collect[0]["delay_time"].ToString().Trim();
for( int i = 1; i < dvInitData_Collect.Count; i ++ )
{
string strSendRealName = dvInitData_Collect[i]["real_name"].ToString().Trim();
string strSendMail = dvInitData_Collect[i]["email"].ToString().Trim();
string strCaseType = dvInitData_Collect[i]["case_type"].ToString().Trim();
if( (strSendRealName_old != strSendRealName) ||
(strSendMail_old != strSendMail) ||
(strCaseType_old != strCaseType))
{
string CaseListHTML = "<br>單號 " +
" 經辦人 " +
" 逾期時間</br>";
CaseListHTML += "<br>---------------------------------------------------------------------------</br>";
string[] arrCaseNoList = CaseNoList.Split( ',' );
string[] arrCreatorList = CreatorList.Split( ',' );
string[] arrDelayTimeList = DelayTimeList.Split( ',' );
for( int j = 0; j < arrCaseNoList.Length; j ++ )
{
if( arrCaseNoList[j] != "" )
{
CaseListHTML += "<br>" + arrCaseNoList[j].ToString();
for( int k = arrCaseNoList[j].ToString().Length; k < 23; k ++ )
{
CaseListHTML += " ";
}
CaseListHTML += arrCreatorList[j].ToString();
for( int k = arrCreatorList[j].ToString().Length; k < 27; k ++ )
{
CaseListHTML += " ";
}
CaseListHTML += arrDelayTimeList[j].ToString() + "小時</br>";
}
}
CaseListHTML += "<br>---------------------------------------------------------------------------</br>";
string SendRealName = strSendRealName_old;
string SendMail = strSendMail_old;
if( dvInitData_Collect[i-1]["Att_real_name"].ToString().Trim() != "" )
{
SendRealName += "," + dvInitData_Collect[i-1]["Att_real_name"].ToString().Trim();
}
if( dvInitData_Collect[i-1]["Att_email"].ToString().Trim() != "" )
{
SendMail += "," + dvInitData_Collect[i-1]["Att_email"].ToString().Trim();
}
SendUrgeMailByWS_Collect( SendRealName, SendMail, iListCout, strCaseType_old, CaseListHTML );
iListCout = 1;
CaseNoList = dvInitData_Collect[i]["case_no"].ToString().Trim();
CreatorList = dvInitData_Collect[i]["creator"].ToString().Trim();
DelayTimeList = dvInitData_Collect[i]["delay_time"].ToString().Trim();
}
else
{
iListCout ++;
CaseNoList += "," + dvInitData_Collect[i]["case_no"].ToString().Trim();
CreatorList += "," + dvInitData_Collect[i]["creator"].ToString().Trim();
DelayTimeList += "," + dvInitData_Collect[i]["delay_time"].ToString().Trim();
}
strSendRealName_old = strSendRealName;
strSendMail_old = strSendMail;
strCaseType_old = strCaseType;
}
浙公网安备 33010602011771号