コード例 #1
0
        /// <summary>
        /// 工作单申请保存按钮
        /// </summary>
        /// <returns></returns>
        private void Worksqing_Baoc()
        {
            BLL.WorkOrderBLL     orderBLL  = new WorkOrderBLL();
            JavaScriptSerializer js        = new JavaScriptSerializer();
            WorkSheet            workSheet = new WorkSheet();

            workSheet.WorksheetID             = Convert.ToInt32(HttpContext.Current.Request.Form["WorksheetID"]);
            workSheet.WorkOrderNumber         = HttpContext.Current.Request.Form["WorkOrderNumber"];         //工作单单号
            workSheet.ResponsiblePerson       = HttpContext.Current.Request.Form["ResponsiblePerson"];       //责任人/处理人姓名
            workSheet.WorkCreatNumber         = HttpContext.Current.Request.Form["WorkCreatNumber"];         //创建人工号
            workSheet.WorksheetCreatDate      = HttpContext.Current.Request.Form["WorksheetCreatDate"];      //工作单创建日期
            workSheet.WorkDealPeople          = HttpContext.Current.Request.Form["WorkDealPeople"];          //处理人(默认为当前创建人,可以是上级)
            workSheet.WorkUploadType          = HttpContext.Current.Request.Form["WorkUploadType"];          ////上传类型
            workSheet.MyProWorkDescribleperty = HttpContext.Current.Request.Form["MyProWorkDescribleperty"]; //描述
            workSheet.WorkState         = HttpContext.Current.Request.Form["WorkState"];                     //状态
            workSheet.WorkDueTime       = HttpContext.Current.Request.Form["WorkDueTime"];                   //到期时间
            workSheet.WorkDueDeal       = HttpContext.Current.Request.Form["WorkDueDeal"];                   //到期处理
            workSheet.WorkTaskName      = HttpContext.Current.Request.Form["WorkTaskName"];                  //任务名称
            workSheet.WorkReminderlevel = HttpContext.Current.Request.Form["WorkReminderlevel"];             //催办等级
            workSheet.WorkReminderTime  = HttpContext.Current.Request.Form["WorkReminderTime"];              //催办时效


            var obj = new { msg = "保存成功!", code = 200 };

            if (!orderBLL.Worksqing_Baoc(workSheet))
            {
                obj = new { msg = "保存失败!", code = 201 };
            }
            string rs = js.Serialize(workSheet);

            HttpContext.Current.Response.Write(rs);
            HttpContext.Current.Response.End();
        }
コード例 #2
0
        public JsonResult GetMeetings(string deptid)
        {
            var dept           = new DepartmentBLL().GetAuthorizationDepartment(deptid);
            var depts          = new DepartmentBLL().GetSubDepartments(dept.DepartmentId, "班组");
            var date           = DateTime.Today;
            var workorder      = new WorkOrderBLL();
            var num1           = 0;
            var num2           = 0;
            var num3           = 0;
            var num4           = 0;
            var workmeetingbll = new WorkmeetingBLL();
            var d         = new DateTime(date.Year, date.Month, 1);
            var list      = new List <string>();
            var meetings1 = new List <MeetingModel>();
            var meetings2 = new List <MeetingModel>();

            while (d <= date)
            {
                foreach (var item in depts)
                {
                    var ss = workorder.GetWorkOrderTotal(d, item.DepartmentId);
                    if (ss[0] != "无")
                    {
                        if (d == date)
                        {
                            num1++;
                        }
                        var meeting = workmeetingbll.HasMeeting(item.DepartmentId, d);
                        if (string.IsNullOrEmpty(meeting.MeetingId) || string.IsNullOrEmpty(meeting.OtherMeetingId))
                        {
                            list.Add(item.DepartmentId);
                            if (d == date)
                            {
                                num2++;
                            }
                            num4++;
                            meetings2.Add(new MeetingModel()
                            {
                                DeptName = item.FullName, MeetingDate = d, MeetingName = ss[0]
                            });
                        }
                        if (d == date)
                        {
                            meetings1.Add(new MeetingModel()
                            {
                                DeptName = item.FullName, Meeting1 = string.IsNullOrEmpty(meeting.MeetingId) ? "未开" : "已开", Meeting2 = string.IsNullOrEmpty(meeting.OtherMeetingId) ? "未开" : "已开"
                            });
                        }
                    }
                }
                d = d.AddDays(1);
            }
            num3 = list.Distinct().Count();


            return(Json(new { num1, num2, num3, num4, meetings1, meetings2 }, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        //根据id 查工作单
        private void UpateCha()
        {
            int id = Convert.ToInt32(HttpContext.Current.Request.Form["UpateID"]);

            BLL.WorkOrderBLL orderBLL = new WorkOrderBLL();
            var work_Infro            = orderBLL.Upate_gaCha_Bll(id);

            Serialize1(work_Infro);
        }
コード例 #4
0
        ///工作单 卡号与姓名 MS_User表
        /// </summary>
        private void WorkPeople()
        {
            BLL.WorkOrderBLL     workOrder = new WorkOrderBLL();
            JavaScriptSerializer js        = new JavaScriptSerializer();
            var    table = workOrder.getUser();
            string str   = js.Serialize(table);

            HttpContext.Current.Response.Write(str);
            HttpContext.Current.Response.End();
        }
コード例 #5
0
        /// <summary>
        /// 创建工作单多条件查询
        /// </summary>
        /// <returns></returns>
        private void WorkGetList()
        {
            string WorkOrderNumber = HttpContext.Current.Request["WorkOrderNumber"];
            string WorkTaskName    = HttpContext.Current.Request["WorkTaskName"];

            BLL.WorkOrderBLL orderBLL = new WorkOrderBLL();
            var table = orderBLL.GetWorkSelect(WorkOrderNumber, WorkTaskName);

            Serialize1(table);
        }
コード例 #6
0
        // 工作单创建明细加载数据库
        private void GetCha()
        {
            BLL.WorkOrderBLL orderBLL = new WorkOrderBLL();
            var table = orderBLL.getCha();
            JavaScriptSerializer js = new JavaScriptSerializer();
            var rs = js.Serialize(table);

            HttpContext.Current.Response.Write(rs);
            HttpContext.Current.Response.End();
        }
コード例 #7
0
 private void DataSource1(object sender, LocateDataSourceEventArgs args)
 {
     if (args.DataSet.Query.DataSourceName == "DataSource1")
     {
         if (args.DataSet.Name == "DataSet1")
         {
             WorkOrderIBLL workOrderIBLL = new WorkOrderBLL();
             args.Data = workOrderIBLL.GetPrintItem(id);
         }
     }
 }
コード例 #8
0
    protected void lnkBtnReturn_Click(object sender, EventArgs e)
    {
        bool          lb_complete = true;
        woApprovalBLL apprvLogic  = new woApprovalBLL();

        WorkOrder.WOapprovalDataTable aprvDT = apprvLogic.GetWOApprovalDataByWOandProj(li_wonum, ls_proj);

        foreach (WorkOrder.WOapprovalRow aprvDR in aprvDT)
        {
            lb_complete = true;
            if (Convert.ToBoolean(aprvDR["wapr_required"]) && !Convert.ToBoolean(aprvDR["wapr_AprvCode"]))
            {
                lb_complete = false;
                break;
            }
        }

        if (lb_complete)
        {
            woPhaseBLL woPhaseLogic = new woPhaseBLL();

            int PhaseNum = woPhaseLogic.InsertPhaseRecord(li_wonum,
                                                          ls_proj, 0, DateTime.Now, "GONG", 1,
                                                          Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));

            if (PhaseNum > 0)
            {
                PhaseNum = woPhaseLogic.InsertPhaseRecord(li_wonum,
                                                          ls_proj, 0, DateTime.Now, "IMPL", 0,
                                                          Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));


                WorkOrderBLL woLogic = new WorkOrderBLL();
                WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(li_wonum, ls_proj);
                WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];

                bool lb_rtn;

                WrkOrd.word_Status   = "IMPL";
                WrkOrd.word_statFlag = 0;
                WrkOrd.word_StatNum  = PhaseNum;

                lb_rtn = woLogic.UpdateWorkOrder(WrkOrd.word_WOnum, WrkOrd.word_Proj, WrkOrd.word_StatNum,
                                                 WrkOrd.word_Status, WrkOrd.word_statFlag, WrkOrd.word_Date, WrkOrd.word_Author,
                                                 WrkOrd.word_Title, "", "", WrkOrd.word_Priority,
                                                 WrkOrd.word_Descr, WrkOrd.word_Justify, WrkOrd.word_Cmnts, WrkOrd.word_PMorSME,
                                                 WrkOrd.word_BusnOwner, WrkOrd.word_reqDueDate, WrkOrd.word_WOnum, WrkOrd.word_Proj);
            }
        }

        string ls_response = "~/WorkOrder/EditWO.aspx?word_WOnum=" + li_wonum.ToString() + "&word_Proj=" + ls_proj;

        Response.Redirect(ls_response);
    }
