protected void BUTTON_SendRequest_Click(object sender, SmoothEnterprise.Flowwork.UI.WebControl.FlowButtonEventArgs e)
        {
            //
            FlowClient1.TypeName = "sharflow12.Flowwork.sharflow121";
            FlowClient1.Text     = "ShppingFlow";

            ArrayList managerid = new ArrayList(); //主管id arraylist
            ArrayList managernm = new ArrayList();

            managerid.Add(PopupUser1.Text); //主管id arraylist
            managernm.Add("船務");            //主管職稱 arraylist



            sharflow12.Flowwork.sharflow121 flow = new sharflow12.Flowwork.sharflow121();

            switch (managerid.Count) //依舊arraylist裡面有幾個,來判斷走那條flow
            {
            case 1:
                e.NextNode = flow.sharflow12Node1;
                break;

            case 2:
                e.NextNode = flow.sharflow12Node2;
                break;
            }
            e.NextNode.ReviewerURL = "/Shipping/Forwarderview.aspx";


            foreach (string i in managerid) //將簽核人員id塞進flow
            {
                this.FlowClient1.AddParameter("USER0", i);
            }



            foreach (string i in managernm) //將簽核人員職稱塞進flow
            {
                this.FlowClient1.AddParameter("USERTITLE0", i);
            }



            SmoothEnterprise.Database.DataSet rs0 = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenUpdate);
            rs0.Open("SELECT ID,Pkey,IsStatus FROM Forwarder WHERE ID='" + Request.QueryString["ID"] + "'");
            if (!rs0.EOF)
            {
                rs0["IsStatus"] = "isSend";
                rs0.Update();
            }
            rs0.Close();
        }
        protected void BUTTON_SendRequest_Click(object sender, SmoothEnterprise.Flowwork.UI.WebControl.FlowButtonEventArgs e)
        {
            SmoothEnterprise.Database.DataSet rb = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenUpdate);
            rb.Open("SELECT * FROM " + db1 + "cxmt310_in_head WHERE id='" + Request.QueryString["id"] + "'  ");
            if (!rb.EOF)
            {
                rb["STATUS"]   = "Y";
                rb["senduser"] = this.CurrentUser.ID.ToString();
                rb.Update();
            }
            rb.Close();

            this.BUTTON_SendRequest.Flow = this.FlowClient1;
            managerlevel aa        = new managerlevel(); //引用managerlevel class
            ArrayList    all       = new ArrayList();    //all arraylist
            ArrayList    managerid = new ArrayList();    //主管id arraylist
            ArrayList    managerlv = new ArrayList();    //主管階級 arraylist
            ArrayList    managernm = new ArrayList();    //主管職稱 arraylist

            SmoothEnterprise.Database.DataSet rs = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenRead);
            rs.Open("select b.id bid,b.name bname from  " + db1 + "cxmt310_in_head a LEFT JOIN  " + db2 + "DGUSER b ON oqa07=erpid  WHERE a.id='" + Request.QueryString["id"] + "' ");

            if (!rs.EOF)
            {
                if (this.FIELD_plantid.Text.Trim() == "MAY") //MAY業務=業務主管, 故只簽一次
                {
                    managerid.Add(rs["bid"].ToString());
                    managernm.Add("業務主管");
                }
                else
                {
                    managerid.Add(rs["bid"].ToString());
                    managernm.Add("業務");

                    managerid.Add(aa.manager(rs["bid"].ToString()).Split('@')[0]);
                    managernm.Add("業務主管");

                    // 如組織圖中無官副總, 要加-----------------------------------------
                    string vinc      = "4A2805A5-6BDB-446B-B1CA-6D181E222B3E"; //官副總id
                    string checkvinc = "";
                    foreach (string i in managerid)                            //將簽核人員id塞進flow
                    {
                        if (i.ToString().ToUpper() == vinc)
                        {
                            checkvinc = "1";
                        }
                    }

                    if (checkvinc == "")
                    {
                        managerid.Add(vinc);
                        managernm.Add("業務最高主管");
                    }

                    //----------------------------------------------------------------------
                }
            }


            sharflow12.Flowwork.sharflow121 flow = new sharflow12.Flowwork.sharflow121();
            FlowClient1.Text = "報價單電子簽核 ERP單號:" + this.FIELD_oqa01.Text; //更改流程名稱
            switch (managerid.Count)                                     //依舊arraylist裡面有幾個,來判斷走那條flow
            {
            case 1:
                e.NextNode = flow.sharflow12Node1;
                break;

            case 2:
                e.NextNode = flow.sharflow12Node2;
                break;

            case 3:
                e.NextNode = flow.sharflow12Node4;
                break;

            case 4:
                e.NextNode = flow.sharflow12Node7;
                break;

            case 5:
                e.NextNode = flow.sharflow12Node11;
                break;

            case 6:
                e.NextNode = flow.sharflow12Node16;
                break;

            case 7:
                e.NextNode = flow.sharflow12Node22;
                break;

            case 8:
                e.NextNode = flow.sharflow12Node29;
                break;

            case 9:
                e.NextNode = flow.sharflow12Node37;
                break;

            case 10:
                e.NextNode = flow.sharflow12Node46;
                break;

            case 11:
                e.NextNode = flow.sharflow12Node56;
                break;

            case 12:
                e.NextNode = flow.sharflow12Node67;
                break;
            }
            e.NextNode.ReviewerURL = "/ERP_CXMT310/CXMT310VIEW.aspx";

            #region  刪除簽核人員pur_risk_sign

            SmoothEnterprise.Database.DataSet delrs = new SmoothEnterprise.Database.DataSet();
            delrs.ExecuteNonQuery("delete " + db1 + "CXMT310_sign where mid='" + Request.QueryString["id"] + "'");

            #endregion

            int count = 0;
            foreach (string i in managerid) //將簽核人員id塞進flow
            {
                this.FlowClient1.AddParameter("USER" + count.ToString(), i);
                //Response.Write("USER" + count.ToString() + ")" + i + "<br>");
                count++;

                #region  新增簽核人員至pur_risk_sign

                delrs.ExecuteNonQuery("INSERT INTO " + db1 + "CXMT310_sign (mid,user_id,number) VALUES ('" + Request.QueryString["id"] + "','" + i.ToString() + "','" + count.ToString() + "')");

                #endregion
            }

            count = 0;

            foreach (string i in managernm) //將簽核人員職稱塞進flow
            {
                this.FlowClient1.AddParameter("USERTITLE" + count.ToString(), i);

                count++;
            }

            SmoothEnterprise.Database.DataSet rss = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenRead);
            rss.Open("select id bid,name,email from " + db2 + "dguser where id = '" + this.CurrentUser.ID + "' ");
            if (!rss.EOF)
            {
                ArrayList email_list = new ArrayList(); //email list


                email_list.Add(rss["name"].ToString() + '#' + rss["email"].ToString());

                #region 代理人
                SmoothEnterprise.Database.DataSet rs2 = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenUpdate);
                rs2.Open(" SELECT b.name name,email FROM " + db2 + "dguserdeputy a left join " + db2 + "dguser b on a.deputyuid=b.id left join " + db2 + "dgflow c on a.sid=c.id  " +
                         " where  a.uid='" + rss["bid"].ToString() + "'  " +
                         " and  " +
                         " ((a.sid is null and  sdate < GETDATE() and edate is null) or " +
                         " (c.typename like 'ERP_FLOW%' and sdate < GETDATE() and edate is null) or " +
                         " (c.typename like 'ERP_FLOW%' and sdate < GETDATE() and edate > GETDATE()) or " +
                         "  a.sid is null and sdate < GETDATE() and edate  > GETDATE())   group by b.name,email ");
                while (!rs2.EOF)
                {
                    email_list.Add(rs2["name"].ToString() + '#' + rs2["email"].ToString());
                    rs2.MoveNext();
                }
                rs2.Close();

                #endregion

                foreach (string i in email_list)
                {
                    String ques;

                    MailAddress from = new MailAddress("*****@*****.**", "ePortal(員工入口網站)");
                    MailAddress to   = new MailAddress(i.Split('#')[1]);

                    MailAddress bcc = new MailAddress("*****@*****.**");

                    MailMessage message = new MailMessage(from, to);
                    ques = i.Split('#')[0] + " 您好:" + "<br>" +
                           "<br>" +
                           "ERP報價電子簽核申請單現有一筆,正等待您的處理:" + "<br>" +
                           "<br>" +
                           "申請單號 : " + this.FIELD_no.Text + "<br>" +
                           "ERP單號 : " + this.FIELD_oqa01.Text + "<br>" +
                           "申請日期 : " + this.FIELD_oqa02.Text + "<br>" +
                           "申請人員 : " + this.FIELD_g_name.Text + "<br>" +
                           "申請內容 : " + "<a href=\"http://eip.minaik.com.tw/ERP_CXMT310/CXMT310View.aspx?id=" + Request.QueryString["id"] + "\" >至ERP報價電子簽核系統檢視並編輯內容</a>" +
                           "<br>" +
                           "如您想了解更多有關員工入口網站的資訊請點選以下連結進入" + "<br>" +
                           "<a href=\"http://eip.minaik.com.tw/\">員工入口網站</a>" + "<br>" +
                           "感謝您對員工入口網站的支持與愛護,<font Color='red'>。因本信件為系統自動發送,請勿直接以此郵件回覆。</font>";


                    message.Subject = "報價單號 - " + this.FIELD_no.Text + " ERP單號-" + this.FIELD_oqa01.Text + "等待您的處理";

                    message.IsBodyHtml = true;
                    message.Body       = ques;


                    SmtpClient client = new SmtpClient("192.168.0.12");
                    client.Credentials = new NetworkCredential("eip", "eip1106");
                    client.Send(message);
                }
            }

            //讓更新能顯示------------------------------------------------------------------------------------
            Response.Write("<script type=\"text/javascript\">");
            Response.Write("location.href='CXMT310Edit.aspx?id=" + Request.QueryString["ID"] + "';");
            Response.Write("</script>");
            //-------------------------------------------------------------------------------------------------
        }
