382 lines
15 KiB
C#
382 lines
15 KiB
C#
|
using BLL;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using System.Data.SqlClient;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using AspNet = System.Web.UI.WebControls;
|
|||
|
|
|||
|
namespace FineUIPro.Web.Customization.CNCCG.HSSE.Rewards
|
|||
|
{
|
|||
|
public partial class EnvironmentalAwardManager : PageBase
|
|||
|
{
|
|||
|
#region 加载页面
|
|||
|
/// <summary>
|
|||
|
/// 加载页面
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
BLL.UnitService.InitBranchUnitDropDownList(this.drpUnitId, true);//分公司
|
|||
|
//是本单位不能增加
|
|||
|
var thisUnit = BLL.CommonService.GetIsThisUnit();
|
|||
|
if ((!string.IsNullOrEmpty(this.CurrUser.UnitId) && thisUnit.UnitId == this.CurrUser.UnitId) || this.CurrUser.UserId == BLL.Const.sysglyId || this.CurrUser.UserId == BLL.Const.hfnbdId)
|
|||
|
{
|
|||
|
//this.btnNew.Hidden = true;
|
|||
|
//this.drpUnitId.Enabled = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
this.drpUnitId.Enabled = false;
|
|||
|
this.drpUnitId.SelectedValue = this.CurrUser.UnitId;
|
|||
|
}
|
|||
|
////权限按钮方法
|
|||
|
this.GetButtonPower();
|
|||
|
this.btnNew.OnClientClick = Window1.GetShowReference("EnvironmentalAwardEdit.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();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <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.EnvironmentalAwardMenuId);
|
|||
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 绑定数据
|
|||
|
/// </summary>
|
|||
|
private void BindGrid()
|
|||
|
{
|
|||
|
string strSql = @"SELECT f.*,u.UserName,b.UnitName,p.ProjectName from HSSE_EnvironmentalAward f
|
|||
|
left join sys_user u on f.CreateMan = u.userid
|
|||
|
left join Base_Unit b on f.Unitid=b.UnitId
|
|||
|
left join Base_Project p on f.ProjectId=p.ProjectId
|
|||
|
where 1=1 ";
|
|||
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|||
|
|
|||
|
if (drpUnitId.SelectedValue != Const._Null)
|
|||
|
{
|
|||
|
strSql += " AND f.Unitid LIKE @Unitid";
|
|||
|
listStr.Add(new SqlParameter("@Unitid", "%" + drpUnitId.SelectedValue + "%"));
|
|||
|
}
|
|||
|
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()))
|
|||
|
{
|
|||
|
strSql += " AND f.CreateTime >= @CreateTime";
|
|||
|
listStr.Add(new SqlParameter("@CreateTime", this.txtStartDate.Text.Trim()));
|
|||
|
}
|
|||
|
if (!string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
|
|||
|
{
|
|||
|
strSql += " AND f.CreateTime <= @EndDate";
|
|||
|
listStr.Add(new SqlParameter("@EndDate", this.txtEndDate.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();
|
|||
|
|
|||
|
////未完成的状态背景色红色
|
|||
|
//for (int i = 0; i < Grid1.Rows.Count; i++)
|
|||
|
//{
|
|||
|
// string id = Grid1.Rows[i].DataKeys[0].ToString();
|
|||
|
|
|||
|
// var isNull = Funs.DB.HSSE_EnvironmentalAward.FirstOrDefault(x => x.Id == id);
|
|||
|
// if (isNull.Scores==0)
|
|||
|
// {
|
|||
|
// Grid1.Rows[i].RowCssClass = "Red";
|
|||
|
// }
|
|||
|
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
/// <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, FineUIPro.GridSortEventArgs e)
|
|||
|
{
|
|||
|
Grid1.SortDirection = e.SortDirection;
|
|||
|
Grid1.SortField = e.SortField;
|
|||
|
BindGrid();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 关闭弹出窗口
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void Window1_Close(object sender, EventArgs e)
|
|||
|
{
|
|||
|
BindGrid();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 查询
|
|||
|
/// <summary>
|
|||
|
/// 查询
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void TextBox_TextChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) && !string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
|
|||
|
{
|
|||
|
if (Funs.GetNewDateTime(this.txtStartDate.Text.Trim()) > Funs.GetNewDateTime(this.txtEndDate.Text.Trim()))
|
|||
|
{
|
|||
|
Alert.ShowInTop("开始时间不能大于结束时间", MessageBoxIcon.Warning);
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
this.BindGrid();
|
|||
|
}
|
|||
|
#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;
|
|||
|
}
|
|||
|
string id = Grid1.SelectedRowID;
|
|||
|
var result = EnvironmentalAwardService.Detail(id);
|
|||
|
if (result != null)
|
|||
|
{
|
|||
|
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("EnvironmentalAwardEdit.aspx?Id={0}", id, "编辑 - ")));
|
|||
|
}
|
|||
|
}
|
|||
|
#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 result = EnvironmentalAwardService.Detail(rowID);
|
|||
|
if (result != null)
|
|||
|
{
|
|||
|
|
|||
|
EnvironmentalAwardService.Delete(rowID);
|
|||
|
|
|||
|
#region 修改标杆企业日常管理总分
|
|||
|
var cmonth = Convert.ToDateTime(Convert.ToDateTime(result.CreateTime).ToString("yyyy-MM"));
|
|||
|
|
|||
|
var sTime = cmonth;
|
|||
|
var eTime = sTime.AddMonths(1);
|
|||
|
var uid = result.UnitId;
|
|||
|
var poleList = Funs.DB.HSSE_PoleUnit.Where(x => x.UnitId == result.UnitId && x.CreateMonth == cmonth).ToList();
|
|||
|
if (poleList.Count > 0)
|
|||
|
{
|
|||
|
decimal score = 0;
|
|||
|
//先获取奖项得分
|
|||
|
var list = Funs.DB.HSSE_EnvironmentalAward.Where(x => x.UnitId == uid && x.CreateTime >= sTime && x.CreateTime <= eTime).ToList();
|
|||
|
if (list.Count > 0)
|
|||
|
{
|
|||
|
score = list.Sum(x => x.Scores) ?? 0;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
score = 0;
|
|||
|
}
|
|||
|
foreach (var item in poleList)
|
|||
|
{
|
|||
|
//重新计算总得分
|
|||
|
var poleModel = Funs.DB.HSSE_PoleUnit.FirstOrDefault(x => x.Id == item.Id);
|
|||
|
poleModel.AllScore = item.Score1 + item.Score2 + item.Score3 + score;
|
|||
|
Funs.DB.SubmitChanges();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 修改安全质量绿色环保示范工地评选推荐表总分
|
|||
|
var pid = result.ProjectId;
|
|||
|
//var greenList = Funs.DB.HSSE_GreenSite.Where(x => x.UnitId == result.UnitId && x.ProjectId == pid
|
|||
|
//&& x.CreateMonth == cmonth).ToList();
|
|||
|
var greenList = Funs.DB.HSSE_GreenSite.Where(x => x.ProjectId == pid
|
|||
|
&& x.CreateMonth == cmonth).ToList();
|
|||
|
if (greenList.Count > 0)
|
|||
|
{
|
|||
|
// var list = Funs.DB.HSSE_EnvironmentalAward.Where(x => x.UnitId == uid
|
|||
|
//&& x.ProjectId == pid && x.CreateTime >= sTime && x.CreateTime <= eTime).ToList();
|
|||
|
var list = Funs.DB.HSSE_EnvironmentalAward.Where(x => x.ProjectId == pid && x.CreateTime >= sTime && x.CreateTime <= eTime).ToList();
|
|||
|
decimal score = 0;
|
|||
|
if (list.Count > 0)
|
|||
|
{
|
|||
|
score = list.Sum(x => x.Scores) ?? 0;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
score = 0;
|
|||
|
}
|
|||
|
foreach (var item in greenList)
|
|||
|
{
|
|||
|
//重新计算总得分
|
|||
|
var greenModel = Funs.DB.HSSE_GreenSite.FirstOrDefault(x => x.Id == item.Id);
|
|||
|
greenModel.AllScore = item.Score1 + item.Score2 + score;
|
|||
|
Funs.DB.SubmitChanges();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
this.BindGrid();
|
|||
|
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
|
|||
|
}
|
|||
|
}
|
|||
|
#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;
|
|||
|
this.BindGrid();
|
|||
|
Response.Write(GetGridTableHtml(Grid1));
|
|||
|
Response.End();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 导出方法
|
|||
|
/// </summary>
|
|||
|
/// <param name="grid"></param>
|
|||
|
/// <returns></returns>
|
|||
|
private 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>{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("lblNumber") as AspNet.Label).Text;
|
|||
|
}
|
|||
|
sb.AppendFormat("<td>{0}</td>", html);
|
|||
|
}
|
|||
|
|
|||
|
sb.Append("</tr>");
|
|||
|
}
|
|||
|
|
|||
|
sb.Append("</table>");
|
|||
|
|
|||
|
return sb.ToString();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|