コード例 #9
0
        public ViewResult Cycle()
        {
            var          user     = OperatorProvider.Provider.Current();
            WorkOrderBLL orderbll = new WorkOrderBLL();
            var          banci    = orderbll.getSetValue(user.DeptId).Select(x => new SelectListItem()
            {
                Text = x.Value, Value = x.Key
            }).ToList();

            ViewData["banci"] = banci;
            return(View());
        }
コード例 #10
0
ファイル: EditWO.aspx.cs プロジェクト: jlpatton/AuditBenefits
 protected void ObjectDataSource1_Updating(object sender, ObjectDataSourceMethodEventArgs e)
 {
     //e.InputParameters["word_Doc"] = "";
     //e.InputParameters["word_DocVer"] = "";
     try
     {
         WorkOrderBLL woLogic = new WorkOrderBLL();
         bool         lb_rtn  = woLogic.UpdateWO(Convert.ToInt32(e.InputParameters["Original_word_WOnum"]), e.InputParameters["word_Proj"].ToString(), Convert.ToInt32(e.InputParameters["word_StatNum"]), e.InputParameters["word_Status"].ToString(),
                                                 Convert.ToInt32(e.InputParameters["word_StatFlag"]), Convert.ToDateTime(e.InputParameters["word_Date"]), e.InputParameters["word_Author"].ToString(), e.InputParameters["word_Title"].ToString(),
                                                 Convert.ToInt32(e.InputParameters["word_Priority"]), e.InputParameters["word_Descr"].ToString(), e.InputParameters["word_Justify"].ToString(), e.InputParameters["word_Cmnts"].ToString(),
                                                 Convert.ToInt32(e.InputParameters["word_PMorSME"]), Convert.ToInt32(e.InputParameters["word_BusnOwner"]), Convert.ToDateTime(e.InputParameters["word_reqDueDate"]));
         /// ObjectDataSource1.Update();
     }
     catch (Exception ex)
     {
         string ls_val = ex.Message.ToString();
     }
 }
コード例 #11
0
        /// <summary>
        /// 工作单创建明细修改按钮
        /// </summary>
        /// <returns></returns>
        private void Work_Update()
        {
            int       WorksheetID        = Convert.ToInt32(HttpContext.Current.Request.Form["WorksheetID"]);
            string    WorkOrderNumber    = HttpContext.Current.Request.Form["WorkOrderNumber"];
            string    ResponsiblePerson  = HttpContext.Current.Request.Form["ResponsiblePerson"];
            string    WorkCreatNumber    = HttpContext.Current.Request.Form["WorkCreatNumber"];
            string    WorksheetCreatDate = HttpContext.Current.Request.Form["WorksheetCreatDate"];
            string    WorkDescrible      = HttpContext.Current.Request.Form["WorkDescrible"];
            string    WorkDueTime        = HttpContext.Current.Request.Form["WorkDueTime"];
            string    WorkTaskName       = HttpContext.Current.Request.Form["WorkTaskName"];
            string    WorkReminderlevel  = HttpContext.Current.Request.Form["WorkReminderlevel"];
            WorkSheet sheet = new WorkSheet
            {
                WorksheetID             = WorksheetID,
                WorkOrderNumber         = WorkOrderNumber,
                ResponsiblePerson       = ResponsiblePerson,
                WorkCreatNumber         = WorkCreatNumber,
                WorksheetCreatDate      = WorksheetCreatDate,
                MyProWorkDescribleperty = WorkDescrible,
                WorkDueTime             = WorkDueTime,
                WorkTaskName            = WorkTaskName,
                WorkReminderlevel       = WorkReminderlevel
            };
            WorkOrderBLL orderBLL = new WorkOrderBLL();

            var obj = new { msg = "修改成功!", code = 200 };

            if (!orderBLL.Work_Update(sheet))
            {
                obj = new { msg = "修改失败!", code = 201 };
            }
            JavaScriptSerializer js = new JavaScriptSerializer();
            string rs = js.Serialize(obj);

            HttpContext.Current.Response.Write(rs);
            HttpContext.Current.Response.End();
        }
