ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/common/Notice/AddNotice.aspx.cs

332 lines
13 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using Model;
using System.IO;
namespace FineUIPro.Web.common.Notice
{
public partial class AddNotice : PageBase
{
#region
public string NoticeId
{
get
{
return (string)ViewState["NoticeId"];
}
set
{
ViewState["NoticeId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData();
this.drpClearUpMan.DataTextField = "UserName";
drpClearUpMan.DataValueField = "UserId";
drpClearUpMan.DataSource = (from x in Funs.DB.Sys_User where x.IsPost == true orderby x.UserName select x).ToList();
drpClearUpMan.DataBind();
Funs.FineUIPleaseSelect(this.drpClearUpMan);
var systems = Funs.DB.Sys_System.FirstOrDefault(x => x.SystemId == this.CurrUser.LoginSystemId);
if (systems != null)
{
if (systems.SystemType == Const.SystemType_0 || (systems.SystemType == Const.SystemType_1 && systems.IsMoreProject == false))
{
this.drpProjects.DataTextField = "ProjectName";
this.drpProjects.DataValueField = "ProjectId";
this.drpProjects.DataSource = (from x in Funs.DB.Base_Project orderby x.StartDate select x).ToList();
this.drpProjects.DataBind();
var systemSelect = (from x in Funs.DB.Sys_System
where x.IsEnable == true
orderby x.SorIndex
select x).ToList();
if (this.CurrUser.LoginSystemId != Const.System_1)
{
string projectSystemId = (Funs.GetNewInt(this.CurrUser.LoginSystemId) + 1).ToString();
systemSelect = systemSelect = systemSelect.Where(x => (x.SystemId == this.CurrUser.LoginSystemId || x.SystemId == projectSystemId)).OrderBy(x => x.SorIndex).ToList();
}
if (systemSelect.Count() > 0)
{
this.drpSystems.DataTextField = "SystemName";
this.drpSystems.DataValueField = "SystemId";
this.drpSystems.DataSource = systemSelect;
this.drpSystems.DataBind();
}
}
else
{
this.trProjects.Hidden = true;
this.trSystems.Hidden = true;
}
}
this.drpSignMan.DataTextField = "UserName";
drpSignMan.DataValueField = "UserId";
////签字人
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
drpSignMan.DataSource = (from x in Funs.DB.Sys_User
join y in Funs.DB.Project_User on x.UserId equals y.UserId
where (x.IsPost == true && y.ProjectId == this.CurrUser.LoginProjectId) || (x.UserId == Const.GlyId)
orderby x.UserName
select x).ToList();
}
else
{
drpSignMan.DataSource = (from x in Funs.DB.Sys_User where x.IsPost == true orderby x.UserName select x).ToList();
}
drpSignMan.DataBind();
Funs.FineUIPleaseSelect(this.drpSignMan);
this.NoticeId = Request.QueryString["noticeId"];
if (!String.IsNullOrEmpty(this.NoticeId))
{
this.txtNoticeCode.Readonly = true;
Model.Common_Notice notice = BLL.Common_NoticeService.GetNoticeByNoticeId(NoticeId);
if (notice != null)
{
this.txtNoticeCode.Text = notice.NoticeCode;
this.txtNoticeTitle.Text = notice.NoticeTitle;
if (notice.ClearUpMan != null)
{
this.drpClearUpMan.SelectedValue = notice.ClearUpMan;
}
this.drpIsRelease.SelectedValue = notice.IsRelease.ToString();
this.txtMainContent.Text = notice.MainContent;
this.drpProjects.SelectedValue = notice.AccessProjectId;
this.drpSystems.SelectedValue = notice.AccessSystemId;
}
}
else
{
this.drpClearUpMan.SelectedValue = this.CurrUser.UserId;
}
}
}
private void LoadData()
{
btnClose.OnClientClick = ActiveWindow.GetHideReference();
}
#endregion
#region
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.GetRolePowerBySystemMenuId(BLL.Const.BtnSave))
{
SaveData(true);
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 提交数据
/// </summary>
private void SaveData(bool isClose)
{
if (isClose)
{
if (this.drpClearUpMan.SelectedValue == BLL.Const._Null)
{
ShowNotify("请选择整理人!", MessageBoxIcon.Warning);
return;
}
if (this.drpSignMan.SelectedValue == BLL.Const._Null)
{
ShowNotify("请选择办理人员!", MessageBoxIcon.Warning);
return;
}
}
Model.Common_Notice notice = new Model.Common_Notice();
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
notice.ProjectId = this.CurrUser.LoginProjectId;//当前项目
}
notice.SystemId = this.CurrUser.LoginSystemId; //当前系统
notice.NoticeCode = this.txtNoticeCode.Text.Trim();
notice.NoticeTitle = this.txtNoticeTitle.Text.Trim();
notice.IsRelease = Convert.ToBoolean(this.drpIsRelease.SelectedValue);
if (this.drpClearUpMan.SelectedValue != "0")
{
notice.ClearUpMan = this.drpClearUpMan.SelectedValue;
}
else
{
notice.ClearUpMan = null;
}
notice.MainContent = this.txtMainContent.Text.Trim();
if (this.drpSignMan.SelectedValue == "0")
{
notice.State = Const.Common_Notice_Compile;
}
else
{
notice.State = Const.Common_Notice_Check;
}
if (this.drpProjects.SelectedItemArray.Count() > 0)
{
string projectIds = string.Empty;
string projectTexts = string.Empty;
foreach (ListItem item in this.drpProjects.SelectedItemArray)
{
projectIds += item.Value + ",";
projectTexts += item.Text + ",";
}
if (!string.IsNullOrEmpty(projectIds))
{
projectIds = projectIds.Substring(0, projectIds.LastIndexOf(","));
}
if (!string.IsNullOrEmpty(projectTexts))
{
projectTexts = projectTexts.Substring(0, projectTexts.LastIndexOf(","));
}
notice.AccessProjectId = projectIds;
notice.AccessProjectText = projectTexts;
}
else
{
notice.AccessProjectId = this.CurrUser.LoginProjectId;
}
if (this.drpSystems.SelectedIndexArray.Count() > 0)
{
string systemIds = string.Empty;
string systemTexts = string.Empty;
foreach (ListItem item in this.drpSystems.SelectedItemArray)
{
systemIds += item.Value + ",";
systemTexts += item.Text + ",";
}
if (!string.IsNullOrEmpty(systemIds))
{
systemIds = systemIds.Substring(0, systemIds.LastIndexOf(","));
}
if (!string.IsNullOrEmpty(systemTexts))
{
systemTexts = systemTexts.Substring(0, systemTexts.LastIndexOf(","));
}
notice.AccessSystemId = systemIds;
notice.AccessSystemText = systemTexts;
}
else
{
notice.AccessSystemId = this.CurrUser.LoginSystemId;
}
string newKeyID = SQLHelper.GetNewID(typeof(Model.Common_Notice));
if (!string.IsNullOrEmpty(NoticeId))
{
notice.NoticeId = NoticeId;
Model.Common_Notice notice1 = BLL.Common_NoticeService.GetNoticeByNoticeId(NoticeId);
BLL.Common_NoticeService.UpdateNotice(notice);
if (notice1.State == Const.Common_Notice_ReCompile)
{
Model.Common_NoticeSign noticeSign1 = BLL.Common_NoticeSignService.GetNoticeSignByNoticeId(NoticeId);
noticeSign1.SinaDate = DateTime.Now;
noticeSign1.IsAgree = true;
BLL.Common_NoticeSignService.UpdateNoticeSign(noticeSign1);
}
BLL.Sys_LogService.AddLog(this.CurrUser.LoginSystemId, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "修改通知");
}
else
{
notice.NoticeId = newKeyID;
NoticeId = newKeyID;
notice.CompileDate = System.DateTime.Now;
BLL.Common_NoticeService.AddNotice(notice);
BLL.Sys_LogService.AddLog(this.CurrUser.LoginSystemId, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "添加通知");
}
if (this.drpSignMan.SelectedValue != BLL.Const._Null)
{
Model.Common_NoticeSign noticeSign = new Model.Common_NoticeSign();
noticeSign.NoticeId = notice.NoticeId;
noticeSign.SignMan = this.drpSignMan.SelectedValue;
noticeSign.SignStep = this.drpSignStep.SelectedValue;
BLL.Common_NoticeSignService.AddNoticeSign(noticeSign);
}
BLL.Sys_LogService.AddLog(this.CurrUser.LoginSystemId, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "编制通知");
if (isClose)
{
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
#endregion
#region
/// <summary>
/// 上传附件资源
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.NoticeId))
{
SaveData(false);
}
string menuId = string.Empty;
if (this.CurrUser.LoginSystemId == Const.System_1)
{
menuId = BLL.Const.Common_NoticeMenuId;
}
string edit = "0";
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, menuId, BLL.Const.BtnSave))
{
edit = "1";
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/Notice&menuId={1}&edit={2}", NoticeId, menuId, edit)));
}
#endregion
#region id得到该菜单的权限
/// <summary>
/// 根据不同的系统id得到该菜单的权限
/// </summary>
/// <param name="btn">按钮类型</param>
/// <returns></returns>
private bool GetRolePowerBySystemMenuId(string btnType)
{
bool isRole = false;
if (this.CurrUser.LoginSystemId == Const.System_1)
{
isRole = BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.Common_NoticeMenuId, btnType);
}
return isRole;
}
#endregion
}
}