SGGL_JT/SUBQHSE/FineUIPro.Web/ThreeYearAction/HazardousChemicals/ManageRule.aspx.cs

516 lines
19 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 BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
//using static System.Runtime.CompilerServices.RuntimeHelpers;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.ThreeYearAction.HazardousChemicals
{
public partial class ManageRule : PageBase
{
#region
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
/// <summary>
/// 页面
/// </summary>
public int? PageSize
{
get
{
return (int?)ViewState["PageSize"];
}
set
{
ViewState["PageSize"] = value;
}
}
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
if (this.CurrUser == null)
{
this.Session["CurrUser"] = UserService.GetUserByUserId(Const.hfnbdId);
}
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
////权限按钮方法
this.ucTree.UnitId = this.CurrUser.UnitId;
this.ucTree.ProjectId = this.ProjectId;
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
this.panelLeftRegion.Hidden = true;
////权限按钮方法
this.GetButtonPower();
}
//this.btnCompile.OnClientClick = Window1.GetShowReference("ManageRuleEdit.aspx") + "return false;";
// 绑定表格
this.BindGrid();
//Funs.DropDownPageSize(this.ddlPageSize);
//this.GetButtonPower();
//this.btnMenuDelete.OnClientClick = Grid1.GetNoSelectionAlertReference("请至少选择一项!");
//this.btnMenuDelete.ConfirmText = String.Format("你确定要删除选中的&nbsp;<b><script>{0}</script></b>&nbsp;行数据吗?", Grid1.GetSelectedCountReference());
//// 绑定表格
//BindGrid();
}
}
protected void changeTree(object sender, EventArgs e)
{
this.ProjectId = this.ucTree.ProjectId;
this.BindGrid();
this.GetButtonPower();
if (string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
btnNew.Hidden = true;
}
}
/// <summary>
/// 加载数据
/// </summary>
private void BindGrid()
{
if (string.IsNullOrEmpty(this.ProjectId))
{
return;
}
var db = Funs.DB;
string strSql = @"SELECT ManagerRule.Id,ManagerRule.ProjectId,Code,
ManagerRule.Name,
ManagerRule.CompileMan,
ManagerRule.CompileDate,
ManagerRule.IsIssue,
ManagerRule.IssueDate,
Users.UserName as CompileManName
FROM HazardousChemicals_ManageRule AS ManagerRule
LEFT JOIN Sys_User AS Users ON Users.UserId = ManagerRule.CompileMan
WHERE 1 =1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " AND ManagerRule.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
if (!string.IsNullOrEmpty(this.txtCode.Text.Trim()))
{
strSql += " AND Code LIKE @Code";
listStr.Add(new SqlParameter("@Code", "%" + this.txtCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtName.Text.Trim()))
{
strSql += " AND Name LIKE @Name";
listStr.Add(new SqlParameter("@Name", "%" + this.txtName.Text.Trim() + "%"));
}
if (this.cbIssue.SelectedValueArray.Length == 1)
{
///是否发布
string selectValue = String.Join(", ", this.cbIssue.SelectedValueArray);
if (selectValue == "1")
{
strSql += " AND ManagerRule.IsIssue = 1 ";
}
else
{
strSql += " AND (ManagerRule.IsIssue = 0 OR ManagerRule.IsIssue IS NULL) ";
}
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
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, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#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 = BLL.HazardousChemicalsManageRuleService.GetById(rowID);
if (getV != null)
{
BLL.LogService.AddSys_Log(this.CurrUser, getV.Code, rowID, BLL.Const.HazardousChemicalsManageRuleMenuId, BLL.Const.BtnDelete);
BLL.HazardousChemicalsManageRuleService.DeleteById(rowID);
}
}
this.BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// Grid行双击事件
/// </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()
{
this.PageSize = this.Grid1.PageIndex;
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
var model = BLL.HazardousChemicalsManageRuleService.GetById(id);
if (model != null)
{
if (this.btnMenuEdit.Hidden) ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
{
Alert.ShowInTop("没有权限编辑页面!", MessageBoxIcon.Warning);
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ManageRuleEdit.aspx?FileId={0}", id, "编辑 - ")));
}
}
//if (model != null)
//{
// if (this.btnMenuEdit.Hidden || model.State == BLL.Const.State_2) ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
// {
// PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ManageRuleView.aspx?Id={0}", id, "查看 - ")));
// }
// else
// {
// PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ManageRuleEdit.aspx?Id={0}", id, "编辑 - ")));
// }
//}
}
#endregion
#region
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 新增编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ManageRuleEdit.aspx", "编辑 - ")));
}
#endregion
#region
/// <summary>
/// 发布
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuIssuance_Click(object sender, EventArgs e)
{
string strShowNotify = string.Empty;
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string id = Grid1.DataKeys[rowIndex][0].ToString();
Model.HazardousChemicals_ManageRule model = BLL.HazardousChemicalsManageRuleService.GetById(id);
if (model != null)
{
model.IsIssue = true;
model.IssueDate = DateTime.Now;
BLL.HazardousChemicalsManageRuleService.Update(model);
//if (model.State == BLL.Const.State_2)
//{
// List<Model.HazardousChemicals_ManageRule> issuanceManagerRules = BLL.HazardousChemicalsManageRuleService.GetIsIssueManagerRulesByName(model.ManageRuleName);
// if (issuanceManagerRules.Count == 0) //无对应版本的管理规定
// {
// model.VersionNo = "V1.0";
// model.IsIssue = true;
// model.IssueDate = DateTime.Now;
// BLL.ActionPlan_ProjectManagerRuleService.UpdateManageRule(model);
// }
// else //存在对应版本的管理规定
// {
// string maxVersionNo = issuanceManagerRules[issuanceManagerRules.Count - 1].VersionNo;
// model.VersionNo = "V" + (Convert.ToInt32(maxVersionNo.Substring(1, maxVersionNo.LastIndexOf(".") - 1)) + 1) + ".0";
// model.IsIssue = true;
// model.IssueDate = DateTime.Now;
// BLL.ActionPlan_ProjectManagerRuleService.UpdateManageRule(model);
// }
//}
//else
//{
// strShowNotify += "危化品制度:" + model.ManageRuleName + "";
//}
}
}
}
this.BindGrid();
if (!string.IsNullOrEmpty(strShowNotify))
{
Alert.ShowInTop(strShowNotify + "尚未审批完成,无法发布!", MessageBoxIcon.Warning);
}
else
{
ShowNotify("发布成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HazardousChemicalsManageRuleMenuId);
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.BtnAuditing))
//{
// this.btnMenuAudit.Hidden = false;
//}
if (buttonList.Contains(BLL.Const.BtnIssuance))
{
this.btnMenuIssuance.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 TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
if (this.PageSize.HasValue)
{
this.ddlPageSize.SelectedValue = this.PageSize.ToString();
}
BLL.LogService.AddSys_Log(this.CurrUser, string.Empty, string.Empty, BLL.Const.HazardousChemicalsManageRuleMenuId, Const.BtnQuery);
}
#endregion
#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 = 500;
BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#pragma warning disable CS0108 // “ManagerRule.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
#pragma warning restore CS0108 // “ManagerRule.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。
{
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>{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;
}
if (column.ColumnID == "tfManageRuleCode")
{
html = (row.FindControl("lblManageRuleCode") as AspNet.Label).Text;
}
if (column.ColumnID == "tfOldManageRuleCode")
{
html = (row.FindControl("lblOldManageRuleCode") as AspNet.Label).Text;
}
if (column.ColumnID == "tfManageRuleName")
{
html = (row.FindControl("lblManageRuleName") as AspNet.Label).Text;
}
if (column.ColumnID == "tfManageRuleTypeName")
{
html = (row.FindControl("lblManageRuleTypeName") as AspNet.Label).Text;
}
if (column.ColumnID == "tfShortRemark")
{
html = (row.FindControl("lblRemark") as AspNet.Label).Text;
}
if (column.ColumnID == "tfState")
{
html = (row.FindControl("lblState") as AspNet.Label).Text;
}
sb.AppendFormat("<td x:str >{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
}
}