From 72fbd6985648df174d016b1c82f2f4c99953f1ab Mon Sep 17 00:00:00 2001 From: chi Date: Mon, 14 Dec 2020 10:06:07 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B5=9C=EC=A2=85=20=ED=99=95=EC=A0=95=20-=20?= =?UTF-8?q?=EC=A3=BC=EA=B0=84=EB=B3=B4=EA=B3=A0=EC=97=90=20=EA=B0=81=20?= =?UTF-8?q?=EB=8B=B4=EB=8B=B9=EC=9E=90=20cc=20=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- JobReportMailService/Program.cs | 4 +- JobReportMailService/ProgramDay.cs | 16 +++- JobReportMailService/ProgramWeek.cs | 141 ++++++++++++++-------------- 3 files changed, 83 insertions(+), 78 deletions(-) diff --git a/JobReportMailService/Program.cs b/JobReportMailService/Program.cs index 9301b99..38f6697 100644 --- a/JobReportMailService/Program.cs +++ b/JobReportMailService/Program.cs @@ -69,7 +69,7 @@ namespace JobReportMailService } catch (Exception ex) { - + Console.WriteLine("일간업무알림 실패: " + ex.Message); } try @@ -78,7 +78,7 @@ namespace JobReportMailService } catch (Exception ex) { - + Console.WriteLine("주간업무알림 실패: " +ex.Message); } } diff --git a/JobReportMailService/ProgramDay.cs b/JobReportMailService/ProgramDay.cs index 5d34aec..3c2d93d 100644 --- a/JobReportMailService/ProgramDay.cs +++ b/JobReportMailService/ProgramDay.cs @@ -12,8 +12,16 @@ namespace JobReportMailService 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(); @@ -146,9 +154,9 @@ namespace JobReportMailService mail_content += ""; //메일데이터를 생성한다. - mail_to = "chikyun.kim@amkor.co.kr"; - mail_bcc = string.Empty; - mail_cc = string.Empty; + //mail_to = "chikyun.kim@amkor.co.kr"; + //mail_bcc = string.Empty; + //mail_cc = string.Empty; mail_to = MailSort(mail_to, MailJD.exceptmail); if (string.IsNullOrEmpty(mail_to) == false) diff --git a/JobReportMailService/ProgramWeek.cs b/JobReportMailService/ProgramWeek.cs index efc9684..61f2ef3 100644 --- a/JobReportMailService/ProgramWeek.cs +++ b/JobReportMailService/ProgramWeek.cs @@ -15,7 +15,7 @@ namespace JobReportMailService if (DateTime.Now.DayOfWeek != DayOfWeek.Monday) { Console.WriteLine("주간 업무일지 보고는 월요일에만 작동 합니다"); - //return; + return; } Console.WriteLine("업무일지 미 작성자(주간) 추출 작업을 시작 합니다"); @@ -127,84 +127,81 @@ namespace JobReportMailService //오늘잘짜로 등록된 자료가 있으면 처리하지 안흔다. //해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다 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(); // + 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 = "

담당자별 정보

"; + vmail_body += "
조회기간 : " + 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 mail_to = MailJW.tolist;//.Replace("{담당자}", userinfo.email); - var pmail_cc = new List(); // - 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 = "

담당자별 정보

"; - vmail_body += "
조회기간 : " + 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 += "
"; - var mail_cc = string.Join(";", pmail_cc); //모든 대상을 세미콜론으로 붙인다. - foreach (var warnitem in usergrplist) - { - var item = warnitem.FirstOrDefault(); - vmail_body += $""; - } - vmail_body += "
담당자일자별시간
{item.uname}({item.uid})"; - foreach (var ii in warnitem.OrderBy(t => t.date)) - { - vmail_body += $" {ii.date.ToString("MM/dd")}({ii.hrs}h)"; - } - vmail_body += "
"; - - //메일데이터를 생성한다. - mail_bcc = string.Empty; - mail_cc = string.Empty; - mail_to = "chikyun.kim@amkor.co.kr"; - + var fitem = item.FirstOrDefault(); db = new EEEntities(); - mail_to = MailSort(mail_to, MailJW.exceptmail); - if (string.IsNullOrEmpty(mail_to) == false) + var userinfo = db.vGroupUser.Where(t => t.id == fitem.uid).FirstOrDefault(); + var username = string.Empty; + if (userinfo != null) { - db.MailData.Add(new MailData + if (string.IsNullOrEmpty(userinfo.email) == false) { - 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("주간 알림데이터가 등록되었습니다"); + //if (pmail_cc.Contains(userinfo.email) == false) + // pmail_cc.Add(userinfo.email); + } + username = userinfo.name; } - else + } + + vmail_body += "
"; + var mail_cc = string.Join(";", pmail_cc); //모든 대상을 세미콜론으로 붙인다. + foreach (var warnitem in usergrplist) + { + var item = warnitem.FirstOrDefault(); + vmail_body += $""; + } + vmail_body += "
담당자일자별시간
{item.uname}({item.uid})"; + foreach (var ii in warnitem.OrderBy(t => t.date)) { - Console.WriteLine("받는사람이 소거되어 메일을 생성하지 않습니다"); + vmail_body += $" {ii.date.ToString("MM/dd")}({ii.hrs}h)"; } + vmail_body += "
"; + + //메일데이터를 생성한다. + //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("받는사람이 소거되어 메일을 생성하지 않습니다"); } } }