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 = "" + sMC + ""; 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); } /// /// 启用文档服务系统 /// 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 } }