399 lines
15 KiB
C#
399 lines
15 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Data.SqlClient;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using Aspose.Words;
|
||
using BLL;
|
||
using AspNet = System.Web.UI.WebControls;
|
||
|
||
|
||
namespace FineUIPro.Web.Customization.CNCCG.HSSE.Check
|
||
{
|
||
public partial class SafePersonWages : PageBase
|
||
{
|
||
/// <summary>
|
||
/// 加载页面
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
////权限按钮方法
|
||
this.GetButtonPower();
|
||
this.dpExamineDate.Text = DateTime.Now.ToString();
|
||
this.btnNew.OnClientClick = Window1.GetShowReference("SafePersonWagesEdit.aspx") + "return false;";
|
||
|
||
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
|
||
{
|
||
Grid1.PageSize = this.CurrUser.PageSize.Value;
|
||
}
|
||
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
||
// 绑定表格
|
||
this.BindGrid();
|
||
}
|
||
}
|
||
#region 获取按钮权限
|
||
/// <summary>
|
||
/// 获取按钮权限
|
||
/// </summary>
|
||
/// <param name="button"></param>
|
||
/// <returns></returns>
|
||
private void GetButtonPower()
|
||
{
|
||
if (Request.Params["value"] == "0")
|
||
{
|
||
return;
|
||
}
|
||
var menuid = Const.SafePersonWages;
|
||
|
||
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, menuid);
|
||
if (buttonList.Count() > 0)
|
||
{
|
||
if (buttonList.Contains(BLL.Const.BtnAdd))
|
||
{
|
||
this.btnNew.Hidden = false;
|
||
}
|
||
if (buttonList.Contains(BLL.Const.BtnModify))
|
||
{
|
||
this.btnMenuEdit.Hidden = false;
|
||
}
|
||
if (buttonList.Contains(BLL.Const.BtnDelete))
|
||
{
|
||
this.btnMenuDelete.Hidden = false;
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 删除
|
||
/// <summary>
|
||
/// 右键删除事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnMenuDelete_Click(object sender, EventArgs e)
|
||
{
|
||
if (Grid1.SelectedRowIndexArray.Length > 0)
|
||
{
|
||
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
||
{
|
||
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
||
var getV = Funs.DB.SafePersonWages.FirstOrDefault(x => x.SafePersonWagesId == rowID);
|
||
if (getV != null)
|
||
{
|
||
BLL.SafePersonWagesService.Delete(rowID);
|
||
}
|
||
}
|
||
this.BindGrid();
|
||
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 绑定表格
|
||
/// <summary>
|
||
/// 绑定数据
|
||
/// </summary>
|
||
private void BindGrid()
|
||
{
|
||
//查询user表里岗位项目角色是群安员的用户
|
||
string strSql = @"select E.SafePersonWagesId,E.SafetyOfficerCheckPersonId,E.PayableAmount,E.PaidAmount,
|
||
E.CheckDate,E.CheckMan,E.Remark,P.Userid,P.Age,U.UserName,J.ProjectId,J.ProjectName,U.IdentityCard from SafePersonWages E
|
||
LEFT JOIN SafetyOfficerCheckPerson P on E.SafetyOfficerCheckPersonId=P.SafetyOfficerCheckPersonId
|
||
LEFT JOIN Sys_User U on P.UserId=U.UserId
|
||
LEFT JOIN Base_Project J on J.ProjectId=U.ProjectId
|
||
Where 1=1 ";
|
||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||
var userId = CurrUser.UserId;
|
||
if (userId == Const.sysglyId || userId == Const.hfnbdId)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
//不是管理员只能看到自己项目的群安员
|
||
strSql += " AND J.ProjectId=@ProjectId ";
|
||
listStr.Add(new SqlParameter("@ProjectId", CurrUser.LoginProjectId));
|
||
}
|
||
if (!string.IsNullOrEmpty(dpExamineDate.Text.Trim()))
|
||
{
|
||
strSql += " AND YEAR(E.CheckDate) = @ExamineDateYear And MONTH(E.CheckDate) = @ExamineDateMonth ";
|
||
listStr.Add(new SqlParameter("@ExamineDateYear", Convert.ToDateTime(this.dpExamineDate.Text).Year));
|
||
listStr.Add(new SqlParameter("@ExamineDateMonth", Convert.ToDateTime(this.dpExamineDate.Text).Month));
|
||
}
|
||
if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim()))
|
||
{
|
||
strSql += " AND P.UserName LIKE @UserName";
|
||
listStr.Add(new SqlParameter("@UserName", "%" + this.txtUserName.Text.Trim() + "%"));
|
||
}
|
||
SqlParameter[] parameter = listStr.ToArray();
|
||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||
|
||
Grid1.RecordCount = tb.Rows.Count;
|
||
//tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||
var table = this.GetPagedDataTable(Grid1, tb);
|
||
Grid1.DataSource = table;
|
||
Grid1.DataBind();
|
||
}
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// 关闭弹出窗
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void Window1_Close(object sender, WindowCloseEventArgs e)
|
||
{
|
||
BindGrid();
|
||
}
|
||
|
||
#region 查询
|
||
/// <summary>
|
||
/// 查询
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void TextBox_TextChanged(object sender, EventArgs e)
|
||
{
|
||
this.BindGrid();
|
||
}
|
||
|
||
protected void btnQuery_Click(object sender, EventArgs e)
|
||
{
|
||
BindGrid();
|
||
}
|
||
#endregion
|
||
#region 分页
|
||
/// <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();
|
||
}
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// Grid行双击事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
||
{
|
||
this.EditData();
|
||
}
|
||
|
||
private void EditData() {
|
||
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||
{
|
||
Alert.ShowInParent("请至少选择一条记录!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
string id = Grid1.SelectedRowID;
|
||
|
||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SafePersonWagesEdit.aspx?SafePersonWagesId={0}", id, "编辑 - ")));
|
||
return;
|
||
}
|
||
|
||
#region 转换格式
|
||
/// <summary>
|
||
/// 把状态转换代号为文字形式
|
||
/// </summary>
|
||
/// <param name="state"></param>
|
||
/// <returns></returns>
|
||
public string ConvertDate(object dateVal)
|
||
{
|
||
if (dateVal!=null)
|
||
{
|
||
var dateStr = Convert.ToDateTime(dateVal.ToString());
|
||
return dateStr.Year + "年" + dateStr.Month + "月";
|
||
}
|
||
return "";
|
||
|
||
}
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// 右键编辑事件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnMenuEdit_Click(object sender, EventArgs e)
|
||
{
|
||
this.EditData();
|
||
}
|
||
|
||
#region 导出按钮
|
||
/// 导出按钮
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnOut_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;
|
||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||
this.BindGrid();
|
||
Response.Write(GetGridTableHtml(Grid1));
|
||
Response.End();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 导出方法
|
||
/// </summary>
|
||
/// <param name="grid"></param>
|
||
/// <returns></returns>
|
||
public static string GetGridTableHtml(Grid grid)
|
||
{
|
||
StringBuilder sb = new StringBuilder();
|
||
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 x:str>{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" && (row.FindControl("lblNumber") as AspNet.Label) != null)
|
||
{
|
||
html = (row.FindControl("lblNumber") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "tfTeamType" && (row.FindControl("lbTeamType") as AspNet.Label) != null)
|
||
{
|
||
html = (row.FindControl("lbTeamType") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "tfI" && (row.FindControl("tfI") as AspNet.Label) != null)
|
||
{
|
||
html = (row.FindControl("lbI") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "tfCM" && (row.FindControl("lblCM") as AspNet.Label) != null)
|
||
{
|
||
html = (row.FindControl("lblCM") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "tfOwn" && (row.FindControl("lbOwn") as AspNet.Label) != null)
|
||
{
|
||
html = (row.FindControl("lbOwn") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "tfSubcontractor" && (row.FindControl("lbSubcontractor") as AspNet.Label) != null)
|
||
{
|
||
html = (row.FindControl("lbSubcontractor") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "tfCompileMan" && (row.FindControl("tfCompileMan") as AspNet.Label) != null)
|
||
{
|
||
html = (row.FindControl("lblCompileMan") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "tfSpecialEquipmentId")
|
||
{
|
||
html = (row.FindControl("lblSpecialEquipmentId") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "State")
|
||
{
|
||
html = (row.FindControl("labState") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "DismissDate")
|
||
{
|
||
html = (row.FindControl("labDisState") as AspNet.Label).Text;
|
||
}
|
||
if (column.ColumnID == "CheckDate")
|
||
{
|
||
html = (row.FindControl("labState") as AspNet.Label).Text;
|
||
}
|
||
// 处理CheckBox
|
||
if (html.Contains("f-grid-static-checkbox"))
|
||
{
|
||
if (!html.Contains("f-checked"))
|
||
{
|
||
html = "×";
|
||
}
|
||
else
|
||
{
|
||
html = "√";
|
||
}
|
||
}
|
||
sb.AppendFormat("<td style='vnd.ms-excel.numberformat:@;width:140px;'>{0}</td>", html);
|
||
// sb.AppendFormat("<td>{0}</td>", html);
|
||
}
|
||
|
||
sb.Append("</tr>");
|
||
}
|
||
|
||
sb.Append("</table>");
|
||
|
||
return sb.ToString();
|
||
}
|
||
|
||
/// <summary>
|
||
/// DataTable转HTML
|
||
/// </summary>
|
||
/// <param name="table"></param>
|
||
/// <returns></returns>
|
||
public static string GetTableHtml(DataTable table)
|
||
{
|
||
StringBuilder sb = new StringBuilder();
|
||
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 (var column in table.Columns)
|
||
{
|
||
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\">{0}</td>", column.ToString());
|
||
}
|
||
sb.Append("</tr>");
|
||
for (int i = 0; i < table.Rows.Count; i++)
|
||
{
|
||
sb.Append("<tr>");
|
||
for (int j = 0; j < table.Columns.Count; j++)
|
||
{
|
||
string html = table.Rows[i][j].ToString();
|
||
sb.AppendFormat("<td>{0}</td>", html);
|
||
}
|
||
sb.Append("</tr>");
|
||
}
|
||
|
||
sb.Append("</table>");
|
||
|
||
return sb.ToString();
|
||
}
|
||
|
||
#endregion
|
||
|
||
}
|
||
} |