using System; using System.Collections.Generic; using System.Linq; using System.Data; using System.Data.SqlClient; using System.IO; using NPOI.HSSF.UserModel; using NPOI.HSSF.Util; using NPOI.SS.UserModel; using NPOI.SS.Util; using NPOI.XSSF.UserModel; using AspNet = System.Web.UI.WebControls; using System.Text; using System.Web; using BLL; namespace FineUIPro.Web.common.WelderManage { public partial class WelderManage : PageBase { #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); //BLL.Base_ProjectTypeService.InitProjectTypeDropDownList(this.drpProjectType, true, Resources.Lan.PleaseSelect); // 绑定表格 this.InitTreeMenu(); // this.BindGrid(); } } #region 加载树 /// /// 加载树 /// private void InitTreeMenu() { this.tvControlItem.Nodes.Clear(); TreeNode rootNode = new TreeNode(); rootNode.Text = "单位-焊工"; rootNode.NodeID = "0"; rootNode.Expanded = true; this.tvControlItem.Nodes.Add(rootNode); var getWelders = from x in Funs.DB.Welder_Welder join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId where y.UnitTypeId == Const.UnitType_5 select new { x.UnitId, x.WelderId, x.WelderCode, x.WelderName, y.UnitName }; if (!string.IsNullOrEmpty(this.txtWelderCodeS.Text.Trim())) { getWelders = from x in getWelders where x.WelderCode.Contains(this.txtWelderCodeS.Text.Trim()) select x; } if (!string.IsNullOrEmpty(txtWelderNameS.Text.Trim())) { getWelders = from x in getWelders where x.WelderName.Contains(this.txtWelderNameS.Text.Trim()) select x; } var getUnits = (from x in getWelders select new { x.UnitId, x.UnitName }).Distinct(); foreach (var unit in getUnits) { TreeNode unitNode = new TreeNode(); unitNode.NodeID = unit.UnitId; unitNode.Text = unit.UnitName; rootNode.Nodes.Add(unitNode); var welderList = getWelders.Where(e => e.UnitId == unit.UnitId); foreach (var item in welderList) { TreeNode newNode = new TreeNode(); newNode.Text = item.WelderName + "【" + item.WelderCode + "】"; newNode.NodeID = item.WelderId; newNode.EnableClickEvent = true; unitNode.Nodes.Add(newNode); } } } #endregion protected void Tree_TextChanged(object sender, EventArgs e) { this.InitTreeMenu(); } #region 绑定数据-焊工信息 /// /// 绑定数据 /// private void BindTableHead() { if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { Model.Welder_Welder welder = BLL.WelderService.GetWelderById(this.tvControlItem.SelectedNodeID); if (welder != null) { this.txtWelderCode.Text = welder.WelderCode; this.txtWelderName.Text = welder.WelderName; if (!string.IsNullOrEmpty(welder.ProjectTypeId)) { this.txtProjectType.Text = BLL.Base_ProjectTypeService.GetProjectTypeByProjectTypeId(welder.ProjectTypeId).ProjectTypeName; } this.rblSex.Text = welder.Sex == "1" ? "男" : "女"; if (welder.Birthday.HasValue) { this.txtBirthday.Text = string.Format("{0:yyyy-MM-dd}", welder.Birthday); } this.txtCertificateCode.Text = welder.CertificateNum; if (welder.CertificateValidity.HasValue) { this.txtCertificateLimitTime.Text = string.Format("{0:yyyy-MM-dd}", welder.CertificateValidity); } this.txtWelderLevel.Text = welder.WelderLevel; if (welder.IsOnDuty == true) { cbIsOnDuty.Checked = true; } else { cbIsOnDuty.Checked = false; } var jot = from x in Funs.DB.Pipeline_WeldJoint join y in Funs.DB.Pipeline_WeldingDaily on x.WeldingDailyId equals y.WeldingDailyId where x.WeldingDailyId != null && (x.BackingWelderId == this.tvControlItem.SelectedNodeID || x.CoverWelderId == this.tvControlItem.SelectedNodeID) select y.WeldingDate; if (jot != null && jot.Count() > 0) { txtLastWeldDate.Text = jot.OrderByDescending(d => d.Value).FirstOrDefault().ToString(); } else { txtLastWeldDate.Text = string.Empty; } } } } #endregion #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { this.BindGrid(); this.BindGrid2(); this.BindTableHead(); } #endregion #region 绑定数据 /// /// 绑定数据 /// private void BindGrid() { string strSql = @"SELECT que.WelderQualifyId, que.WelderId,welder.WelderCode, que.QualificationItem, que.LimitDate, que.CheckDate, (CASE WHEN que.ThicknessMax >0 THEN '不限 ~ '+ CONVERT(VARCHAR(5),CAST(que.ThicknessMax AS REAL)) WHEN que.ThicknessMax=0 THEN '不限' WHEN que.ThicknessMax IS NULL THEN '' END) AS ThicknessMax, (CASE WHEN que.SizesMin >0 THEN CONVERT(VARCHAR(5),CAST(que.SizesMin AS REAL))+' ~ 不限' WHEN que.SizesMin=0 THEN '不限' WHEN que.SizesMin IS NULL THEN '' END) AS SizesMin, que.Remark,WeldingMethod, WeldingLocation,MaterialType,IsPrintShow FROM Welder_WelderQualify que LEFT JOIN dbo.Welder_Welder welder ON welder.WelderId = que.WelderId WHERE que.WelderId=@WelderId"; List parms = new List(); parms.Add(new SqlParameter("@WelderId", this.tvControlItem.SelectedNodeID)); if (!string.IsNullOrEmpty(this.txtQualificationItem.Text)) { strSql += " and QualificationItem LIKE @QualificationItem"; parms.Add(new SqlParameter("@QualificationItem", "%" + this.txtQualificationItem.Text.Trim() + "%")); } SqlParameter[] parameter = parms.ToArray(); DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = dt.Rows.Count; var table = this.GetPagedDataTable(Grid1, dt); Grid1.DataSource = table; Grid1.DataBind(); } /// /// 绑定数据 /// private void BindGrid2() { string strSql = @" SELECT v.WelderViolationId,v.WelderId,welder.WelderCode,welder.WelderName,unit.UnitName, t.WelderViolationType,v.ViolationDate,v.Results,v.SpecialNote,v.Project,u.UserName AS RecordMan, (CASE WHEN t.Flag='1' THEN '一般违章' WHEN t.Flag='2' THEN '严重违章' WHEN t.Flag='3' THEN '零容忍违章' END) AS Flag FROM dbo.Welder_Violation v LEFT JOIN dbo.Welder_Welder welder ON welder.WelderId = v.WelderId LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = v.UnitId LEFT JOIN dbo.Base_WelderViolationType t ON t.WelderViolationTypeId = v.WelderViolationTypeId LEFT JOIN dbo.Sys_User u ON u.UserId = v.RecordMan WHERE v.WelderId=@WelderId"; List parms = new List(); parms.Add(new SqlParameter("@WelderId", this.tvControlItem.SelectedNodeID)); if (!string.IsNullOrEmpty(this.txtViolationType.Text)) { strSql += " and t.WelderViolationType LIKE @WelderViolationType"; parms.Add(new SqlParameter("@WelderViolationType", "%" + this.txtViolationType.Text.Trim() + "%")); } if (!string.IsNullOrEmpty(this.txtStarTime.Text)) { strSql += " and v.ViolationDate>=@StartDate"; parms.Add(new SqlParameter("@StartDate", this.txtStarTime.Text)); } if (!string.IsNullOrEmpty(this.txtEndTime.Text)) { strSql += " and v.ViolationDate<=@EndDate"; parms.Add(new SqlParameter("@EndDate", this.txtEndTime.Text)); } SqlParameter[] parameter = parms.ToArray(); DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter); Grid2.RecordCount = dt.Rows.Count; var table = this.GetPagedDataTable(Grid2, dt); Grid2.DataSource = table; Grid2.DataBind(); } /// /// 改变索引事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } /// /// 分页下拉选择事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { BindGrid(); } /// /// 改变索引事件 /// /// /// protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid2(); } /// /// 分页下拉选择事件 /// /// /// protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e) { BindGrid2(); } /// /// 排序 /// /// /// protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e) { BindGrid2(); } /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, EventArgs e) { BindGrid(); BindTableHead(); } protected void Window3_Close(object sender, EventArgs e) { BindGrid2(); BindTableHead(); } #endregion #endregion protected void btnQueryViolation_Click(object sender, EventArgs e) { BindGrid2(); } #region 增加按钮事件 /// /// 增加按钮事件 /// /// /// protected void btnNewWelder_Click(object sender, EventArgs e) { if (GetButtonPower(Const.BtnAdd)) { if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { var unit = BLL.Base_UnitService.GetUnit(this.tvControlItem.SelectedNodeID); if (unit != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderManageEdit.aspx?unitId={0}", this.tvControlItem.SelectedNodeID, "新增 - "))); } else { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderManageEdit.aspx", "新增 - "))); } } } else { Alert.ShowInTop(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning); return; } } #endregion #region 编辑 /// /// 编辑数据方法 /// protected void btnEdit_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); return; } var welder = BLL.WelderService.GetWelderById(this.tvControlItem.SelectedNodeID); if (welder != null) { if (GetButtonPower(Const.BtnModify)) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderManageEdit.aspx?welderId={0}", this.tvControlItem.SelectedNodeID, "编辑 - "))); } else if (GetButtonPower(Const.BtnSee)) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderManageView.aspx?welderId={0}", this.tvControlItem.SelectedNodeID, "查看 - "))); } else { ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } else { ShowNotify("请选择焊工!", MessageBoxIcon.Warning); return; } } #endregion #region 删除 /// /// 右键删除事件 /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { if (GetButtonPower(Const.BtnDelete)) { if (string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); return; } string strShowNotify = string.Empty; var welder = BLL.WelderService.GetWelderById(this.tvControlItem.SelectedNodeID); if (welder != null) { string cont = judgementDelete(this.tvControlItem.SelectedNodeID); if (string.IsNullOrEmpty(cont)) { var ItemCheck = from x in Funs.DB.Welder_WelderQualify where x.WelderId == this.tvControlItem.SelectedNodeID select x; if (ItemCheck != null) { Funs.DB.Welder_WelderQualify.DeleteAllOnSubmit(ItemCheck); Funs.DB.SubmitChanges(); } BLL.WelderService.DeleteWelderById(this.tvControlItem.SelectedNodeID); } else { strShowNotify += "焊工管理" + ":" + welder.WelderCode + cont; } } if (!string.IsNullOrEmpty(strShowNotify)) { Alert.ShowInTop(strShowNotify, MessageBoxIcon.Warning); } else { BindGrid(); ShowNotify("删除成功!", MessageBoxIcon.Success); } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } #region 判断是否可删除 /// /// 判断是否可以删除 /// /// private string judgementDelete(string id) { string content = string.Empty; if (Funs.DB.Welder_ProjectWelder.FirstOrDefault(x => x.WelderId == id) != null) { content += "已在【项目焊工】中使用,不能删除!"; } if (Funs.DB.Pipeline_WeldJoint.FirstOrDefault(x => x.BackingWelderId == id) != null) { content += "已在【焊接信息】中使用,不能删除!"; } return content; } #endregion #endregion #region 打印按钮 /// /// 打印按钮 /// /// /// protected void btnPrint_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); return; } var welder = BLL.WelderService.GetWelderById(this.tvControlItem.SelectedNodeID); string unitName = string.Empty; if (!string.IsNullOrEmpty(welder.UnitId)) { unitName = BLL.Base_UnitService.GetUnitNameByUnitId(welder.UnitId); } string limitDate = string.Empty; if (welder.CertificateValidity.HasValue) { limitDate = welder.CertificateValidity.Value.Year.ToString() + "." + welder.CertificateValidity.Value.Month.ToString() + "." + welder.CertificateValidity.Value.Day.ToString(); } string rootPath = Server.MapPath("~/") + Const.ExcelUrl; //模板文件 string TempletFileName = rootPath + "Welder.xlsx"; //导出文件 string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string ReportFileName = filePath + "out.xls"; FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read); XSSFWorkbook hssfworkbook = new XSSFWorkbook(file); XSSFSheet ws = (XSSFSheet)hssfworkbook.GetSheetAt(0); string pUrl = Server.MapPath("~/") + welder.PhotoUrl; if (System.IO.File.Exists(pUrl)) { byte[] bytes = System.IO.File.ReadAllBytes(pUrl); int pictureIdx = hssfworkbook.AddPicture(bytes, XSSFWorkbook.PICTURE_TYPE_JPEG); XSSFDrawing drawing = (XSSFDrawing)ws.CreateDrawingPatriarch(); XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, 6, 2, 9, 6); XSSFPicture picture = (XSSFPicture)drawing.CreatePicture(anchor, pictureIdx); //picture.Resize(); bytes = null; } string qrUrl = Server.MapPath("~/") + welder.QRCodeAttachUrl; if (System.IO.File.Exists(qrUrl)) { byte[] qbytes = System.IO.File.ReadAllBytes(qrUrl); int qpictureIdx = hssfworkbook.AddPicture(qbytes, XSSFWorkbook.PICTURE_TYPE_JPEG); XSSFDrawing qdrawing = (XSSFDrawing)ws.CreateDrawingPatriarch(); XSSFClientAnchor qanchor = new XSSFClientAnchor(0, 0, 0, 0, 1, 2, 2, 3); XSSFPicture picture2 = (XSSFPicture)qdrawing.CreatePicture(qanchor, qpictureIdx); } if (ws.GetRow(4).GetCell(1) == null) ws.GetRow(4).CreateCell(1); ws.GetRow(4).GetCell(1).SetCellValue("焊工姓名 Welder Name:" + welder.WelderName); if (ws.GetRow(5).GetCell(3) == null) ws.GetRow(5).CreateCell(3); ws.GetRow(5).GetCell(3).SetCellValue(welder.WelderCode); if (ws.GetRow(6).GetCell(3) == null) ws.GetRow(6).CreateCell(3); ws.GetRow(6).GetCell(3).SetCellValue(unitName); if (ws.GetRow(8).GetCell(3) == null) ws.GetRow(8).CreateCell(3); ws.GetRow(8).GetCell(3).SetCellValue(limitDate); if (ws.GetRow(18).GetCell(2) == null) ws.GetRow(18).CreateCell(2); ws.GetRow(18).GetCell(2).SetCellValue(welder.Remark); //资质 var werlderQualifys = BLL.WelderQualifyService.GetShowWelderQualifysByWelderId(this.tvControlItem.SelectedNodeID); int rowIndex = 14; if (werlderQualifys.Count() > 0) { foreach (var q in werlderQualifys) { if (rowIndex <= 17) { string thkR = string.Empty; string sizeR = string.Empty; if (q.ThicknessMax.HasValue) { thkR = "≤" + q.ThicknessMax; } if (q.SizesMin.HasValue) { sizeR = "≥" + q.SizesMin; } if (ws.GetRow(rowIndex).GetCell(1) == null) ws.GetRow(rowIndex).CreateCell(1); ws.GetRow(rowIndex).GetCell(1).SetCellValue(q.CheckDate.Value.Year + "." + q.CheckDate.Value.Month); if (ws.GetRow(rowIndex).GetCell(2) == null) ws.GetRow(rowIndex).CreateCell(2); ws.GetRow(rowIndex).GetCell(2).SetCellValue(q.QualificationItem); if (ws.GetRow(rowIndex).GetCell(4) == null) ws.GetRow(rowIndex).CreateCell(4); ws.GetRow(rowIndex).GetCell(4).SetCellValue(q.WeldingMethod); if (ws.GetRow(rowIndex).GetCell(5) == null) ws.GetRow(rowIndex).CreateCell(5); ws.GetRow(rowIndex).GetCell(5).SetCellValue(q.MaterialType); if (ws.GetRow(rowIndex).GetCell(6) == null) ws.GetRow(rowIndex).CreateCell(6); ws.GetRow(rowIndex).GetCell(6).SetCellValue(thkR); if (ws.GetRow(rowIndex).GetCell(7) == null) ws.GetRow(rowIndex).CreateCell(7); ws.GetRow(rowIndex).GetCell(7).SetCellValue(sizeR); if (ws.GetRow(rowIndex).GetCell(8) == null) ws.GetRow(rowIndex).CreateCell(8); ws.GetRow(rowIndex).GetCell(8).SetCellValue(q.WeldingLocation); //if (ws.GetRow(rowIndex).GetCell(8) == null) ws.GetRow(rowIndex).CreateCell(8); //ws.GetRow(rowIndex).GetCell(8).SetCellValue(q.Remark); rowIndex++; } } } ws.ForceFormulaRecalculation = true; using (FileStream filess = System.IO.File.OpenWrite(ReportFileName)) { hssfworkbook.Write(filess); } FileInfo filet = new FileInfo(ReportFileName); Response.Clear(); Response.Charset = "UTF-8"; Response.ContentEncoding = System.Text.Encoding.UTF8; // 添加头信息,为"文件下载/另存为"对话框指定默认文件名 Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(welder.WelderName + "(" + welder.WelderCode + ")") + ".xlsx"); // 添加头信息,指定文件大小,让浏览器能够显示下载进度 Response.AddHeader("Content-Length", filet.Length.ToString()); // 指定返回的是一个不能被客户端读取的流,必须被下载 Response.ContentType = "application/ms-excel"; // 把文件流发送到客户端 Response.WriteFile(filet.FullName); // 停止页面的执行 Response.End(); //if (welder != null) //{ // PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("WelderPrint.aspx?WelderId={0}", this.tvControlItem.SelectedNodeID, "打印 - "))); //} } #endregion #region 导出按钮 private void CreateExcel(DataTable dt, string FileName) { HttpResponse resp; resp = Page.Response; resp.ClearContent(); resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //resp.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(Resources.Lan.WelderInformation, System.Text.Encoding.) + ".xls"); resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName); resp.ContentType = "application/vnd.ms-excel"; string colHeaders = "", ls_item = ""; //可以类似dt.Select("id>10")之形式达到数据筛选目的 DataRow[] myRow = dt.Select(); int i = 0; int cl = dt.Columns.Count; //各列之间以\t分割,最后一个列标题后加回车符 for (i = 0; i < cl; i++) { //最后一列,加\n if (i == (cl - 1)) { colHeaders += dt.Columns[i].Caption.ToString() + "\n"; } else { colHeaders += dt.Columns[i].Caption.ToString() + "\t"; } } //向HTTP输出流中写入取得的数据信息 resp.Write(colHeaders); //逐行处理数据 foreach (DataRow row in myRow) { //当前行数据写入HTTP输出流,并且置空ls_item以便下行数据 for (i = 0; i < cl; i++) { //最后一列,加\n if (i == (cl - 1)) { ls_item += row[i].ToString() + "\n"; } else { if ((i == (cl - 2) || i == (cl - 3)) && !string.IsNullOrEmpty(row[i].ToString())) { ls_item += "'" + row[i].ToString() + "\t"; } else { ls_item += row[i].ToString() + "\t"; } } } resp.Write(ls_item); ls_item = ""; } resp.End(); } /// 导出按钮 /// /// /// protected void btnOut_Click(object sender, EventArgs e) { string strSql = @"SELECT w.WelderCode AS 焊工号,w.WelderName AS 焊工姓名, (CASE WHEN w.Sex=1 THEN '男' ELSE '女' END) AS 性别, unit.UnitName AS 所在单位,t.ProjectTypeName AS 项目类型, w.IdentityCard AS 身份证号,w.CertificateNum AS 证书编号, CONVERT(varchar(100), w.CertificateValidity, 102) AS 有效期 FROM dbo.Welder_Welder w LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = w.UnitId LEFT JOIN dbo.Base_ProjectType t ON t.ProjectTypeId = w.ProjectTypeId ORDER BY unit.UnitCode,w.WelderCode"; DataTable dt = SQLHelper.GetDataTableRunText(strSql, null); CreateExcel(dt, "ExportWelderList.xls"); //Response.ClearContent(); //string filename = Funs.GetNewFileName(); //Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(Resources.Lan.WelderInformation + filename, System.Text.Encoding.UTF8) + ".xls"); //Response.ContentType = "application/excel"; //Response.ContentEncoding = System.Text.Encoding.UTF8; //Response.Write(GetGridTableHtml(Grid1)); //Response.End(); } /// /// 导出方法 /// /// /// private string GetGridTableHtml(Grid grid) { StringBuilder sb = new StringBuilder(); grid.PageSize = 10000; BindGrid(); this.Grid1.Columns[9].Hidden = true; this.Grid1.Columns[10].Hidden = true; sb.Append(""); sb.Append(""); sb.Append(""); foreach (GridColumn column in grid.Columns) { sb.AppendFormat("", column.HeaderText); } sb.Append(""); foreach (GridRow row in grid.Rows) { sb.Append(""); foreach (GridColumn column in grid.Columns) { string html = row.Values[column.ColumnIndex].ToString(); sb.AppendFormat("", html); } sb.Append(""); } sb.Append("
{0}
{0}
"); return sb.ToString(); } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private bool GetButtonPower(string button) { return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WelderManageMenuId, button); } #endregion #region 焊工资质信息维护事件 #region 增加按钮事件 /// /// 增加按钮事件 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnModify)) { if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WelderItemEdit.aspx?welderId={0}", this.tvControlItem.SelectedNodeID, "新增 - "))); } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } #endregion #region 编辑 /// /// 双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { this.EditData(); } /// /// 右键编辑事件 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { this.EditData(); } /// /// 编辑数据方法 /// private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); return; } ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面 if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnModify)) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WelderItemEdit.aspx?WelderQualifyId={0}", Grid1.SelectedRowID, "编辑 - "))); } else { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WelderItemView.aspx?WelderQualifyId={0}", Grid1.SelectedRowID, "查看 - "))); } } #endregion #region 删除 /// /// 右键删除事件 /// /// /// protected void btnMenuDelete_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnDelete)) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); var que = BLL.WelderQualifyService.GetWelderQualifyById(rowID); if (que != null) { BLL.WelderQualifyService.DeleteWelderQualifyById(rowID); } } BindGrid(); ShowNotify("删除成功!", MessageBoxIcon.Success); } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } #endregion #region 查询 /// /// 查询 /// /// /// protected void btnQuery_Click(object sender, EventArgs e) { this.BindGrid(); } #endregion #region 查看按钮 /// /// 查看按钮 /// /// /// protected void btnView_Click(object sender, EventArgs e) { if (GetButtonPower(Const.BtnSee)) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WelderItemView.aspx?WelderQualifyId={0}", Grid1.SelectedRowID, "查看 - "))); } else { ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning); return; } } #endregion #endregion #region 焊工违章信息维护事件 #region 增加按钮事件 /// /// 增加按钮事件 /// /// /// protected void btnAdd_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnModify)) { if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID)) { PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("WelderViolationEdit.aspx?welderId={0}", this.tvControlItem.SelectedNodeID, "新增 - "))); } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } #endregion #region 编辑 /// /// 双击事件 /// /// /// protected void Grid2_RowDoubleClick(object sender, GridRowClickEventArgs e) { this.EditViolation(); } /// /// 右键编辑事件 /// /// /// protected void btnMenuEdit2_Click(object sender, EventArgs e) { this.EditViolation(); } /// /// 编辑数据方法 /// private void EditViolation() { if (Grid2.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); return; } ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面 if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnModify)) { PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("WelderViolationEdit.aspx?WelderViolationId={0}", Grid2.SelectedRowID, "编辑 - "))); } else { PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("WelderViolationEdit.aspx?WelderViolationId={0}", Grid2.SelectedRowID, "查看 - "))); } } #endregion #region 删除 /// /// 右键删除事件 /// /// /// protected void btnMenuDelete2_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnDelete)) { if (Grid2.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid2.SelectedRowIndexArray) { string rowID = Grid2.DataKeys[rowIndex][0].ToString(); var v = BLL.WelderViolationService.GetViolationById(rowID); if (v != null) { BLL.WelderViolationService.DeleteWelderViolationById(rowID); } } BindGrid2(); ShowNotify("删除成功!", MessageBoxIcon.Success); } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } #endregion #endregion #region 导出按钮-焊工违章 /// 导出按钮 /// /// /// protected void btnOut2_Click(object sender, EventArgs e) { Response.ClearContent(); string filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("焊工违章" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Write(GetGridTableHtml2(Grid2)); Response.End(); } /// /// 导出方法 /// /// /// private string GetGridTableHtml2(Grid grid) { StringBuilder sb = new StringBuilder(); grid.PageSize = 10000; BindGrid(); sb.Append(""); sb.Append(""); sb.Append(""); foreach (GridColumn column in grid.Columns) { sb.AppendFormat("", column.HeaderText); } sb.Append(""); foreach (GridRow row in grid.Rows) { sb.Append(""); foreach (GridColumn column in grid.Columns) { string html = row.Values[column.ColumnIndex].ToString(); if (column.ColumnID == "tfNumber") { html = (row.FindControl("labNumber") as AspNet.Label).Text; } sb.AppendFormat("", html); } sb.Append(""); } sb.Append("
{0}
{0}
"); return sb.ToString(); } #endregion } }