2024-03-28 10:14:38 +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.TestRun.Feeding
{
public partial class TailTermApproveList : PageBase
{
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
//绑定数据
InitTreeMenu ( ) ;
}
}
#region 树 绑 定
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu ( )
{
this . tvControlItem . Nodes . Clear ( ) ;
TreeNode rootNode = new TreeNode ( ) ;
rootNode . Text = "检查表" ;
rootNode . NodeID = "0" ;
rootNode . Expanded = true ;
rootNode . ToolTip = "" ;
rootNode . EnableClickEvent = true ;
this . tvControlItem . Nodes . Add ( rootNode ) ;
var termIds = new List < string > ( ) ;
var tailTerms = Funs . DB . FeedingRun_InspectTailTerm . Where ( x = > x . ApproveUser = = this . CurrUser . UserId & & x . ProjectId = = this . CurrUser . LoginProjectId ) . ToList ( ) ;
if ( tailTerms . Count > 0 )
{
termIds = tailTerms . ConvertAll ( x = > x . TermItemId ) ;
}
var userSubInspects = Funs . DB . FeedingRun_SubInspectTermItem . Where ( x = > termIds . Contains ( x . TermItemId ) & & x . ProjectId = = this . CurrUser . LoginProjectId ) . ToList ( ) ;
if ( userSubInspects . Count ( ) = = 0 ) return ;
var subInstallationIds = userSubInspects . ConvertAll ( x = > x . InstallationId ) ;
2024-05-07 01:58:42 +08:00
var list = Funs . DB . PreRun_SysDevice . Where ( x = > x . ProjectId = = this . CurrUser . LoginProjectId & & x . PreRunLevel = = 1 & & subInstallationIds . Contains ( x . PreRunId ) ) . OrderBy ( a = > a . Sort ) ;
2024-03-28 10:14:38 +08:00
if ( list . Count ( ) > 0 )
{
var ids = list . Select ( x = > x . ProcessesId ) . ToList ( ) ;
ids . AddRange ( list . Select ( x = > x . PreRunId ) . ToList ( ) ) ;
ids = ids . Distinct ( ) . ToList ( ) ;
var syslist = Funs . DB . PreRun_SysDevice . Where ( x = > ids . Contains ( x . PreRunId ) ) . ToList ( ) ;
if ( syslist . Count > 0 )
{
foreach ( var item in list )
{
TreeNode rootOneNode = new TreeNode ( ) ;
rootOneNode . NodeID = item . PreRunId ;
rootOneNode . Text = item . PreRunName ;
rootOneNode . ToolTip = item . PreRunName ;
rootOneNode . CommandName = "" ;
rootOneNode . EnableClickEvent = true ;
rootOneNode . EnableExpandEvent = false ;
rootNode . Nodes . Add ( rootOneNode ) ;
rootOneNode . Expanded = true ;
}
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand ( object sender , TreeCommandEventArgs e )
{
this . BindGrid ( ) ;
}
#endregion
#region 绑 定 数 据
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid ( )
{
string strSql = @"select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.HandleUser,g.UserName as HandleUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交处理' when 1 then '待处理' when 2 then '处理退回' when 3 then '审核退回' when 4 then '待审核' when 5 then '审核通过' else '' end) as ApproveStateName,a.AddTime,a.AdjustCompleteTime,DATEDIFF(DAY, GETDATE(),a.AdjustCompleteTime) as AdjustDiffDay from FeedingRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join FeedingRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser inner join Sys_User as g on g.UserId=a.HandleUser where 1=1 and a.ProjectId=@projectid and a.ApproveUser=@ApproveUser and a.ApproveState>=3" ;
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@projectid" , this . CurrUser . LoginProjectId ) ) ;
listStr . Add ( new SqlParameter ( "@ApproveUser" , this . CurrUser . UserId ) ) ;
if ( ! string . IsNullOrWhiteSpace ( this . tvControlItem . SelectedNodeID ) )
{
strSql + = " and c.InstallationId=@InstallationId" ;
listStr . Add ( new SqlParameter ( "@InstallationId" , this . tvControlItem . SelectedNodeID ) ) ;
}
//审核状态
if ( ! string . IsNullOrWhiteSpace ( ddlApproveState . SelectedValue ) )
{
strSql + = " and a.ApproveState=@ApproveState" ;
listStr . Add ( new SqlParameter ( "@ApproveState" , ddlApproveState . SelectedValue ) ) ;
}
strSql + = " order by a.AddTime asc" ;
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 ( ) ;
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange ( object sender , GridPageEventArgs e )
{
Grid1 . PageIndex = e . NewPageIndex ;
BindGrid ( ) ;
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick ( object sender , GridRowClickEventArgs e )
{
btnMenuApprove_Click ( null , null ) ;
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged ( object sender , EventArgs e )
{
Grid1 . PageSize = Convert . ToInt32 ( ddlPageSize . SelectedValue ) ;
BindGrid ( ) ;
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort ( object sender , GridSortEventArgs e )
{
BindGrid ( ) ;
}
#endregion
#region 按 钮 和 操 作
/// <summary>
/// 关闭弹框
/// </summary>
protected void Window1_Close ( object sender , WindowCloseEventArgs e )
{
BindGrid ( ) ;
}
/// <summary>
/// 审核
/// </summary>
protected void btnReview_Click ( object sender , EventArgs e )
{
btnMenuApprove_Click ( null , null ) ;
}
/// <summary>
/// 审核
/// </summary>
protected void btnMenuApprove_Click ( object sender , EventArgs e )
{
if ( Grid1 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请至少选择一条记录!" , MessageBoxIcon . Warning ) ;
return ;
}
var model = Funs . DB . FeedingRun_InspectTailTerm . FirstOrDefault ( x = > x . TailTermId = = Grid1 . SelectedRowID ) ;
if ( model ! = null )
{
if ( model . ApproveState ! = 4 )
{
Alert . ShowInTop ( "只可审核“待审核”的记录!" , MessageBoxIcon . Warning ) ;
return ;
}
}
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "TailTermApprove.aspx?TailTermId={0}" , Grid1 . SelectedRowID , "审核 - " ) ) ) ;
}
/// <summary>
/// 搜索
/// </summary>
protected void btnQuery_Click ( object sender , EventArgs e )
{
BindGrid ( ) ;
}
#endregion
}
}