HJGL_DS/HJGL_DS/FineUIPro.Web/JGZL/ArchivalTransfer.aspx.cs

340 lines
14 KiB
C#

using Aspose.Words;
using BLL;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JGZL
{
public partial class ArchivalTransfer : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string ArchivalTransferId
{
get
{
return (string)ViewState["ArchivalTransferId"];
}
set
{
ViewState["ArchivalTransferId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.drpProjectId.DataTextField = "ProjectCode";
this.drpProjectId.DataValueField = "ProjectId";
this.drpProjectId.DataSource = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
this.drpProjectId.DataBind();
Funs.FineUIPleaseSelect(this.drpProjectId);
this.drpProjectId.SelectedValue = this.CurrUser.LoginProjectId;
this.InitTreeMenu();//加载树
this.tvControlItem.SelectedNodeID = this.drpProjectId.SelectedValue;
PageData();
}
}
#endregion
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "项目";
rootNode.ToolTip = "项目";
rootNode.NodeID = "0";
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
List<Model.Base_Project> projects = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
if (this.drpProjectId.SelectedValue != BLL.Const._Null)
{
projects = projects.Where(e => e.ProjectId == this.drpProjectId.SelectedValue).ToList();
}
foreach (var item in projects)
{
TreeNode rootProjectNode = new TreeNode();//定义根节点
rootProjectNode.Text = item.ProjectCode;
rootProjectNode.NodeID = item.ProjectId;
rootProjectNode.EnableClickEvent = true;
rootProjectNode.Expanded = true;
rootProjectNode.ToolTip = item.ProjectName;
rootProjectNode.CommandName = "项目名称";
rootNode.Nodes.Add(rootProjectNode);
}
}
#endregion
#region TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
if (this.tvControlItem.SelectedNodeID != "0")
{
this.PageData();
}
}
#endregion
#region
///<summary>
///查询
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e)
{
this.tvControlItem.SelectedNodeID = this.drpProjectId.SelectedValue;
this.InitTreeMenu();
PageData();
}
#endregion
/// <summary>
/// 清空文本
/// </summary>
private void EmptyText()
{
txtProjectCode.Text = string.Empty;
txtTransferringDepart.Text = string.Empty;
txtFileName.Text = string.Empty;
txtQuantity.Text = string.Empty;
//txtTransferringMan.Text = string.Empty;
//txtTransferringDate.Text = string.Empty;
//txtReviewer.Text = string.Empty;
//txtReviewDate.Text = string.Empty;
//txtRecipient.Text = string.Empty;
//txtReceivingDate.Text = string.Empty;
}
private void PageData()
{
EmptyText();
string projectId = this.tvControlItem.SelectedNodeID;
if (!string.IsNullOrEmpty(projectId))
{
var report = BLL.ArchivalTransferService.GetArchivalTransferByProjectId(projectId);
if (report != null)
{
this.ArchivalTransferId = report.ArchivalTransferId;
this.txtProjectCode.Text = BLL.Base_ProjectService.GetProjectCode(projectId);
this.txtTransferringDepart.Text = report.TransferringDepart;
if (!string.IsNullOrEmpty(report.FileName))
{
this.txtFileName.Text = report.FileName;
}
else
{
this.txtFileName.Text = BLL.Base_ProjectService.GetProjectByProjectId(projectId).ProjectName + "交工技术文件";
}
this.txtQuantity.Text = report.Quantity.HasValue ? report.Quantity.ToString() : "1";
//this.txtTransferringMan.Text = report.TransferringMan;
//this.txtTransferringDate.Text = report.TransferringDate.HasValue ? string.Format("{0:yyyy-MM-dd}", report.TransferringDate) : "";
//this.txtReviewer.Text = report.Reviewer;
//this.txtReviewDate.Text = report.ReviewDate.HasValue ? string.Format("{0:yyyy-MM-dd}", report.ReviewDate) : "";
//this.txtRecipient.Text = report.Recipient;
//this.txtReceivingDate.Text = report.ReceivingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", report.ReceivingDate) : "";
}
else
{
this.ArchivalTransferId = string.Empty;
this.txtProjectCode.Text = BLL.Base_ProjectService.GetProjectCode(projectId);
this.txtFileName.Text = BLL.Base_ProjectService.GetProjectByProjectId(projectId).ProjectName + "交工技术文件";
this.txtQuantity.Text = "1";
var user = BLL.Sys_UserService.GetUsersByUserId(this.CurrUser.UserId);
if (user != null)
{
if (!string.IsNullOrEmpty(user.DepartId))
{
txtTransferringDepart.Text = BLL.Base_DepartService.GetDepart(user.DepartId).DepartName;
}
}
}
}
}
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.JGZL_ArchivalTransferMenuId, BLL.Const.BtnSave))
{
Model.JGZL_ArchivalTransfer newArchivalTransfer = new Model.JGZL_ArchivalTransfer();
newArchivalTransfer.TransferringDepart = this.txtTransferringDepart.Text;
newArchivalTransfer.FileName = this.txtFileName.Text;
newArchivalTransfer.Quantity = Funs.GetNewInt(this.txtQuantity.Text);
//newArchivalTransfer.TransferringMan = this.txtTransferringMan.Text;
//newArchivalTransfer.TransferringDate = Funs.GetNewDateTime(this.txtTransferringDate.Text);
//newArchivalTransfer.Reviewer = this.txtReviewer.Text;
//newArchivalTransfer.ReviewDate = Funs.GetNewDateTime(this.txtReviewDate.Text);
//newArchivalTransfer.Recipient = this.txtRecipient.Text;
//newArchivalTransfer.ReceivingDate = Funs.GetNewDateTime(this.txtReceivingDate.Text);
if (!string.IsNullOrEmpty(this.ArchivalTransferId))
{
newArchivalTransfer.ArchivalTransferId = this.ArchivalTransferId;
BLL.ArchivalTransferService.UpdateArchivalTransfer(newArchivalTransfer);
ShowNotify("修改成功!", MessageBoxIcon.Success);
}
else
{
newArchivalTransfer.ProjectId = this.tvControlItem.SelectedNodeID;
newArchivalTransfer.ArchivalTransferId = SQLHelper.GetNewID(typeof(Model.JGZL_ArchivalTransfer));
this.ArchivalTransferId = newArchivalTransfer.ArchivalTransferId;
BLL.ArchivalTransferService.AddArchivalTransfer(newArchivalTransfer);
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 打印
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrint_Click(object sender, EventArgs e)
{
string projectId = this.tvControlItem.SelectedNodeID;
if (projectId != null)
{
string initTemplatePath = "";
string rootPath = Server.MapPath("~/");
BLL.Common.FastReportService.ResetData();
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
keyValuePairs.Add("ProjectName", BLL.Base_ProjectService.GetProjectByProjectId(projectId).ProjectName);
keyValuePairs.Add("ProjectCode", BLL.Base_ProjectService.GetProjectByProjectId(projectId).ProjectCode);
keyValuePairs.Add("TransferringDepart", this.txtTransferringDepart.Text);
keyValuePairs.Add("FileName", this.txtFileName.Text);
keyValuePairs.Add("Quantity", this.txtQuantity.Text);
//keyValuePairs.Add("TransferringMan", this.txtTransferringMan.Text);
//keyValuePairs.Add("TransferringDate", this.txtTransferringDate.Text);
//keyValuePairs.Add("Reviewer", this.txtReviewer.Text);
//keyValuePairs.Add("ReviewDate", this.txtReviewDate.Text);
//keyValuePairs.Add("Recipient", this.txtRecipient.Text);
//keyValuePairs.Add("ReceivingDate", this.txtReceivingDate.Text);
BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\档案移交表.frx";
if (File.Exists(rootPath + initTemplatePath))
{
PageContext.RegisterStartupScript(WindowPrint.GetShowReference(String.Format("../common/ReportPrint/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
}
}
else
{
Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string initTemplatePath = string.Empty;
string uploadfilepath = string.Empty;
string newUrl = string.Empty;
string filePath = string.Empty;
string projectId = this.tvControlItem.SelectedNodeID;
if (!string.IsNullOrEmpty(projectId))
{
initTemplatePath = Const.JGZL_ArchivalTransferUrl;
uploadfilepath = rootPath + initTemplatePath;
newUrl = uploadfilepath.Replace("档案资料移交表导出模板", "档案资料移交表");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
File.Copy(uploadfilepath, newUrl);
Document doc = new Aspose.Words.Document(uploadfilepath);
Bookmark projectName = doc.Range.Bookmarks["ProjectName"];
if (projectName != null)
{
projectName.Text = BLL.Base_ProjectService.GetProjectByProjectId(projectId).ProjectName;
}
Bookmark projectCode = doc.Range.Bookmarks["ProjectCode"];
if (projectCode != null)
{
projectCode.Text = BLL.Base_ProjectService.GetProjectByProjectId(projectId).ProjectCode;
}
Bookmark transferringDepart = doc.Range.Bookmarks["TransferringDepart"];
if (transferringDepart != null)
{
transferringDepart.Text = this.txtTransferringDepart.Text.Trim();
}
Bookmark fileNames = doc.Range.Bookmarks["FileName"];
if (fileNames != null)
{
fileNames.Text = this.txtFileName.Text.Trim();
}
Bookmark quantity = doc.Range.Bookmarks["Quantity"];
if (quantity != null)
{
quantity.Text = this.txtQuantity.Text.Trim();
}
doc.Save(newUrl);
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
long fileSize = info.Length;
Response.Clear();
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(newUrl, 0, fileSize);
Response.Flush();
Response.Close();
File.Delete(newUrl);
}
else
{
Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning);
return;
}
}
#endregion
}
}