CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/Opinion/OpinionCollectionEdit.aspx.cs

394 lines
17 KiB
C#

using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.Opinion
{
public partial class OpinionCollectionEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string OpinionCollectionId
{
get
{
return (string)ViewState["OpinionCollectionId"];
}
set
{
ViewState["OpinionCollectionId"] = value;
}
}
/// <summary>
/// 主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
/// <summary>
/// 状态
/// </summary>
public string State
{
get
{
return (string)ViewState["State"];
}
set
{
ViewState["State"] = value;
}
}
/// <summary>
/// 定义集合
/// </summary>
private static List<Model.View_Opinion_OpinionCollectionApprove> approveLists = new List<Model.View_Opinion_OpinionCollectionApprove>();
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHidePostBackReference();
this.ProjectId = this.CurrUser.LoginProjectId;
BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList1(this.drpUnitId, this.ProjectId, true);
BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.ProjectId, true);
BLL.ConstValue.InitConstNameDropDownList(this.drpProblemClass, "MenuType_P", true);
BLL.ProjectUserService.InitProjectUserRoleIdDropDownList(this.drpAuditRoleId, this.ProjectId, false);
this.drpAuditRoleId.SelectedValue = BLL.Const.QAManager;
BLL.UserService.InitUserByRoleIdDropDownList(this.drpAudit, this.ProjectId, this.drpAuditRoleId.SelectedValue, false);
this.OpinionCollectionId = Request.Params["opinionCollectionId"];
var opinionCollection = OpinionCollectionService.GetOpinionCollectionById(this.OpinionCollectionId);
if (opinionCollection != null)
{
this.State = opinionCollection.State.Trim();
this.ProjectId = opinionCollection.ProjectId;
this.txtOpinion.Text = opinionCollection.Opinion;
if (!string.IsNullOrEmpty(opinionCollection.CompileMan))
{
this.drpCompileMan.SelectedValue = opinionCollection.CompileMan;
}
this.txtCompileDate.Text = opinionCollection.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", opinionCollection.CompileDate) : "";
if (!string.IsNullOrEmpty(opinionCollection.RoleId))
{
this.hdRoleId.Text = opinionCollection.RoleId;
this.txtRole.Text = BLL.RoleService.getRoleNamesRoleIds(opinionCollection.RoleId);
}
if (!string.IsNullOrEmpty(opinionCollection.UnitId))
{
this.drpUnitId.SelectedValue = opinionCollection.UnitId;
}
if (!string.IsNullOrEmpty(opinionCollection.ProblemClass))
{
this.drpProblemClass.SelectedValue = opinionCollection.ProblemClass;
}
#region
var approveList = BLL.OpinionCollectionApproveService.GetApproveListByOpinionCollectionId(this.OpinionCollectionId);
if (approveList.Count > 0)
{
var app = approveList.FirstOrDefault(x => x.ApproveDate == null && x.ApproveMan != this.CurrUser.UserId);
if (app != null)
{
this.drpAuditRoleId.SelectedValue = app.ApproveManRoleId;
this.drpAudit.Items.Clear();
BLL.UserService.InitUserByRoleIdDropDownList(this.drpAudit, this.ProjectId, this.drpAuditRoleId.SelectedValue, false);
this.drpAudit.SelectedValue = app.ApproveMan;
}
}
#endregion
//加载审批流程
approveLists = BLL.OpinionCollectionApproveService.getViewApproveLists(this.OpinionCollectionId);
if (approveLists.Count > 0)
{
this.Grid1.Hidden = false;
this.Grid1.DataSource = approveLists;
this.Grid1.DataBind();
}
else
{
this.Grid1.Hidden = true;
}
}
else
{
this.Grid1.Hidden = true;
//this.agree.Hidden = true;
this.options.Hidden = true;
this.nextStep.Hidden = true;
if (!string.IsNullOrEmpty(this.CurrUser.UserId))
{
var user = BLL.UserService.GetUserByUserId(this.CurrUser.UserId);
if (user != null)
{
this.drpCompileMan.SelectedValue = this.CurrUser.UserId;
//this.drpRoleId.SelectedValue = user.RoleId;
this.drpUnitId.SelectedValue = user.UnitId;
var projectUser = BLL.ProjectUserService.GetCurrProjectUserByUserId(this.CurrUser.UserId);
if (projectUser != null)
{
if (!string.IsNullOrEmpty(projectUser.RoleId))
{
this.hdRoleId.Text = projectUser.RoleId;
this.txtRole.Text = BLL.RoleService.getRoleNamesRoleIds(projectUser.RoleId);
}
}
}
}
this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
}
if (this.State == BLL.Const.State_0)
{
//this.agree.Hidden = true;
this.options.Hidden = true;
this.nextStep.Hidden = true;
}
else
{
var approveList = BLL.OpinionCollectionApproveService.GetApproveListByOpinionCollectionId(this.OpinionCollectionId);
if (approveList.Count > 0)
{
var app = approveList.FirstOrDefault(x => x.ApproveDate == null && x.ApproveMan == this.CurrUser.UserId);
if (app != null)
{
//agree.Hidden = false;
options.Hidden = false;
this.nextStep.Hidden = false;
}
else
{
//agree.Hidden = true;
options.Hidden = true;
nextStep.Hidden = true;
this.btnSubmit.Hidden = true;
this.btnSave.Hidden = true;
}
}
}
}
}
#endregion
#region
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSubmit_Click(object sender, EventArgs e)
{
this.SaveData(BLL.Const.BtnSubmit);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
this.SaveData(BLL.Const.BtnSave);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
#region
/// <summary>
/// 保存数据
/// </summary>
/// <param name="type"></param>
private void SaveData(string type)
{
Model.Opinion_OpinionCollection opinionCollection = new Model.Opinion_OpinionCollection
{
ProjectId = this.ProjectId,
Opinion = this.txtOpinion.Text.Trim(),
CompileDate = Funs.GetNewDateTime(this.txtCompileDate.Text.Trim()),
RoleId = this.hdRoleId.Text.Trim()
};
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
opinionCollection.UnitId = this.drpUnitId.SelectedValue;
}
if (this.drpProblemClass.SelectedValue != BLL.Const._Null)
{
opinionCollection.ProblemClass = this.drpProblemClass.SelectedValue;
}
////单据状态
opinionCollection.State = BLL.Const.State_0.Trim();
if (!string.IsNullOrEmpty(this.OpinionCollectionId))
{
opinionCollection.OpinionCollectionId = this.OpinionCollectionId;
BLL.OpinionCollectionService.UpdateOpinionCollection(opinionCollection);
}
else
{
opinionCollection.CompileMan = this.CurrUser.UserId;
opinionCollection.OpinionCollectionId = SQLHelper.GetNewID(typeof(Model.Opinion_OpinionCollection));
this.OpinionCollectionId = opinionCollection.OpinionCollectionId;
BLL.OpinionCollectionService.AddOpinionCollection(opinionCollection);
}
if (type == Const.BtnSubmit)
{
var approves = BLL.OpinionCollectionApproveService.GetApproveListByOpinionCollectionId(this.OpinionCollectionId);
if (approves.Count == 0)
{
if (this.CurrUser.UserId == this.drpCompileMan.SelectedValue)
{
Model.Opinion_OpinionCollectionApprove newApprove = new Model.Opinion_OpinionCollectionApprove();
newApprove.OpinionCollectionApproveId = SQLHelper.GetNewID(typeof(Model.Opinion_OpinionCollectionApprove));
newApprove.OpinionCollectionId = this.OpinionCollectionId;
if (this.drpAuditRoleId.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpAuditRoleId.SelectedValue))
{
newApprove.ApproveManRoleId = this.drpAuditRoleId.SelectedValue;
}
if (this.drpAudit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpAudit.SelectedValue))
{
newApprove.ApproveMan = this.drpAudit.SelectedValue;
}
BLL.OpinionCollectionApproveService.AddOpinionCollectionApprove(newApprove);
}
}
else
{
var approve = approves.Where(x => x.ApproveDate == null && x.ApproveMan == this.CurrUser.UserId).FirstOrDefault();
if (approve != null)
{
approve.ApproveDate = DateTime.Now;
//if (rblIsAgree.SelectedValue == "true")
//{
// approve.IsAgree = true;
//}
//else
//{
// approve.IsAgree = false;
//}
approve.ApproveIdea = this.txtidea.Text.Trim();
BLL.OpinionCollectionApproveService.UpdateOpinionCollectionApprove(approve);
if (this.drpNextStep.SelectedValue == "下一步")
{
Model.Opinion_OpinionCollectionApprove newApprove = new Model.Opinion_OpinionCollectionApprove();
newApprove.OpinionCollectionApproveId = SQLHelper.GetNewID(typeof(Model.Opinion_OpinionCollectionApprove));
newApprove.OpinionCollectionId = this.OpinionCollectionId;
if (this.drpAuditRoleId.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpAuditRoleId.SelectedValue))
{
newApprove.ApproveManRoleId = this.drpAuditRoleId.SelectedValue;
}
if (this.drpAudit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpAudit.SelectedValue))
{
newApprove.ApproveMan = this.drpAudit.SelectedValue;
}
BLL.OpinionCollectionApproveService.AddOpinionCollectionApprove(newApprove);
}
}
}
//更改状态
var opin = BLL.OpinionCollectionService.GetOpinionCollectionById(this.OpinionCollectionId);
if (opin!=null)
{
//if (rblIsAgree.SelectedValue == "true")
//{
if (this.drpNextStep.SelectedValue == "审核完成")
{
opin.State = BLL.Const.State_2;
}
else
{
opin.State = BLL.Const.State_1;
}
//}
//else
//{
// opin.State = BLL.Const.State_0;
//}
BLL.OpinionCollectionService.UpdateOpinionCollection(opin);
}
}
}
#endregion
#region
/// <summary>
/// 上传附件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
if (this.drpProblemClass.SelectedValue == BLL.Const._Null)
{
ShowNotify("请选择问题分类!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(this.OpinionCollectionId))
{
this.SaveData(BLL.Const.BtnSave);
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/OpinionCollection&menuId={1}&type=0", this.OpinionCollectionId, BLL.Const.OpinionCollectionMenuId)));
}
#endregion
#region DropDownList下拉选择事件
/// <summary>
/// 核实人角色下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpAuditRoleId_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpAudit.Items.Clear();
if (!string.IsNullOrEmpty(this.drpAuditRoleId.SelectedValue)&&this.drpAuditRoleId.SelectedValue!=BLL.Const._Null)
{
BLL.UserService.InitUserByRoleIdDropDownList(this.drpAudit, this.ProjectId, this.drpAuditRoleId.SelectedValue, false);
this.drpAudit.SelectedIndex = 0;
}
}
/// <summary>
///下一步选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpNextStep_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.drpNextStep.SelectedText=="审核完成")
{
audit.Hidden = true;
}
else
{
audit.Hidden = false;
}
}
#endregion
}
}