310 lines
15 KiB
C#
310 lines
15 KiB
C#
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);
|
||
}
|
||
}
|
||
} |