Files
N_XLXSBJ----MX/WJGLList.aspx.cs
T
2026-08-21 17:03:02 +08:00

361 lines
13 KiB
C#

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MODEL.Page;
using System.Text;
using GThinking.N_CONTROL;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.MISPROAS;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MODEL.Dialog;
using System.IO;
namespace GThinking.N_XLXSBJ
{
public partial class WJGLList : TreeGridBase
{
#region Page类事件继承
WJGLEntity entity = new WJGLEntity();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860000;
this.UMName = "文件管理";
this.CurMaster = Master;
this.ModuleGV = ContentGrid;
this.CurEntity = entity;
this.PageHeight = 600;
this.PageWidth = 900;
this.Master.EnableQueryBtn = false;
this.Master.EnableNewBtn = false;
this.Master.EnableEditBtn = false;
this.Master.EnableViewBtn = false;
this.Master.EnableDeleteBtn = false;
base.DataKeyNames = new string[] { "WDWJ_WJID", "WDWJ_KZM", "WDWJ_MC" };
this.Master.LeftTreeView.DropMode = DDropMode.dmManual;
this.Master.LeftTreeView.CanDrop = false;
this.Master.LeftTreeView.InitEvents(true, false, false, false);
if (IsGtPostBack)
return;
base.InitPage();
this.ModuleGV.OnClientDblClick = "return false;";
if (!IsPostBack)
{
Master_OnStandardQuery(null, null);
}
}
#endregion
#region 模板事件继承
//protected override void InitTreeView()
//{
// base.InitTreeView();
// BuildTree();
// Master.LeftTreeView.ExpandDepth = 1;
//}
protected override void Master_OnStandardTreeNodeBeforePopulate(object sender, gtTreeViewNodeEventArgs e)
{
base.Master_OnStandardTreeNodeBeforePopulate(sender, e);
}
//节点展开
protected override void Master_OnStandardTreeNodePopulate(object sender, gtTreeViewNodeEventArgs e)
{
base.Master_OnStandardTreeNodePopulate(sender, e);
}
protected override void Master_OnStandardTreeNodeBeforeChanged(object sender, gtTreeViewNodeEventArgs e)
{
if (QYWDXT())
{
this.CurEntity.EntityTable.QuerySelSql = "select top 1 WDWJ_WJID from WDWJ where 1<>1 ";
}
else
{
this.CurEntity.EntityTable.QuerySelSql = GetQuerySQL();
}
entity.GridDataBind(ContentGrid, tSession);
ContentGrid.SelectedIndex = -1;
base.Master_OnStandardTreeNodeBeforeChanged(sender, e);
}
protected override void Master_OnStandardTreeNodeChanged(object sender, gtTreeViewNodeEventArgs e)
{
base.Master_OnStandardTreeNodeChanged(sender, e);
if (QYWDXT())
{
DataSet ds = GetDataSet();
entity.GridDataBind(ContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
ContentGrid.DataSource = ds;
ContentGrid.SelectedIndex = -1;
}
}
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
BuildTree();
entity.Param.Clear();
if (QYWDXT())
{
entity.EntityTable.QuerySelSql = "select top 1 WDWJ_WJID from WDWJ where 1<>1 ";
}
else
{
entity.EntityTable.QuerySelSql = GetQuerySQL();
}
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(ContentGrid, tSession);
if (QYWDXT())
{
DataSet ds = GetDataSet();
entity.GridDataBind(ContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
ContentGrid.DataSource = ds;
}
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string sMC = ContentGrid.DataKeys[e.Row.RowIndex]["WDWJ_MC"].ToString();
e.Row.Cells[0].Text = "<a href=\"javascript:attDoc();\">" + sMC + "</a>";
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Text = CMISproConvert.ConvertWJDX(CMISproConvert.StrToFloat(e.Row.Cells[2].Text.ToString()), "B").ToString();
}
}
base.moduleGV_RowDataBound(sender, e);
}
protected override void Master_OnStandardTreeNodeDragDrop(object sender, gtTreeViewDragEventArgs e)
{
base.Master_OnStandardTreeNodeDragDrop(sender, e);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
if (QYWDXT())
{
this.CurEntity.EntityTable.QuerySelSql = "select top 1 WDWJ_WJID from WDWJ where 1<>1 ";
}
else
{
this.CurEntity.EntityTable.QuerySelSql = GetQuerySQL();
}
ContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
if (QYWDXT())
{
DataSet ds = GetDataSet();
entity.GridDataBind(ContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
ContentGrid.DataSource = ds;
}
}
#endregion
#region 自定义函数
private void BuildTree()
{
RefreshTree();
Master.LeftTreeView.ExpandDepth = 2;
TreeAreaUpdate();
}
protected void RefreshTree()
{
string sBJDID = PageParam.GetRTrimString("BJDID");
string sCurNodeValue = "";
if (CurSelectedNote != null)
{
sCurNodeValue = CurSelectedNote.Value;
}
Master.LeftTreeView.Nodes.Clear();
gtTreeViewNode rootnode = null;
rootnode = TreeViewAddNode(null, "文件类型", "root", "", false, false, false);
rootnode.ChildNodes.Clear();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
gtTreeViewNode node = null;
sSQL.Clear();
sSQL.Add(" select XLXSBJD_ZBDOCGRPID,XLXSBJD_QDDOCGRPID,XLXSBJD_ZBQKDOCGRPID,XLXSBJD_TBDOCGRPID,XLXSBJD_JGDOCGRPID from XLXSBJD ");
sSQL.Add(" where 1=1 and XLXSBJD_BJDID = :pBJDID ");
sSQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
string sZBDOCGRPID = ds.Tables[0].Rows[0]["XLXSBJD_ZBDOCGRPID"].ToString().Trim();
if (!sZBDOCGRPID.Equals("") && !sZBDOCGRPID.Equals("0"))
{
node = TreeViewAddNode(rootnode, "招标文件", sZBDOCGRPID, "", true, false, false);
}
string sQDDOCGRPID = ds.Tables[0].Rows[0]["XLXSBJD_QDDOCGRPID"].ToString().Trim();
if (!sQDDOCGRPID.Equals("") && !sQDDOCGRPID.Equals("0"))
{
node = TreeViewAddNode(rootnode, "报价清单", sQDDOCGRPID, "", true, false, false);
}
string sTBDOCGRPID = ds.Tables[0].Rows[0]["XLXSBJD_TBDOCGRPID"].ToString().Trim();
if (!sTBDOCGRPID.Equals("") && !sTBDOCGRPID.Equals("0"))
{
node = TreeViewAddNode(rootnode, "投标文件", sTBDOCGRPID, "", true, false, false);
}
string sZBQKDOCGRPID = ds.Tables[0].Rows[0]["XLXSBJD_ZBQKDOCGRPID"].ToString().Trim();
if (!sZBQKDOCGRPID.Equals("") && !sZBQKDOCGRPID.Equals("0"))
{
node = TreeViewAddNode(rootnode, "招标信息", sZBQKDOCGRPID, "", true, false, false);
}
string sJGDOCGRPID = ds.Tables[0].Rows[0]["XLXSBJD_JGDOCGRPID"].ToString().Trim();
if (!sJGDOCGRPID.Equals("") && !sJGDOCGRPID.Equals("0"))
{
node = TreeViewAddNode(rootnode, "计算结果", sJGDOCGRPID, "", true, false, false);
}
}
}
private string GetQuerySQL()
{
StringBuilder strSQL = new StringBuilder();
strSQL.AppendLine(" select WDWJ_WJID,WDWJ_MC,WDWJ_KZM,WDWJ_DX,WDWJ_WHR, WDWJ_WHSJ ");
strSQL.AppendLine(" from WDSL ");
strSQL.AppendLine(" left join WDWJ on WDWJ_WJID = WDSL_WJID ");
strSQL.AppendLine(" where 1<>1 ");
strSQL.AppendLine(" ");
if (CurSelectedNote != null && !CurSelectedNote.Value.Equals("root"))
{
strSQL.AppendLine(" or (WDSL_FZID = " + CurSelectedNote.Value + " )");
}
strSQL.AppendLine(" order by WDWJ_WHSJ ");
return strSQL.ToString();
}
private void DownloadFile()
{
if (ContentGrid.SelectedDataKey["WDWJ_MC"] == null) return;
string sFileName = ContentGrid.SelectedDataKey["WDWJ_MC"].ToString().Trim();
string sKZM = ContentGrid.SelectedDataKey["WDWJ_KZM"].ToString().Trim();
DocFileInfo[] arrayWDSX = FileService.GetFilesInfoOnlyAttach(CMISproConvert.StrToFloat(CurSelectedNote.Value));
if (arrayWDSX.Length <= 0)
{
ShowMessage("文件不存在!");
return;
}
double dWJID = CMISproConvert.StrToFloat(ContentGrid.SelectedDataKey["WDWJ_WJID"].ToString().Trim());
for (int i = 0; i < arrayWDSX.Length; i++)
{
if (arrayWDSX[i].FileId == dWJID)
break;
if (i == arrayWDSX.Length - 1)
{
ShowMessage("文件不存在!");
return;
}
}
string RequestWJID = ContentGrid.SelectedDataKey["WDWJ_WJID"].ToString().Trim();
string RequestXH = "0";
string RequestWJMC = sFileName;
string RequestWJLX = sKZM;
string sScript = AttachDocDlg.EncryptDownLoadAttachmentScript("", "", RequestWJID, RequestXH, RequestWJMC, RequestWJLX, false, false);
if (txtIsAttByClient.Value.Equals("Y"))
{
sScript = "$get('" + txtIsAttByClient.ClientID + "').value = '';" +
AttachDocDlg.EncryptDownLoadAttachmentScript("", "", RequestWJID, RequestXH, RequestWJMC, RequestWJLX, true, true);
}
AJAXRunScript(btnAtt, "OPEN", sScript);
}
/// <summary>
/// 启用文档服务系统
/// </summary>
private bool QYWDXT()
{
if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 FBSXTPZ_WDXT from FBSXTPZ where FBSXTPZ_WDXT='Y'"))
return true;
return false;
}
private DataSet GetDataSet()
{
DocFileInfo[] Infos = FileService.GetFilesInfoOnlyAttach(CMISproConvert.StrToInt(CurSelectedNote.Value));
DataTable dt1 = new DataTable();
dt1.Columns.Add("WDWJ_MC", typeof(string));
dt1.Columns.Add("WDWJ_KZM", typeof(string));
dt1.Columns.Add("WDWJ_WHSJ", typeof(DateTime));
dt1.Columns.Add("WDWJ_DX", typeof(string));
dt1.Columns.Add("WDWJ_WHR", typeof(string));
dt1.Columns.Add("WDWJ_WJID", typeof(double));
for (int i = 0; i < Infos.Length; i++)
{
DataRow dtrow = dt1.NewRow();
// 分解为名称和扩展名
string name = Path.GetFileNameWithoutExtension(Infos[i].FileName);
string extension = Path.GetExtension(Infos[i].FileName).TrimStart('.');
dtrow["WDWJ_MC"] = name;
dtrow["WDWJ_KZM"] = extension;
dtrow["WDWJ_WHSJ"] = Infos[i].WHSJ;
dtrow["WDWJ_DX"] = Infos[i].FileSize;
dtrow["WDWJ_WHR"] = Infos[i].WHR;
dtrow["WDWJ_WJID"] = Infos[i].FileId;
dt1.Rows.Add(dtrow);
}
dt1.DefaultView.Sort = "WDWJ_WHSJ ASC";
DataSet ds = new DataSet();
ds.Tables.Add(dt1);
return ds;
}
#endregion
#region 控件事件
protected void btnRefresh_Click(object sender, EventArgs e)
{
BuildTree();
moduleGV_PageIndexChanging(null, null);
}
protected void btnAtt_Click(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex < 0)
{
ShowMessage("请先选择文件!");
return;
}
DownloadFile();
}
#endregion
}
}