コード例 #12
0
    public bool Send(string eFrom, string eTo, string subj, string body, int woNum, int woRespNum, string proj)
    {
        ldapClient userObject = new ldapClient();
        UserRecord ud;

        ud    = userObject.SearchUser(eFrom.ToString());
        eFrom = ud.Email.ToString();
        ud    = new UserRecord();
        ud    = userObject.SearchUser(eTo.ToString());
        eTo   = ud.Email;
        LoadCC(woNum, proj);
        //MailMessage mailmsg = new MailMessage();
        MailAddress mailFrom  = new MailAddress(eFrom); //+ "@acme.com"
        MailAddress mailRecip = new MailAddress(eTo);   //+ "@acme.com"

        if (mailmsg.CC.Count > 0)
        {
            MailAddress[] MAarray = new MailAddress[0];

            foreach (MailAddress ma in mailmsg.CC)
            {
                if (ma.Address == mailRecip.Address || ma.Address == mailFrom.Address)
                {
                    Array.Resize(ref MAarray, MAarray.Length + 1);
                    MAarray[MAarray.Length - 1] = ma;
                    //Array.Copy(ma,MAarray,1);
                }
            }
            if (MAarray.Length > 0)
            {
                foreach (MailAddress ma1 in MAarray)
                {
                    mailmsg.CC.Remove(ma1);
                }
            }
        }

        mailmsg.From    = mailFrom;
        mailmsg.ReplyTo = mailFrom;
        //mailTo.Add(mailRecip);
        mailmsg.To.Add(mailRecip);

        mailmsg.Subject = subj;
        mailmsg.Body    = body;
        SmtpClient mailClient = new SmtpClient();

        mailClient.UseDefaultCredentials = true;
        mailClient.Port = 25;


        try
        {
            mailClient.Send(mailmsg);

            WorkOrderBLL WOobj    = new WorkOrderBLL();
            int          eMailNum = WOobj.GetMaxEmailNum(woNum, proj) + 1;
            bool         YNemail  = WOobj.InsertEmailRecord(eMailNum, woNum, woRespNum, proj,
                                                            mailmsg.From.ToString(), mailmsg.To.ToString(), mailmsg.CC.ToString(),
                                                            mailmsg.Subject, mailmsg.Body, DateTime.Now);
        }
        catch (SmtpFailedRecipientsException recExc)
        {
            for (int i = 0; i < recExc.InnerExceptions.Length; i++)
            {
                SmtpStatusCode statCd = recExc.InnerExceptions[i].StatusCode;
                if ((statCd == SmtpStatusCode.MailboxBusy) || (statCd == SmtpStatusCode.MailboxUnavailable))
                {
                    System.Threading.Thread.Sleep(5000);
                    mailClient.Send(mailmsg);
                }
            }
        }
        catch (SmtpException smtpEx)
        {
            string errmsg   = smtpEx.InnerException.Message;
            string errmsg2  = smtpEx.Message;
            string statusCd = smtpEx.StatusCode.ToString();
            return(false);
        }
        catch (Exception Ex)
        {
            string ExMsg = Ex.Message;
        }

        return(true);
    }
コード例 #13
0
    protected void FormView2_ItemInserted(object sender, FormViewInsertedEventArgs e)
    {
        int    li_r2r;
        string ls_cmnts, ls_to, ls_title, ls_val2, ls_val3, ls_val4;

        if (FormView2.DataItemCount > 0)
        {
            DataRowView rowView    = (DataRowView)FormView2.DataItem;
            string      ls_val     = rowView["wrsp_uid"].ToString();
            int         li_respNum = Convert.ToInt32(rowView["wrsp_RespNum"]);
            li_r2r = Convert.ToInt32(rowView["wrsp_RespToResp"]);
            if (li_r2r == null)
            {
                li_r2r = 0;
            }

            WorkOrderBLL WOlogic = new WorkOrderBLL();
            WorkOrder.WorkOrderDataTable WOdt = WOlogic.GetWorkOrdersByWOnumProj(li_wonum, ls_proj);
            DataRow woRow = ((DataRow)(WOdt.Rows[0]));
            ls_title = woRow["word_Title"].ToString();
            if ((User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)).ToString() == woRow["word_BusnOwner"].ToString())
            {
                ls_to = woRow["word_BusnOwner"].ToString();
            }
            else
            {
                ls_to = woRow["word_PMorSME"].ToString();
            }

            ls_val2 = woRow["wrsp_Results"].ToString();
            ls_val3 = woRow["wrsp_Consider"].ToString();
            ls_val4 = woRow["wrsp_Risks"].ToString();

            if (string.IsNullOrEmpty(ls_val2))
            {
                ls_val2 = "";
            }
            if (string.IsNullOrEmpty(ls_val3))
            {
                ls_val2 = "";
            }
            if (string.IsNullOrEmpty(ls_val4))
            {
                ls_val2 = "";
            }

            SmtpEmail mailMessage = new SmtpEmail();
            bool      lb_rtn      = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "Work Order Response - " + ls_proj
                                                     + " WO# " + ls_num + " - " + ls_title,
                                                     "WO# " + ls_num + " - " + ls_title + " requires your attention." +
                                                     " Log into the EBS Work Order Module for details. Please do not respond to this email."
                                                     + Environment.NewLine + "http://www.google.com" + Environment.NewLine + Environment.NewLine +
                                                     "The most recent comment on this work order is as follows:" + Environment.NewLine + Environment.NewLine +
                                                     "Results:" + Environment.NewLine + Environment.NewLine + ls_val2 +
                                                     Environment.NewLine + Environment.NewLine + "Considerations:" + Environment.NewLine + Environment.NewLine + ls_val3
                                                     + Environment.NewLine + Environment.NewLine + "Risks:" + Environment.NewLine + Environment.NewLine +
                                                     ls_val4, li_wonum, li_respNum, ls_proj);
        }


        //WorkOrderTableAdapters.WOresponseTableAdapter WOrespAdapter = new WorkOrderTableAdapters.WOresponseTableAdapter();
        //WorkOrder.WOresponseDataTable Responses = WOrespAdapter.GetMaxWOresponseByWOnum(Convert.ToInt32(Request.QueryString["word_WOnum"]),Convert.ToString(Request.QueryString["word_Proj"]));

        //if (Responses.Count > 0)
        //{
        //    FormView2.ChangeMode(FormViewMode.ReadOnly);
        //    woUsersBLL userLogic = new woUsersBLL();
        //    string ls_usr = userLogic.GetFullNameByID(Convert.ToInt32(Responses[0].wrsp_uid));
        //    ((Label)(FormView2.FindControl("UIDlabel"))).Text = ls_usr;
        //}

        FormView2.ChangeMode(FormViewMode.ReadOnly);
    }
