394 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			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 | |||
|  |     } | |||
|  | } |