151 lines
6.9 KiB
C#
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);
|
|
}
|
|
}
|
|
} |