コード例 #14
0
    protected void FormView1_ItemInserted(object sender, FormViewInsertedEventArgs e)
    {
        int rws = e.AffectedRows;

        woPhaseBLL   woPhaseLogic = new woPhaseBLL();
        WorkOrderBLL woLogic      = new WorkOrderBLL();

        int  wonum = (woLogic.GetMaxWOnum(e.Values[3].ToString()) - 1);
        bool lb_rtn;

        //SmtpEmail mailMessage = new SmtpEmail();
        //bool lb_rtn = mailMessage.Send(e.Values["word_Author"].ToString(), e.Values["word_PMorSME"].ToString(), "Work Order Creation - " + e.Values[3].ToString()
        //    + " WO# " + wonum + " - " + e.Values["word_Title"].ToString(),
        //    "WO# " + wonum + " - " + e.Values["word_Title"].ToString() + " requires your attention." +
        //    " Log into the EBS Work Order Module for details. Please do not respond to this email.", wonum, 0, e.Values["word_Proj"].ToString());

        // Insert a WOphase record, update the WOrole table and update the WorkOrder table record as well.

        WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(wonum, e.Values["word_Proj"].ToString());
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];

        int PhaseNum = woPhaseLogic.InsertPhaseRecord(wonum, WrkOrd.word_Proj, 0, DateTime.Now,
                                                      "IWOR", 0, Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));

        RolesBLL roleLogic = new RolesBLL();

        lb_rtn = roleLogic.InsertWOroles(wonum, Convert.ToInt32(WrkOrd.word_Author), WrkOrd.word_Proj, "AUTH", false, true);
        lb_rtn = roleLogic.InsertWOroles(wonum, Convert.ToInt32(WrkOrd.word_BusnOwner), WrkOrd.word_Proj, "BOWN", false, true);
        lb_rtn = roleLogic.InsertWOroles(wonum, Convert.ToInt32(WrkOrd.word_PMorSME), WrkOrd.word_Proj, "PM", false, true);


        DataView dv = (DataView)ObjectDataSource1.Select();
        DataRow  dr = (DataRow)dv.Table.Rows[0];
        FormView fv = sender as FormView;

        if (fv.CurrentMode == FormViewMode.Insert)
        {
            DropDownList DropDownListPhaseStat = (DropDownList)fv.Row.FindControl("DropDownListPhaseStat");
            int          PhaseStat             = Convert.ToInt32(DropDownListPhaseStat.SelectedValue);

            if (PhaseStat == 1)
            {
                int PhaseNumb = woPhaseLogic.InsertPhaseRecord(wonum, WrkOrd.word_Proj, 0, DateTime.Now,
                                                               "WORA", 0, Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));

                WrkOrd.word_Status   = "WORA";
                WrkOrd.word_statFlag = 0;
                WrkOrd.word_StatNum  = PhaseNumb;

                //DateTimePicker DTimePicker = (DateTimePicker)fv.Row.FindControl("CalendarExtender1");
                //string ls_val = DTimePicker.Value.ToString();

                //TextBox TxtBxReqDate = (TextBox)fv.Row.FindControl("word_reqDueDateTextBox");
                //TxtBxReqDate.Text = ls_val;

                //WrkOrd.word_reqDueDate = Convert.ToDateTime(DTimePicker.Value.ToString());

                lb_rtn = woLogic.UpdateWorkOrder(WrkOrd.word_WOnum, WrkOrd.word_Proj, WrkOrd.word_StatNum,
                                                 WrkOrd.word_Status, WrkOrd.word_statFlag, WrkOrd.word_Date, WrkOrd.word_Author,
                                                 WrkOrd.word_Title, WrkOrd.word_Doc.ToString(), WrkOrd.word_DocVer.ToString(), WrkOrd.word_Priority,
                                                 WrkOrd.word_Descr, WrkOrd.word_Justify, WrkOrd.word_Cmnts, WrkOrd.word_PMorSME,
                                                 WrkOrd.word_BusnOwner, WrkOrd.word_reqDueDate, WrkOrd.word_WOnum, WrkOrd.word_Proj);
            }
        }

        Response.Redirect("~/WorkOrder/Default.aspx?word_Proj=" + WrkOrd.word_Proj.ToString());
    }
コード例 #15
0
ファイル: EditWO.aspx.cs プロジェクト: jlpatton/AuditBenefits
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptManager SM = ((ScriptManager)(Master.FindControl("ScriptManager1")));

        SM.RegisterAsyncPostBackControl(btnAddParticipant);
        SM.RegisterAsyncPostBackControl(FormView2);
        WorkOrderBLL woLogic = new WorkOrderBLL();

        WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(Convert.ToInt32(Request.QueryString["word_WOnum"]), Request.QueryString["word_Proj"].ToString());
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];
        ls_proj  = Request.QueryString["word_Proj"];
        li_wonum = Convert.ToInt32(Request.QueryString["word_WOnum"]);

        RolesBLL roleLogic = new RolesBLL();


        if (!IsPostBack)
        {
            if ((WrkOrd.word_Status == "IMPL" && WrkOrd.word_statFlag == 1) ||
                (WrkOrd.word_Status == "GONG")) // &&
            {
                if (!(WrkOrd.word_Status == "GONG" &&
                      roleLogic.IsUserApprover(Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)), li_wonum, ls_proj))) // AND IsUserPMorUp?RoleBLL
                {
                    FormView1.DefaultMode  = FormViewMode.ReadOnly;
                    FormView1.DataSourceID = ObjectDataSource2.ID;
                    FormView1.DataBind();
                    ddlParticipant.Enabled    = false;
                    ddlParticipant.Visible    = false;
                    ddlRole.Enabled           = false;
                    ddlRole.Visible           = false;
                    btnAddParticipant.Visible = false;
                    lblParticipant.Visible    = false;
                    lblRole.Visible           = false;
                    GridView2.Enabled         = false;
                    GridView2.Visible         = false;
                    ((LinkButton)(FormView1.FindControl("RespondButton"))).Visible = false;
                }
                else
                {
                    ((LinkButton)(FormView1.FindControl("Approvals"))).Visible = true;
                }
            }


            bool lb_rtn = false;

            WorkOrderTableAdapters.WOroleTableAdapter roleAdapter = new WorkOrderTableAdapters.WOroleTableAdapter();
            WorkOrder.WOroleDataTable roleDT = roleAdapter.GetWOroleByWOproj(li_wonum, ls_proj);
            foreach (DataRow roleRow in roleDT)
            {
                if (roleRow["worl_uid"].ToString() == WrkOrd.word_Author.ToString())
                {
                    lb_rtn = true;

                    break;
                }
            }

            if (!lb_rtn)
            {
                lb_rtn = roleLogic.InsertWOroles(li_wonum, Convert.ToInt32(WrkOrd.word_Author), ls_proj, "AUTH", false, true);
            }
            lb_rtn = false;

            foreach (DataRow roleRow in roleDT)
            {
                if (roleRow["worl_uid"].ToString() == WrkOrd.word_BusnOwner.ToString())
                {
                    lb_rtn = true;
                    break;
                }
            }

            if (!lb_rtn)
            {
                lb_rtn = roleLogic.InsertWOroles(li_wonum, Convert.ToInt32(WrkOrd.word_BusnOwner), ls_proj, "BOWN", false, true);
            }
            lb_rtn = false;
            foreach (DataRow roleRow in roleDT)
            {
                if (roleRow["worl_uid"].ToString() == WrkOrd.word_PMorSME.ToString())
                {
                    lb_rtn = true;
                    break;
                }
            }

            if (!lb_rtn)
            {
                lb_rtn = roleLogic.InsertWOroles(li_wonum, Convert.ToInt32(WrkOrd.word_PMorSME), ls_proj, "PM", false, true);
            }
            lb_rtn = false;
            //GridView2.DataBind();
        }

        woResponseBLL responseLogic = new woResponseBLL();

        if (responseLogic.GetWOresponseCountByWOandProj(li_wonum, ls_proj) > 0)
        {
            FormView2.Visible = true;
        }
        else
        {
            FormView2.Visible = false;
        }
    }
