using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using Model; namespace FineUIPro.Mobile.PHTGL.BiddingManagement { public partial class ApproveUserReviewDetail : PageBaseMobile { #region 定义属性 /// /// 合同ID /// public string ApproveUserReviewID { get { return (string)ViewState["ApproveUserReviewID"]; } set { ViewState["ApproveUserReviewID"] = value; } } /// /// 最末的审批节点 /// public int EndApproveType { get { return (int)ViewState["EndApproveType"]; } set { ViewState["EndApproveType"] = value; } } public List ApproveManModels { get { return (List)Session["ApproveManModels"]; } set { Session["ApproveManModels"] = value; } } public Model.PHTGL_Approve pHTGL_Approve { get { return (Model.PHTGL_Approve)Session["pHTGL_Approve"]; } set { Session["pHTGL_Approve"] = value; } } public string PersonId { get { PersonId = Request.Params["PersonId"]; return (string)ViewState["PersonId"]; } set { ViewState["PersonId"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { //定义变量列表 ApproveUserReviewID = Request.Params["ApproveUserReviewID"]; //获取招标实施计划基本信息 var _Bid = BLL.PHTGL_BidApproveUserReviewService.GetPHTGL_BidApproveUserReviewById(ApproveUserReviewID); var BidDoc = BLL.PHTGL_BidDocumentsReviewService.GetPHTGL_BidDocumentsReviewById(_Bid.BidDocumentsReviewId); //获取审批人字典 ApproveManModels = PHTGL_BidApproveUserReviewService.GetApproveManModels(ApproveUserReviewID); EndApproveType = ApproveManModels.Count; //获取当前登录人审批信息 pHTGL_Approve = BLL.PHTGL_ApproveService.GetPHTGL_ApproveByUserId(ApproveUserReviewID, PersonId); //文本框赋值 txtBidProject.Text = _Bid.BidProject; txtProjectName.Text = PHTGL_ActionPlanFormationService.GetPHTGL_ActionPlanFormationById(BidDoc.ActionPlanID).ProjectShortName; txtBidDocumentsCode.Text = BidDoc.BidDocumentsCode; ; this.txtCreateUser.Text = BLL.Person_PersonsService.GetPersonsNameById(_Bid.CreateUser); if (PHTGL_ApproveService.IsApproveMan(ApproveUserReviewID, PersonId)) { BindGrid(); } else if (PersonId == Const.sysglyId || PersonId == Const.hfnbdId) { BindGrid(); } else if (_Bid.CreateUser == PersonId) { BindGrid(); } if (pHTGL_Approve != null) { btnAgree.Enabled = true; btnDisgree.Enabled = true; } } /// /// 数据绑定 /// private void BindGrid() { string strSql = @" select u.PersonName as ApproveMan, App.ApproveDate, (CASE App.IsAgree WHEN '1' THEN '不同意' WHEN '2' THEN '同意' END) AS IsAgree, App.ApproveIdea, App.ApproveId, App.ApproveType from PHTGL_Approve as App" + @" left join SitePerson_Person AS U ON U.PersonId = App.ApproveMan WHERE 1=1 and App.IsAgree <>0 and app.ContractId= @ContractId order by convert(datetime ,App.ApproveDate) "; List listStr = new List(); listStr.Add(new SqlParameter("@ContractId", ApproveUserReviewID)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); //Grid1.RecordCount = tb.Rows.Count; //var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = tb; Grid1.DataBind(); BindGrid2(); } private void BindGrid2() { string strSql = @" SELECT APP.ID ,APP.ApproveUserReviewID ,APP.ApproveUserName ,APP.ApproveUserSpecial ,APP.ApproveUserUnit ,APP.Remarks" + @" FROM PHTGL_BidApproveUserReview_Sch1 AS APP " + @" LEFT JOIN SitePerson_Person AS U ON U.PersonId =APP.ApproveUserName " + @"where 1=1 AND ApproveUserReviewID = @ApproveUserReviewID "; List listStr = new List(); if (string.IsNullOrEmpty(ApproveUserReviewID)) { listStr.Add(new SqlParameter("@ApproveUserReviewID", "")); } else { listStr.Add(new SqlParameter("@ApproveUserReviewID", ApproveUserReviewID)); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid2.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid2, tb); Grid2.DataSource = table; Grid2.DataBind(); } #region 分页 排序 /// /// 改变索引事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } protected void btnAgree_Click(object sender, EventArgs e) { ApprovemanSave(true); OAWebSevice.Pushoa(); OAWebSevice.DoneRequest(pHTGL_Approve.ApproveId); } protected void btnDisgree_Click(object sender, EventArgs e) { ApprovemanSave(false); OAWebSevice.DoneRequest(pHTGL_Approve.ApproveId); OAWebSevice.Pushoa_Creater(pHTGL_Approve.ApproveId); } void ApprovemanSave(bool IsAgree) { pHTGL_Approve.ApproveDate = Funs.GetNewDateTimeOrNow("").ToString(); pHTGL_Approve.State = 1; pHTGL_Approve.IsAgree = IsAgree ? 2 : 1; string txtIdea = ""; if (IsAgree) { txtIdea = "同意"; } else { txtIdea = "不同意"; } pHTGL_Approve.ApproveIdea = txtApproveIdea.Text.Trim() == "" ? txtIdea : txtApproveIdea.Text; BLL.PHTGL_ApproveService.UpdatePHTGL_Approve(pHTGL_Approve); int thisApproveTypeNumber = ApproveManModels.Find(e => e.Rolename == pHTGL_Approve.ApproveType).Number; int nextApproveType = thisApproveTypeNumber + 1; if (IsAgree) { if (thisApproveTypeNumber < EndApproveType) { Model.PHTGL_Approve _Approve = new Model.PHTGL_Approve(); _Approve.ContractId = pHTGL_Approve.ContractId; _Approve.ApproveMan = ApproveManModels.Find(e => e.Number == nextApproveType).userid; _Approve.ApproveDate = ""; _Approve.State = 0; _Approve.IsAgree = 0; _Approve.ApproveIdea = ""; _Approve.ApproveType = ApproveManModels.Find(e => e.Number == nextApproveType).Rolename; _Approve.IsPushOa = 0; _Approve.ApproveForm = PHTGL_ApproveService.ApproveUserReview; var IsExitmodel = PHTGL_ApproveService.GetPHTGL_ApproveByContractIdAndType(_Approve.ContractId, _Approve.ApproveType); if (IsExitmodel == null) { _Approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PHTGL_Approve)); BLL.PHTGL_ApproveService.AddPHTGL_Approve(_Approve); } else { _Approve.ApproveId = IsExitmodel.ApproveId; BLL.PHTGL_ApproveService.UpdatePHTGL_Approve(_Approve); } ChangeState(Const.ContractReviewing); } else { Model.PHTGL_SetSubReview _SetSubReview = new Model.PHTGL_SetSubReview(); _SetSubReview.SetSubReviewID = SQLHelper.GetNewID(typeof(Model.PHTGL_SetSubReview)); var BidUser = BLL.PHTGL_BidApproveUserReviewService.GetPHTGL_BidApproveUserReviewById(ApproveUserReviewID); _SetSubReview.ApproveUserReviewID = ApproveUserReviewID; _SetSubReview.ActionPlanID = BidUser.ActionPlanID; _SetSubReview.State = Const.ContractCreating; _SetSubReview.Type = 0; PHTGL_SetSubReviewService.AddPHTGL_SetSubReview(_SetSubReview); ChangeState(Const.ContractReview_Complete); } } else { ChangeState(Const.ContractReview_Refuse); } ShowNotify("提交成功,流程转入下一节点!", MessageBoxIcon.Success); if (!string.IsNullOrEmpty(Request.Params["PHTUrl"])) { PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); PageContext.RegisterStartupScript("closeActiveTab();"); } else { PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } } /// /// 改变审批流状态 /// /// private void ChangeState(int state) { var _Bid = PHTGL_BidApproveUserReviewService.GetPHTGL_BidApproveUserReviewById(ApproveUserReviewID); _Bid.State = state; PHTGL_BidApproveUserReviewService.UpdatePHTGL_BidApproveUserReview(_Bid); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { BindGrid(); } #endregion } }