2025年8月12日 星期二

V20305E- [請料提出(Email專案)]鈕 –多次Email & Email附檔 – Email多個人員

 目的: V20305E- [請料提出(Email專案)] 多次Email & Email附檔 – Email多個人員

處理說明: 1>MailMessage ChkMail 
                       MailMessage ChkMail = new MailMessage();
                       string mail_from = "tlsapp@ms.aidc.com.tw";
               ChkMail.From = new MailAddress(mail_from, "AMM系統", System.Text.Encoding.UTF8);          
                      ChkMail.To.Clear();
                      Tmp_EMPLYID_ = myfunc.getEmp_EMAIL("611292"); \
                      if (!myfunc.checkisnull(Tmp_EMPLYID_))
                          ChkMail.To.Add(Tmp_EMPLYID_);   /若Tmp_EMPLYID_空白,.Add(xxx)則會Error                         
                  2>Email 多個人員,且不重複
                       List<String> List_EMAIL_EMPLYID = new List<string>();
                       if (List_EMAIL_EMPLYID.IndexOf(Tmp_P_EMPLYID) == -1)
                              List_EMAIL_EMPLYID.Add(Tmp_P_EMPLYID);
                       for (int i = 0; i < List_EMAIL_EMPLYID.Count; i++)
                      {
                         Tmp_EMPLYID_ = myfunc.getEmp_EMAIL(List_EMAIL_EMPLYID[i]);
                         if (!myfunc.checkisnull(Tmp_EMPLYID_))
                            ChkMail.To.Add(Tmp_EMPLYID_);
                       }                        
                  3>Email 內容, 以 <br> 換行
                               Tmp_Subject = "領用物料有瑕疵通知";
                               Tmp_Content = "附檔為V20305_瑕疵物料申請清單.xlsx\r\n"
                                                        +"請專案承辦人協助工廠籌補物料說明\r\n"
                                                        +"瑕疵物料需求已提出,請協助籌補。 \r\n";
                                Tmp_Content = Tmp_Content.Replace("\r\n", "<br>");
                                sendMail(Tmp_Subject, Tmp_Content, ChkMail);
                4>附加檔案 - 匯出檔名不可和套表檔名相同 - 加_yyyyMMdd.xlsx
            string Tmp_FName = "V20305_上下層同時提料申請清單.xlsx";      //套表的檔案名稱 
            string documentPath = HttpContext.Current.Server.MapPath("~") + "document\\";
string pathFName = documentPath + "V20305_上下層同時提料申請清單_"+DateTime.Now.ToString("yyyyMMdd") + ".xlsx";

                     wk.SaveToStream(mstream, FileFormat.Version2007);
                     wk.SaveToFile(FileName1, FileFormat.Version2007);
                     //Email附檔                    
                     ChkMail = new MailMessage();
                     mail_from = "tlsapp@ms.aidc.com.tw";
            ChkMail.From = new MailAddress(mail_from, "AMM系統", System.Text.Encoding.UTF8);
                    ContentType ct = new ContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");            
                    Attachment attm = new Attachment(FileName1, ct);  //FileName1:檔案名稱含 path
                    ChkMail.Attachments.Add(attm);   
 



1>*.cs
                 wk.SaveToStream(mstream, FileFormat.Version2007);
                 wk.SaveToFile(FileName1, FileFormat.Version2007);
                //Email附檔                    
                ChkMail = new MailMessage();
                mail_from = "tlsapp@ms.aidc.com.tw";
              ChkMail.From = new MailAddress(mail_from, "AMM系統", System.Text.Encoding.UTF8);
              ContentType ct = new ContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");            
                    Attachment attm = new Attachment(FileName1, ct);
                    ChkMail.Attachments.Add(attm);
                    //Email 通知人員,加入 [生管人員]
                    Tmp_Sql = " SELECT SAPMAN "
                                   + "  FROM   AMM_SRO "
                                   + "  WHERE  AMMNO IN (" + Tmp_List_AMMNO_Str + ")";
                    Tmp_dt1 = myfunc.SqlOpen(Tmp_dt1, Tmp_Sql);
                    Tmp_cnt1 = Tmp_dt1.Rows.Count;
                    for (int i = 0; i < Tmp_cnt1; i++)
                    {
                        Tmp_SAPMAN = Tmp_dt1.Rows[i]["SAPMAN"].ToString();
                        if (List_EMAIL_EMPLYID.IndexOf(Tmp_SAPMAN) == -1)
                            List_EMAIL_EMPLYID.Add(Tmp_SAPMAN);
                    }
                    for (int i = 0; i < List_EMAIL_EMPLYID.Count; i++)
                    {
                        Tmp_EMPLYID_ = myfunc.getEmp_EMAIL(List_EMAIL_EMPLYID[i]);
                          if (!myfunc.checkisnull(Tmp_EMPLYID_))
                            ChkMail.To.Add(Tmp_EMPLYID_);
                    }                        
                    Tmp_Subject = "領用物料有瑕疵通知";
                    Tmp_Content = "附檔為V20305_瑕疵物料申請清單.xlsx\r\n"
                                             +"請專案承辦人協助工廠籌補物料說明\r\n"
                                             +"瑕疵物料需求已提出,請協助籌補。 \r\n";
                    Tmp_Content = Tmp_Content.Replace("\r\n", "<br>");
                    sendMail(Tmp_Subject, Tmp_Content, ChkMail);


沒有留言:

張貼留言