コード例 #16
0
    protected void  btnUpdate_Click(object sender, EventArgs e)
    {
        // First check their LDAP Password . . .
        ldapAuthentication ldapAuth = new ldapAuthentication();

        try
        {
            ldapAuth.AuthenticateUser(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1).ToString(), txtBxPassword.Text);
        }
        catch (Exception ex)
        {
            lblText     = Label1.Text;
            Label1.Text = ex.Message.ToString();//"Your LDAP UID and/or password did not authenticate. Please try again.";
            return;
        }

        lblText = Label1.Text;// = "Your LDAP UID and/or password did not authenticate. Please try again.";



        DataView dv = (DataView)ObjectDataSource1.Select();

        //string ls_val;
        //string ls_val2;
        woApprovalBLL apprvLogic = new woApprovalBLL();

        bool lb_rtn = false;

        foreach (DataRow dr in dv.Table.Rows)
        {
            if (Convert.ToInt32(dr["wapr_Approver"]) == Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)))
            {
                int      li_val   = Convert.ToInt32(dr["wapr_AprvNum"]);
                int      li_val1  = li_wonum;
                string   ls_val   = ls_proj;
                DateTime ldt_val  = Convert.ToDateTime(dr["wapr_AprvDate"].ToString());
                int      li_val2  = Convert.ToInt32(dr["wapr_Approver"]);
                bool     lb_val   = chkBxApproval.Checked; //Convert.ToBoolean(dr["wapr_AprvCode"]);
                DateTime ldt_val2 = DateTime.Now;
                string   ls_val2  = txtBxComments.Text;    // dr["wapr_comments"].ToString();
                bool     lb_val2  = Convert.ToBoolean(dr["wapr_required"]);
                bool     lb_val3  = Convert.ToBoolean(dr["wapr_emailFlag"]);

                lb_rtn = apprvLogic.UpdateWOAprvlRecord(li_val, li_val1, ls_val, ldt_val, li_val2, lb_val, ldt_val2, ls_val2, lb_val2, lb_val3, li_val);
                GridView1.DataBind();

                btnUpdate.Visible     = false;
                btnApprove.Visible    = false;
                lnkBtnReturn.Visible  = true;
                Label2.Visible        = false;
                Label3.Visible        = false;
                Label4.Visible        = false;
                Label5.Visible        = false;
                chkBxApproval.Visible = false;
                txtBxPassword.Visible = false;
                txtBxComments.Visible = false;
                txtBxUser.Visible     = false;

                Label1.Text = "Update was successful.";
            }
        }

        WorkOrderBLL woLogic = new WorkOrderBLL();

        WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(li_wonum, ls_proj);
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];

        string    host        = Request.ServerVariables["SERVER_NAME"]; //HttpContext.Current.Request.Url.Host;
        SmtpEmail mailMessage = new SmtpEmail();

        string   ls_to       = "";
        RolesBLL WOroleLogic = new RolesBLL();

        WorkOrder.WOroleTextDisplayDataTable woRoleDT;
        woRoleDT = WOroleLogic.GetWOrolesByWOnumProj(li_wonum, ls_proj);

        foreach (WorkOrder.WOroleTextDisplayRow roleRow in woRoleDT)
        {
            if (Convert.ToBoolean(roleRow["worl_aprvl"]) == true)
            {
                ls_to = ls_to + "," + roleRow["worl_uid"].ToString();
            }
        }

        ldapClient userObject = new ldapClient();
        UserRecord ud;

        ud = userObject.SearchUser(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1));

        lb_rtn = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "GO/NoGO ACTION - " + WrkOrd.word_Proj.ToString()
                                  + " WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString(),
                                  "WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString() + " has received a Go/NoGo action from " +
                                  ud.FirstName.ToUpper() + " " + ud.LastName.ToUpper() + "." +
                                  " Log into the EBS Work Order Module for details." +
                                  Environment.NewLine + Environment.NewLine + "http://" + host + "/WorkOrder/EditWO.aspx?word_WOnum=" +
                                  li_wonum.ToString() + "&word_Proj=" + WrkOrd.word_Proj.ToString() + Environment.NewLine + Environment.NewLine +
                                  "The comment left on this Go/NoGo action is as follows:" +
                                  Environment.NewLine + Environment.NewLine +
                                  (Convert.ToBoolean(chkBxApproval.Checked) ? "GO! " : "NO Go! ") + Environment.NewLine + Environment.NewLine +
                                  txtBxComments.Text + Environment.NewLine + Environment.NewLine +
                                  Environment.NewLine + Environment.NewLine + "PLEASE DO NOT RESPOND TO THIS EMAIL!"
                                  , li_wonum, 0, WrkOrd.word_Proj.ToString());
    }
