using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.PHTGL.ContractCompile { public partial class ContractReview_Countersign : PageBase { public string ContractId { get { return (string)ViewState["ContractId"]; } set { ViewState["ContractId"] = value; } } #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); btnNew.OnClientClick = Window1.GetShowReference("ContractReviewEdit.aspx", "创建审批流") + "return false;"; GetButtonPower(); BindGrid(); } } /// /// 数据绑定 /// private void BindGrid() { string strSql = @"SELECT Rev.ContractReviewId, Con.ContractId, Con.ProjectId, Con.ContractName, Con.ContractNum, Con.Parties, Con.Currency, Con.ContractAmount, Con.DepartId, Con.Agent, (CASE Con.ContractType WHEN '1' THEN '施工总承包分包合同' WHEN '2' THEN '施工专业分包合同' WHEN '3' THEN '施工劳务分包合同' WHEN '4' THEN '试车服务合同' WHEN '5' THEN 'ds' END) AS ContractType, ( CASE Rev.State WHEN @ContractCreating THEN '编制中' WHEN @ContractCreat_Complete THEN '编制完成' WHEN @Contract_countersign THEN '会签中' WHEN @Contract_countersign_Complete THEN '会签完成' WHEN @Contract_countersign_Refuse THEN '会签被拒' WHEN @ContractReviewing THEN '审批中' WHEN @ContractReview_Complete THEN '审批成功' WHEN @ContractReview_Refuse THEN '审批被拒' END) AS State , ApproveType =stuff((select ','+ ApproveType from PHTGL_Approve app2 where app2.ContractId = Rev.ContractReviewId and app2 .state =0 for xml path('')), 1, 1, '') , Con.Remarks, Con.EPCCode, Con.ProjectShortName, Pro.ProjectCode, Pro.ProjectName, Dep.DepartName, U.PersonName AS AgentName" + @" from PHTGL_ContractReview AS Rev" + @" LEFT JOIN PHTGL_Contract AS Con ON Con.ContractId=Rev.ContractId" + @" LEFT JOIN Base_Project AS Pro ON Pro.ProjectId = Con.ProjectId" + @" LEFT JOIN Base_Depart AS Dep ON Dep.DepartId = Con.DepartId" + @" LEFT JOIN Person_Persons AS U ON U.PersonId = Con.Agent WHERE State in (@ContractCreat_Complete,@Contract_countersign,@Contract_countersign_Refuse)"; List listStr = new List(); listStr.Add(new SqlParameter("@ContractCreating", Const.ContractCreating.ToString())); listStr.Add(new SqlParameter("@ContractCreat_Complete", Const.ContractCreat_Complete.ToString())); listStr.Add(new SqlParameter("@Contract_countersign", Const.Contract_countersign)); listStr.Add(new SqlParameter("@Contract_countersign_Complete", Const.Contract_countersign_Complete)); listStr.Add(new SqlParameter("@ContractReviewing", Const.ContractReviewing)); listStr.Add(new SqlParameter("@ContractReview_Complete", Const.ContractReview_Complete)); listStr.Add(new SqlParameter("@ContractReview_Refuse", Const.ContractReview_Refuse)); listStr.Add(new SqlParameter("@Contract_countersign_Refuse", Const.Contract_countersign_Refuse)); if (!(this.CurrUser.PersonId == Const.sysglyId)) { strSql += " and Con.ProjectId =@ProjectId"; listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); } if (!string.IsNullOrEmpty(this.txtContractName.Text.Trim())) { strSql += " AND Con.ContractName LIKE @ContractName"; listStr.Add(new SqlParameter("@ContractName", "%" + this.txtContractName.Text.Trim() + "%")); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #endregion #region 分页 排序 /// /// 改变索引事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } /// /// 分页下拉选择事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { BindGrid(); } #endregion #region 关闭弹出窗体 /// /// 关闭弹出窗体 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } #endregion #region 查询 /// /// 查询按钮 /// /// /// protected void btnSearch_Click(object sender, EventArgs e) { OAWebSevice.Pushoa(); BindGrid(); } #endregion #region 双击单机事件 /// /// 双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { this.ApproveData(); } /// /// 单击事件 /// /// /// protected void Grid1_RowClick(object sender, GridRowClickEventArgs e) { string id = Grid1.SelectedRowID; var actReview = PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(id); if (actReview.State == Const.Contract_countersign_Refuse) { btnEditContract.Hidden = false; } else { btnEditContract.Hidden = true; } } #endregion /// /// 修改合同 /// /// /// protected void btnEditContract_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string id = Grid1.SelectedRowID; var Model_ContractView = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(id); var Model_Contract = BLL.ContractService.GetContractById(Model_ContractView.ContractId); if (Model_Contract != null) { if (Model_Contract.Agent == this.CurrUser.PersonId || Model_Contract.CreatUser == this.CurrUser.PersonId) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractFormationEdit.aspx?ContractId={0}", Model_Contract.ContractId, "编辑 - "))); } else { ShowNotify("当前用户非合同编制人无法修改", MessageBoxIcon.Warning); } } } /// /// 编辑事件 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { EditData(); } //private void SubmitAgain() //{ // if (Grid1.SelectedRowIndexArray.Length == 0) // { // Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); // return; // } // string id = Grid1.SelectedRowID; // Model.PHTGL_ContractReview _ContractReview = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(id); // Model.PHTGL_Contract _Contract = BLL.ContractService.GetContractById(_ContractReview.ContractId); // if (_Contract.CreatUser != this.CurrUser.PersonId) // { // Alert.ShowInTop("您不是编制人无法重新提交!", MessageBoxIcon.Warning); // return; // } // _ContractReview.State = Const.Contract_countersign; // BLL.PHTGL_ContractReviewService.UpdatePHTGL_ContractReview(_ContractReview); // _Contract.ApproveState = Const.Contract_countersign; // ContractService.UpdateContract(_Contract); // var tbRefuseMan = PHTGL_ApproveService.GetRefuseEndMan(id);//获取审批拒绝的人员 // var Countersignermodel = PHTGL_ContractReviewService.GetApproveManModels__Countersigner(id); // var ApproveMan = Countersignermodel.Find(x => x.Rolename == tbRefuseMan.Rows[0]["ApproveType"].ToString()); // if (ApproveMan!=null) //判断拒绝的人员是否属于会签 // { // for (int i = 0; i < Countersignermodel.Count; i++) // { // Model.PHTGL_Approve _Approve = new Model.PHTGL_Approve(); // _Approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PHTGL_Approve)); // _Approve.ContractId = id; // _Approve.ApproveMan = Countersignermodel[i].userid; // _Approve.ApproveDate = ""; // _Approve.State = 0; // _Approve.IsAgree = 0; // _Approve.ApproveIdea = ""; // _Approve.ApproveType = Countersignermodel[i].Rolename; // _Approve.IsPushOa = 0; // _Approve.ApproveForm = PHTGL_ApproveService.ContractReview_Countersign; // BLL.PHTGL_ApproveService.AddPHTGL_Approve(_Approve); // } // } // else // { // Model.PHTGL_Approve _Approve = new Model.PHTGL_Approve(); // _Approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PHTGL_Approve)); // _Approve.ContractId = id; // _Approve.ApproveMan = tbRefuseMan.Rows[0]["ApproveMan"].ToString(); // _Approve.ApproveDate = ""; // _Approve.State = 0; // _Approve.IsAgree = 0; // _Approve.ApproveIdea = ""; // _Approve.ApproveType = tbRefuseMan.Rows[0]["ApproveType"].ToString(); // _Approve.IsPushOa = 0; // _Approve.ApproveForm = PHTGL_ApproveService.ContractReview_Countersign; // BLL.PHTGL_ApproveService.AddPHTGL_Approve(_Approve); // } // OAWebSevice.Pushoa(); // ShowNotify("重新提交成功!", MessageBoxIcon.Success); // BindGrid(); //} /// /// 审批 /// private void ApproveData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string id = Grid1.SelectedRowID; var contract = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(id); if (contract != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractReviewDetail.aspx?ContractReviewId={0}", id, "编辑 - "))); } } protected void btnQueryApprove_Click(object sender, EventArgs e) { this.ApproveData(); } private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string id = Grid1.SelectedRowID; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractReviewEdit.aspx?ContractReviewId={0}", id, "编辑 - "))); } #region 删除 /// /// 删除事件 /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { bool isShow = false; if (Grid1.SelectedRowIndexArray.Length == 1) { isShow = true; } foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); if (this.judgementDelete(rowID, isShow)) { var p = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(rowID); if (p != null) { BLL.LogService.AddSys_Log(this.CurrUser, p.ContractId, p.ContractId, BLL.Const.ContractMenuId, BLL.Const.BtnDelete); BLL.PHTGL_ApproveService.DeletePHTGL_ApproveBycontractId(rowID); var ContractModel = BLL.ContractService.GetContractById(p.ContractId); ContractModel.ApproveState = Const.ContractCreating; ContractService.UpdateContract(ContractModel); BLL.PHTGL_ContractReviewService.DeletePHTGL_ContractReviewById(rowID); } } } BindGrid(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } /// /// 判断是否可以删除 /// /// private bool judgementDelete(string id, bool isShow) { string content = string.Empty; if (string.IsNullOrEmpty(content)) { return true; } else { if (isShow) { Alert.ShowInTop(content); } return false; } } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { if (Request.Params["value"] == "0") { return; } var buttonList = CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.PersonId, Const.ContractReview); if (buttonList.Count() > 0) { if (buttonList.Contains(Const.BtnAdd)) { // btnNew.Hidden = false; } if (buttonList.Contains(Const.BtnModify)) { btnMenuEdit.Hidden = false; } if (buttonList.Contains(Const.BtnDelete)) { btnDelete.Hidden = false; } } } #endregion protected void btnPrinter_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string Id = Grid1.SelectedRowID; //ContractReview contractReview = new ContractReview(); //contractReview.Print(Id); BLL.PHTGL_ContractReviewService.Print(Id); } protected void btnPrinterWord_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string Id = Grid1.SelectedRowID; btnPrinterWord.EnablePress = false; ContractId = BLL.PHTGL_ContractReviewService.GetPHTGL_ContractReviewById(Id).ContractId; var Con = BLL.ContractService.GetContractById(ContractId); if (Con.IsUseStandardtxt == 2 || Con.ContractAttribute == 1) { PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/ContractAttachUrl&menuId={1}", ContractId, BLL.Const.ContractFormation))); } else { //ContractReview contractReview = new ContractReview(); //contractReview.printContractAgreement(ContractId); BLL.PHTGL_ContractReviewService.printContractAgreement(ContractId); } } } }