2025-03-27 15:05:14 +08:00

151 lines
6.9 KiB
C#

using System;
using System.Data;
using System.IO;
using System.Web;
using System.Web.UI.WebControls;
using SuperMap.RealEstate.Utility;
using SuperMap.RealEstate.Web.UI;
using Business = SuperMap.RealEstate.Finance.Running.Business;
namespace SuperMap.RealEstate.Finance.Modules.ATTACHMENT
{
public partial class ATTACHMENTPage : SuperMap.RealEstate.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
if (!string.IsNullOrEmpty(Request["PROINST_ID"]) || !string.IsNullOrEmpty(Request["PRESONNAME"]))
{
//载入数据
PROINST_ID.Text = string.IsNullOrEmpty(Request["PROINST_ID"]) ? "" : Request["PROINST_ID"].ToString();
PRESONNAME.Text = PassportInfo.Name;
//ATTACHMENT_ID.Text = "22";
BindRepick();
}
else
{
throw new Exception("缺少必要参数!");
}
}
private void BindRepick()
{
//绑定对应的控件
/*Repeater1.DataSource = (new Business.ATTACHMENT(Transaction)).ExecuteDataTable(string.Format(
@"SELECT * FROM FINANCE_RUNNING.T_ATTACHMENT WHERE RELATION_TABLE ={0} {1} {2} ", "'PERSONNEL_STORAGE.T_POSITION'",
string.IsNullOrEmpty(Request["RELATION_ID"]) ? "" : " AND RELATION_ID =" + RELATION_ID.Text.ToDecrypt(),
string.IsNullOrEmpty(Request["STAFF_ID"]) ? "" : " AND STAFF_ID = " + STAFF_ID.Text.ToDecrypt()));*/
Repeater1.DataBind();
}
public byte[] StreamToBytes(Stream stream)
{
byte[] bytes = new byte[stream.Length];
stream.Read(bytes, 0, bytes.Length);
// 设置当前流的位置为流的开始
stream.Seek(0, SeekOrigin.Begin);
return bytes;
}
protected void LinkButton_Click(object sender, EventArgs e)
{
LinkButton LinkButton = sender as LinkButton;
//下载内容
Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(Transaction);
_ATTACHMENT.ATTACHMENT_ID_Encrypt = LinkButton.Attributes["base-code"];
if (_ATTACHMENT.Select())
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
string uploadPath = HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile/") + "\\" + _ATTACHMENT.ATTACHMENT_DESC;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" +
(string.IsNullOrEmpty(_ATTACHMENT.ATTACHMENT_DESC) ? HttpUtility.UrlEncode(_ATTACHMENT.ATTACHMENT_DESC) :
HttpUtility.UrlEncode(_ATTACHMENT.ATTACHMENT_DESC)));
HttpContext.Current.Response.BinaryWrite(System.IO.File.ReadAllBytes(uploadPath));
HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
HttpContext.Current.Response.End();
ms.Close();
ms.Dispose();
}
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == System.Web.UI.WebControls.ListItemType.Item
|| e.Item.ItemType == System.Web.UI.WebControls.ListItemType.AlternatingItem
|| e.Item.ItemType == System.Web.UI.WebControls.ListItemType.SelectedItem)
{
DataRowView rowv = (DataRowView)e.Item.DataItem;
LinkButton LinkButton = e.Item.FindControl("LinkButton") as LinkButton;
LinkButton.ToolTip = string.IsNullOrEmpty(rowv["ATTACHMENT_DESC"].ToString()) ?
rowv["ATTACHMENT_PATH"].ToString() : rowv["ATTACHMENT_DESC"].ToString();
LinkButton.Text = "<span><img src='/Personnel/Resources/v1_0/Images/4950_old-versions.png' />" +
(LinkButton.ToolTip.Length > 30 ? LinkButton.ToolTip.Substring(0, 25) + "..." : LinkButton.ToolTip) + "</span>";
if (!string.IsNullOrWhiteSpace(rowv["OTHER_NAME"].ToString()))
{
LinkButton.OnClientClick = GetOpenPopDialogClientScript(rowv["OTHER_NAME"].ToString() +
"?DataType=RUNNING&FINANCEPROINST_ID=" + Request["PROINST_ID"], "DownloadPage", 900, 600);
}
else
{
LinkButton.Attributes["base-code"] = rowv["ATTACHMENT_ID"].ToEncrypt();
}
LinkButton DelButton = e.Item.FindControl("DelButton") as LinkButton;
DelButton.Text = "<span><img src='/Personnel/Resources/v1_0/Images/delete.png' /></span>";
DelButton.Attributes["base-code"] = rowv["ATTACHMENT_ID"].ToEncrypt();
}
}
protected void DelButton_Click(object sender, EventArgs e)
{
try
{
LinkButton LinkButton = sender as LinkButton;
int _ATTACHMENT_ID = int.Parse(LinkButton.Attributes["base-code"].ToDecrypt());
//记录历史库
//Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(Transaction);
//_ATTACHMENT.ATTACHMENT_ID = _ATTACHMENT_ID;
//if (_ATTACHMENT.Select())
//{
// Historys.ATTACHMENT _HistoryATTACHMENT = new Historys.ATTACHMENT(Transaction);
// _HistoryATTACHMENT.ResetProperty();
// _HistoryATTACHMENT.CopyFrom(_ATTACHMENT);
// _HistoryATTACHMENT.OPERATE_DATE = DateTime.Now;
// _HistoryATTACHMENT.OPERATE_USER = PassportInfo.Name;
// _HistoryATTACHMENT.OPERATE_USERID = PassportInfo.ID;
// _HistoryATTACHMENT.Insert();
//}
new Business.ATTACHMENT(Transaction).Delete(_ATTACHMENT_ID);
BindRepick();
RefreshOpenerGridPage(RefreshGridPageType.Update);
}
catch (Exception ex)
{
//回滚事务
Transaction.Rollback();
//记录日志
ErrorLogHelper.Write(ex);
#if DEBUG
Alert("删除失败!可能的原因:\n" + ex.Message);
#else
Alert("删除失败!");
#endif
}
}
protected void CallBackButton1_Click(object sender, EventArgs e)
{
BindRepick();
RefreshOpenerGridPage(RefreshGridPageType.Insert);
}
}
}