コード例 #17
0
        public JsonResult DoImport()
        {
            var success = true;
            var message = string.Empty;

            try
            {
                if (this.Request.Files.Count == 0)
                {
                    throw new Exception("请上传文件");
                }
                if (!this.Request.Files[0].FileName.EndsWith(".xlsx"))
                {
                    throw new Exception("请上传 Excel 文件");
                }

                var book  = new Workbook(this.Request.Files[0].InputStream);
                var sheet = book.Worksheets[0];
                var user  = OperatorProvider.Provider.Current();

                var     templates = new List <JobTemplateEntity>();
                var     date      = DateTime.Now;
                UserBLL userBLL   = new UserBLL();
                var     users     = userBLL.GetDeptUsers(user.DeptId).ToList();
                for (int i = 2; i <= sheet.Cells.MaxDataRow; i++)
                {
                    var entity = new JobTemplateEntity();
                    entity.JobId      = Guid.NewGuid().ToString();
                    entity.JobContent = sheet.Cells[i, 0].StringValue;
                    if (string.IsNullOrEmpty(entity.JobContent))
                    {
                        if (templates.Count > 0 && string.IsNullOrEmpty(sheet.Cells[i, 1].StringValue))
                        {
                            break;
                        }
                        success  = false;
                        message += "第" + (i + 1) + "行,未填写工作任务</br>";
                        continue;
                        //return Json(new { success, message });
                    }
                    var sss = sheet.Cells[i, 1].StringValue;
                    if (!string.IsNullOrEmpty(sheet.Cells[i, 1].StringValue))
                    {
                        var itemdetialbll = new DataItemDetailBLL();
                        var itembll       = new DataItemBLL();
                        var type          = itembll.GetEntityByName("任务库任务类型");
                        var content       = itemdetialbll.GetList(type.ItemId).ToList();
                        var typename      = sheet.Cells[i, 1].StringValue.Trim();
                        var gettype       = content.FirstOrDefault(row => row.ItemName == typename);
                        if (gettype == null)
                        {
                            success  = false;
                            message += "第" + (i + 1) + "行,不存在该类型</br>";
                            continue;
                            //return Json(new { success, message });
                        }
                        entity.jobplantype   = gettype.ItemName;
                        entity.jobplantypeid = gettype.ItemId;
                    }
                    else
                    {
                        success  = false;
                        message += "第" + (i + 1) + "行,任务类型不能为空</br>";
                        continue;
                        //return Json(new { success, message });
                    }
                    entity.RiskLevel = sheet.Cells[i, 2].StringValue;
                    if (string.IsNullOrEmpty(entity.RiskLevel))
                    {
                        success  = false;
                        message += "第" + (i + 1) + "行,未填写风险等级</br>";
                        continue;
                        // return Json(new { success, message });
                    }

                    var jobperson = sheet.Cells[i, 3].StringValue;
                    if (jobperson.Contains(","))
                    {
                        var person     = string.Empty;
                        var personid   = string.Empty;
                        var personList = jobperson.Split(',');
                        for (int j = 0; j < personList.Length; j++)
                        {
                            var ckjobperson = users.FirstOrDefault(row => row.RealName == personList[j]);
                            if (ckjobperson == null)
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行," + personList[j] + "作业人错误</br>";
                                continue;
                                //return Json(new { success, message });
                            }
                            if (j >= personList.Length - 1)
                            {
                                person   += personList[j];
                                personid += ckjobperson.DepartmentId;
                            }
                            else
                            {
                                person   += personList[j] + ",";
                                personid += ckjobperson.DepartmentId + ",";
                            }
                        }

                        entity.JobPerson   = person;
                        entity.JobPersonId = personid;
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(jobperson))
                        {
                            var ckjobperson = users.FirstOrDefault(row => row.RealName == jobperson);
                            if (ckjobperson == null)
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行," + jobperson + "作业人错误</br>";
                                continue;
                                // return Json(new { success, message });
                            }
                            entity.JobPerson   = jobperson;
                            entity.JobPersonId = ckjobperson == null ? null : ckjobperson.UserId;
                        }
                    }
                    //string otherperson = sheet.Cells[i, 3].StringValue;
                    //if (!string.IsNullOrEmpty(otherperson))
                    //{
                    //    var ckotherperson = users.FirstOrDefault(row => row.RealName == otherperson);
                    //    if (ckotherperson == null)
                    //    {
                    //        success = false;
                    //        message = "选填作业人错误";
                    //        return Json(new { success, message });
                    //    }
                    //}
                    //if (otherperson == jobperson)
                    //{
                    //    success = false;
                    //    message = "作业人不能相同";
                    //    return Json(new { success, message });
                    //}
                    //entity.otherperson = otherperson;
                    entity.Device = sheet.Cells[i, 4].StringValue;
                    var getNow = DateTime.Now.ToString("yyyy-MM-dd");
                    //entity.JobStartTime = sheet.Cells[i, 5].StringValue == "" ? Convert.ToDateTime(getNow + " 08:30") : Convert.ToDateTime(getNow + " " + sheet.Cells[i, 5].StringValue);
                    //entity.JobEndTime = sheet.Cells[i, 6].StringValue == "" ? Convert.ToDateTime(getNow + " 17:30") : Convert.ToDateTime(getNow + " " + sheet.Cells[i, 6].StringValue);
                    entity.JobStartTime = Convert.ToDateTime(getNow + " 08:30");
                    entity.JobEndTime   = Convert.ToDateTime(getNow + " 17:30");
                    if (!string.IsNullOrEmpty(sheet.Cells[i, 5].StringValue))
                    {
                        //每年,二月、九月,15日,白班  每月,第一个、第三个,星期五,白班
                        var Cycle = sheet.Cells[i, 5].StringValue.Trim();

                        var cycleType = Cycle.Split(',');
                        if (cycleType[0] != "每天" && cycleType[0] != "每周" && cycleType[0] != "每月" && cycleType[0] != "每年")
                        {
                            success  = false;
                            message += "第" + (i + 1) + "行,周期规则错误</br>";
                            continue;
                            // return Json(new { success, message });
                        }

                        entity.Cycle = cycleType[0];
                        var ck   = false;
                        var data = string.Empty;
                        for (int j = 1; j < cycleType.Length; j++)
                        {
                            //if (cycleType[j] == "白班" || cycleType[j] == "夜班")
                            //{
                            //    entity.worksetname = cycleType[j];

                            //}
                            //else
                            if (cycleType[j] == "截止")
                            {
                                entity.isend = true;
                            }
                            else
                            if (cycleType[j] == "最后一天")
                            {
                                if ((Cycle.Contains("每月") || Cycle.Contains("每年")) && Cycle.Contains("日"))
                                {
                                    entity.islastday = true;
                                }
                                else
                                {
                                    success  = false;
                                    message += "第" + (i + 1) + "行,周期规则错误</br>";
                                    continue;
                                    //return Json(new { success, message });
                                }
                            }
                            else
                            if (cycleType[j].Contains("双休"))
                            {
                                if ((Cycle.Contains("每月") || Cycle.Contains("每年")) && Cycle.Contains("日"))
                                {
                                    entity.isweek = true;
                                }
                                else if (Cycle.Contains("每天"))
                                {
                                    entity.isweek = true;
                                }
                                else
                                {
                                    success  = false;
                                    message += "第" + (i + 1) + "行,周期规则错误</br>";
                                    continue;
                                    //return Json(new { success, message });
                                }
                            }
                            else
                            {
                                data += cycleType[j].Replace('日', ' ').Trim().Replace('、', ',') + ";";
                                ck    = true;
                            }
                        }

                        if (ck)
                        {
                            data             = data.Substring(0, data.Length - 1);
                            entity.CycleDate = data;
                        }
                        else
                        {
                            entity.CycleDate = data;
                        }
                    }
                    else
                    {
                        if (entity.jobplantype != "临时任务")
                        {
                            success  = false;
                            message += "第" + (i + 1) + "行,周期不能为空</br>";
                            continue;
                            //return Json(new { success, message });
                        }
                    }
                    entity.Dangerous = sheet.Cells[i, 6].StringValue;
                    entity.Measure   = sheet.Cells[i, 7].StringValue;
                    var EnableTraining = sheet.Cells[i, 8].StringValue;
                    entity.EnableTraining = EnableTraining == "是";
                    //entity.EnableTraining = false;
                    entity.worksetname = sheet.Cells[i, 9].StringValue;
                    if (entity.jobplantype == "设备巡回检查")
                    {
                        entity.TaskType = "巡回检查";
                    }
                    else if (entity.jobplantype == "定期工作")
                    {
                        entity.TaskType = "定期工作";
                    }
                    else
                    {
                        entity.TaskType = "日常工作";
                    }
                    var          setupid      = string.Empty;
                    var          createuserid = string.Empty;
                    WorkOrderBLL orderbll     = new WorkOrderBLL();
                    orderbll.GetWorkSettingByDept(user.DeptId, out setupid, out createuserid);
                    WorkSettingBLL settingbll = new WorkSettingBLL();
                    var            setting    = settingbll.GetList("");
                    var            getbanci   = setting.Where(x => x.WorkSetupId == setupid && x.CreateUserId == createuserid);
                    if (entity.worksetname.Contains(","))
                    {
                        var setname   = string.Empty;
                        var setnameid = string.Empty;
                        var setList   = entity.worksetname.Split(',');
                        for (int j = 0; j < setList.Length; j++)
                        {
                            var ckset = getbanci.FirstOrDefault(x => x.Name == entity.worksetname);
                            if (ckset == null)
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行,不存在该班次" + setList[j] + "</br>";
                                continue;
                                //return Json(new { success, message });
                            }
                            if (j >= setList.Length - 1)
                            {
                                setname   += setList[j];
                                setnameid += ckset.WorkSettingId;
                            }
                            else
                            {
                                setname   += setList[j] + ",";
                                setnameid += ckset.WorkSettingId + ",";
                            }
                        }

                        entity.worksetname = setname;
                        entity.worksetid   = setnameid;
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(entity.worksetname))
                        {
                            if (entity.jobplantype != "临时任务")
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行,班次不能为空</br>";
                                continue;
                                //return Json(new { success, message });
                            }
                        }
                        else
                        {
                            var ckset = getbanci.FirstOrDefault(x => x.Name == entity.worksetname);
                            if (ckset == null)
                            {
                                success  = false;
                                message += "第" + (i + 1) + "行,不存在该班次" + entity.worksetname + "</br>";
                                continue;
                                //return Json(new { success, message });
                            }
                            entity.worksetname = ckset.Name;
                            entity.worksetid   = ckset.WorkSettingId;
                        }
                    }
                    entity.DeptId     = user.DeptId;
                    entity.CreateDate = date.AddMinutes(i);
                    entity.DangerType = "job";
                    templates.Add(entity);
                }
                if (!success)
                {
                    return(Json(new { success, message }));
                }
                foreach (var item in templates)
                {
                    if (item.DangerousList == null)
                    {
                        item.DangerousList = new List <JobDangerousEntity>();
                    }
                    if (!string.IsNullOrEmpty(item.Dangerous))
                    {
                        var dangerArray        = item.Dangerous.Split('。');
                        var dangerMeasureArray = item.Measure?.Split('。');
                        for (int i = 0; i < dangerArray.Length; i++)
                        {
                            var danger = dangerArray[i];
                            if (string.IsNullOrEmpty(danger))
                            {
                                continue;
                            }
                            var templateDangerousEntity = new JobDangerousEntity {
                                Content = danger
                            };
                            if (dangerMeasureArray != null && dangerMeasureArray.Length > i)
                            {
                                templateDangerousEntity.MeasureList = new List <JobMeasureEntity>();
                                var dangerMeasure = dangerMeasureArray[i];
                                if (!string.IsNullOrEmpty(dangerMeasure))
                                {
                                    var measureArray = dangerMeasure.Split(';');
                                    foreach (var measure in measureArray)
                                    {
                                        if (string.IsNullOrEmpty(measure))
                                        {
                                            continue;
                                        }
                                        templateDangerousEntity.MeasureList.Add(new JobMeasureEntity {
                                            Content = measure
                                        });
                                    }
                                }
                            }
                            item.DangerousList.Add(templateDangerousEntity);
                        }
                    }
                    foreach (var item1 in item.DangerousList)
                    {
                        if (string.IsNullOrEmpty(item1.JobDangerousId))
                        {
                            item1.JobDangerousId = Guid.NewGuid().ToString();
                        }
                        item1.CreateTime = DateTime.Now;
                        item1.JobId      = item.JobId;
                        if (item1.MeasureList == null)
                        {
                            item1.MeasureList = new List <JobMeasureEntity>();
                        }
                        foreach (var item2 in item1.MeasureList)
                        {
                            if (string.IsNullOrEmpty(item2.JobMeasureId))
                            {
                                item2.JobMeasureId = Guid.NewGuid().ToString();
                            }
                            item2.CreateTime     = DateTime.Now;
                            item2.JobDangerousId = item1.JobDangerousId;
                        }
                    }

                    item.CreateUserId = user.UserId;
                    item.CreateUser   = user.UserName;
                    workmeetingbll.UpdateJobTemplate(item);
                }
                // workmeetingbll.AddJobTemplates(templates);
            }
            catch (Exception ex)
            {
                success = false;
                message = HttpUtility.JavaScriptStringEncode(ex.Message);
            }

            return(Json(new { success, message }));
        }
