SGGL_JT/SUBQHSE/FineUIPro.Web/ZHGL/ServerCheck/CheckInfoReport.aspx.cs

340 lines
16 KiB
C#

using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
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.ZHGL.ServerCheck
{
public partial class CheckInfoReport : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = string.Empty;
SqlParameter[] parameter = new SqlParameter[] { };
strSql = "SELECT CheckInfoId,CheckTypeName,SubjectUnitId,SubjectUnitAdd,SubjectUnitMan,SubjectUnitTel,CheckStartTime,CheckEndTime,SubjectObject,Unit.UnitName FROM dbo.Check_CheckInfo LEFT JOIN Base_Unit AS Unit ON Check_CheckInfo.SubjectUnitId=Unit.UnitId";
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 过滤表头
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//protected void Grid1_FilterChange(object sender, EventArgs e)
//{
// BindGrid();
//}
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string CheckInfoId = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckInfoReportView.aspx?CheckInfoId={0}", CheckInfoId, "查看 - ")));
}
/// <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();
}
/// <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();
}
#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
/// <summary>
/// 从集团获取
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnGet_Click(object sender, EventArgs e)
{
var returnValue = getCheckInfo_Table8Item();
if (returnValue.code == 1)
{
ShowNotify(returnValue.message, MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop(returnValue.message, MessageBoxIcon.Success);
}
}
#region
/// <summary>
/// 获取
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
public static Model.ResponeData getCheckInfo_Table8Item()
{
var responeData = new Model.ResponeData();
try
{
string unitId = CommonService.GetThisUnitId();
string baseurl = SysConstSetService.CNCECPath + "/api/HSSEData/getCheckInfo_Table8Item?unitId=" + unitId;
string contenttype = "application/json;charset=unicode";
Hashtable newToken = new Hashtable
{
{ "token", ServerService.GetToken().Token }
};
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, newToken, null);
if (!string.IsNullOrEmpty(strJosn))
{
JObject obj = JObject.Parse(strJosn);
responeData.code = Funs.GetNewIntOrZero(obj["code"].ToString());
responeData.message = obj["message"].ToString();
if (responeData.code == 1)
{
JArray getData = JArray.Parse(obj["data"].ToString());
if (getData.Count() > 0)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
List<string> ids = new List<string>();
foreach (var item in getData)
{
string getCheckRectifyId = item["CheckInfoId"].ToString();
if (!ids.Contains(getCheckRectifyId))
{
var updateCheckInfo = db.Check_CheckInfo.FirstOrDefault(x => x.CheckInfoId == getCheckRectifyId);
if (updateCheckInfo == null)
{
ids.Add(getCheckRectifyId);
Model.Check_CheckInfo newCheckInfo = new Model.Check_CheckInfo
{
CheckInfoId = getCheckRectifyId,
CheckTypeName = item["CheckTypeName"].ToString(),
SubjectUnitId = item["SubjectUnitId"].ToString(),
SubjectUnitAdd = item["SubjectUnitAdd"].ToString(),
SubjectUnitMan = item["SubjectUnitMan"].ToString(),
SubjectUnitTel = item["SubjectUnitTel"].ToString(),
CheckStartTime = Funs.GetNewDateTime(item["CheckStartTime"].ToString()),
CheckEndTime = Funs.GetNewDateTime(item["CheckEndTime"].ToString()),
SubjectObject = item["SubjectObject"].ToString(),
};
db.Check_CheckInfo.InsertOnSubmit(newCheckInfo);
db.SubmitChanges();
}
else
{
updateCheckInfo.CheckInfoId = getCheckRectifyId;
updateCheckInfo.CheckTypeName = item["CheckTypeName"].ToString();
updateCheckInfo.SubjectUnitId = item["SubjectUnitId"].ToString();
updateCheckInfo.SubjectUnitAdd = item["SubjectUnitAdd"].ToString();
updateCheckInfo.SubjectUnitMan = item["SubjectUnitMan"].ToString();
updateCheckInfo.SubjectUnitTel = item["SubjectUnitTel"].ToString();
updateCheckInfo.CheckStartTime = Funs.GetNewDateTime(item["CheckStartTime"].ToString());
updateCheckInfo.CheckEndTime = Funs.GetNewDateTime(item["CheckEndTime"].ToString());
updateCheckInfo.SubjectObject = item["SubjectObject"].ToString();
db.SubmitChanges();
}
}
var updateTable8 = db.Check_CheckInfo_Table8.FirstOrDefault(x => x.CheckItemId == item["CheckItemId"].ToString());
if (updateTable8 == null)
{
Model.Check_CheckInfo_Table8 newTable8 = new Model.Check_CheckInfo_Table8
{
CheckItemId = item["CheckItemId"].ToString(),
CheckInfoId = item["CheckInfoId"].ToString(),
Values1 = item["Values1"].ToString(),
Values2 = item["Values1"].ToString(),
Values3 = item["Values1"].ToString(),
Values4 = item["Values1"].ToString(),
Values5 = item["Values1"].ToString(),
Values6 = item["Values1"].ToString(),
Values7 = item["Values1"].ToString(),
Values8 = item["Values1"].ToString()
};
db.Check_CheckInfo_Table8.InsertOnSubmit(newTable8);
db.SubmitChanges();
}
else
{
updateTable8.Values1 = item["Values1"].ToString();
updateTable8.Values2 = item["Values2"].ToString();
updateTable8.Values3 = item["Values3"].ToString();
updateTable8.Values4 = item["Values4"].ToString();
updateTable8.Values5 = item["Values5"].ToString();
updateTable8.Values6 = item["Values6"].ToString();
updateTable8.Values7 = item["Values7"].ToString();
updateTable8.Values8 = item["Values8"].ToString();
db.SubmitChanges();
}
var updateTable8Item = db.Check_CheckInfo_Table8Item.FirstOrDefault(x => x.ID == item["ID"].ToString());
if (updateTable8Item == null)
{
Model.Check_CheckInfo_Table8Item newTable8Item = new Model.Check_CheckInfo_Table8Item
{
ID = item["ID"].ToString(),
CheckInfoId = item["CheckInfoId"].ToString(),
Name = item["Name"].ToString(),
Sex = item["Sex"].ToString(),
UnitName = item["UnitName"].ToString(),
PostName = item["PostName"].ToString(),
WorkTitle = item["WorkTitle"].ToString(),
CheckPostName = item["CheckPostName"].ToString(),
CheckDate = Funs.GetNewDateTime(item["CheckDate"].ToString()),
SortIndex = item["SortIndex"].ToString()
};
db.Check_CheckInfo_Table8Item.InsertOnSubmit(newTable8Item);
db.SubmitChanges();
}
else
{
updateTable8Item.ID = item["ID"].ToString();
updateTable8Item.CheckInfoId = item["CheckInfoId"].ToString();
updateTable8Item.Name = item["Name"].ToString();
updateTable8Item.Sex = item["Sex"].ToString();
updateTable8Item.UnitName = item["UnitName"].ToString();
updateTable8Item.PostName = item["PostName"].ToString();
updateTable8Item.WorkTitle = item["WorkTitle"].ToString();
updateTable8Item.CheckPostName = item["CheckPostName"].ToString();
updateTable8Item.CheckDate = Funs.GetNewDateTime(item["CheckDate"].ToString());
updateTable8Item.SortIndex = item["SortIndex"].ToString();
db.SubmitChanges();
}
}
}
}
responeData.message = "获取成功:记录" + getData.Count().ToString() + "条";
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = "获取失败:" + ex.Message;
ErrLogInfo.WriteLog("安全监督检查报告获取!", ex);
}
return responeData;
}
#endregion
}
}