최종 확정 - 주간보고에 각 담당자 cc 에서 제거

This commit is contained in:
chi
2020-12-14 10:06:07 +09:00
parent bd41902254
commit 72fbd69856
3 changed files with 83 additions and 78 deletions

View File

@@ -69,7 +69,7 @@ namespace JobReportMailService
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine("일간업무알림 실패: " + ex.Message);
} }
try try
@@ -78,7 +78,7 @@ namespace JobReportMailService
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine("주간업무알림 실패: " +ex.Message);
} }
} }

View File

@@ -12,8 +12,16 @@ namespace JobReportMailService
static void WorkDay() static void WorkDay()
{ {
Console.WriteLine("업무일지 미 작성자 추출 작업을 시작 합니다"); if(DateTime.Now.DayOfWeek == DayOfWeek.Saturday || DateTime.Now.DayOfWeek == DayOfWeek.Sunday || DateTime.Now.DayOfWeek == DayOfWeek.Monday )
{
Console.WriteLine("토/일/월요일에는 일별 보고를 작동하지 않습니다");
return;
}
else Console.WriteLine("업무일지 미 작성자 추출 작업을 시작 합니다");
var db = new EEEntities(); var db = new EEEntities();
@@ -146,9 +154,9 @@ namespace JobReportMailService
mail_content += "</table>"; mail_content += "</table>";
//메일데이터를 생성한다. //메일데이터를 생성한다.
mail_to = "chikyun.kim@amkor.co.kr"; //mail_to = "chikyun.kim@amkor.co.kr";
mail_bcc = string.Empty; //mail_bcc = string.Empty;
mail_cc = string.Empty; //mail_cc = string.Empty;
mail_to = MailSort(mail_to, MailJD.exceptmail); mail_to = MailSort(mail_to, MailJD.exceptmail);
if (string.IsNullOrEmpty(mail_to) == false) if (string.IsNullOrEmpty(mail_to) == false)

View File

@@ -15,7 +15,7 @@ namespace JobReportMailService
if (DateTime.Now.DayOfWeek != DayOfWeek.Monday) if (DateTime.Now.DayOfWeek != DayOfWeek.Monday)
{ {
Console.WriteLine("주간 업무일지 보고는 월요일에만 작동 합니다"); Console.WriteLine("주간 업무일지 보고는 월요일에만 작동 합니다");
//return; return;
} }
Console.WriteLine("업무일지 미 작성자(주간) 추출 작업을 시작 합니다"); Console.WriteLine("업무일지 미 작성자(주간) 추출 작업을 시작 합니다");
@@ -127,84 +127,81 @@ namespace JobReportMailService
//오늘잘짜로 등록된 자료가 있으면 처리하지 안흔다. //오늘잘짜로 등록된 자료가 있으면 처리하지 안흔다.
//해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다 //해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다
db = new EEEntities(); db = new EEEntities();
var Exists = db.MailData.Where(t => t.gcode == vGcode && t.wuid == "395552" && t.pdate == str_dt && t.cate.StartsWith("JW")).Any();
if (Exists == false) var mail_subject = MailJW.subject;
var mail_to = MailJW.tolist;//.Replace("{담당자}", userinfo.email);
var pmail_cc = new List<string>(); //
if (MailJW.cc != null) pmail_cc = MailJW.cc.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList();//.Replace("{담당자}", userinfo.email);
var mail_bcc = string.Empty;
if (MailJW.bcc != null) mail_bcc = MailJW.bcc;//.Replace("{담당자}", userinfo.email);
var mail_body = MailJW.body;//.Replace("{담당자}", userinfo.name);
//메일본문을 생성해서 진행해야함
var vmail_body = "<p>담당자별 정보</p>";
vmail_body += "<br/>조회기간 : " + sd.ToShortDateString() + "~" + ed.ToShortDateString();
//참고데이터를 추가한다
var usergrplist = totWarnList.OrderBy(t => t.uname).GroupBy(t => t.uid).ToList();
foreach (var item in usergrplist)
{ {
var mail_subject = MailJW.subject; var fitem = item.FirstOrDefault();
var mail_to = MailJW.tolist;//.Replace("{담당자}", userinfo.email);
var pmail_cc = new List<string>(); //
if (MailJW.cc != null) pmail_cc = MailJW.cc.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList();//.Replace("{담당자}", userinfo.email);
var mail_bcc = string.Empty;
if (MailJW.bcc != null) mail_bcc = MailJW.bcc;//.Replace("{담당자}", userinfo.email);
var mail_body = MailJW.body;//.Replace("{담당자}", userinfo.name);
//메일본문을 생성해서 진행해야함
var vmail_body = "<p>담당자별 정보</p>";
vmail_body += "<br/>조회기간 : " + sd.ToShortDateString() + "~" + ed.ToShortDateString();
//참고데이터를 추가한다
var usergrplist = totWarnList.OrderBy(t=>t.uname).GroupBy(t => t.uid).ToList();
foreach (var item in usergrplist)
{
var fitem = item.FirstOrDefault();
db = new EEEntities();
var userinfo = db.vGroupUser.Where(t => t.id == fitem.uid).FirstOrDefault();
var username = string.Empty;
if (userinfo != null)
{
if (string.IsNullOrEmpty(userinfo.email) == false)
{
if(pmail_cc.Contains(userinfo.email)==false)
pmail_cc.Add(userinfo.email);
}
username = userinfo.name;
}
}
vmail_body += "<br/><table border='1' cellspacing='1' cellpadding='1'><tr><td>담당자</td><td>일자별시간</td></tr>";
var mail_cc = string.Join(";", pmail_cc); //모든 대상을 세미콜론으로 붙인다.
foreach (var warnitem in usergrplist)
{
var item = warnitem.FirstOrDefault();
vmail_body += $"<tr><td>{item.uname}({item.uid})</td><td>";
foreach (var ii in warnitem.OrderBy(t => t.date))
{
vmail_body += $" {ii.date.ToString("MM/dd")}({ii.hrs}h)";
}
vmail_body += "</td></tr>";
}
vmail_body += "</table>";
//메일데이터를 생성한다.
mail_bcc = string.Empty;
mail_cc = string.Empty;
mail_to = "chikyun.kim@amkor.co.kr";
db = new EEEntities(); db = new EEEntities();
mail_to = MailSort(mail_to, MailJW.exceptmail); var userinfo = db.vGroupUser.Where(t => t.id == fitem.uid).FirstOrDefault();
if (string.IsNullOrEmpty(mail_to) == false) var username = string.Empty;
if (userinfo != null)
{ {
db.MailData.Add(new MailData if (string.IsNullOrEmpty(userinfo.email) == false)
{ {
gcode = vGcode, //if (pmail_cc.Contains(userinfo.email) == false)
cate = "JW", // pmail_cc.Add(userinfo.email);
subject = mail_subject, }
fromlist = "EETGW@amkor.co.kr", username = userinfo.name;
tolist = MailSort(mail_to, MailJW.exceptmail),
bcc = mail_bcc,
cc = MailSort(mail_cc, MailJW.exceptmailcc),
pdate = DateTime.Now.ToShortDateString(),
body = mail_body.Replace("{내용}", vmail_body),
wuid = "395552",
wdate = DateTime.Now,
});
db.SaveChanges();
Console.WriteLine("주간 알림데이터가 등록되었습니다");
} }
else }
vmail_body += "<br/><table border='1' cellspacing='1' cellpadding='1'><tr><td>담당자</td><td>일자별시간</td></tr>";
var mail_cc = string.Join(";", pmail_cc); //모든 대상을 세미콜론으로 붙인다.
foreach (var warnitem in usergrplist)
{
var item = warnitem.FirstOrDefault();
vmail_body += $"<tr><td>{item.uname}({item.uid})</td><td>";
foreach (var ii in warnitem.OrderBy(t => t.date))
{ {
Console.WriteLine("받는사람이 소거되어 메일을 생성하지 않습니다"); vmail_body += $" {ii.date.ToString("MM/dd")}({ii.hrs}h)";
} }
vmail_body += "</td></tr>";
}
vmail_body += "</table>";
//메일데이터를 생성한다.
//mail_bcc = string.Empty;
//mail_cc = string.Empty;
//mail_to = "chikyun.kim@amkor.co.kr";
db = new EEEntities();
mail_to = MailSort(mail_to, MailJW.exceptmail);
if (string.IsNullOrEmpty(mail_to) == false)
{
db.MailData.Add(new MailData
{
gcode = vGcode,
cate = "JW",
subject = mail_subject,
fromlist = "EETGW@amkor.co.kr",
tolist = MailSort(mail_to, MailJW.exceptmail),
bcc = mail_bcc,
cc = MailSort(mail_cc, MailJW.exceptmailcc),
pdate = DateTime.Now.ToShortDateString(),
body = mail_body.Replace("{내용}", vmail_body),
wuid = "395552",
wdate = DateTime.Now,
});
db.SaveChanges();
Console.WriteLine("주간 알림데이터가 등록되었습니다");
}
else
{
Console.WriteLine("받는사람이 소거되어 메일을 생성하지 않습니다");
} }
} }
} }