コード例 #18
0
ファイル: EditWO.aspx.cs プロジェクト: jlpatton/AuditBenefits
    protected void FormView1_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
    {
        int        statflag;
        int        rws          = e.AffectedRows;
        woPhaseBLL woPhaseLogic = new woPhaseBLL();

        // If Phase changed (or PhaseStat is 'Completed') then a new row is needed in Phase table and WO updated with new Phase/PhaseNumber
        if (!e.NewValues["word_Status"].ToString().Equals(e.OldValues["word_Status"].ToString()) ||
            (!e.NewValues["word_statFlag"].ToString().Equals(e.OldValues["word_statFlag"].ToString()) &&
             e.NewValues["word_statFlag"].ToString().Equals("1")))
        {
            int PhaseNum = woPhaseLogic.InsertPhaseRecord(li_wonum,
                                                          ls_proj, 0, DateTime.Now, e.NewValues["word_Status"].ToString(),
                                                          Convert.ToInt32(e.NewValues["word_statFlag"].ToString()),
                                                          Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));
        }

        WorkOrderBLL woLogic = new WorkOrderBLL();

        WorkOrder.WorkOrderDataTable WrkOrds = woLogic.GetWorkOrdersByWOnumProj(li_wonum, ls_proj);
        WorkOrder.WorkOrderRow       WrkOrd  = WrkOrds[0];

        //If Phase Status is 'Completed' insert a new row in Phase and update WO with new Phase/Status/PhaseNumber

        if (Convert.ToUInt32(e.NewValues["word_statFlag"]) == 1)
        {
            statflag = 0;
            string NewPhase = "";
            switch (e.NewValues["word_Status"].ToString())
            {
            case "IWOR":
                NewPhase = "WORA";
                break;

            case "WORA":
                NewPhase = "WORD";
                break;

            case "WORM":
                NewPhase = "WORA";
                break;

            case "WORD":
                NewPhase = "WOTS";
                break;

            case "WOTS":
                NewPhase = "WDEV";
                break;

            case "WDEV":
                NewPhase = "WTST";
                break;

            case "WTST":
                NewPhase = "GONG";
                break;

            case "GONG":
                NewPhase = "IMPL";
                break;

            case "IMPL":
                NewPhase = "IMPL";
                statflag = 1;
                break;

            default:

                break;
            }


            int PhaseNum = woPhaseLogic.InsertPhaseRecord(li_wonum,
                                                          ls_proj, 0, DateTime.Now, NewPhase, statflag,
                                                          Convert.ToInt32(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)));


            WrkOrd.word_Status   = NewPhase;
            WrkOrd.word_statFlag = statflag;
            WrkOrd.word_StatNum  = PhaseNum;

            bool lb_rtn;

            lb_rtn = woLogic.UpdateWorkOrder(WrkOrd.word_WOnum, WrkOrd.word_Proj, WrkOrd.word_StatNum,
                                             WrkOrd.word_Status, WrkOrd.word_statFlag, WrkOrd.word_Date, WrkOrd.word_Author,
                                             WrkOrd.word_Title, "", "", WrkOrd.word_Priority,
                                             WrkOrd.word_Descr, WrkOrd.word_Justify, WrkOrd.word_Cmnts, WrkOrd.word_PMorSME,
                                             WrkOrd.word_BusnOwner, WrkOrd.word_reqDueDate, WrkOrd.word_WOnum, WrkOrd.word_Proj);

            string ls_to;
            if (Convert.ToString(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)) == WrkOrd.word_PMorSME.ToString())
            {
                ls_to = WrkOrd.word_BusnOwner.ToString();
            }
            else
            {
                ls_to = WrkOrd.word_PMorSME.ToString();
            }

            string    host        = Request.ServerVariables["SERVER_NAME"]; //HttpContext.Current.Request.Url.Host;
            SmtpEmail mailMessage = new SmtpEmail();

            switch (NewPhase) // This logic makes sure that the authorizers get emails during GO/NoGO phase.
            {
            case "GONG":

                RolesBLL WOroleLogic = new RolesBLL();
                WorkOrder.WOroleTextDisplayDataTable woRoleDT;
                woRoleDT = WOroleLogic.GetWOrolesByWOnumProj(li_wonum, ls_proj);
                //woApprovalBLL apprvLogic = new woApprovalBLL();
                //WorkOrder.WOapprovalDataTable apprvlDT;
                //apprvlDT = apprvLogic.GetWOApprovalDataByWOandProj(li_wonum, ls_proj);

                // this code ensures that every approval record is created
                foreach (WorkOrder.WOroleTextDisplayRow roleRow in woRoleDT)
                {
                    if (Convert.ToBoolean(roleRow["worl_aprvl"]) == true)
                    {
                        ls_to = ls_to + "," + roleRow["worl_uid"].ToString();
                    }
                }



                lb_rtn = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "Work Order Approval - " + WrkOrd.word_Proj.ToString()
                                          + " WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString(),
                                          "WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString() + " requires your Go/NoGo action." +
                                          " Log into the EBS Work Order Module for details. Please do not respond to this email." +
                                          Environment.NewLine + Environment.NewLine + "http://" + host + "/WorkOrder/Approvals.aspx?word_WOnum=" +
                                          li_wonum.ToString() + "&word_Proj=" + WrkOrd.word_Proj.ToString() + Environment.NewLine + Environment.NewLine +
                                          "The most recent comment on this work order is as follows:" +
                                          Environment.NewLine + Environment.NewLine + WrkOrd.word_Cmnts.ToString(), li_wonum, 0, WrkOrd.word_Proj.ToString());

                break;

            default:

                lb_rtn = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "Work Order Modification - " + WrkOrd.word_Proj.ToString()
                                          + " WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString(),
                                          "WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString() + " requires your attention." +
                                          " Log into the EBS Work Order Module for details. Please do not respond to this email." +
                                          Environment.NewLine + Environment.NewLine + "http://" + host + "/WorkOrder/EditWO.aspx?word_WOnum=" +
                                          li_wonum.ToString() + "&word_Proj=" + WrkOrd.word_Proj.ToString() + Environment.NewLine + Environment.NewLine +
                                          "The most recent comment on this work order is as follows:" +
                                          Environment.NewLine + Environment.NewLine + WrkOrd.word_Cmnts.ToString(), li_wonum, 0, WrkOrd.word_Proj.ToString());

                break;
            }
        }

        if (!e.NewValues["word_PMorSME"].ToString().Equals(e.OldValues["word_PMorSME"].ToString()) ||
            !e.NewValues["word_BusnOwner"].ToString().Equals(e.OldValues["word_BusnOwner"].ToString()))
        {
            string ls_to, ls_msg;
            if (Convert.ToString(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1)) == WrkOrd.word_PMorSME.ToString())
            {
                ls_to = WrkOrd.word_BusnOwner.ToString();
            }
            else
            {
                ls_to = WrkOrd.word_PMorSME.ToString();
            }

            if (!e.NewValues["word_PMorSME"].ToString().Equals(e.OldValues["word_PMorSME"].ToString()))
            {
                ls_msg = " The Business Owner of this work order has changed.";
            }
            else
            {
                ls_msg = " The Project manager for this work order has changed. ";
            }

            string    host        = Request.ServerVariables["SERVER_NAME"]; //HttpContext.Current.Request.Url.Host;
            SmtpEmail mailMessage = new SmtpEmail();
            bool      lb_rtn      = mailMessage.Send(User.Identity.Name.Substring(User.Identity.Name.IndexOf("\\") + 1), ls_to, "Work Order Modification - " + WrkOrd.word_Proj.ToString()
                                                     + " WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString(),
                                                     "WO# " + li_wonum + " - " + WrkOrd.word_Title.ToString() + " requires your attention." + ls_msg +
                                                     " Log into the EBS Work Order Module for details. Please do not respond to this email."
                                                     + Environment.NewLine + Environment.NewLine + "http://" + host + "/WorkOrder/EditWO.aspx?word_WOnum=" +
                                                     li_wonum.ToString() + "&word_Proj=" + WrkOrd.word_Proj.ToString() + Environment.NewLine + Environment.NewLine + //"http://www.google.com"
                                                     "The most recent comment on this work order is as follows:" +
                                                     Environment.NewLine + Environment.NewLine + WrkOrd.word_Cmnts.ToString(), li_wonum, 0, WrkOrd.word_Proj.ToString());
        }

        Response.Redirect("~/WorkOrder/Default.aspx?word_Proj=" + ls_proj);
    }