YZ_BSF/HJGL/FineUIPro.Web/common/WelderManage/WelderManage.aspx.cs

1063 lines
42 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 加载树
/// </summary>
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 -
/// <summary>
/// 绑定数据
/// </summary>
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
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
this.BindGrid2();
this.BindTableHead();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
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<SqlParameter> parms = new List<SqlParameter>();
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();
}
/// <summary>
/// 绑定数据
/// </summary>
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<SqlParameter> parms = new List<SqlParameter>();
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();
}
/// <summary>
/// 改变索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 改变索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid2();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e)
{
BindGrid2();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid2();
}
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 增加按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 编辑数据方法
/// </summary>
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
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 判断是否可以删除
/// </summary>
/// <returns></returns>
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
/// <summary>
/// 打印按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
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("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
string html = row.Values[column.ColumnIndex].ToString();
sb.AppendFormat("<td>{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private bool GetButtonPower(string button)
{
return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WelderManageMenuId, button);
}
#endregion
#region
#region
/// <summary>
/// 增加按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
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
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQuery_Click(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 查看按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 增加按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditViolation();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit2_Click(object sender, EventArgs e)
{
this.EditViolation();
}
/// <summary>
/// 编辑数据方法
/// </summary>
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
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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 -
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml2(Grid grid)
{
StringBuilder sb = new StringBuilder();
grid.PageSize = 10000;
BindGrid();
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
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("<td>{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
}
}