2021-04-30 10:28:37 +08:00
using BLL ;
using System ;
using System.Collections.Generic ;
using System.Data ;
using System.Data.SqlClient ;
using System.Linq ;
using System.Web ;
using System.Web.UI ;
using System.Web.UI.WebControls ;
namespace FineUIPro.Web.CQMS.DataBase
{
public partial class ConstructionStandardListProject : PageBase
{
2021-08-13 11:15:59 +08:00
/// <summary>
/// 被选择项列表
/// </summary>
public List < string > SelectedList
{
get
{
return ( List < string > ) ViewState [ "SelectedList" ] ;
}
set
{
ViewState [ "SelectedList" ] = value ;
}
}
/// <summary>
/// 未被选择项列表
/// </summary>
public List < string > NoSelectedList
{
get
{
return ( List < string > ) ViewState [ "NoSelectedList" ] ;
}
set
{
ViewState [ "NoSelectedList" ] = value ;
}
}
2021-04-30 10:28:37 +08:00
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
2021-08-13 11:15:59 +08:00
this . SelectedList = new List < string > ( ) ;
this . NoSelectedList = new List < string > ( ) ;
2021-04-30 10:28:37 +08:00
GetButtonPower ( ) ;
InitTreeMenu ( ) ;
BindGrid ( ) ;
}
}
#region 加 载 树
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu ( )
{
this . tvControlItem . Nodes . Clear ( ) ;
var pro = BLL . ConstValue . drpConstItemList ( ConstValue . GroupId_StandardType ) ;
if ( pro . Count ( ) > 0 )
{
foreach ( var item in pro )
{
TreeNode tn = new TreeNode ( ) ;
tn . Text = item . ConstText ;
tn . NodeID = item . ConstValue ;
tn . ToolTip = item . ConstText ;
tn . EnableClickEvent = true ;
this . tvControlItem . Nodes . Add ( tn ) ;
}
}
}
#endregion
#region 树 点 击 事 件
/// <summary>
/// Tree点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand ( object sender , TreeCommandEventArgs e )
{
2021-08-13 11:15:59 +08:00
for ( int i = 0 ; i < this . Grid1 . Rows . Count ; i + + )
{
if ( this . Grid1 . SelectedRowIDArray . Contains ( this . Grid1 . Rows [ i ] . RowID ) )
{
SelectedList . Add ( this . Grid1 . Rows [ i ] . RowID ) ;
}
else
{
NoSelectedList . Add ( this . Grid1 . Rows [ i ] . RowID ) ;
}
}
2021-04-30 10:28:37 +08:00
BindGrid ( ) ;
}
#endregion
#region 数 据 绑 定
/// <summary>
/// Grid绑定数据
/// </summary>
private void BindGrid ( )
{
string strSql = @ "SELECT standardList.StandardCode,
standardList . ProjectId ,
standardList . StandardGrade ,
standardList . StandardNo ,
standardList . StandardName ,
standardList . AttachUrl ,
standardList . IsSelected1 ,
standardList . IsSelected2 ,
standardList . IsSelected3 ,
standardList . IsSelected4 ,
standardList . IsSelected5 ,
standardList . IsSelected6 ,
standardList . IsSelected7 ,
standardList . IsSelected8 ,
standardList . IsSelected9 ,
standardList . IsSelected10 ,
2021-08-13 11:15:59 +08:00
standardList . IsChecked ,
2021-04-30 10:28:37 +08:00
standardList . pubDate ,
standardList . ImpDate ,
standardList . ReplaceStandard ,
standardList . Status ,
standardList . UseLevel ,
standardList . StandardType ,
standardList . Memo "
+ @" FROM CQMS_Law_ConstructionStandardListProject AS standardList "
2023-05-08 15:36:58 +08:00
+ @" WHERE standardList.ProjectId=@projectId " ;
2021-04-30 10:28:37 +08:00
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@projectId" , this . CurrUser . LoginProjectId ) ) ;
2023-05-08 15:36:58 +08:00
if ( string . IsNullOrEmpty ( this . txtStandardName . Text . Trim ( ) ) & & string . IsNullOrEmpty ( this . txtStandardGrade . Text . Trim ( ) ) & & string . IsNullOrEmpty ( this . txtStandardNo . Text . Trim ( ) ) )
2021-04-30 10:28:37 +08:00
{
2023-05-08 15:36:58 +08:00
strSql + = " AND standardList.StandardType=@StandardType" ;
listStr . Add ( new SqlParameter ( "@StandardType" , this . tvControlItem . SelectedNodeID ) ) ;
2021-04-30 10:28:37 +08:00
}
2023-05-08 15:36:58 +08:00
else
2021-04-30 10:28:37 +08:00
{
2023-05-08 15:36:58 +08:00
if ( ! string . IsNullOrEmpty ( this . txtStandardName . Text . Trim ( ) ) )
{
strSql + = " AND standardList.StandardName LIKE @StandardName" ;
listStr . Add ( new SqlParameter ( "@StandardName" , "%" + this . txtStandardName . Text . Trim ( ) + "%" ) ) ;
}
if ( ! string . IsNullOrEmpty ( this . txtStandardGrade . Text . Trim ( ) ) )
{
strSql + = " AND standardList.StandardGrade LIKE @StandardGrade" ;
listStr . Add ( new SqlParameter ( "@StandardGrade" , "%" + this . txtStandardGrade . Text . Trim ( ) + "%" ) ) ;
}
if ( ! string . IsNullOrEmpty ( this . txtStandardNo . Text . Trim ( ) ) )
{
strSql + = " AND standardList.StandardNo LIKE @StandardNo" ;
listStr . Add ( new SqlParameter ( "@StandardNo" , "%" + this . txtStandardNo . Text . Trim ( ) + "%" ) ) ;
}
2021-04-30 10:28:37 +08:00
}
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 ;
Grid1 . DataBind ( ) ;
2021-08-13 11:15:59 +08:00
if ( tb . Rows . Count > 0 )
{
List < string > ids = new List < string > ( ) ;
for ( int i = 0 ; i < tb . Rows . Count ; i + + )
{
if ( tb . Rows [ i ] [ 16 ] . ToString ( ) = = "True" )
{
ids . Add ( tb . Rows [ i ] [ 0 ] . ToString ( ) ) ;
}
}
if ( ids . Count ( ) > 0 )
{
this . Grid1 . SelectedRowIDArray = ids . ToArray ( ) ;
}
}
2023-05-08 15:36:58 +08:00
for ( int i = 0 ; i < Grid1 . Rows . Count ; i + + )
{
2023-05-30 17:17:24 +08:00
//var attachFile = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == Grid1.Rows[i].RowID + this.CurrUser.LoginProjectId);
var attachFile = Funs . DB . AttachFile . FirstOrDefault ( x = > x . ToKeyId = = Grid1 . Rows [ i ] . RowID ) ;
2023-05-08 15:36:58 +08:00
if ( attachFile ! = null & & ! string . IsNullOrEmpty ( attachFile . AttachUrl ) )
{
Grid1 . Rows [ i ] . CellCssClasses [ 18 ] = "green" ;
}
}
2021-04-30 10:28:37 +08:00
}
#endregion
#region 分 页
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange ( object sender , GridPageEventArgs e )
{
2021-08-13 11:15:59 +08:00
for ( int i = 0 ; i < this . Grid1 . Rows . Count ; i + + )
{
if ( this . Grid1 . SelectedRowIDArray . Contains ( this . Grid1 . Rows [ i ] . RowID ) )
{
SelectedList . Add ( this . Grid1 . Rows [ i ] . RowID ) ;
}
else
{
NoSelectedList . Add ( this . Grid1 . Rows [ i ] . RowID ) ;
}
}
2021-04-30 10:28:37 +08:00
Grid1 . PageIndex = e . NewPageIndex ;
BindGrid ( ) ;
}
/// <summary>
/// 下拉框分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged ( object sender , EventArgs e )
{
Grid1 . PageSize = Convert . ToInt32 ( ddlPageSize . SelectedValue ) ;
BindGrid ( ) ;
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort ( object sender , FineUIPro . GridSortEventArgs e )
{
Grid1 . SortDirection = e . SortDirection ;
Grid1 . SortField = e . SortField ;
BindGrid ( ) ;
}
#endregion
#region Grid行双击事件
/// <summary>
/// Grid双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick ( object sender , GridRowClickEventArgs e )
{
EditData ( ) ;
}
#endregion
#region Grid行绑定事件
/// <summary>
/// Grid行绑定事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDataBound ( object sender , GridRowEventArgs e )
{
}
#endregion
#region Grid行点击事件
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand ( object sender , GridCommandEventArgs e )
{
string id = Grid1 . DataKeys [ e . RowIndex ] [ 0 ] . ToString ( ) ;
if ( e . CommandName = = "AttachUrl" )
{
2023-05-30 17:17:24 +08:00
//PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/DataBase/ConstructionStandardProject&menuId={1}", id + this.CurrUser.LoginProjectId, BLL.Const.CQMSConstructionStandardListProjectMenuId)));
PageContext . RegisterStartupScript ( WindowAtt . GetShowReference ( String . Format ( "../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/DataBase/ConstructionStandardProject&menuId={1}" , id , BLL . Const . CQMSConstructionStandardListProjectMenuId ) ) ) ;
2021-04-30 10:28:37 +08:00
}
}
#endregion
#region 增 加
/// <summary>
/// 增加按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click ( object sender , EventArgs e )
{
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "ConstructionStandardListProjectEdit.aspx" , "编辑 - " ) ) ) ;
}
#endregion
#region 编 辑
/// <summary>
/// 编辑
/// </summary>
private void EditData ( )
{
if ( Grid1 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请至少选择一条记录" , MessageBoxIcon . Warning ) ;
return ;
}
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "ConstructionStandardListProjectEdit.aspx?StandardCode={0}" , Grid1 . SelectedRowID , "编辑 - " ) ) ) ;
}
/// <summary>
/// 右键修改
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click ( object sender , EventArgs e )
{
EditData ( ) ;
}
#endregion
#region 删 除
/// <summary>
/// 右键删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDel_Click ( object sender , EventArgs e )
{
if ( Grid1 . SelectedRowIndexArray . Length > 0 )
{
foreach ( int rowIndex in Grid1 . SelectedRowIndexArray )
{
string rowID = Grid1 . DataKeys [ rowIndex ] [ 0 ] . ToString ( ) ;
var rows = BLL . ConstructionStandardListProjectService . GetConstructionStandardListProjectByStandardCode ( Convert . ToInt32 ( rowID ) , this . CurrUser . LoginProjectId ) ;
if ( rows ! = null )
{
BLL . ConstructionStandardListProjectService . DeleteConstructionStandardListProject ( Convert . ToInt32 ( rowID ) , this . CurrUser . LoginProjectId ) ;
}
}
BindGrid ( ) ;
ShowNotify ( "删除数据成功!" , MessageBoxIcon . Success ) ;
}
}
#endregion
#region 查 询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click ( object sender , EventArgs e )
{
BindGrid ( ) ;
}
#endregion
#region 关 闭 弹 出 框
/// <summary>
/// 关闭弹出框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close ( object sender , WindowCloseEventArgs e )
{
BindGrid ( ) ;
}
#endregion
2021-08-13 11:15:59 +08:00
#region 保 存 事 件
protected void btnSave_Click ( object sender , EventArgs e )
{
for ( int i = 0 ; i < this . Grid1 . Rows . Count ; i + + )
{
if ( this . Grid1 . SelectedRowIDArray . Contains ( this . Grid1 . Rows [ i ] . RowID ) )
{
SelectedList . Add ( this . Grid1 . Rows [ i ] . RowID ) ;
}
else
{
NoSelectedList . Add ( this . Grid1 . Rows [ i ] . RowID ) ;
}
}
foreach ( var item in SelectedList . Distinct ( ) )
{
var rows = BLL . ConstructionStandardListProjectService . GetConstructionStandardListProjectByStandardCode ( Convert . ToInt32 ( item ) , this . CurrUser . LoginProjectId ) ;
rows . IsChecked = true ;
BLL . ConstructionStandardListProjectService . UpdateConstructionStandardListProject ( rows ) ;
}
NoSelectedList = NoSelectedList . Distinct ( ) . ToList ( ) ;
var q = NoSelectedList . Distinct ( ) . ToList ( ) ;
foreach ( var item in q )
{
foreach ( var i in SelectedList . Distinct ( ) )
{
if ( item = = i )
{
NoSelectedList . Remove ( item ) ;
}
}
}
foreach ( var item in NoSelectedList )
{
var rows = BLL . ConstructionStandardListProjectService . GetConstructionStandardListProjectByStandardCode ( Convert . ToInt32 ( item ) , this . CurrUser . LoginProjectId ) ;
rows . IsChecked = null ;
BLL . ConstructionStandardListProjectService . UpdateConstructionStandardListProject ( rows ) ;
}
Alert . ShowInTop ( "保存成功!" , MessageBoxIcon . Success ) ;
}
#endregion
2021-04-30 10:28:37 +08:00
#region 权 限 设 置
/// <summary>
/// 权限设置
/// </summary>
private void GetButtonPower ( )
{
var buttonList = BLL . CommonService . GetAllButtonList ( this . CurrUser . LoginProjectId , this . CurrUser . UserId , BLL . Const . CQMSConstructionStandardListProjectMenuId ) ;
if ( buttonList . Count ( ) > 0 )
{
if ( buttonList . Contains ( BLL . Const . BtnAdd ) )
{
this . btnNew . Hidden = false ;
}
if ( buttonList . Contains ( BLL . Const . BtnModify ) )
{
this . btnMenuModify . Hidden = false ;
this . Grid1 . EnableRowDoubleClickEvent = true ;
}
2021-08-13 11:15:59 +08:00
if ( buttonList . Contains ( BLL . Const . BtnSave ) )
{
this . btnSave . Hidden = false ;
}
2021-04-30 10:28:37 +08:00
if ( buttonList . Contains ( BLL . Const . BtnDelete ) )
{
this . btnMenuDel . Hidden = false ;
}
}
}
#endregion
}
}