protected void Page_Load(object sender, EventArgs e) { MDataBase db = new MDataBase(ConfigurationManager.ConnectionStrings["OA"].ToString()); if (!this.IsPostBack) { string Order_ID = ""; if (Request.QueryString["Order_ID"] == null || Request.QueryString["Order_ID"].ToString() == "") { Response.Redirect("error2.htm"); } else { Order_ID = Request.QueryString["Order_ID"].ToString(); //得到勤务编号 } string selectOrderFlowCount = db.GetDataScalar ("select Count(*) from SOrdFlow where Order_Id = '" + Order_ID + "'and OperateStep = '1'"); string selectOrderFlowCountOne = db.GetDataScalar ("select Count(*) from SOrdFlow where Order_Id = '" + Order_ID + "'"); //如果只有一条记录,并且状态等于一说明是在电话登记的阶段, //可以对登记的内容进行修改,否则该按扭不可见 if (selectOrderFlowCount == "1" && selectOrderFlowCountOne == "1") { Button1.Visible = true; } else { Button1.Visible = false; } } }
/// <summary> /// 获取最大值序号 /// </summary> /// <param name="DataTable"></param> /// <param name="MaxFieldText"></param> /// <param name="FieldText"></param> /// <param name="FieldValue"></param> /// <returns></returns> public string GetMaxValue(string DataTable, string MaxFieldText, string FieldText, string FieldValue) { try { sql = GetInfomationSql.GetMaxValueSql(DataTable, MaxFieldText, FieldText, FieldValue); string StrMaxValue = db.GetDataScalar(sql).ToString(); if (StrMaxValue == null || StrMaxValue == "") { StrMaxValue = "-1"; } return(StrMaxValue); } catch (Exception Err) { //ErrorLog.LogInsert(Err.Message, "CS/GetInformation", StaffID); return(""); } }
/// <summary> /// 获取参数值 /// </summary> /// <param name="ParameterName"></param> /// <returns></returns> public string GetDGridParameter(string ParameterName) { try { MDataBase db = new MDataBase(_DBConn); sql = "select ParameterValue from SSysRunParameter where ParameterName='" + ParameterName + "' and IsUser=0"; return(db.GetDataScalar(sql)); } catch (Exception Err) { ErrorLog.LogInsert(Err.Message, "CS/ControlDataBind.GetDGridParameter", ""); return(""); } }
//下载 protected void GVAbjunct_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { int i = e.RowIndex; GVAbjunct.Rows[i].Cells[0].Text = "√"; //将选定行标记成√ string AttachmentBatch_Guid = GVAbjunct.Rows[i].Cells[1].Text.Trim(); //勤务编号 string FileName = GVAbjunct.Rows[i].Cells[2].Text.Trim(); //名称 string CreatedDate = GVAbjunct.Rows[i].Cells[3].Text.Trim(); //创建日期 string selectSql = "select replace(Folder + SaveFileName, '/', '\\') from SSysAttachment where FileName = '" + FileName + "' and AttachmentBatch_Guid = '" + AttachmentBatch_Guid + "' Order by CreatedDate desc "; string FullFileName = db.GetDataScalar(selectSql); SetFileDownload(FullFileName, FileName); }
/// <summary> /// 权限判断 /// </summary> /// <param name="strid"></param> /// <returns></returns> public static bool UserPower(string StaffId, string FunctionOrgId) { MDataBase db = new MDataBase(_DBConn); string sql; try { sql = "SELECT count(*) FROM SCtiRoleMenu B INNER JOIN SCtiStaffProjectRole A ON B.Role_Id = A.Role_Id INNER JOIN SCtiMenus C ON B.Menu_Id = C.Menu_Id WHERE A.Staff_Id='" + StaffId + "' and (C.Function1_Id = '" + FunctionOrgId + "') OR (C.Function2_Id ='" + FunctionOrgId + "') OR (C.Function3_Id = '" + FunctionOrgId + "') OR (C.Function4_Id = '" + FunctionOrgId + "')"; string StrCount = db.GetDataScalar(sql); if (Convert.ToInt32(StrCount) > 0) { return(true); } else { return(false); } } catch (Exception Err) { ErrorLog.LogInsert(Err.Message, "StaffOper.cs/UserPower", StaffId); return(false); } }
static StringBuilder str; //显示区域用来放动态的table protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { this.CheckNet1.Checked = false; this.CheckNet2.Checked = false; this.CheckNet3.Checked = false; this.radType1.Checked = false; this.radType2.Checked = false; this.radType3.Checked = false; this.radType4.Checked = false; Config Config = (Config)Session["Config"]; // string staff_Id = Config.Staff.Staff_Id; //得到登录的用户名 string Satff_ID = "00000001"; ViewState["Satff_Id"] = Satff_ID; // string Role = Config.LoginRole.ToString(); //得到登录角色 // string selectRole = db.GetDataScalar("SELECT Name FROM SSysRole WHERE (Role_Id = '" + Role + "')"); //根据传来的角色ID得到角色的名称 string selectRole = ""; ControlDataBind drp = new ControlDataBind(ConfigurationManager.ConnectionStrings["OA"].ToString()); drp.DropDownListBind(drpOrder_ID, "SOrdEstate", "Order_ID", "Order_ID", 4, "StatusId = 4", Satff_ID); //完结状态的勤务 drp.DropDownListBind(dropOrderNotion, "SSFugleideaConfig", "IdeaContent", "IdeaID", 1, "", Satff_ID); if (Request.QueryString["Order_ID"] == null || Request.QueryString["Order_ID"].ToString() == "") //勤务编号 { ViewState["State"] = "Insert"; PanelYC(); this.panelsr.Visible = true; //显示panel this.lblMan.Text = ""; //根据传来的编号显示姓名 this.lblTime.Text = System.DateTime.Now.Year.ToString() + "-" + System.DateTime.Now.Month.ToString() + "-" + System.DateTime.Now.Day.ToString(); //得到当前的时间 btnPersonnel.Visible = false; } else { // ViewState["Order_ID"] = Request.QueryString["Order_ID"].ToString(); ViewState["Order_ID"] = "2008410001"; ViewState["Net_Guid"] = db.GetDataScalar("select Net_Guid from SOrdNet where Order_ID = '" + ViewState["Order_ID"].ToString() + "'"); //得到编号 string Count = db.GetDataScalar("select Count(*) from SOrdNet where StatusId = '3' and Order_ID = '" + ViewState["Order_ID"].ToString() + "'"); //编号为3说明到了领导处可 if (Count != "0") //领导审批阶段 { PanelYC(); XS(); this.panelxs.Visible = true; this.btnSave.Visible = false; if (db.GetDataScalar("select Count(*) from SOrdNetAuditing where Net_Guid = '" + ViewState["Net_Guid"].ToString() + "' and StatusId = '1'") != "0") //修改阶段 { string Count5 = db.GetDataScalar("select Count(*) from SOrdNetAuditing where StatusId = '1' and Net_Guid = '" + ViewState["Net_Guid"].ToString() + "' and Per_ID = '" + ViewState["Satff_Id"].ToString() + "'"); //看看现在登录人是不是这步的操作人 if (Count5 != "0") { UpdateLDXG(); Label1.Text = "LDXG"; } else { return; //不是,退出 } } else { string Count1 = db.GetDataScalar("select Count(*) from SOrdNet left join SOrdArrangeMan on SOrdNet.nextPer = SOrdArrangeMan.Guid where " + " SOrdArrangeMan.Man = '" + ViewState["Satff_Id"].ToString() + "' and Order_ID = '" + ViewState["Order_ID"].ToString() + "'"); if (Count1 != "0") { this.panel1.Visible = true; //领导审批的页面显示 } else //如果不一致 { string Count2 = db.GetDataScalar("select Count(*) from (select top 1 A.* from SOrdNetAuditing A left join SOrdNet B on A.Net_Guid = B.Net_Guid " + " where B.Order_ID = '" + ViewState["Order_ID"].ToString() + "' order by A.CreatedDate DESC) as C left join SOrdArrangeMan on SOrdNet.nextPer = SOrdArrangeMan.Guid where " + " Man = '" + ViewState["Satff_Id"].ToString() + "'"); if (Count1 != "0") //如果领导审批表中有记录 //权限验证 { this.panel1.Visible = true; //领导审批的页面显示 } } } } else //填写人修改,或者办公室部门核稿件 { string Count3 = db.GetDataScalar("select StatusId from SOrdNet where Order_ID = '" + ViewState["Order_ID"].ToString() + "'"); //判断状态 drpOrder_ID.SelectedValue = ViewState["Order_ID"].ToString(); //勤务编号 drpOrder_ID.Enabled = false; if (Count3 == "1") //填写人的修改状态 { ViewState["State"] = "Update"; PanelYC(); this.panelsr.Visible = true; EditSR(); btnPersonnel.Visible = false; } else if (Count3 == "2") //等待办公室审批 { if (selectRole == "办公室") { PanelYC(); this.panelsr.Visible = true; ViewState["State"] = "Update"; EditSR(); } else { XS(); } } else if (Count3 == "4") //办公室审批完毕 { PanelYC(); this.panelxs.Visible = true; XS(); } } } } }
static StringBuilder str; //显示区域用来放动态的table protected void Page_Load(object sender, EventArgs e) { Config Config = (Config)Session["Config"]; // string staff_Id = Config.Staff.Staff_Id; //得到登录的用户名 string staff_Id = "00000003"; ViewState["Satff_Id"] = staff_Id; // string Role = Config.LoginRole.ToString(); //得到登录角色 // string selectRole = db.GetDataScalar("SELECT Name FROM SSysRole WHERE (Role_Id = '" + Role + "')"); //根据传来的角色ID得到角色的名称 string selectRole = ""; if (!this.IsPostBack) { if (Request.QueryString["Tel_ID"] == null || Request.QueryString["Tel_ID"].ToString() == "") //编码 { Tel_ID = ""; // } else { Tel_ID = Request.QueryString["Tel_ID"].ToString(); } ControlDataBind drp = new ControlDataBind(ConfigurationManager.ConnectionStrings["OA"].ToString()); drp.DropDownListBind(dropTelNotion, "SSFugleideaConfig", "IdeaContent", "IdeaID", 1, "", staff_Id); drp.DropDownListBind(drpInceptMode, "SOrdInceptFashion", "FashionName", "FashionID", 1, "", staff_Id); } if (Tel_ID == "") { if (this.lblTel_ID.Text == "") { #region 编辑电话编号为空,就是首次登记的时候 //获取今天的年+月+日 string Day = System.DateTime.Today.Year.ToString() + System.DateTime.Today.Month.ToString() + System.DateTime.Today.Day.ToString(); //查找出数据库中该天电话记录的最大的编号 string Sql = "select top 1 Tel_ID from STelEnrol where Tel_ID like '" + Day + "%' order by Tel_ID desc"; try { Day = db.GetDataScalar(Sql); //得到最大的ID Tel_ID = Convert.ToString(Convert.ToInt32(Day) + 1); //在最大ID的基础上加1,确定本次勤务的编号,该编号贯彻真个程序 } catch //报错说明查不到值 { Tel_ID = Convert.ToString(Convert.ToInt32(Day) + "001"); } PanelVisibleFalse(); //设置全部模板不可见 this.panelDJ.Visible = true; //登记 this.panelAN.Visible = true; //按钮 //电话登记的时候往流程表里写一条记录 string Number = Guid.NewGuid().ToString(); //该步骤编号,要在保存里用到 ViewState["Number"] = Number; //保存住这个值,在功能保存中要用到 ViewState["PFunction"] = "1"; //新建的勤务默认为电话登记功能 string SY = "insert into STelFlow(TelFlow_Guid,Tel_ID,Number,PFunction,PExecute,CreatedBy,CreatedDate,OperateStep) " + " values('" + Number + "','" + Tel_ID + "','" + Number + "',1,'" + staff_Id + "','" + staff_Id + "',getdate(),1)"; //Insert语句 try { db.executeInsert(SY); } catch { } #endregion } lblTel_ID.Text = Tel_ID; //显示勤务编号 } else { #region 勤务编号不为空 //不显示勤务编号说明虽然不是新建的勤务,但是是第一次打开该勤务单 //用来控制显示的页面 if (this.lblTel_ID.Text == "") { string Number = Guid.NewGuid().ToString(); //该步骤编号,要在保存里用到 ViewState["Number"] = Number; //保存住这个值,在功能保存中要用到 PanelVisibleFalse(); //所有panel不可见 EditPanel(); //其他人员操作调用方法 if (selectRole != "办公室" || (ViewState["XS"] != null && ViewState["XS"].ToString() == "TRUE")) //如果角色是办公室或者办公室还没有对来电记录进行审批 { panelXS.Visible = true; //用来显示的panel可见 XSTable(); //设置上面显示的table//只显示到下送过的,如果保存没有下送的不显示 } } lblTel_ID.Text = Tel_ID; //显示勤务编号 #endregion } }
protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { txtCreatedBy.Text = ""; //从登录得到用户名 txtCreatedBy.Enabled = false; txtTaskName.Enabled = false; //勤务名称不能修改 ControlDataBind drp = new ControlDataBind(ConfigurationManager.ConnectionStrings["OA"].ToString()); drp.DropDownListBind(drpGuardSpec, "SOrdSpec", "SpecName", "SpecID", 1, "", txtCreatedBy.Text.Trim()); drp.DropDownListBind(drpOrder_ID, "SOrdEstate", "Order_ID", "Order_ID", 4, "StatusId = 4", txtCreatedBy.Text.Trim()); //完结状态的勤务 lblEnregisterTime.Text = System.DateTime.Now.Year.ToString() + "-" + System.DateTime.Now.Month.ToString() + "-" + System.DateTime.Now.Day.ToString(); //得到当前的时间 if (Request.QueryString["Order_ID"] == null || Request.QueryString["Order_ID"].ToString() == "") //勤务编号 { ViewState["State"] = "Insert"; } else { string Order_ID = Request.QueryString["Order_ID"].ToString(); ViewState["Order_ID"] = Order_ID; ViewState["State"] = "Update"; string selectSql = " SELECT [Order_ID],[EnregisterTime],[GuardSpec],[DayNumber],[ArrivalTime],[FromArea],[RiteVehicle]," + " [ArrivalArea],[ArrivalTimeTwo],[FromAreaTwo],[RiteVehicleTwo],[ArrivalAreaTwo],[ReceiveArea],[AccompanyFugle],[MoveDate], " + " [AccompanyPeo],[GuardCuston],[Principal],[Roster],[Perform],[Remark],[CreatedBy],[CreatedDate],[ModifiedBy],[ModifiedDate]," + " [StatusId] FROM SOrdNWBenregister where Order_ID = '" + Order_ID + "'"; DataRow selectRow = db.GetDataRow(selectSql); ViewState["Order_ID"] = selectRow[0]; drpOrder_ID.SelectedValue = selectRow[0].ToString(); //勤务编号 drpOrder_ID.Enabled = false; this.lblEnregisterTime.Text = selectRow[1].ToString(); //登记时间 drpGuardSpec.SelectedValue = selectRow[2].ToString(); ///警卫规格 if (drpOrder_ID.SelectedValue != "0") //勤务名称 { string Sql = "select Order_Name from SOrdEstate where Order_ID = '" + selectRow[0].ToString() + "'"; try { string Order_Name = db.GetDataScalar(Sql); txtTaskName.Text = Order_Name; } catch { } } txtDayNumber.Text = selectRow[3].ToString(); ///警卫规格 txtArrivalTime1.Text = GetDate(selectRow[4].ToString()); //得到日期 drpArrivalTime2.SelectedValue = GetHour(selectRow[4].ToString()); //时 txtFromArea.Text = selectRow[5].ToString(); // 自 txtRiteVehicle.Text = selectRow[6].ToString(); // 乘 txtArrivalArea.Text = selectRow[7].ToString(); // 抵 txtArrivalTimeTwo1.Text = GetDate(selectRow[8].ToString()); //得到日期 drpArrivalTimeTwo2.SelectedValue = GetHour(selectRow[8].ToString()); //时 txtFromAreaTwo.Text = selectRow[9].ToString(); // 自 txtRiteVehicleTwo.Text = selectRow[10].ToString(); // 乘 txtArrivalAreaTwo.Text = selectRow[11].ToString(); // 抵 txtReceiveArea.Text = selectRow[12].ToString(); // 接待单位: txtAccompanyFugle.Text = selectRow[13].ToString(); // 省陪同领导: txtMoveDate.Text = selectRow[14].ToString(); // 活动日程: txtAccompanyPeo.Text = selectRow[15].ToString(); // 随行人员(姓名/职务): txtGuardCuston.Text = selectRow[16].ToString(); // 警卫对象生活习惯: txtPrincipal.Text = selectRow[17].ToString(); // 负责人: txtRoster.Text = selectRow[18].ToString(); // 值勤人员: txtPerform.Text = selectRow[19].ToString(); // 情况 txtRemark.Text = selectRow[20].ToString(); // 备注 } } }
protected void Page_Load(object sender, EventArgs e) { Config Config = (Config)Session["Config"]; string staff_Id = Config.Staff.Staff_Id; //得到登录的用户名 // string staff_Id = ""; string Order_ID = ""; string type = ""; string OrderArrange_Guid = ""; ViewState["Satff_Id"] = staff_Id; if (Request.QueryString["Order_ID"] == null || Request.QueryString["Order_ID"].ToString() == "") //编码 { Response.Redirect("error2.htm"); } else { Order_ID = Request.QueryString["Order_ID"].ToString(); ViewState["Order_ID"] = Order_ID; } if (Request.QueryString["type"] == null || Request.QueryString["type"].ToString() == "") //状态 新建:1 修改:2 { Response.Redirect("error2.htm"); } else { type = Request.QueryString["type"].ToString(); ViewState["type"] = type; } //子勤务编号 if (Request.QueryString["OrderArrange_Guid"] == null || Request.QueryString["OrderArrange_Guid"].ToString() == "") { OrderArrange_Guid = ""; } else { OrderArrange_Guid = Request.QueryString["OrderArrange_Guid"].ToString(); ViewState["OrderArrange_Guid"] = OrderArrange_Guid; } if (!this.IsPostBack) { ControlDataBind drp = new ControlDataBind(ConfigurationManager.ConnectionStrings["OA"].ToString()); drp.DropDownListBind(dropOrderNotion, "SSFugleideaConfig", "IdeaContent", "IdeaID", 1, "", staff_Id); if (OrderArrange_Guid == "") //新增的情况 { //权限验证 ButtonVisible(); Panelvisible(); this.panelAP.Visible = true; this.panelAP1.Visible = true; this.panelAN.Visible = true; ViewState["state"] = "AP"; btnZCompere.Attributes.Add("onclick", "PopWindow1();"); btnFCompere.Attributes.Add("onclick", "PopWindow2();"); btnPrincipal.Attributes.Add("onclick", "PopWindow3();"); btnXGMan.Attributes.Add("onclick", "PopWindow4();"); } else if (OrderArrange_Guid != "") //不是新增的情况下 有可能是领导批示/有可能是公文编写等功能 { if (db.GetDataScalar("select Count(*) from SZOrdAuditing where Order_ID = '" + Order_ID + "' and OrderArrange_Guid = '" + OrderArrange_Guid + "'") == "0") //查不到记录说明是勤务安排的修改阶段 { //权限验证 得到第一次填写的人 string CreatedBy = db.GetDataScalar("select CreatedBy from SOrdCArrange where Order_ID = '" + Order_ID + "' and OrderArrange_Guid = '" + OrderArrange_Guid + "'"); if (CreatedBy != staff_Id) { ButtonVisible(); //如果没有权限修改,就只能看 Panelvisible(); this.panelXS.Visible = true; XSAP(OrderArrange_Guid); XSAP2(OrderArrange_Guid); } else { ButtonVisible(); Panelvisible(); ViewState["state"] = "EditAP"; this.panelAP.Visible = true; this.panelAP1.Visible = true; this.panelAN.Visible = true; XGEditAP(OrderArrange_Guid); XSAP2Edit(OrderArrange_Guid); btnZCompere.Attributes.Add("onclick", "PopWindow1();"); btnFCompere.Attributes.Add("onclick", "PopWindow2();"); btnPrincipal.Attributes.Add("onclick", "PopWindow3();"); btnXGMan.Attributes.Add("onclick", "PopWindow4();"); } } else { string StrZOrdAuditing = "select PerNumber,OrderNotion,IsPer,StatusId,Per from SZOrdAuditing where Order_ID = '" + Order_ID + "' and OrderArrange_Guid = '" + OrderArrange_Guid + "'"; //勤务审批信息 try { DataRow ZOrdAuditingRow = db.GetDataRow(StrZOrdAuditing); string PerNumber = ZOrdAuditingRow[0].ToString(); string OrderNotion = ZOrdAuditingRow[1].ToString(); string IsPer = ZOrdAuditingRow[2].ToString(); string StatusId = ZOrdAuditingRow[3].ToString(); string Per = ZOrdAuditingRow[4].ToString(); if ((PerNumber != "" || PerNumber != null) && StatusId == "0") //审批后修改审批内容的状态 { //权限验证 得到第一次填写的人 string CreatedBy = db.GetDataScalar("select CreatedBy from SZOrdAuditing where Order_ID = '" + Order_ID + "' and OrderArrange_Guid = '" + OrderArrange_Guid + "'"); if (CreatedBy != staff_Id) { ButtonVisible(); //如果没有权限修改,就只能看 Panelvisible(); this.panelXS.Visible = true; XSAP(OrderArrange_Guid); XSAP2(OrderArrange_Guid); } else { ViewState["state"] = "EditSP"; ButtonVisible(); Panelvisible(); XSAP(OrderArrange_Guid); XSAP2(OrderArrange_Guid); XGEditPS(OrderArrange_Guid); this.panelPS.Visible = true; this.panelAN.Visible = true; this.panelXS.Visible = true; this.btnSave.Visible = false; this.Button5.Visible = false; } } else if (PerNumber == "" || PerNumber == null) // 第一次审批 { //用当前登陆的用户名去上步指定人中去查询,能查到,说名指定了 string CreatBy = "select Count(*) from SZOrdAuditing left join SOrdArrangeMan on SZOrdAuditing.Per = SOrdArrangeMan.Guid where " + " Man = '" + ViewState["Satff_Id"].ToString() + "' and Order_ID = '" + Order_ID + "' and OrderArrange_Guid = '" + OrderArrange_Guid + "'"; if (db.GetDataScalar(CreatBy) == "0") { ButtonVisible(); //如果没有权限修改,就只能看勤务安排的内容 Panelvisible(); this.panelXS.Visible = true; XSAP(OrderArrange_Guid); XSAP2(OrderArrange_Guid); } else { ViewState["state"] = "SP"; ButtonVisible(); Panelvisible(); XSAP(OrderArrange_Guid); XSAP2(OrderArrange_Guid); this.panelPS.Visible = true; this.panelAN.Visible = true; this.panelXS.Visible = true; this.btnSave.Visible = false; this.Button5.Visible = false; } } else if ((PerNumber != "" || PerNumber != null) && StatusId == "1") // 审批并且下送后 { ViewState["state"] = "Write"; Panelvisible(); XSAP(OrderArrange_Guid); XSAP2(OrderArrange_Guid); XSPS(OrderArrange_Guid); XSAP2Edit(OrderArrange_Guid); this.panelXS.Visible = true; this.panelAP1.Visible = true; this.btnSave.Visible = false; } } catch { } } } } txtZCompere.Value = hfStaffId1.Value.TrimEnd(','); txtFCompere.Value = hfStaffId2.Value.TrimEnd(','); txtPrincipal.Value = hfStaffId3.Value.TrimEnd(','); txtXGMan.Value = hfStaffId4.Value.TrimEnd(','); }
protected void btnStat_Click(object sender, EventArgs e) { /////////以下对每个人循环,每个人生成一行数据(如果不是管理员,则只能看到自已的,如果是部门管理员,则可以看到本部门的,如果是系统管理员,则可以看到全部的) //计算总在线时间(在历史表中得到) db = new MDataBase(config.DBConn); DataTable dtAllStaff = new DataTable(); string strGetStaff = ""; if (Function.CheckStaff(config) == "Yes")//系统管理员 { strGetStaff = "Select Staff_Id,Name From SSysStaff"; } else if (Function.CheckStaff(config) == "No")//不是管理员 { strGetStaff = "Select Staff_Id,Name From SSysStaff Where Staff_Id='" + config.Staff.Staff_Id + "'"; } else//部门管理员 { strGetStaff = "Select Staff_Id,Name From SSysStaff Where Dept_Id='" + Function.CheckStaff(config) + "'"; } db.GetDataTable(strGetStaff, out dtAllStaff); if (dtAllStaff.Rows.Count > 0) { //得到日程表中的数据 DataTable dtAllWorkTime = (DataTable)ViewState["dataSource"]; if (dtAllWorkTime != null) { //存放统计数据 DataTable dtWorkStat = new DataTable(); DataColumn dc3 = new DataColumn("OnlineTimes"); DataColumn dc4 = new DataColumn("WorkTimes"); DataColumn dc5 = new DataColumn("OutTimes"); DataColumn dc6 = new DataColumn("LeaveTimes"); DataColumn dc7 = new DataColumn("LeaveDays"); DataColumn dc8 = new DataColumn("WeekEndWorkDays"); dtWorkStat.Columns.Add(dc3); dtWorkStat.Columns.Add(dc4); dtWorkStat.Columns.Add(dc5); dtWorkStat.Columns.Add(dc6); dtWorkStat.Columns.Add(dc7); dtWorkStat.Columns.Add(dc8); //创建一行新数据 DataRow dr = dtWorkStat.NewRow(); //存放统计数据 int intOnlineTimes = 0, intWorkTimes = 0, intOutTimes = 0, intLeaveTimes = 0, intLeaveDays = 0, intWeekEndWorkDays = 0; for (int i = 0; i < dtAllStaff.Rows.Count; i++) { db = new MDataBase(config.DBConn); string strTimesCount = ""; db.GetDataScalar("Select sum(DATEDIFF(hour, LoginTime, LogoutTime)) AS TimesCount From SSysLoginHistory Where Staff_Id='" + dtAllStaff.Rows[i][0].ToString() + "'", ref strTimesCount); if (strTimesCount != "") { intOnlineTimes += Int32.Parse(strTimesCount); } //得到出勤次数(在作计划表中,状态为“出勤”的记录数) intWorkTimes += (dtAllWorkTime.Select("Staff_Id='" + dtAllStaff.Rows[i][0].ToString() + "' And WorkStatusId='6'")).Length; //得到外出办事次数(在作计划表中,状态为“外出”的记录数) intOutTimes += (dtAllWorkTime.Select("Staff_Id='" + dtAllStaff.Rows[i][0].ToString() + "' And WorkStatusId='7'")).Length; //得到请假次数(在作计划表中,状态为“请假”的记录数)?????(一次请几天假的情况) intLeaveTimes += (dtAllWorkTime.Select("Staff_Id='" + dtAllStaff.Rows[i][0].ToString() + "' And WorkStatusId='8'")).Length; //得到请假天数(暂为0) intLeaveDays += 0; //得到周末工作天数(暂为0) intWeekEndWorkDays += 0; } dr["OnlineTimes"] = intOnlineTimes; dr["WorkTimes"] = intWorkTimes; dr["OutTimes"] = intOutTimes; dr["LeaveTimes"] = intLeaveTimes; dr["LeaveDays"] = intLeaveDays; dr["WeekEndWorkDays"] = intWeekEndWorkDays; dtWorkStat.Rows.Add(dr); grvStatics.DataSource = dtWorkStat; grvStatics.DataBind(); } } }
/// <summary> /// 绑定sql查询到的数据到数据表 /// </summary> /// <param name="sql"></param> private void BindData()//string sql) { //try //{ // if (sql == "") // { // sql = "select a.*,b.UserName As UserName,b.Name As Name from SPsnWorkTime a Left Join SSysStaff b On a.Staff_Id=b.Staff_Id where a.StatusId=0 And a.Day Between '" + DateTime.Now.AddDays(-7) + "' And '" + DateTime.Now + "'"; // } // DataTable dt = new DataTable(); // db = new MDataBase(config.DBConn); // bool isw = db.GetDataTable(sql, out dt); // string strs = db.ErrMessage; // if (dt != null) // { // ViewState["dataSource"] = dt; // } // else // { // lblPageSum.Text = "0"; // Response.Write("<script type='text/javascript'>alert('没有找到!');</script>"); // } //} //catch (Exception exc) //{ // throw exc; //} /////////以下对每个人循环,每个人生成一行数据(如果不是管理员,则只能看到自已的,如果是部门管理员,则可以看到本部门的,如果是系统管理员,则可以看到全部的) //计算总在线时间(在历史表中得到) db = new MDataBase(config.DBConn); DataTable dtAllStaff = new DataTable(); string strGetStaff = ""; if (Function.CheckStaff(config) == "Yes")//系统管理员 { strGetStaff = "Select Staff_Id,Name From SSysStaff"; } else if (Function.CheckStaff(config) == "No")//不是管理员 { strGetStaff = "Select Staff_Id,Name From SSysStaff Where Staff_Id='" + config.Staff.Staff_Id + "'"; } else//部门管理员 { strGetStaff = "Select Staff_Id,Name From SSysStaff Where Dept_Id='" + Function.CheckStaff(config) + "'"; } db.GetDataTable(strGetStaff, out dtAllStaff); if (dtAllStaff.Rows.Count > 0) { //得到日程表中的数据 DataTable dtAllWorkTime = (DataTable)ViewState["dataSource"]; if (dtAllWorkTime != null) { //存放统计数据 DataTable dtWorkStat = new DataTable(); DataColumn dc1 = new DataColumn("Stat_Id"); DataColumn dc2 = new DataColumn("Staff_Name"); DataColumn dc3 = new DataColumn("OnlineTimes"); DataColumn dc4 = new DataColumn("WorkTimes"); DataColumn dc5 = new DataColumn("OutTimes"); DataColumn dc6 = new DataColumn("LeaveTimes"); DataColumn dc7 = new DataColumn("LeaveDays"); DataColumn dc8 = new DataColumn("WeekEndWorkDays"); dtWorkStat.Columns.Add(dc1); dtWorkStat.Columns.Add(dc2); dtWorkStat.Columns.Add(dc3); dtWorkStat.Columns.Add(dc4); dtWorkStat.Columns.Add(dc5); dtWorkStat.Columns.Add(dc6); dtWorkStat.Columns.Add(dc7); dtWorkStat.Columns.Add(dc8); for (int i = 0; i < dtAllStaff.Rows.Count; i++) { //创建一行新数据 DataRow dr = dtWorkStat.NewRow(); dr["Stat_Id"] = (i + 1).ToString(); dr["Staff_Name"] = dtAllStaff.Rows[i]["Name"].ToString(); db = new MDataBase(config.DBConn); string strTimesCount = ""; db.GetDataScalar("Select sum(DATEDIFF(hour, LoginTime, LogoutTime)) AS TimesCount From SSysLoginHistory Where Staff_Id='" + dtAllStaff.Rows[i][0].ToString() + "'", ref strTimesCount); dr["OnlineTimes"] = strTimesCount; //得到出勤次数(在作计划表中,状态为“出勤”的记录数) dr["WorkTimes"] = (dtAllWorkTime.Select("Staff_Id='" + dtAllStaff.Rows[i][0].ToString() + "' And WorkStatusId='6'")).Length.ToString(); //得到外出办事次数(在作计划表中,状态为“外出”的记录数) dr["OutTimes"] = (dtAllWorkTime.Select("Staff_Id='" + dtAllStaff.Rows[i][0].ToString() + "' And WorkStatusId='7'")).Length.ToString(); //得到请假次数(在作计划表中,状态为“请假”的记录数)?????(一次请几天假的情况) dr["LeaveTimes"] = (dtAllWorkTime.Select("Staff_Id='" + dtAllStaff.Rows[i][0].ToString() + "' And WorkStatusId='8'")).Length.ToString(); //得到请假天数(暂为0) dr["LeaveDays"] = "0"; //得到周末工作天数(暂为0) dr["WeekEndWorkDays"] = "0"; dtWorkStat.Rows.Add(dr); } grvStatics.DataSource = dtWorkStat; grvStatics.DataBind(); lblCurrentPage.Text = "1"; intCount = dtWorkStat.Rows.Count; lblPageSum.Text = this.grvStatics.PageCount.ToString(); lblRecordeSum.Text = intCount.ToString(); ViewState["StatData"] = dtWorkStat; } } }