using BLL; using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.IO; using System.Linq; using System.Text; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.SES { public partial class ContractorQualification : PageBase { protected void Page_Load(object sender, EventArgs e) { FilterDataRowItem = FilterDataRowItemImplement; if (!IsPostBack) { ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); BLL.ContractorService.InitDropDownList(this.drpContractor, true); GetButtonPower();//权限设置 // 绑定表格 BindGrid(); } else if (GetRequestEventArgument() == "FilterChange") { BindGrid(); } } private void BindGrid() { string cruUserId = CurrUser.UserId; //var user = BLL.Sys_UserService.GetUsersByUserId(cruUser); string strSql = @"SELECT * from View_FC_SESRelatedData WHERE 1=1 "; List listStr = new List(); if (!string.IsNullOrEmpty(hdConstRecords.Text.Trim())) { strSql += " AND ConstRecords =@ConstRecords"; listStr.Add(new SqlParameter("@ConstRecords", this.hdConstRecords.Text.Trim())); } if (!string.IsNullOrEmpty(hdFoNo.Text.Trim())) { strSql += " AND FO_NO LIKE @FO_NO"; listStr.Add(new SqlParameter("@FO_NO", "%" + this.hdFoNo.Text.Trim() + "%")); } if (!string.IsNullOrEmpty(txtFO.Text.Trim())) { strSql += " AND FO_NO LIKE @FO"; listStr.Add(new SqlParameter("@FO", "%" + this.txtFO.Text.Trim() + "%")); } if (!string.IsNullOrEmpty(hdDiscipline.Text.Trim())) { strSql += " AND DisciplineId =@disciplineId"; listStr.Add(new SqlParameter("@disciplineId", hdDiscipline.Text.Trim())); } if (!string.IsNullOrEmpty(this.hdContractor.Text.Trim())) { strSql += " AND ContractorId =@ContractorId"; listStr.Add(new SqlParameter("@ContractorId", this.hdContractor.Text.Trim())); } if (drpContractor.SelectedValue != Const._Null) { strSql += " AND ContractorId =@con"; listStr.Add(new SqlParameter("@con", drpContractor.SelectedValue)); } if (!string.IsNullOrEmpty(this.hdContractAdmin.Text.Trim())) { strSql += " AND Contract_AdminId =@Contract_Admin"; listStr.Add(new SqlParameter("@Contract_Admin", this.hdContractAdmin.Text.Trim())); } if (!string.IsNullOrEmpty(this.hdBuyer.Text.Trim())) { strSql += " AND Buyer=@Buyer"; listStr.Add(new SqlParameter("@Buyer", this.hdBuyer.Text.Trim())); } if (!string.IsNullOrEmpty(this.hdMainCoord.Text.Trim())) { strSql += " AND Main_CoordinatorId =@Main_Coordinator"; listStr.Add(new SqlParameter("@Main_Coordinator", this.hdMainCoord.Text.Trim())); } if (!string.IsNullOrEmpty(this.hdMCDepartment.Text.Trim())) { strSql += " AND MCDept=@MCDept"; listStr.Add(new SqlParameter("@MCDept", this.hdMCDepartment.Text.Trim())); } if (!string.IsNullOrEmpty(this.hdFCStatus.Text.Trim())) { strSql += " AND FC_Status=@FC_Status"; listStr.Add(new SqlParameter("@FC_Status", this.hdFCStatus.Text.Trim())); } if (!string.IsNullOrEmpty(this.hdFoType.Text.Trim())) { strSql += " AND FOTypeId=@FOTypeId"; listStr.Add(new SqlParameter("@FOTypeId", this.hdFoType.Text.Trim())); } if (!GetButtonPowerList().Contains("View")) { strSql += " AND Main_CoordinatorId =@Main_Coordinator"; listStr.Add(new SqlParameter("@Main_Coordinator", cruUserId)); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table.DefaultView; Grid1.DataBind(); } #region 过滤表头 /// /// 过滤表头 /// /// /// protected void Grid1_FilterChange(object sender, EventArgs e) { BindGrid(); } /// /// 根据表头信息过滤列表数据 /// /// /// /// /// /// private bool FilterDataRowItemImplement(object sourceObj, string fillteredOperator, object fillteredObj, string column) { bool valid = false; if (column == "FO_NO") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "FOType") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Contract_Title") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Pricing_Scheme") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Contractor") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Vendor_NO") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Item") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Discipline") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "DisciplineCategory") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Currency") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Material_Group") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Purchase_Group") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Cost_Element") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Type") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Contract_Admin") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Buyer") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Main_Coordinator") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "MCDept") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "User_Representative") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Valid_Date") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Expire_Date") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "FC_Status") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Contract_Person") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Cost_Checker") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Contract_Tel") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "VolumeAllocation") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Actual_Budget") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ConnectedTransaction") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "CheckedValue") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "RemainingBudget") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "RemainingBudgetRate") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "RemainingDuration") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "Email") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "MainHead") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "MainHeadPosition") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "MainHeadContact") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "SafetyOfficer") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "SafetyOfficerPosition") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "SafetyOfficerContact") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ProjectManager") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ProjectManagerPosition") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ProjectManagerContact") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } if (column == "ConstRecords") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal" && sourceValue == fillteredValue) { valid = true; } else if (fillteredOperator == "contain" && sourceValue.Contains(fillteredValue)) { valid = true; } } return valid; } #endregion #region 分页、排序 /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; 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) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 查询 /// /// 查询 /// /// /// protected void Text_TextChanged(object sender, EventArgs e) { BindGrid(); } protected void btnFind_Click(object sender, EventArgs e) { BindGrid(); } #endregion #region 关闭弹出窗口 /// /// 关闭窗口 /// /// /// protected void Window1_Close(object sender, EventArgs e) { string str = hdQuetype.Text; if (str == "1") { BindGridTab(Grid1.SelectedRowID, str, GridBL); } if (str == "2") { BindGridTab(Grid1.SelectedRowID, str, GridPQ); } if (str == "3") { BindGridTab(Grid1.SelectedRowID, str, GridSQ); } if (str == "4") { BindGridTab(Grid1.SelectedRowID, str, GridGC); } } protected void WindowAtt_Close(object sender, EventArgs e) { } #endregion #region 行绑定后事件 /// /// 行绑定后事件 /// /// /// protected void Grid1_RowDataBound(object sender, GridRowEventArgs e) { DataRowView row = e.DataItem as DataRowView; string id = row["ID"].ToString(); //for (int i = 0; i < this.Grid1.Rows.Count; i++) //{ if (!string.IsNullOrEmpty(id)) { var data = BLL.SESRelatedDataService.GetSESRelatedDataById(id); if (data != null) { if (data.Expire_Date.HasValue) { if (data.Expire_Date < DateTime.Now)//过期 { e.RowCssClass = "color2"; } else if (data.Expire_Date.Value.AddMonths(-6) <= DateTime.Now && data.Expire_Date > DateTime.Now)//六个月后过期 { e.RowCssClass = "color1"; } } if (data.FC_Status == "Closed") { e.RowCssClass = "color2"; } //Remaining Budget/Contract Budget<10 显示红色 var checkedValue = BLL.SESReportService.getSumSSRActualCostByFo(data.FO_NO); var remainmingBudget = data.Actual_Budget - checkedValue; if (data.Actual_Budget > 0) { var remainmingBudgetRate = remainmingBudget / data.Actual_Budget * 100; if (remainmingBudgetRate < 10) { e.CellCssClasses[30] = "colorRed"; } } //如果(合同过期日-今天)/(合同生效总天数)<10显示红色 if (data.Validate_Date.HasValue && data.Expire_Date.HasValue) { decimal a = (data.Expire_Date - DateTime.Now).Value.Days; decimal b = (data.Expire_Date - data.Validate_Date).Value.Days;//合同生效总天数 if (b > 0) { decimal c = a / b * 100; if (c < 10) { e.CellCssClasses[31] = "colorRed"; } } } } } //} } #endregion #region 查询 /// /// 查询 /// /// /// protected void btnSearch_Click(object sender, EventArgs e) { string s = this.hdConstRecords.Text.Trim() + "|" + this.hdFoNo.Text.Trim() + "|" + this.hdDiscipline.Text.Trim() + "|" + this.hdContractor.Text.Trim() + "|" + this.hdContractAdmin.Text.Trim() + "|" + this.hdBuyer.Text.Trim() + "|" + this.hdMainCoord.Text.Trim() + "|" + this.hdMCDepartment.Text.Trim() + "|" + this.hdFCStatus.Text.Trim() + "|" + this.hdFoType.Text.Trim() + "|"; string window = String.Format("SESRelatedDataSearch.aspx?s={0}", s, "查询 - "); PageContext.RegisterStartupScript(Window3.GetSaveStateReference(hdItemsString.ClientID) + Window3.GetShowReference(window)); } /// /// 查询返回值 /// /// /// protected void Window3_Close(object sender, WindowCloseEventArgs e) { List lists = Funs.GetStrListByStr(hdItemsString.Text, '|'); this.hdConstRecords.Text = lists[0]; this.hdFoNo.Text = lists[1]; this.hdDiscipline.Text = lists[2]; this.hdContractor.Text = lists[3]; this.hdContractAdmin.Text = lists[4]; this.hdBuyer.Text = lists[5]; this.hdMainCoord.Text = lists[6]; this.hdMCDepartment.Text = lists[7]; this.hdFCStatus.Text = lists[8]; this.hdFoType.Text = lists[9]; BindGrid(); } #endregion #region Grid行点击事件 /// ///Grid行点击事件 /// /// /// protected void Grid1_RowSelect(object sender, GridRowSelectEventArgs e) { this.hdID.Text = this.Grid1.SelectedRowID; if (!string.IsNullOrEmpty(this.hdID.Text)) { var sESRelatedData = BLL.SESRelatedDataService.GetSESRelatedDataById(this.hdID.Text); if (sESRelatedData != null) { GetButtonPower();//权限设置 string cruUser = CurrUser.UserId; string[] mcdeptLeader = null; if (!string.IsNullOrEmpty(sESRelatedData.Applicant)) { string depName = string.Empty; if (sESRelatedData.Applicant.Contains("/")) { depName = sESRelatedData.Applicant.Split('/')[0]; } else { depName = sESRelatedData.Applicant; } var dep = from x in Funs.DB.Base_Depart where (x.DepartName == depName || x.DepartName == sESRelatedData.Applicant) && x.DepartLeader != null select x; if (dep.Count() > 0) { if (!string.IsNullOrEmpty(dep.First().DepartLeader)) { mcdeptLeader = dep.Select(x => x.DepartLeader).ToArray(); } } } if ((!string.IsNullOrEmpty(sESRelatedData.User_Representative) && sESRelatedData.User_Representative.Contains(cruUser)) || (!string.IsNullOrEmpty(sESRelatedData.Main_Coordinator) && sESRelatedData.Main_Coordinator.Contains(cruUser)) || (mcdeptLeader != null && mcdeptLeader.Contains(cruUser)) || cruUser == Const.GlyId) { TabBL.Hidden = false; //TabManagement.Hidden = false; this.TabStrip1.ActiveTabIndex = 0; } //var foType = BLL.FOTypeService.GetFoTypeById(sESRelatedData.FOTypeId); //if (foType != null && foType.FOType.Contains("TAR")) //{ // var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.SESRelatedDateMenuId); // if (buttonList.Contains(Const.BtnTARSignedView)) // { // TabSigned.Hidden = false; // } // if (buttonList.Contains(Const.BtnTARManageView)) // { // TabManagement.Hidden = false; // } // this.TabStrip1.ActiveTabIndex = 0; //} if (this.TabStrip1.ActiveTabIndex == 0) { BindGridTab(hdID.Text.Trim(), "1", GridBL); } else if (this.TabStrip1.ActiveTabIndex == 1) { BindGridTab(hdID.Text.Trim(), "2", GridPQ); } else if (this.TabStrip1.ActiveTabIndex == 2) { BindGridTab(hdID.Text.Trim(), "3", GridSQ); } else if (this.TabStrip1.ActiveTabIndex == 3) { BindGridTab(hdID.Text.Trim(), "4", GridGC); } } } } #endregion #region 选项卡信息绑定 private void BindGridTab(string foId, string queType, Grid grid) { string strSql = @"SELECT QueId,FoId,QueName,QueDef,QueType,AttachUrl,Remark, FORMAT(LimitStartDate, 'yyyy-MM-dd') AS LimitStartDate, FORMAT(LimitEndDate, 'yyyy-MM-dd') AS LimitEndDate FROM dbo.EMC_Contractor_Qualification WHERE FoId=@FoId AND QueType=@QueType "; List listStr = new List(); listStr.Add(new SqlParameter("@FoId", foId)); listStr.Add(new SqlParameter("@QueType", queType)); if (queType == "1" && txtQueName1.Text != string.Empty) { strSql += " AND QueName LIKE @QueName"; listStr.Add(new SqlParameter("@QueName", "%" + this.txtQueName1.Text.Trim() + "%")); } if (queType == "2" && txtQueName2.Text != string.Empty) { strSql += " AND QueName LIKE @QueName"; listStr.Add(new SqlParameter("@QueName", "%" + this.txtQueName2.Text.Trim() + "%")); } if (queType == "1" && txtQueName3.Text != string.Empty) { strSql += " AND QueName LIKE @QueName"; listStr.Add(new SqlParameter("@QueName", "%" + this.txtQueName3.Text.Trim() + "%")); } if (queType == "1" && txtQueName4.Text != string.Empty) { strSql += " AND QueName LIKE @QueName"; listStr.Add(new SqlParameter("@QueName", "%" + this.txtQueName4.Text.Trim() + "%")); } strSql += " ORDER BY LimitStartDate DESC"; SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); grid.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(grid, tb); grid.DataSource = table; grid.DataBind(); for (int i = 0; i < grid.Rows.Count; i++) { System.Web.UI.WebControls.LinkButton lbtnUrl = new System.Web.UI.WebControls.LinkButton(); if (queType == "1") { lbtnUrl = ((System.Web.UI.WebControls.LinkButton)(grid.Rows[i].FindControl("lbtnUrl1"))); } if (queType == "2") { lbtnUrl = ((System.Web.UI.WebControls.LinkButton)(grid.Rows[i].FindControl("lbtnUrl2"))); } if (queType == "3") { lbtnUrl = ((System.Web.UI.WebControls.LinkButton)(grid.Rows[i].FindControl("lbtnUrl3"))); } if (queType == "4") { lbtnUrl = ((System.Web.UI.WebControls.LinkButton)(grid.Rows[i].FindControl("lbtnUrl4"))); } string url = lbtnUrl.CommandArgument.ToString(); if (!string.IsNullOrEmpty(url)) { url = url.Replace('\\', '/'); lbtnUrl.Text = BLL.UploadAttachmentService.ShowAttachment("../", url); } } } #endregion #region 选项卡里查询 protected void btnQueFind1_Click(object sender, EventArgs e) { BindGridTab(hdID.Text.Trim(), "1", GridBL); } protected void btnQueFind2_Click(object sender, EventArgs e) { BindGridTab(hdID.Text.Trim(), "2", GridPQ); } protected void btnQueFind3_Click(object sender, EventArgs e) { BindGridTab(hdID.Text.Trim(), "3", GridSQ); } protected void btnQueFind4_Click(object sender, EventArgs e) { BindGridTab(hdID.Text.Trim(), "4", GridGC); } #endregion #region 选项卡改变事件 /// /// 选项卡改变事件 /// /// /// protected void TabStrip1_TabIndexChanged(object sender, EventArgs e) { this.hdID.Text = string.Empty; if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID)) { this.hdID.Text = this.Grid1.SelectedRowID; } else { if (!string.IsNullOrEmpty(Grid1.Rows[0].RowID)) { this.hdID.Text = Grid1.Rows[0].RowID; } } if (!string.IsNullOrEmpty(this.hdID.Text)) { var sESRelatedData = BLL.SESRelatedDataService.GetSESRelatedDataById(this.hdID.Text); if (sESRelatedData != null) { string cruUser = CurrUser.UserId; string mcdeptLeader = string.Empty; if (this.TabStrip1.ActiveTabIndex == 0) { Window1.Title = "营业执照"; BindGridTab(hdID.Text.Trim(), "1", GridBL); } else if (this.TabStrip1.ActiveTabIndex == 1) { Window1.Title = "专业资质"; BindGridTab(hdID.Text.Trim(), "2", GridPQ); } else if (this.TabStrip1.ActiveTabIndex == 2) { Window1.Title = "安全资质"; BindGridTab(hdID.Text.Trim(), "3", GridSQ); } else if (this.TabStrip1.ActiveTabIndex == 3) { Window1.Title = "环保资质"; BindGridTab(hdID.Text.Trim(), "4", GridGC); } } } } #endregion #region 选项卡增加 protected void AddQue1_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select FC Record!"); return; } string foId = Grid1.SelectedRowID; string window = String.Format("ContractorQualificationEdit.aspx?quetype=1&foId={0}", foId, "增加 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdQuetype.ClientID) + Window1.GetShowReference(window)); } protected void AddQue2_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select FC Record!"); return; } string foId = Grid1.SelectedRowID; string window = String.Format("ContractorQualificationEdit.aspx?quetype=2&foId={0}", foId, "增加 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdQuetype.ClientID) + Window1.GetShowReference(window)); } protected void AddQue3_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select FC Record!"); return; } string foId = Grid1.SelectedRowID; string window = String.Format("ContractorQualificationEdit.aspx?quetype=3&foId={0}", foId, "增加 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdQuetype.ClientID) + Window1.GetShowReference(window)); } protected void AddQue4_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select FC Record!"); return; } string foId = Grid1.SelectedRowID; string window = String.Format("ContractorQualificationEdit.aspx?quetype=4&foId={0}", foId, "增加 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdQuetype.ClientID) + Window1.GetShowReference(window)); } #endregion #region 选项卡双击 protected void GridBL_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnMenuEdit1_Click(null, null); } protected void GridPQ_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnMenuEdit2_Click(null, null); } protected void GridSQ_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnMenuEdit3_Click(null, null); } protected void GridGC_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnMenuEdit4_Click(null, null); } #endregion #region 选项卡编辑 protected void btnMenuEdit1_Click(object sender, EventArgs e) { if (GridBL.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select at least one record!"); return; } string queId = GridBL.SelectedRowID; string window = String.Format("ContractorQualificationEdit.aspx?queId={0}", queId, "编辑 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdQuetype.ClientID) + Window1.GetShowReference(window)); } protected void btnMenuEdit2_Click(object sender, EventArgs e) { if (GridPQ.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select at least one record!"); return; } string queId = GridPQ.SelectedRowID; string window = String.Format("ContractorQualificationEdit.aspx?queId={0}", queId, "编辑 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdQuetype.ClientID) + Window1.GetShowReference(window)); } protected void btnMenuEdit3_Click(object sender, EventArgs e) { if (GridSQ.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select at least one record!"); return; } string queId = GridSQ.SelectedRowID; string window = String.Format("ContractorQualificationEdit.aspx?queId={0}", queId, "编辑 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdQuetype.ClientID) + Window1.GetShowReference(window)); } protected void btnMenuEdit4_Click(object sender, EventArgs e) { if (GridGC.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("Please select at least one record!"); return; } string queId = GridGC.SelectedRowID; string window = String.Format("ContractorQualificationEdit.aspx?queId={0}", queId, "编辑 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdQuetype.ClientID) + Window1.GetShowReference(window)); } #endregion #region 选项卡删除 protected void btnMenuDelete1_Click(object sender, EventArgs e) { if (GridBL.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in GridBL.SelectedRowIndexArray) { string rowID = GridBL.DataKeys[rowIndex][0].ToString(); DeleteQua(rowID); } BindGridTab(this.hdID.Text,"1", GridBL); BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Delete Contractor Qualification"); ShowNotify("Deleted successfully!"); } } protected void btnMenuDelete2_Click(object sender, EventArgs e) { if (GridPQ.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in GridPQ.SelectedRowIndexArray) { string rowID = GridPQ.DataKeys[rowIndex][0].ToString(); DeleteQua(rowID); } BindGridTab(this.hdID.Text, "2", GridPQ); BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Delete Contractor Qualification"); ShowNotify("Deleted successfully!"); } } protected void btnMenuDelete3_Click(object sender, EventArgs e) { if (GridSQ.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in GridSQ.SelectedRowIndexArray) { string rowID = GridSQ.DataKeys[rowIndex][0].ToString(); DeleteQua(rowID); } BindGridTab(this.hdID.Text, "3", GridSQ); BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Delete Contractor Qualification"); ShowNotify("Deleted successfully!"); } } protected void btnMenuDelete4_Click(object sender, EventArgs e) { if (GridGC.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in GridGC.SelectedRowIndexArray) { string rowID = GridGC.DataKeys[rowIndex][0].ToString(); DeleteQua(rowID); } BindGridTab(this.hdID.Text, "4", GridGC); BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Delete Contractor Qualification"); ShowNotify("Deleted successfully!"); } } private void DeleteQua(string queId) { Model.EMC_Contractor_Qualification que = Funs.DB.EMC_Contractor_Qualification.FirstOrDefault(x => x.QueId == queId); if (que != null) { Funs.DB.EMC_Contractor_Qualification.DeleteOnSubmit(que); Funs.DB.SubmitChanges(); } } #endregion #region 选项卡导出按钮 /// 导出按钮 /// /// /// protected void btnOut1_Click(object sender, EventArgs e) { Response.ClearContent(); string filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("Business License_" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Write(GetGridTableHtml(GridBL, "1")); Response.End(); } protected void btnOut2_Click(object sender, EventArgs e) { Response.ClearContent(); string filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("Professional Qualification_" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Write(GetGridTableHtml(GridPQ, "2")); Response.End(); } protected void btnOut3_Click(object sender, EventArgs e) { Response.ClearContent(); string filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("Safety Qualification_" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Write(GetGridTableHtml(GridSQ, "3")); Response.End(); } protected void btnOut4_Click(object sender, EventArgs e) { Response.ClearContent(); string filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("Green Credential_" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Write(GetGridTableHtml(GridGC, "4")); Response.End(); } /// /// 导出方法 /// /// /// private string GetGridTableHtml(Grid grid, string falg) { StringBuilder sb = new StringBuilder(); grid.PageSize = 10000; BindGrid(); sb.Append(""); sb.Append(""); sb.Append(""); foreach (GridColumn column in grid.Columns) { if (column.ColumnID != "tfAttachUrl") { sb.AppendFormat("", column.HeaderText); } } sb.Append(""); foreach (GridRow row in grid.Rows) { sb.Append(""); foreach (GridColumn column in grid.Columns) { string html = row.Values[column.ColumnIndex].ToString(); if (column.ColumnID == "tfNumber") { if (falg == "1") { html = (row.FindControl("labNumber1") as AspNet.Label).Text; } if (falg == "2") { html = (row.FindControl("labNumber2") as AspNet.Label).Text; } if (falg == "3") { html = (row.FindControl("labNumber3") as AspNet.Label).Text; } if (falg == "4") { html = (row.FindControl("labNumber4") as AspNet.Label).Text; } } if (column.ColumnID != "tfAttachUrl") { sb.AppendFormat("", html); } } sb.Append(""); } sb.Append("
{0}
{0}
"); return sb.ToString(); } #endregion #region 导出 /// /// 导出 /// /// /// protected void btnExport_Click(object sender, EventArgs e) { string rootPath = Server.MapPath("~/") + Const.ExcelUrl; //模板文件 string TempletFileName = rootPath + "Contractor_Qualification.xlsx"; //导出文件 string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string ReportFileName = filePath + "out.xls"; FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read); XSSFWorkbook hssfworkbook = new XSSFWorkbook(file); XSSFSheet wsMonth = (XSSFSheet)hssfworkbook.GetSheet("Sheet1"); #region 样式 // 字体样式 IFont font = hssfworkbook.CreateFont(); font.FontHeightInPoints = 11; font.IsBold = false; font.FontName = "Arial"; ICellStyle fontStyle = hssfworkbook.CreateCellStyle(); fontStyle.SetFont(font); ICellStyle yearStyle = hssfworkbook.CreateCellStyle(); yearStyle.VerticalAlignment = VerticalAlignment.Center; yearStyle.Alignment = HorizontalAlignment.Center; yearStyle.SetFont(font); //创建单元格样式 XSSFCellStyle backgroundstyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle(); //填充模式 backgroundstyle.FillPattern = FillPattern.SolidForeground; //创建颜色 XSSFColor xssfcolor = new XSSFColor(); //rbg值 byte[] rgb = { (byte)255, (byte)192, (byte)203 }; //写入rgb 粉色背景颜色定义 xssfcolor.SetRgb(rgb); //设置颜色值 backgroundstyle.SetFillForegroundColor(xssfcolor); backgroundstyle.SetFont(font); #endregion Grid1.PageSize = 10000; BindGrid(); if (Grid1.Rows.Count > 0) { var rowIndex = 1; for (int i=0; i < Grid1.Rows.Count; i++) { int rowID = Convert.ToInt32(Grid1.DataKeys[i][0]); var queList = from x in Funs.DB.EMC_Contractor_Qualification join y in Funs.DB.FC_SESRelatedData on x.FoId equals y.ID where x.FoId == rowID orderby x.QueType, x.LimitStartDate select new { x.FoId, y.FO_NO, x.QueName, x.QueDef, x.QueType, x.LimitStartDate, x.LimitEndDate, x.Remark }; foreach (var item in queList) { if (wsMonth.GetRow(rowIndex) == null) wsMonth.CreateRow(rowIndex); #region 列赋值 if (wsMonth.GetRow(rowIndex).GetCell(0) == null) wsMonth.GetRow(rowIndex).CreateCell(0); wsMonth.GetRow(rowIndex).GetCell(0).SetCellValue(item.FO_NO); wsMonth.GetRow(rowIndex).GetCell(0).CellStyle = fontStyle; if (wsMonth.GetRow(rowIndex).GetCell(1) == null) wsMonth.GetRow(rowIndex).CreateCell(1); wsMonth.GetRow(rowIndex).GetCell(1).SetCellValue(item.QueName); wsMonth.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; if (wsMonth.GetRow(rowIndex).GetCell(2) == null) wsMonth.GetRow(rowIndex).CreateCell(2); string queType = string.Empty; if (item.QueType == "1") { queType = "营业执照"; } if (item.QueType == "2") { queType = "专业资质"; } if (item.QueType == "3") { queType = "安全资质"; } if (item.QueType == "4") { queType = "环保资质"; } wsMonth.GetRow(rowIndex).GetCell(2).SetCellValue(queType); wsMonth.GetRow(rowIndex).GetCell(2).CellStyle = fontStyle; if (wsMonth.GetRow(rowIndex).GetCell(3) == null) wsMonth.GetRow(rowIndex).CreateCell(3); wsMonth.GetRow(rowIndex).GetCell(3).SetCellValue(item.QueDef); wsMonth.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; if (wsMonth.GetRow(rowIndex).GetCell(4) == null) wsMonth.GetRow(rowIndex).CreateCell(4); wsMonth.GetRow(rowIndex).GetCell(4).SetCellValue(item.LimitStartDate.HasValue ? item.LimitStartDate.Value.ToString("yyyy-MM-dd") : ""); wsMonth.GetRow(rowIndex).GetCell(4).CellStyle = fontStyle; if (wsMonth.GetRow(rowIndex).GetCell(5) == null) wsMonth.GetRow(rowIndex).CreateCell(5); wsMonth.GetRow(rowIndex).GetCell(5).SetCellValue(item.LimitEndDate.HasValue ? item.LimitEndDate.Value.ToString("yyyy-MM-dd") : ""); wsMonth.GetRow(rowIndex).GetCell(5).CellStyle = fontStyle; if (wsMonth.GetRow(rowIndex).GetCell(6) == null) wsMonth.GetRow(rowIndex).CreateCell(6); wsMonth.GetRow(rowIndex).GetCell(6).SetCellValue(item.Remark); rowIndex++; } #endregion } } wsMonth.ForceFormulaRecalculation = true; using (FileStream filess = File.OpenWrite(ReportFileName)) { hssfworkbook.Write(filess); } FileInfo filet = new FileInfo(ReportFileName); Response.Clear(); Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF8; // 添加头信息,为"文件下载/另存为"对话框指定默认文件名 Response.AddHeader("Content-Disposition", "attachment; filename=Contractor_Qualification" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx")); // 添加头信息,指定文件大小,让浏览器能够显示下载进度 Response.AddHeader("Content-Length", filet.Length.ToString()); // 指定返回的是一个不能被客户端读取的流,必须被下载 Response.ContentType = "application/ms-excel"; // 把文件流发送到客户端 Response.WriteFile(filet.FullName); // 停止页面的执行 Response.End(); } #endregion #region 权限设置 /// /// 菜单按钮权限 /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.ContractorQualificationMenuId); if (buttonList.Count() > 0) { #region 营业执照 if (buttonList.Contains("BLAdd")) { this.AddQue1.Hidden = false; } if (buttonList.Contains("BLModify")) { this.btnMenuEdit1.Hidden = false; this.GridBL.EnableRowDoubleClickEvent = true; } else { this.GridBL.EnableRowDoubleClickEvent = false; } if (buttonList.Contains("BLDelete")) { this.btnMenuDelete1.Hidden = false; } if (buttonList.Contains("BLExport")) { this.btnOut1.Hidden = false; } if (buttonList.Contains("BLView")) { TabBL.Hidden = false; } else { TabBL.Hidden = true; } #endregion #region 专业资质 if (buttonList.Contains("PQAdd")) { this.AddQue2.Hidden = false; } if (buttonList.Contains("PQModify")) { this.btnMenuEdit2.Hidden = false; this.GridPQ.EnableRowDoubleClickEvent = true; } else { this.GridPQ.EnableRowDoubleClickEvent = false; } if (buttonList.Contains("PQDelete")) { this.btnMenuDelete2.Hidden = false; } if (buttonList.Contains("PQExport")) { this.btnOut2.Hidden = false; } if (buttonList.Contains("PQView")) { TabPQ.Hidden = false; } else { TabPQ.Hidden = true; } #endregion #region 安全资质 if (buttonList.Contains("SQAdd")) { this.AddQue3.Hidden = false; } if (buttonList.Contains("SQModify")) { this.btnMenuEdit3.Hidden = false; this.GridSQ.EnableRowDoubleClickEvent = true; } else { this.GridSQ.EnableRowDoubleClickEvent = false; } if (buttonList.Contains("SQDelete")) { this.btnMenuDelete3.Hidden = false; } if (buttonList.Contains("SQExport")) { this.btnOut3.Hidden = false; } if (buttonList.Contains("SQView")) { TabSQ.Hidden = false; } else { TabSQ.Hidden = true; } #endregion #region 环保资质 if (buttonList.Contains("GCAdd")) { this.AddQue4.Hidden = false; } if (buttonList.Contains("GCModify")) { this.btnMenuEdit4.Hidden = false; this.GridGC.EnableRowDoubleClickEvent = true; } else { this.GridGC.EnableRowDoubleClickEvent = false; } if (buttonList.Contains("GCDelete")) { this.btnMenuDelete4.Hidden = false; } if (buttonList.Contains("GCExport")) { this.btnOut4.Hidden = false; } if (buttonList.Contains("GCView")) { TabGC.Hidden = false; } else { TabGC.Hidden = true; } #endregion //if (buttonList.Contains(BLL.Const.BtnOut)) //{ // this.btnExport.Hidden = false; //} } } private List GetButtonPowerList() { return BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.ContractorQualificationMenuId); } #endregion } }