protected void fvSampleLotCardMgrAdd_ModeChanged(object sender, EventArgs e)
 {
     //检测是否含有session
     if (Session.Count < 5)
     {
         //跳转
         Response.Redirect("/Account/Login", true);
         //停止加载后续内容
         Response.End();
         //直接返回
         return;
     }
     //当前用户所在部门
     string deptName = Session["dept_name"].ToString();
     //当前角色id
     Int16 roleId = Convert.ToInt16(Session["role_id"]);
     //当前状态
     if (fvSampleLotCardMgrAdd.CurrentMode != FormViewMode.ReadOnly)
     {
         //检测是否有权限
         if (deptName != mustDeptName || roleId < 0 || (roleId > 4 && roleId != 6))
         {
             //跳转页面到查看状态
             fvSampleLotCardMgrAdd.ChangeMode(FormViewMode.ReadOnly);
             //将当前formview的状态显示到formview属性中
             fvSampleLotCardMgrAdd.Attributes.Add("state", "查看");
             //不执行后续语句
             return;
         }
     }
     //修改状态
     string str = "错误";
     //当前模式修改就要执行相关js过程使模态窗口的标题产生变化
     switch (fvSampleLotCardMgrAdd.CurrentMode)
     {
         case FormViewMode.Edit:
             //修改状态
             //检查用户提供的操作参数标识
             string strId = Request["id"];
             //转换后的id号
             Int64 id;
             //标题加入id号
             if (Int64.TryParse(strId, out id))
             {
                 str = "修改 - " + id.ToString();
             }
             break;
         case FormViewMode.Insert:
             //新增状态
             str = "新增";
             //设置初始值
             using (var da = new t_sample_lot_cardTableAdapter())
             {
                 //取得最大一张卡号
                 string lastLotId = da.GetLastLotId().ToString();
                 //检测卡号
                 if (lastLotId.Length <= 6)
                 {
                     lastLotId = DateTime.Now.ToString("yyMM-1");
                 }
                 else
                 {
                     lastLotId = lastLotId.Substring(0, 5) + (int.Parse(lastLotId.Substring(5)) + 1);
                 }
                 //设置值
                 ((TextBox)fvSampleLotCardMgrAdd.FindControl("txtLotIdStart")).Text = lastLotId;
             }
             break;
         case FormViewMode.ReadOnly:
             //查看状态
             //检查用户提供的操作参数标识
             strId = Request["id"];
             //标题加入id号
             if (Int64.TryParse(strId, out id))
             {
                 str = "查看 - " + id.ToString();
             }
             //检测是否有权限
             if (deptName != mustDeptName || roleId < 0 || (roleId > 4 && roleId != 6))
             {
                 //设置删除按钮不可用
                 var tb = (Button)fvSampleLotCardMgrAdd.FindControl("btnDelete");
                 if (tb != null)
                 {
                     tb.Enabled = false;
                 }
                 //设置添加按钮不可用
                 tb = (Button)fvSampleLotCardMgrAdd.FindControl("btnAdd");
                 if (tb != null)
                 {
                     tb.Enabled = false;
                 }
                 //设置编辑按钮不可用
                 tb = (Button)fvSampleLotCardMgrAdd.FindControl("btnEdit");
                 if (tb != null)
                 {
                     tb.Enabled = false;
                 }
             }
             break;
     }
     //将当前formview的状态显示到formview属性中
     fvSampleLotCardMgrAdd.Attributes.Add("data-yd-state", str);
 }
 protected void fvSampleLotCardMgrAdd_ItemCreated(object sender, EventArgs e)
 {
     //新增状态
     if (fvSampleLotCardMgrAdd.CurrentMode == FormViewMode.Insert)
     {
         //当前lot卡id号
         var tb = (TextBox)fvSampleLotCardMgrAdd.FindControl("txtLotId");
         if (tb != null)
         {
             //获取最大id号
             using (var da = new t_sample_lot_cardTableAdapter())
             {
                 //获取结果
                 object obj = da.GetLastLotId();
                 //获取最大id号
                 string str = string.Empty;
                 if (obj != null)
                 {
                     //获取最大id号
                     str = obj.ToString();
                 }
                 if (!Regex.IsMatch(str, @"^[1-9]\d(0[1-9]|1[012])-S[1-9]\d{0,4}$")
                     || DateTime.Now.ToString("yyMM") != str.Substring(0, 4))
                 {
                     //本年度第一张lot卡
                     str = DateTime.Now.ToString("yyMM-S1");
                 }
                 else
                 {
                     //修改lot卡号+1
                     str = str.Substring(0, 5) + (int.Parse(str.Substring(5)) + 1).ToString();
                 }
                 //设置起始lot卡号
                 tb.Text = str;
             }
         }
         //设置默认订单序号
         tb = (TextBox)fvSampleLotCardMgrAdd.FindControl("txtOrderId");
         if (tb != null)
         {
             //获取当前已经开lot卡的最大订单序号
             using (var da = new t_sample_lot_cardTableAdapter())
             {
                 //获取
                 object obj = da.GetLastOrderId();
                 string strMaxId = "SA0";
                 if (obj != null && obj.ToString().Trim().Length > 0)
                 {
                     strMaxId = obj.ToString();
                 }
                 //设置为最大id号+1
                 tb.Text = strMaxId.Substring(0, 1) + (int.Parse(strMaxId.Substring(1)) + 1).ToString();
             }
         }
         //设置lot卡默认pnl数量
         tb = (TextBox)fvSampleLotCardMgrAdd.FindControl("txtEveryCardPnlQty");
         if (tb != null)
         {
             //设置lot卡默认pnl数量
             tb.Text = "200";
         }
         //当前编号首部门
         tb = (TextBox)fvSampleLotCardMgrAdd.FindControl("txtFirstDeptName");
         if (tb != null)
         {
             //检查用户提供的首部门参数标识
             string strDept = Request["fdept"];
             if (strDept != null && strDept.Length > 0)
             {
                 //设置默认用户提供的首部门
                 tb.Text = strDept;
             }
             else
             {
                 //当前用户所在部门id
                 byte deptId = Convert.ToByte(Session["dept_id"]);
                 //从数据库中获取Sample的下个部门
                 using (var da = new t_deptTableAdapter())
                 using (var tab = da.GetDataByDeptId(deptId))
                 {
                     //检查是否存在数据
                     if (tab.Rows.Count > 0)
                     {
                         var row = tab.Rows[0] as DataSetDept.t_deptRow;
                         //设置到文本框
                         if (!row.Isnext_dept_nameNull())
                         {
                             tb.Text = row.next_dept_name;
                         }
                     }
                 }
             }
         }
     }
     //当前订单序号获取焦点
     var txtOrderId = (TextBox)fvSampleLotCardMgrAdd.FindControl("txtOrderId");
     if (txtOrderId != null)
     {
         //设置焦点
         txtOrderId.Focus();
     }
 }
 protected void fvLotCardMgrSupplementAdd_ItemCreated(object sender, EventArgs e)
 {
     //新增状态
     if (fvLotCardMgrSupplementAdd.CurrentMode == FormViewMode.Insert)
     {
         //当前批量卡id号
         var tb = (TextBox)fvLotCardMgrSupplementAdd.FindControl("txtLotId");
         if (tb != null)
         {
             //获取最大id号
             using (var da = new t_sample_lot_cardTableAdapter())
             {
                 //获取结果
                 object obj = da.GetLastLotId();
                 //获取最大id号
                 string str = string.Empty;
                 if (obj != null)
                 {
                     //获取最大id号
                     str = obj.ToString();
                 }
                 if (!Regex.IsMatch(str, @"^[1-9]\d(0[1-9]|1[012])-S[1-9]\d{0,4}$")
                     || DateTime.Now.ToString("yyMM") != str.Substring(0, 4))
                 {
                     //本月第一张批量卡
                     str = DateTime.Now.ToString("yyMM-S1");
                 }
                 else
                 {
                     //修改批量卡号+1
                     str = str.Substring(0, 6) + (int.Parse(str.Substring(6)) + 1).ToString();
                 }
                 //设置起始批量卡号为最大id号+1
                 tb.Text = str;
             }
         }
         //设置默认订单序号
         tb = (TextBox)fvLotCardMgrSupplementAdd.FindControl("txtOrderId");
         if (tb != null)
         {
             //获取当前已经开批量卡的最大订单序号
             using (var da = new t_sample_lot_cardTableAdapter())
             {
                 //获取
                 object obj = da.GetLastOrderId();
                 string strMaxId = "SA0";
                 if (obj != null && obj.ToString().Trim().Length > 0)
                 {
                     strMaxId = obj.ToString();
                 }
                 //设置为最大id号+1
                 tb.Text = strMaxId.Substring(0, 2) + (int.Parse(strMaxId.Substring(2)) + 1).ToString();
             }
         }
         //当前编号首部门
         tb = (TextBox)fvLotCardMgrSupplementAdd.FindControl("txtFirstProc");
         if (tb != null)
         {
             //检查用户提供的首部门参数标识
             string strProc = Request["fproc"];
             if (strProc != null && strProc.Length > 0)
             {
                 //设置默认用户提供的首部门
                 tb.Text = strProc;
             }
             else
             {
                 //当前用户所在部门id
                 byte procId = Convert.ToByte(Session["proc_id"]);
                 //从数据库中获取Sample的下个部门
                 using (var da = new t_procTableAdapter())
                 using (var tab = da.GetDataByProcId(procId))
                 {
                     //检查是否存在数据
                     if (tab.Rows.Count > 0)
                     {
                         var row = tab.Rows[0] as DataSetProc.t_procRow;
                         //设置到文本框
                         if (!row.Isnext_proc_nameNull())
                         {
                             tb.Text = row.next_proc_name;
                         }
                     }
                 }
             }
         }
     }
     //当前订单序号获取焦点
     var txtOrderId = (TextBox)fvLotCardMgrSupplementAdd.FindControl("txtOrderId");
     if (txtOrderId != null)
     {
         //设置焦点
         txtOrderId.Focus();
     }
     //当前状态
     if (fvLotCardMgrSupplementAdd.CurrentMode == FormViewMode.Insert)
     {
         //设置默认补料单为true
         var chk = (CheckBox)fvLotCardMgrSupplementAdd.FindControl("chkIsSupplement");
         if (chk != null)
         {
             chk.Checked = true;
         }
     }
 }