SGGL_JT/SUBQHSE/FineUIPro.Web/Customization/CNCCG/HSSE/Check/SafePersonWages.aspx.cs

399 lines
15 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.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
}
}