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

310 lines
15 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SuperMap.RealEstate.Utility;
using SuperMap.RealEstate.Web.UI;
using SuperMap.RealEstate.Web.UI.WebControls;
using SuperMap.RealEstate.Web.Utility;
using Business = SuperMap.RealEstate.HighWay.Running.Business;
namespace SuperMap.RealEstate.HighWay.Compents.OnlineEdit
{
public partial class Edit : UserControl<Running.Business.RTCOMMODITY>
{
Running.Business.HIGHWAYPROINST _HighWayProInst = null;
protected override void OnInit(EventArgs e)
{
Common.PageHelper.CreateHeaderStyle(Page);
_HighWayProInst = Running.Business.HIGHWAYPROINST.CreateInstance(Page);
//隐藏打印受理单按钮
this.ButtonVisible = false;
base.OnInit(e);
}
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
if (_HighWayProInst.ProInst.NowActInst.ActInst_Type.ToInt32() == 1 &&
(ModifyType == ModifyTypeEnum.Edit || ModifyType == ModifyTypeEnum.EditVisible))
{
Btn_Edit.Visible = true;
td_upload.Visible = true;
}
else
{
Btn_Edit.Visible = false;
td_upload.Visible = false;
}
PROINST_ID.Text = _HighWayProInst.HIGHWAYPROINST_ID.ToString();
//绑定对应的控件
BindRepick();
}
//载入数据
public override bool LoadData()
{
//默认返回值工作流组件返回True,功能模块返回False。
return (WorkFlowPage != null);
}
protected void Btn_Edit_CallBackClick(object sender, Web.UI.WebControls.ClientSetEventArgs e)
{
string username = this.Page.PassportInfo.Name;
Running.Business.PROINSTCOMPACT _PROINSTCOMPACT = new Running.Business.PROINSTCOMPACT(_HighWayProInst);
_PROINSTCOMPACT.AddSearchParameter("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID);
if (_PROINSTCOMPACT.Search())
{
e.ClientScript = Page.GetOpenPopDialogClientScript("/HighWay/CreateWord/word-lists.aspx?Prodef_ID=" +
_HighWayProInst.ProInst.ProDef_ID.ToEncrypt() + "&Contract_Type=" + _PROINSTCOMPACT.COMPACT_TYPE.ToEncrypt() +
"&username=" + username.ToEncrypt() + "&Proinst_ID=" + _HighWayProInst.Proinst_ID.ToEncrypt() +
"&HWPronist_ID=" + _HighWayProInst.HIGHWAYPROINST_ID.ToEncrypt() + "&NowActInst_ID=" +
Request["NowActInst_ID"] + "&Module_ID=" + Request["Module_ID"], "word-lists", 1040, 895, true, false, true);
}
else
{
throw new Exception("请先填写合同内容!");
}
}
protected void Btn_OnlineEdit_CallBackClick(object sender, Web.UI.WebControls.ClientSetEventArgs e)
{
string username = this.Page.PassportInfo.Name;
Running.Business.ATTACHMENT _ATTACHMENT = new Running.Business.ATTACHMENT(_HighWayProInst);
_ATTACHMENT.AddSearchParameter("PROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID);
if (_ATTACHMENT.Search())
{
e.ClientScript = Page.GetOpenPopDialogClientScript(
"/HighWay/CreateWord/word-lists2.aspx?PROINST_ID=" + _HighWayProInst.HIGHWAYPROINST_ID.ToEncrypt() +
"&username=" + username.ToEncrypt() + "", "word-lists2", 1040, 895, true, false, true);
}
else
{
throw new Exception("请先选择模板生成合同!");
}
}
private void BindRepick()
{
//绑定对应的控件
Repeater1.DataSource = (new Business.ATTACHMENT(this.Transaction)).ExecuteDataTable(
"SELECT * FROM T_ATTACHMENT where PROINST_ID = " + this._HighWayProInst.HIGHWAYPROINST_ID);
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(this.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_NAME;
string uploadPath = HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile/") +
(string.IsNullOrEmpty(_ATTACHMENT.PRESONNAME) ? _ATTACHMENT.ATTACHMENT_NAME :
_ATTACHMENT.PRESONNAME + "/" + _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", string.Format("attachment; filename=" +
(string.IsNullOrEmpty(_ATTACHMENT.ATTACHMENT_DESC) ? _ATTACHMENT.ATTACHMENT_NAME :
_ATTACHMENT.ATTACHMENT_DESC), DateTime.Now.ToString("yyyyMMddHHmmssfff")));
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 _DataRowView = (DataRowView)e.Item.DataItem;
LinkButton LinkButton = e.Item.FindControl("LinkButton") as LinkButton;
LinkButton.ToolTip = string.IsNullOrEmpty(_DataRowView["ATTACHMENT_DESC"].ToString()) ?
_DataRowView["ATTACHMENT_NAME"].ToString() : _DataRowView["ATTACHMENT_DESC"].ToString();
LinkButton.Text = "<span><img src='/HighWay/Resources/v1_0/Images/4950_old-versions.png' />" +
(LinkButton.ToolTip.Length > 30 ? LinkButton.ToolTip.Substring(0, 25) + "..." : LinkButton.ToolTip) + "</span>";
LinkButton.Attributes["base-code"] = _DataRowView["ATTACHMENT_ID"].ToEncrypt();
if (_HighWayProInst.ProInst.NowActInst.ActInst_Type.ToInt32() == 1 &&
(ModifyType == ModifyTypeEnum.Edit || ModifyType == ModifyTypeEnum.EditVisible))
{
LinkButton DelButton = e.Item.FindControl("DelButton") as LinkButton;
DelButton.Text = "<span><img src='/HighWay/Resources/v1_0/Images/delete.png' /></span>";
DelButton.Attributes["base-code"] = _DataRowView["ATTACHMENT_ID"].ToEncrypt();
}
}
}
protected void DelButton_Click(object sender, EventArgs e)
{
try
{
LinkButton LinkButton = sender as LinkButton;
Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(Transaction);
_ATTACHMENT.ATTACHMENT_ID_Encrypt = LinkButton.Attributes["base-code"].ToString();
if (_ATTACHMENT.Select())
{
if (!string.IsNullOrEmpty(_ATTACHMENT.PRESONNAME))
{
if (Directory.Exists(HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile/") + _ATTACHMENT.PRESONNAME))
{
Directory.Delete(HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile/") + _ATTACHMENT.PRESONNAME, true);
}
}
else
{
if (Directory.Exists(HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile")) &&
File.Exists(HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile/") + _ATTACHMENT.ATTACHMENT_NAME))
{
File.Delete(HttpContext.Current.Server.MapPath("~/UploadImageDir/CompactFile/") + _ATTACHMENT.ATTACHMENT_NAME);
}
}
_ATTACHMENT.Delete();
}
BindRepick();
string _TENDER_DESC = "";
switch (_HighWayProInst.__ProInst.Operation_Type_BaseValue)
{
case 350100:
case 350200:
case 350300:
foreach (Business.ATTACHMENT _Attachment in new Business.ATTACHMENT(this.Transaction).FillCollection(
"where PROINST_ID = " + this._HighWayProInst.HIGHWAYPROINST_ID))
{
_TENDER_DESC += _Attachment.ATTACHMENT_NAME + "\r\n";
}
Business.TENDER _TENDER = new Business.TENDER(Transaction);
_TENDER.AddSearchParameter("HIGHWAYPROINST_ID", this._HighWayProInst.HIGHWAYPROINST_ID);
if (_TENDER.Search())
{
_TENDER.TENDER_DESC = _TENDER_DESC;
_TENDER.Update();
}
//刷新父页
Page.ExecClientScript("$('#pop-dialog-frame-WorkFlowWorkPlatform',parent.parent.document).attr('src'," +
" '/WorkFlow/Transact/Common/ProcessPage.aspx?NowActInst_ID=" + Request["NowActInst_ID"] +
"&ProInst_ID=" + Request["ProInst_ID"] + "&Module_ID=" + Request["Module_ID"] +
"&PopDialogPageName=F_R_GridPageEx1&PopDialogName=WorkFlowWorkPlatform&r=0.8500934960320592')");
break;
default:
break;
}
//if (_HighWayProInst.__ProInst.Operation_Type_BaseValue == int.Parse("350100"))
//{
//foreach (Business.ATTACHMENT _ATTACHMENT in new Business.ATTACHMENT(this.Transaction).FillCollection(
// "where PROINST_ID = " + this._HighWayProInst.HIGHWAYPROINST_ID))
//{
// _TENDER_DESC += _ATTACHMENT.ATTACHMENT_NAME + "\r\n";
//}
//Business.TENDER _TENDER = new Business.TENDER(Transaction);
//_TENDER.AddSearchParameter("HIGHWAYPROINST_ID", this._HighWayProInst.HIGHWAYPROINST_ID);
//if (_TENDER.Search())
//{
// _TENDER.TENDER_DESC = _TENDER_DESC;
// _TENDER.Update();
//}
//}
}
catch (Exception ex)
{
//回滚事务
Transaction.Rollback();
//记录日志
ErrorLogHelper.Write(ex);
}
}
protected void CallBackButton1_Click(object sender, EventArgs e)
{
string _TENDER_DESC = "";
switch (_HighWayProInst.__ProInst.Operation_Type_BaseValue)
{
case 350100:
case 350200:
case 350300:
foreach (Business.ATTACHMENT _ATTACHMENT in new Business.ATTACHMENT(this.Transaction).FillCollection(
"where PROINST_ID = " + this._HighWayProInst.HIGHWAYPROINST_ID))
{
_TENDER_DESC += _ATTACHMENT.ATTACHMENT_NAME + "\r\n";
}
Business.TENDER _TENDER = new Business.TENDER(Transaction);
_TENDER.AddSearchParameter("HIGHWAYPROINST_ID", this._HighWayProInst.HIGHWAYPROINST_ID);
if (_TENDER.Search())
{
_TENDER.TENDER_DESC = _TENDER_DESC;
_TENDER.Update();
}
//刷新父页
Page.ExecClientScript("$('#pop-dialog-frame-WorkFlowWorkPlatform',parent.parent.document).attr('src'," +
" '/WorkFlow/Transact/Common/ProcessPage.aspx?NowActInst_ID=" + Request["NowActInst_ID"] +
"&ProInst_ID=" + Request["ProInst_ID"] + "&Module_ID=" + Request["Module_ID"] +
"&PopDialogPageName=F_R_GridPageEx1&PopDialogName=WorkFlowWorkPlatform&r=0.8500934960320592')");
break;
default:
break;
}
//if (_HighWayProInst.__ProInst.Operation_Type_BaseValue == int.Parse("350100"))
//{
// foreach (Business.ATTACHMENT _ATTACHMENT in new Business.ATTACHMENT(this.Transaction).FillCollection(
// "where PROINST_ID = " + this._HighWayProInst.HIGHWAYPROINST_ID))
// {
// _TENDER_DESC += _ATTACHMENT.ATTACHMENT_NAME + "\r\n";
// }
// Business.TENDER _TENDER = new Business.TENDER(Transaction);
// _TENDER.AddSearchParameter("HIGHWAYPROINST_ID", this._HighWayProInst.HIGHWAYPROINST_ID);
// if (_TENDER.Search())
// {
// _TENDER.TENDER_DESC = _TENDER_DESC;
// _TENDER.Update();
// }
//}
BindRepick();
}
public override bool Save(bool AutoBindData = true)
{
//判断附件是否已经上传未上传返回false
Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(this.Transaction);
if (_ATTACHMENT.GetCount("where PROINST_ID =" + _HighWayProInst.HIGHWAYPROINST_ID) == 0)
{
throw new Exception("请上传对应的附件!");
}
return true;
//return base.Save(AutoBindData);
}
}
}