2022-09-05 16:36:31 +08:00
using BLL ;
using System ;
using System.Collections.Generic ;
using System.Data ;
using System.Data.SqlClient ;
using System.IO ;
using System.Linq ;
namespace FineUIPro.Web.HJGL.DataImport
{
public partial class TDMImport : PageBase
{
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
//this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
this . InitTreeMenu ( ) ; //加载树
2022-09-23 00:01:54 +08:00
Funs . FineUIPleaseSelect ( DropImportType ) ;
2022-09-05 16:36:31 +08:00
GetButtonPower ( ) ;
}
}
#region 加 载 树 装 置 - 单 位 - 工 作 区
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu ( )
{
this . tvControlItem . Nodes . Clear ( ) ;
TreeNode rootNode1 = new TreeNode ( ) ;
rootNode1 . NodeID = "1" ;
rootNode1 . Text = "建筑工程" ;
rootNode1 . CommandName = "建筑工程" ;
2022-10-28 17:01:51 +08:00
//rootNode1.EnableClickEvent = true;
//rootNode1.EnableCollapseEvent = true;
rootNode1 . Selectable = false ;
2022-09-05 16:36:31 +08:00
this . tvControlItem . Nodes . Add ( rootNode1 ) ;
TreeNode rootNode2 = new TreeNode ( ) ;
rootNode2 . NodeID = "2" ;
rootNode2 . Text = "安装工程" ;
rootNode2 . CommandName = "安装工程" ;
rootNode2 . Expanded = true ;
rootNode2 . EnableClickEvent = true ;
rootNode2 . EnableCollapseEvent = true ;
this . tvControlItem . Nodes . Add ( rootNode2 ) ;
var pUnits = ( from x in Funs . DB . Project_ProjectUnit where x . ProjectId = = this . CurrUser . LoginProjectId select x ) . ToList ( ) ;
// 获取当前用户所在单位
var currUnit = pUnits . FirstOrDefault ( x = > x . UnitId = = this . CurrUser . UnitId ) ;
var unitWorkList = ( from x in Funs . DB . WBS_UnitWork
where x . ProjectId = = this . CurrUser . LoginProjectId
& & x . SuperUnitWork = = null & & x . UnitId ! = null & & x . ProjectType ! = null
select x ) . ToList ( ) ;
List < Model . WBS_UnitWork > unitWork1 = null ;
List < Model . WBS_UnitWork > unitWork2 = null ;
2023-10-25 19:44:10 +08:00
unitWork1 = ( from x in unitWorkList where x . ProjectType = = "1" select x ) . ToList ( ) ;
unitWork2 = ( from x in unitWorkList where x . ProjectType = = "2" select x ) . ToList ( ) ;
2022-09-05 16:36:31 +08:00
if ( unitWork1 . Count ( ) > 0 )
{
foreach ( var q in unitWork1 )
{
int a = ( from x in Funs . DB . HJGL_Pipeline where x . ProjectId = = this . CurrUser . LoginProjectId & & x . UnitWorkId = = q . UnitWorkId select x ) . Count ( ) ;
2023-10-25 19:44:10 +08:00
var unitNamesUnitIds = BLL . UnitService . getUnitNamesUnitIds ( q . UnitId ) ;
2022-09-05 16:36:31 +08:00
TreeNode tn1 = new TreeNode ( ) ;
tn1 . NodeID = q . UnitWorkId ;
//tn1.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线";
tn1 . Text = q . UnitWorkName ;
2023-10-25 19:44:10 +08:00
tn1 . ToolTip = "施工单位:" + unitNamesUnitIds ;
2022-09-05 16:36:31 +08:00
tn1 . EnableClickEvent = true ;
rootNode1 . Nodes . Add ( tn1 ) ;
}
}
if ( unitWork2 . Count ( ) > 0 )
{
foreach ( var q in unitWork2 )
{
int a = ( from x in Funs . DB . HJGL_Pipeline where x . ProjectId = = this . CurrUser . LoginProjectId & & x . UnitWorkId = = q . UnitWorkId select x ) . Count ( ) ;
2023-10-25 19:44:10 +08:00
var unitNamesUnitIds = BLL . UnitService . getUnitNamesUnitIds ( q . UnitId ) ;
2022-09-05 16:36:31 +08:00
TreeNode tn2 = new TreeNode ( ) ;
tn2 . NodeID = q . UnitWorkId ;
//tn2.Text = q.UnitWorkName + "【" + a.ToString() + "】" + "管线";
tn2 . Text = q . UnitWorkName ;
2023-10-25 19:44:10 +08:00
tn2 . ToolTip = "施工单位:" + unitNamesUnitIds ;
2022-09-05 16:36:31 +08:00
tn2 . EnableClickEvent = true ;
rootNode2 . Nodes . Add ( tn2 ) ;
}
}
}
#endregion 加 载 树 装 置 - 单 位 - 工 作 区
#region 点 击 TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand ( object sender , TreeCommandEventArgs e )
{
if ( tvControlItem . SelectedNodeID = = "1" | | tvControlItem . SelectedNodeID = = "2" )
{
this . btnNew . Hidden = true ;
2022-09-23 00:01:54 +08:00
this . btnDelete . Hidden = true ;
2022-09-05 16:36:31 +08:00
this . btnSearch . Hidden = true ;
}
else
{
this . btnNew . Hidden = false ;
2022-09-23 00:01:54 +08:00
this . btnDelete . Hidden = false ;
2022-09-05 16:36:31 +08:00
this . btnSearch . Hidden = false ;
}
this . BindGrid ( ) ;
this . Grid2 . DataSource = null ;
this . Grid2 . DataBind ( ) ;
}
#endregion 点 击 TreeView
#region 数 据 绑 定
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid ( )
{
string strSql = @" select Import.* ,Design.ProfessionalName,Users.PersonName
from ( select * from HJGL_DataImport a where not exists (select 1 from HJGL_DataImport b where a.FileName=b.FileName and a.UnitWorkId=b.UnitWorkId and a.Version<b.Version )) as Import
left join Base_DesignProfessional as Design on Design.DesignProfessionalId=Import.DesignProfessionalId
left join Person_Persons as Users on Users.PersonId=Import.CreateMan
2022-09-15 13:25:44 +08:00
where Import.UnitWorkId=@UnitWorkId and Import.ProjectId=@ProjectId and Import.ImportType in ('1','2') " ;
2022-09-05 16:36:31 +08:00
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ProjectId" , this . CurrUser . LoginProjectId ) ) ;
listStr . Add ( new SqlParameter ( "@UnitWorkId" , this . tvControlItem . SelectedNodeID ) ) ;
if ( ! string . IsNullOrEmpty ( this . txtfilename . Text . Trim ( ) ) )
{
strSql + = " AND Import.FileName LIKE @FileName" ;
listStr . Add ( new SqlParameter ( "@FileName" , "%" + this . txtfilename . Text . Trim ( ) + "%" ) ) ;
}
2022-09-23 00:01:54 +08:00
if ( DropImportType . SelectedValue ! = Const . _Null )
{
strSql + = " AND Import.ImportType=@ImportType" ;
listStr . Add ( new SqlParameter ( "@ImportType" , DropImportType . SelectedValue ) ) ;
}
2022-09-05 16:36:31 +08:00
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1 . RecordCount = tb . Rows . Count ;
tb = GetFilteredTable ( Grid1 . FilteredData , tb ) ;
var table = this . GetPagedDataTable ( Grid1 , tb ) ;
Grid1 . DataSource = table ;
Grid1 . DataBind ( ) ;
}
private void BindGrid2 ( string FileName )
{
string strSql = @" select Import.* ,Design.ProfessionalName,Users.PersonName
from ( select * from HJGL_DataImport a where exists (select 1 from HJGL_DataImport b where a.FileName=b.FileName and a.UnitWorkId=b.UnitWorkId and a.Version<b.Version )) as Import
left join Base_DesignProfessional as Design on Design.DesignProfessionalId=Import.DesignProfessionalId
left join Person_Persons as Users on Users.PersonId=Import.CreateMan
2022-09-15 13:25:44 +08:00
where Import.UnitWorkId=@UnitWorkId and Import.ProjectId=@ProjectId and Import.FileName=@FileName and Import.ImportType in ('1','2')" ;
2022-09-05 16:36:31 +08:00
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ProjectId" , this . CurrUser . LoginProjectId ) ) ;
listStr . Add ( new SqlParameter ( "@UnitWorkId" , this . tvControlItem . SelectedNodeID ) ) ;
listStr . Add ( new SqlParameter ( "@FileName" , FileName ) ) ;
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid2 . RecordCount = tb . Rows . Count ;
tb = GetFilteredTable ( Grid2 . FilteredData , tb ) ;
var table = this . GetPagedDataTable ( Grid2 , tb ) ;
Grid2 . DataSource = table ;
Grid2 . DataBind ( ) ;
}
#endregion 数 据 绑 定
#region 分 页 排 序
#region 页 索 引 改 变 事 件
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange ( object sender , GridPageEventArgs e )
{
Grid1 . PageIndex = e . NewPageIndex ;
BindGrid ( ) ;
}
#endregion 页 索 引 改 变 事 件
#region 排 序
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort ( object sender , GridSortEventArgs e )
{
Grid1 . SortDirection = e . SortDirection ;
Grid1 . SortField = e . SortField ;
BindGrid ( ) ;
}
#endregion 排 序
#region 分 页 选 择 下 拉 改 变 事 件
/// <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 ( ) ;
}
#endregion 分 页 选 择 下 拉 改 变 事 件
#endregion 分 页 排 序
#region 查 询 页 面
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQuery_Click ( object sender , EventArgs e )
{
this . BindGrid ( ) ;
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Tree_TextChanged ( object sender , EventArgs e )
{
this . InitTreeMenu ( ) ;
this . BindGrid ( ) ;
}
#endregion 查 询 页 面
#region 关 闭 弹 出 窗 体
/// <summary>
/// 关闭弹出窗体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close ( object sender , WindowCloseEventArgs e )
{
BindGrid ( ) ;
}
#endregion
#region 新 增
protected void btnNew_Click ( object sender , EventArgs e )
{
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "TDMImportEdit.aspx?UnitWorkId={0}" , tvControlItem . SelectedNodeID , "编辑 - " ) ) ) ;
}
#endregion
#region 行 点 击 事 件
protected void Grid1_RowClick ( object sender , GridRowClickEventArgs e )
{
if ( Grid1 . SelectedRowIDArray . Length > 0 )
{
string ID = Grid1 . SelectedRowID ;
var model = BLL . HJGL_DataImportService . GetHJGL_DataImportById ( ID ) ;
BindGrid2 ( model . FileName ) ;
}
}
#endregion
#region 下 载
protected void btnMenuDownload_Click ( object sender , EventArgs e )
{
if ( Grid1 . SelectedRowIDArray . Length > 0 )
{
foreach ( var item in Grid1 . SelectedRowIDArray )
{
string id = item . ToString ( ) ;
var model = BLL . HJGL_DataImportService . GetHJGL_DataImportById ( id ) ;
BLL . HJGL_DataImportService . DownFile ( model . FilePath , model . FileName ) ;
}
}
}
protected void btnMenuDownload2_Click ( object sender , EventArgs e )
{
if ( Grid2 . SelectedRowIDArray . Length > 0 )
{
foreach ( var item in Grid2 . SelectedRowIDArray )
{
string id = item . ToString ( ) ;
var model = BLL . HJGL_DataImportService . GetHJGL_DataImportById ( id ) ;
BLL . HJGL_DataImportService . DownFile ( model . FilePath , model . FileName ) ;
}
}
}
#endregion
#region 获 取 按 钮 权 限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower ( )
{
if ( Request . Params [ "value" ] = = "0" )
{
return ;
}
var buttonList = CommonService . GetAllButtonList ( CurrUser . LoginProjectId , CurrUser . PersonId , Const . HJGL_TDMImportMenuId ) ;
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 ) )
{
btnMenuDelete . Hidden = false ;
btnMenuDelete2 . Hidden = false ;
}
}
}
#endregion
#region 删 除
protected void btnMenuDelete_Click ( object sender , EventArgs e )
{
if ( Grid1 . SelectedRowIDArray . Length > 0 )
{
foreach ( var item in Grid1 . SelectedRowIDArray )
{
string id = item . ToString ( ) ;
var model = BLL . HJGL_DataImportService . GetHJGL_DataImportById ( id ) ;
if ( File . Exists ( Funs . RootPath + model . FilePath ) )
{
File . Delete ( Funs . RootPath + model . FilePath ) ;
}
BLL . HJGL_DataImportService . DeleteHJGL_DataImportById ( id ) ;
}
BindGrid ( ) ;
ShowNotify ( "删除数据成功!" , MessageBoxIcon . Success ) ;
}
}
protected void btnMenuDelete2_Click ( object sender , EventArgs e )
{
if ( Grid2 . SelectedRowIDArray . Length > 0 )
{
foreach ( var item in Grid2 . SelectedRowIDArray )
{
string id = item . ToString ( ) ;
var model = BLL . HJGL_DataImportService . GetHJGL_DataImportById ( id ) ;
if ( File . Exists ( Funs . RootPath + model . FilePath ) )
{
File . Delete ( Funs . RootPath + model . FilePath ) ;
}
BLL . HJGL_DataImportService . DeleteHJGL_DataImportById ( id ) ;
}
BindGrid ( ) ;
ShowNotify ( "删除数据成功!" , MessageBoxIcon . Success ) ;
}
}
#endregion
}
}