using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.IO; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.DocManage { public partial class DocManage : PageBase { #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { if (Request.Params["value"] == "0") { return; } var buttonList = CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.UserId, Const.DocManageMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(Const.BtnAdd)) { btnNew.Hidden = false; } if (buttonList.Contains(Const.BtnModify)) { btnMenuModify.Hidden = false; // btnPrint.Hidden = false; } if (buttonList.Contains(Const.BtnDelete)) { btnMenuDel.Hidden = false; } } } #endregion /// /// 文档主键 /// public string DocId { get { return (string)ViewState["DocId"]; } set { ViewState["DocId"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { UnitService.GetUnit(drpSendUnit, CurrUser.LoginProjectId, true); UnitService.GetUnit(drpReceivUnit, CurrUser.LoginProjectId, true); UserService.InitUserDropDownList(drpCompileMan, CurrUser.LoginProjectId, true); UserService.InitUserDropDownList(drpAcceptMan, CurrUser.LoginProjectId, true); DocTypeService.InitDocTypeDropDownList(drpDocType, true); //CNProfessionalService.InitCNProfessionalDownList(drpCNProfessional, true); DocManageService.InitDocState(this.drpState, true); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); btnNew.OnClientClick = Window1.GetShowReference("DocManageEdit.aspx") + "return false;"; GetButtonPower(); BindData(); } } private void BindData() { string strSql = @"SELECT doc.DocId,doc.ProjectId,doc.DocCode,doc.DocName,doc.ProjectSubjectId,unit.UnitName as SendUnitName,doc.ReceivUnitIds,docType.DocTypeName," + @" doc.CompileMan,doc.CompileDate,CNProfessional.ProfessionalName,doc.State,u.userName" + @" FROM Doc_DocManage doc " + @" left join Base_Unit unit on unit.unitId=doc.SendUnitId " + @" left join Base_DocType docType on docType.DocTypeId=doc.DocTypeId " + @" left join Base_CNProfessional CNProfessional on CNProfessional.CNProfessionalId=doc.CNProfessionalId " + @" left join sys_User u on u.userId = doc.CompileMan" + @" where doc.ProjectId=@ProjectId"; List listStr = new List(); listStr.Add(new SqlParameter("@ProjectId", CurrUser.LoginProjectId)); strSql += " AND (doc.CompileDate>=@startTime or @startTime='') and (doc.CompileDate<=@endTime or @endTime='') "; listStr.Add(new SqlParameter("@startTime", !string.IsNullOrEmpty(txtStartTime.Text.Trim()) ? txtStartTime.Text.Trim() + " 00:00:00" : "")); listStr.Add(new SqlParameter("@endTime", !string.IsNullOrEmpty(txtEndTime.Text.Trim()) ? txtEndTime.Text.Trim() + " 23:59:59" : "")); var unit = BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId); if (unit != null && unit.UnitTypeId != BLL.Const.ProjectUnitType_4) { strSql += " AND (doc.ReceivUnitIds like @ReceivUnitId or doc.SendUnitId = @SendUnitId )"; if (string.IsNullOrEmpty(this.CurrUser.UnitId)) { return; } listStr.Add(new SqlParameter("@SendUnitId", this.CurrUser.UnitId)); listStr.Add(new SqlParameter("@ReceivUnitId", "%" + this.CurrUser.UnitId + "%")); } if (drpSendUnit.SelectedValue != Const._Null) { strSql += " AND doc.SendUnitId=@unitId"; listStr.Add(new SqlParameter("@unitId", drpSendUnit.SelectedValue)); } if (drpReceivUnit.SelectedValue != Const._Null) { strSql += " AND doc.ReceivUnitIds like @unitId2"; listStr.Add(new SqlParameter("@unitId2", "%" + drpReceivUnit.SelectedValue + "%")); } if (drpDocType.SelectedValue != Const._Null) { strSql += " AND doc.DocTypeId=@DocTypeId"; listStr.Add(new SqlParameter("@DocTypeId", drpDocType.SelectedValue)); } //if (drpCNProfessional.SelectedValue != Const._Null) //{ // strSql += " AND doc.CNProfessionalId=@CNProfessionalId "; // listStr.Add(new SqlParameter("@CNProfessionalId", drpCNProfessional.SelectedValue)); //} if (drpState.SelectedValue != Const._Null) { strSql += " AND doc.State=@State"; listStr.Add(new SqlParameter("@State", drpState.SelectedValue)); } if (drpCompileMan.SelectedValue != Const._Null) { strSql += " AND doc.CompileMan=@CompileMan"; listStr.Add(new SqlParameter("@CompileMan", drpCompileMan.SelectedValue)); } if (drpAcceptMan.SelectedValue != Const._Null) { strSql += " AND doc.AcceptMan like @AcceptMan"; listStr.Add(new SqlParameter("@AcceptMan", "%" + drpAcceptMan.SelectedValue + "%")); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); tb = GetFilteredTable(Grid1.FilteredData, tb); var table = GetPagedDataTable(Grid1, tb); Grid1.RecordCount = tb.Rows.Count; Grid1.DataSource = table; Grid1.DataBind(); for (int i = 0; i < Grid1.Rows.Count; i++) { string rowID = Grid1.Rows[i].DataKeys[0].ToString(); Model.Doc_DocManage doc = BLL.DocManageService.GetDocByDocId(rowID); if (doc != null) { if (doc.State != BLL.Const.Doc_State_2 && doc.FinishTime.Value.AddDays(-1) == DateTime.Now.Date) { Grid1.Rows[i].CellCssClasses[8] = "Yellow";//未确认 } else if (doc.State != BLL.Const.Doc_State_2 && doc.FinishTime.Value < DateTime.Now.Date) { Grid1.Rows[i].CellCssClasses[8] = "Red";//未确认 } } } } /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { //Grid1.PageIndex = e.NewPageIndex; BindData(); } /* private void Print(string DocId) { var model = DocManageService.GetDocByDocId(DocId); if (model.State != Const.Doc_State_2) { ShowNotify("当前状态未闭环无法打印", MessageBoxIcon.Warning); return; } DataTable dt = new DataTable(); dt = DocManageApproveService.GetListData(DocId); if (dt.Columns.Count == 0) { dt.Columns.Add("RoleName", typeof(String)); dt.Columns.Add("ApproveMan", typeof(String)); dt.Columns.Add("ApproveDate", typeof(String)); dt.Columns.Add("ApproveIdea", typeof(String)); } var keyValuePairs = BLL.DocManageService.GetPairs(DocId); dt.TableName = "Table1"; BLL.Common.FastReport.ResetData(); BLL.Common.FastReport.AddFastreportTable(dt); BLL.Common.FastReport.AddFastreportParameter(keyValuePairs); string initTemplatePath = "File/Fastreport/新疆文件管理流转表.frx"; string rootPath = Server.MapPath("~/"); if (File.Exists(rootPath + initTemplatePath)) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("../Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath))); } }*/ protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string itemId = Grid1.DataKeys[e.RowIndex][0].ToString(); if (e.CommandName == "AttachUrl") { PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/DocManage&menuId={1}&type=-1", itemId, Const.DocManageMenuId))); // PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/Fileuploader.aspx?toKeyId={0}&path=FileUpload/DocManage&type=-1", itemId, "查看 - "))); }/* else if (e.CommandName == "Print") { Print(itemId); }*/ } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindData(); } protected void btnQuery_Click(object sender, EventArgs e) { BindData(); } protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindData(); } protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } DocId = Grid1.SelectedRowID.Split(',')[0]; Model.Doc_DocManage doc = DocManageService.GetDocByDocId(DocId); Model.Doc_DocManageApprove approve = DocManageApproveService.GetDocManageApproveByDocId(DocId); if (doc.State == Const.Doc_State_2) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DocManageView.aspx?DocId={0}", DocId, "编辑 - "))); return; } if (approve != null) { if (!string.IsNullOrEmpty(approve.ApproveMan)) { if (CurrUser.UserId == approve.ApproveMan || CurrUser.UserId == Const.sysglyId || CurrUser.UserId == Const.hfnbdId) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DocManageEdit.aspx?DocId={0}", DocId, "编辑 - "))); } else { Alert.ShowInTop("您不是当前办理人,无法操作!", MessageBoxIcon.Warning); return; } } } else { Alert.ShowInTop("您不是当前办理人,无法操作!", MessageBoxIcon.Warning); return; } } protected void btnMenuModify_Click(object sender, EventArgs e) { Grid1_RowDoubleClick(null, null); } /*protected void btnbtnPrint_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } DocId = Grid1.SelectedRowID.Split(',')[0]; Print(DocId); }*/ protected void btnMenuView_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } DocId = Grid1.SelectedRowID.Split(',')[0]; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DocManageView.aspx?DocId={0}", DocId, "查看 - "))); } protected void btnMenuDel_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } DocId = Grid1.SelectedRowID.Split(',')[0]; var code = DocManageService.GetDocByDocId(DocId).DocCode; //BLL.AttachFileService.DeleteAttachFile(Funs.RootPath, DocId, Const.DocManageMenuId);//删除附件 // AttachFileDetailService.DeleteFileByToKeyId(DocId);//删除附件 DocManageApproveService.DeleteDocManageApprovesByDocId(DocId); DocManageService.DeleteDoc(DocId); LogService.AddSys_Log(CurrUser, code, DocId, Const.DocManageMenuId, "删除文档"); BindData(); Alert.ShowInTop("删除成功!", MessageBoxIcon.Success); } protected void btnRset_Click(object sender, EventArgs e) { txtStartTime.Text = ""; txtEndTime.Text = ""; drpSendUnit.SelectedIndex = 0; drpReceivUnit.SelectedIndex = 0; drpDocType.SelectedIndex = 0; //drpCNProfessional.SelectedIndex = 0; drpState.SelectedIndex = 0; BindData(); } } }