Exemple #3
0
        protected void BUTTON_SendRequest_Click(object sender, SmoothEnterprise.Flowwork.UI.WebControl.FlowButtonEventArgs e)
        {
            SmoothEnterprise.Database.DataSet rb = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenUpdate);
            rb.Open("SELECT * FROM " + db + "apmi255_in_head WHERE id='" + Request.QueryString["id"] + "'  ");
            if (!rb.EOF)
            {
                rb["STATUS"]   = "Y";
                rb["senduser"] = this.CurrentUser.ID.ToString();
                rb.Update();
            }
            rb.Close();

            this.BUTTON_SendRequest.Flow = this.FlowClient1;
            managerlevel aa        = new managerlevel(); //引用managerlevel class
            ArrayList    all       = new ArrayList();    //all arraylist
            ArrayList    managerid = new ArrayList();    //主管id arraylist
            ArrayList    managerlv = new ArrayList();    //主管階級 arraylist
            ArrayList    managernm = new ArrayList();    //主管職稱 arraylist



            managerid.Add(this.FIELD_lsend.Text);
            managernm.Add("直屬主管");

            if (this.FIELD_lsend.Text != aa.manager(this.CurrentUser.ID.ToString()).Split('@')[0])
            {
                managerid.Add(aa.manager(this.CurrentUser.ID.ToString()).Split('@')[0]);
                managernm.Add("直屬主管");
            }



            if (this.FIELD_pmiuser.Text.Substring(0, 2) == "EF" && this.FIELD_flowstatus.Text.Trim().Substring(0, 1) == "1")  //MAY人員且簽核流程為1  送跨廠即可
            {
                SmoothEnterprise.Database.DataSet rsA = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenRead);
                rsA.Open("select * from ERP_FLOW where ERP_NAME='apmi255' and DEP_NAME='PUR' AND NO='MAT審核的採購' AND PID='" + this.FIELD_mpru.Text + "' ");  //確認MAY選的採購是否為MAT人員
                if (!rsA.EOF)
                {
                    managerid.Add(this.FIELD_mpru.Text);
                    managernm.Add("跨廠採購人員");
                }
                else
                {
                    managerid.Add("43AB27FF-E6C8-4A46-83AA-AB4590F252D3");
                    managernm.Add("跨廠採購人員");
                }
            }


            sharflow12.Flowwork.sharflow121 flow = new sharflow12.Flowwork.sharflow121();
            FlowClient1.Text = "採購核價單電子簽核 ERP單號:" + this.FIELD_pmi01.Text.ToString(); //更改流程名稱
            switch (managerid.Count)                                                  //依舊arraylist裡面有幾個,來判斷走那條flow
            {
            case 1:
                e.NextNode = flow.sharflow12Node1;
                break;

            case 2:
                e.NextNode = flow.sharflow12Node2;
                break;

            case 3:
                e.NextNode = flow.sharflow12Node4;
                break;

            case 4:
                e.NextNode = flow.sharflow12Node7;
                break;

            case 5:
                e.NextNode = flow.sharflow12Node11;
                break;

            case 6:
                e.NextNode = flow.sharflow12Node16;
                break;

            case 7:
                e.NextNode = flow.sharflow12Node22;
                break;

            case 8:
                e.NextNode = flow.sharflow12Node29;
                break;

            case 9:
                e.NextNode = flow.sharflow12Node37;
                break;

            case 10:
                e.NextNode = flow.sharflow12Node46;
                break;

            case 11:
                e.NextNode = flow.sharflow12Node56;
                break;

            case 12:
                e.NextNode = flow.sharflow12Node67;
                break;
            }
            e.NextNode.ReviewerURL = "/ERP_APMI255/ERP_APMI255VIEW.aspx";

            int count = 0;

            foreach (string i in managerid)  //將簽核人員id塞進flow
            {
                this.FlowClient1.AddParameter("USER" + count.ToString(), i);
                //Response.Write("USER" + count.ToString() + ")" + i + "<br>");
                count++;
            }

            count = 0;

            foreach (string i in managernm)  //將簽核人員職稱塞進flow
            {
                this.FlowClient1.AddParameter("USERTITLE" + count.ToString(), i);
                //Response.Write("USERTITLE" + count.ToString() + ")" + i + "<br>");
                count++;
            }

            SmoothEnterprise.Database.DataSet rss = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenRead);
            rss.Open("select id bid,name,email from dguser where id = '" + this.FIELD_lsend.Text + "' ");
            if (!rss.EOF)
            {
                ArrayList email_list = new ArrayList();  //email list


                email_list.Add(rss["name"].ToString() + '#' + rss["email"].ToString());

                #region 代理人
                SmoothEnterprise.Database.DataSet rs2 = new SmoothEnterprise.Database.DataSet(SmoothEnterprise.Database.DataSetType.OpenUpdate);
                rs2.Open(" SELECT b.name name,email FROM dguserdeputy a left join dguser b on a.deputyuid=b.id left join dgflow c on a.sid=c.id  " +
                         " where  a.uid='" + rss["bid"].ToString() + "'  " +
                         " and  " +
                         " ((a.sid is null and  sdate < GETDATE() and edate is null) or " +
                         " (c.typename like 'ERP_FLOW%' and sdate < GETDATE() and edate is null) or " +
                         " (c.typename like 'ERP_FLOW%' and sdate < GETDATE() and edate > GETDATE()) or " +
                         "  a.sid is null and sdate < GETDATE() and edate  > GETDATE())   group by b.name,email ");
                while (!rs2.EOF)
                {
                    //MyLibrary_AXMT610 Backsend = new MyLibrary_AXMT610();
                    email_list.Add(rs2["name"].ToString() + '#' + rs2["email"].ToString());
                    rs2.MoveNext();
                }
                rs2.Close();

                #endregion

                foreach (string i in email_list)
                {
                    //Response.Write( i + "<br>");
                    //Response.Write(i.Split('#')[0] + "<br>");  //人員姓名
                    //Response.Write(i.Split('#')[1] + "<br>");  //人員email

                    String ques;

                    MailAddress from = new MailAddress("*****@*****.**", "ePortal(員工入口網站)");
                    MailAddress to   = new MailAddress(i.Split('#')[1]);

                    MailAddress bcc = new MailAddress("*****@*****.**");

                    MailMessage message = new MailMessage(from, to);
                    ques = i.Split('#')[0] + " 您好:" + "<br>" +
                           "<br>" +
                           "ERP採購核價電子簽核申請單現有一筆,正等待您的處理:" + "<br>" +
                           "<br>" +
                           "申請單號 : " + this.FIELD_no.Text + "<br>" +
                           "ERP單號 : " + this.FIELD_pmi01.Text + "<br>" +
                           "申請日期 : " + this.FIELD_pmi02.Text + "<br>" +
                           "申請人員 : " + this.FIELD_gen02_1.Text + "<br>" +
                           "申請內容 : " + "<a href=\"http://eip.minaik.com.tw/ERP_APMI255/ERP_APMI255View.aspx?id=" + Request.QueryString["id"] + "\" >至ERP採購核價電子簽核系統檢視並編輯內容</a>" +
                           "<br>" +
                           "如您想了解更多有關員工入口網站的資訊請點選以下連結進入" + "<br>" +
                           "<a href=\"http://eip.minaik.com.tw/\">員工入口網站</a>" + "<br>" +
                           "感謝您對員工入口網站的支持與愛護,<font Color='red'>。因本信件為系統自動發送,請勿直接以此郵件回覆。</font>";

                    if (this.FIELD_quick.Text.Trim() == "Y")
                    {
                        message.Subject = "(急件)核價單號 - " + this.FIELD_no.Text + " ERP單號-" + this.FIELD_pmi01.Text + "等待您的處理";
                    }
                    else
                    {
                        message.Subject = "核價單號 - " + this.FIELD_no.Text + " ERP單號-" + this.FIELD_pmi01.Text + "等待您的處理";
                    }
                    message.IsBodyHtml = true;
                    message.Body       = ques;


                    SmtpClient client = new SmtpClient("192.168.0.12");
                    client.Credentials = new NetworkCredential("eip", "eip1106");
                    client.Send(message);
                }
            }

            //讓更新能顯示------------------------------------------------------------------------------------
            Response.Write("<script type=\"text/javascript\">");
            Response.Write("location.href='erp_apmi255Edit.aspx?id=" + Request.QueryString["ID"] + "';");
            Response.Write("</script>");
            //-------------------------------------------------------------------------------------------------
        }