CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/CQMS/DesignDrawing/ArchivesLib.aspx.cs

602 lines
23 KiB
C#

using BLL;
using FineUIPro.Web.DataShow;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NPOI.SS.UserModel;
using System.Security.Policy;
namespace FineUIPro.Web.CQMS.DesignDrawing
{
public partial class ArchivesLib : PageBase
{
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
/// <summary>
/// SubjectCode
/// </summary>
public string SubjectCode
{
get
{
return (string)ViewState["SubjectCode"];
}
set
{
ViewState["SubjectCode"] = value;
}
}
/// <summary>
/// MajorNo
/// </summary>
public string MajorNo
{
get
{
return (string)ViewState["MajorNo"];
}
set
{
ViewState["MajorNo"] = value;
}
}
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.ProjectId = this.CurrUser.LoginProjectId;
this.InitDropDownList();
GetButtonPower();
InitTreeMenu();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.trSubjectMajor.Nodes.Clear();
this.trSubjectMajor.ShowBorder = false;
this.trSubjectMajor.ShowHeader = false;
this.trSubjectMajor.EnableIcons = true;
this.trSubjectMajor.AutoScroll = true;
this.trSubjectMajor.EnableSingleClickExpand = true;
var subjects = (from x in Funs.DB.IDP_DesignDrawing
where x.ProjectId == this.CurrUser.LoginProjectId
orderby x.ProjectDeviceProcedureSubjectCode
select new
{
x.ProjectDeviceProcedureSubjectCode,
x.WbsFullPath
}).Distinct().ToList();
foreach (var q in subjects)
{
TreeNode newNode = new TreeNode();
newNode.Text = $"[{q.ProjectDeviceProcedureSubjectCode}]{q.WbsFullPath}";
newNode.NodeID = q.ProjectDeviceProcedureSubjectCode;
newNode.CommandName = "Subject";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
this.trSubjectMajor.Nodes.Add(newNode);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
#endregion
#region
/// <summary>
/// 展开树
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trSubjectMajor_NodeExpand(object sender, TreeNodeEventArgs e)
{
e.Node.Nodes.Clear();
if (e.Node.CommandName == "Subject") //展开装工主编码、名称
{
var majors = (from x in BLL.Funs.DB.IDP_DesignDrawing
where x.ProjectDeviceProcedureSubjectCode == e.Node.NodeID && x.ProjectId == this.CurrUser.LoginProjectId
orderby x.MajorNo
select new
{
x.MajorNo,
x.MajorName
}).Distinct().ToList();
foreach (var q in majors)
{
TreeNode newNode = new TreeNode();
newNode.Text = $"[{q.MajorNo}]{q.MajorName}";
newNode.NodeID = $"{e.Node.NodeID}#{q.MajorNo}";
newNode.CommandName = "Major";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
newNode.EnableCheckBox = false;
newNode.EnableCheckEvent = false;
e.Node.Nodes.Add(newNode);
}
}
}
#endregion
#region Tree点击事件
/// <summary>
/// Tree点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trSubjectMajor_NodeCommand(object sender, TreeCommandEventArgs e)
{
if (this.trSubjectMajor.SelectedNode.ParentNode == null)
{
//return;
this.SubjectCode = this.trSubjectMajor.SelectedNode.NodeID;
this.MajorNo = string.Empty;
}
else
{
this.SubjectCode = this.trSubjectMajor.SelectedNode.ParentNode.NodeID;
this.MajorNo = this.trSubjectMajor.SelectedNode.NodeID.Split('#')[1];
}
BindGrid();
}
#endregion
/// <summary>
/// 下拉加载
/// </summary>
private void InitDropDownList()
{
//BLL.DesignDrawingService.InitWbsFullPathDropDownList(this.ddlWbsFullPath, this.CurrUser.LoginProjectId, false);
//BLL.DesignDrawingService.InitMajorNameDropDownList(this.ddlMajorName, this.CurrUser.LoginProjectId, false);
//BLL.DesignDrawingService.InitMajorNoDropDownList(this.ddlMajorNo, this.CurrUser.LoginProjectId, false);
BLL.DesignDrawingService.InitFileVersionDropDownList(this.ddlFileVersion, this.CurrUser.LoginProjectId, false);
BLL.DesignDrawingService.InitStatusNameDropDownList(this.ddlStatus, this.CurrUser.LoginProjectId, false);
BLL.DesignDrawingService.InitClassDropDownList(this.ddlClass, this.CurrUser.LoginProjectId, false);
BLL.DesignDrawingService.InitDesignUserNameDropDownList(this.ddlDesignUserName, this.CurrUser.LoginProjectId, false);
BLL.DesignDrawingService.InitJiaoheUserNameDropDownList(this.ddlJiaoheUserName, this.CurrUser.LoginProjectId, false);
BLL.DesignDrawingService.InitShenheUserNameDropDownList(this.ddlShenheUserName, this.CurrUser.LoginProjectId, false);
BLL.DesignDrawingService.InitShendingUserNameDropDownList(this.ddlShendingUserName, this.CurrUser.LoginProjectId, false);
BLL.DesignDrawingService.InitMajorResponsibleUserNameDropDownList(this.ddlMajorResponsibleUserName, this.CurrUser.LoginProjectId, false);
}
#endregion
/// <summary>
/// 获取数据
/// </summary>
/// <returns></returns>
protected DataTable BindData()
{
string strSql = $@"SELECT * FROM IDP_DesignDrawing as lib WHERE lib.ProjectId=@ProjectId ";
//ORDER BY lib.updatetime DESC
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (!string.IsNullOrEmpty(this.SubjectCode))
{
strSql += " AND ProjectDeviceProcedureSubjectCode = @SubjectCode ";
listStr.Add(new SqlParameter("@SubjectCode", this.SubjectCode));
}
if (!string.IsNullOrEmpty(this.MajorNo))
{
strSql += " AND MajorNo = @MajorNo ";
listStr.Add(new SqlParameter("@MajorNo", this.MajorNo));
}
if (!string.IsNullOrEmpty(txtStartUpdateTime.Text.Trim()))
{
strSql += " AND UpdateTime >= @startUpdateTime ";
listStr.Add(new SqlParameter("@startUpdateTime", Funs.GetNewDateTime(txtStartUpdateTime.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndUpdateTime.Text.Trim()))
{
strSql += " AND UpdateTime <= @endUpdatTime ";
listStr.Add(new SqlParameter("@endUpdatTime", $"{Funs.GetNewDateTime(txtEndUpdateTime.Text.Trim())} 23:59:59"));
}
if (!string.IsNullOrEmpty(txtStartSendTime.Text.Trim()))
{
strSql += " AND Sendtime >= @startSendTime ";
listStr.Add(new SqlParameter("@startSendTime", Funs.GetNewDateTime(txtStartSendTime.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndSendTime.Text.Trim()))
{
strSql += " AND Sendtime <= @endSendTime ";
listStr.Add(new SqlParameter("@endSendTime", $"{Funs.GetNewDateTime(txtEndSendTime.Text.Trim())} 23:59:59"));
}
if (!string.IsNullOrEmpty(txtStartPrintTime.Text.Trim()))
{
strSql += " AND Printtime >= @startPrintTime ";
listStr.Add(new SqlParameter("@startPrintTime", Funs.GetNewDateTime(txtStartPrintTime.Text.Trim())));
}
if (!string.IsNullOrEmpty(txtEndPrintTime.Text.Trim()))
{
strSql += " AND Printtime <= @endPrintTime ";
listStr.Add(new SqlParameter("@endPrintTime", $"{Funs.GetNewDateTime(txtEndPrintTime.Text.Trim())} 23:59:59"));
}
//if (this.ddlWbsFullPath.SelectedItemArray.Count() > 1 || (this.ddlWbsFullPath.SelectedValue != BLL.Const._Null && this.ddlWbsFullPath.SelectedItemArray.Count() == 1))
//{
// strSql += " AND (1=2 ";
// int i = 0;
// foreach (var item in this.ddlWbsFullPath.SelectedValueArray)
// {
// if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
// {
// strSql += " OR WbsFullPath = @WbsFullPath" + i.ToString();
// listStr.Add(new SqlParameter("@WbsFullPath" + i.ToString(), item));
// }
// i++;
// }
// strSql += ")";
//}
//if (this.ddlMajorName.SelectedItemArray.Count() > 1 || (this.ddlMajorName.SelectedValue != BLL.Const._Null && this.ddlMajorName.SelectedItemArray.Count() == 1))
//{
// strSql += " AND (1=2 ";
// int i = 0;
// foreach (var item in this.ddlMajorName.SelectedValueArray)
// {
// if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
// {
// strSql += " OR MajorName = @MajorName" + i.ToString();
// listStr.Add(new SqlParameter("@MajorName" + i.ToString(), item));
// }
// i++;
// }
// strSql += ")";
//}
if (this.ddlFileVersion.SelectedItemArray.Count() > 1 || (this.ddlFileVersion.SelectedValue != BLL.Const._Null && this.ddlFileVersion.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.ddlFileVersion.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR FileVersion = @FileVersion" + i.ToString();
listStr.Add(new SqlParameter("@FileVersion" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (this.ddlStatus.SelectedItemArray.Count() > 1 || (this.ddlStatus.SelectedValue != BLL.Const._Null && this.ddlStatus.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.ddlStatus.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR Status = @Status" + i.ToString();
listStr.Add(new SqlParameter("@Status" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (this.ddlClass.SelectedItemArray.Count() > 1 || (this.ddlClass.SelectedValue != BLL.Const._Null && this.ddlClass.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.ddlClass.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR ClassificationLevelInProject = @Class" + i.ToString();
listStr.Add(new SqlParameter("@Class" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (!string.IsNullOrEmpty(ddlIfmail.SelectedValue.Trim()))
{
strSql += " AND ifmail = @ifmail";
listStr.Add(new SqlParameter("@ifmail", ddlIfmail.SelectedValue.Trim()));
}
if (this.ddlDesignUserName.SelectedItemArray.Count() > 1 || (this.ddlDesignUserName.SelectedValue != BLL.Const._Null && this.ddlDesignUserName.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.ddlDesignUserName.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR DesignUserName = @DesignUserName" + i.ToString();
listStr.Add(new SqlParameter("@DesignUserName" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (this.ddlJiaoheUserName.SelectedItemArray.Count() > 1 || (this.ddlJiaoheUserName.SelectedValue != BLL.Const._Null && this.ddlJiaoheUserName.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.ddlJiaoheUserName.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR JiaoheUserName = @JiaoheUserName" + i.ToString();
listStr.Add(new SqlParameter("@JiaoheUserName" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (this.ddlShenheUserName.SelectedItemArray.Count() > 1 || (this.ddlShenheUserName.SelectedValue != BLL.Const._Null && this.ddlShenheUserName.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.ddlShenheUserName.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR ShenheUserName = @ShenheUserName" + i.ToString();
listStr.Add(new SqlParameter("@ShenheUserName" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (this.ddlShendingUserName.SelectedItemArray.Count() > 1 || (this.ddlShendingUserName.SelectedValue != BLL.Const._Null && this.ddlShendingUserName.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.ddlShendingUserName.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR ShendingUserName = @ShendingUserName" + i.ToString();
listStr.Add(new SqlParameter("@ShendingUserName" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (this.ddlMajorResponsibleUserName.SelectedItemArray.Count() > 1 || (this.ddlMajorResponsibleUserName.SelectedValue != BLL.Const._Null && this.ddlMajorResponsibleUserName.SelectedItemArray.Count() == 1))
{
strSql += " AND (1=2 ";
int i = 0;
foreach (var item in this.ddlMajorResponsibleUserName.SelectedValueArray)
{
if (!string.IsNullOrEmpty(item) && item != BLL.Const._Null)
{
strSql += " OR MajorResponsibleUserName = @MajorResponsibleUserName" + i.ToString();
listStr.Add(new SqlParameter("@MajorResponsibleUserName" + i.ToString(), item));
}
i++;
}
strSql += ")";
}
if (this.rbType.SelectedValue != "2")
{
if (this.rbType.SelectedValue == "0")
{
strSql += " AND IsIssue is null ";
}
else
{
strSql += " AND IsIssue=1 ";
}
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
return tb;
}
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid()
{
DataTable tb = BindData();
// 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="fileid"></param>
/// <param name="maintitle"></param>
/// <returns></returns>
public static string GetFileUrl(object fid, object maintitle)
{
string fileUrl = string.Empty;
string fileid = fid.ToString();
string filename = maintitle.ToString();
if (!string.IsNullOrWhiteSpace(fileid))
{
maintitle = !string.IsNullOrWhiteSpace(filename) ? filename : "查看";
string url = $"https://arch.cwcec.com/preview.html?fileid={fileid}";
fileUrl = ShowAttachment(url, filename);
}
return fileUrl;
}
public static string ShowAttachment(string path, string filename)
{
string htmlStr = string.Empty;
if (!string.IsNullOrEmpty(path))
{
htmlStr = "<table runat='server' cellpadding='5' cellspacing='5' style=\"width: 100%\">";
htmlStr += "<tr><td style=\"width: 60%\" align=\"left\"><span style='cursor:pointer;cursor:pointer;cursor:pointer;TEXT-DECORATION: underline;color:blue' onclick=\"window.open('" + path + "')\">" + filename + "</span></td>";
htmlStr += "</table>";
}
return htmlStr;
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ArchivesLibMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
//this.btnNew.Hidden = false;
}
//if (buttonList.Contains(BLL.Const.BtnModify))
//{
// this.btnMenuModify.Hidden = false;
//}
//if (buttonList.Contains(BLL.Const.BtnDelete))
//{
// this.btnMenuDel.Hidden = false;
//}
}
}
#endregion
#region
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <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>
/// 排序
/// </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();
}
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region Grid双击事件
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
//btnMenuModify_Click(null, null);
}
#endregion
#region
#endregion
protected void rbType_SelectedIndexChanged(object sender, EventArgs e)
{
BindGrid();
}
}
}