2022-03-15 17:36:38 +08:00
using BLL ;
using BLL.CQMS.ProcessControl ;
using System ;
using System.Collections.Generic ;
using System.Data ;
using System.Data.SqlClient ;
using System.Linq ;
namespace FineUIPro.Web.CQMS.ProcessControl
{
public partial class InspectionManagement : PageBase
{
#region 加 载
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
GetButtonPower ( ) ;
BLL . CNProfessionalService . InitCNProfessionalDownList ( this . drpCNProfessional , true ) ; //专业
UnitWorkService . InitUnitWorkDownList ( drpUnitWork , this . CurrUser . LoginProjectId , true ) ;
2022-12-20 09:32:32 +08:00
Funs . FineUIPleaseSelect ( this . drpState ) ;
2022-03-15 17:36:38 +08:00
BindGrid ( ) ;
}
}
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid ( )
{
string strSql = @ "SELECT distinct P.InspectionId,
P . ProjectId ,
P . UnitId ,
P . CNProfessionalId ,
P . UnitWorkId ,
U . UnitName ,
C . ProfessionalName ,
P . NoticeCode ,
UnitWork . UnitWorkName ,
DP . DivisionName AS Branch ,
BP . BreakdownName AS ControlPointType ,
BP . Class ,
P . AcceptanceSite ,
P . AcceptanceCheckMan ,
2022-12-20 09:32:32 +08:00
( CASE WHEN IsOnceQualified = 1 THEN '是' ELSE '否' END ) AS IsOnceQualified ,
2022-03-15 17:36:38 +08:00
P . InspectionCode ,
P . InspectionDate "
+ @" FROM ProcessControl_InspectionManagementDetail AS D"
+ @" LEFT JOIN ProcessControl_InspectionManagement AS P on P.InspectionId=D.InspectionId"
+ @" LEFT JOIN Base_Unit AS U ON U.UnitId = P.UnitId"
+ @" LEFT JOIN Base_CNProfessional C ON C.CNProfessionalId = P.CNProfessionalId"
+ @" LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId = P.UnitWorkId"
+ @" LEFT JOIN WBS_DivisionProject AS DP ON DP.DivisionProjectId = P.Branch"
+ @" LEFT JOIN WBS_BreakdownProject AS BP ON BP.BreakdownProjectId = P.ControlPointType"
+ @" WHERE P.ProjectId=@ProjectId " ;
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ProjectId" , this . CurrUser . LoginProjectId ) ) ;
if ( this . CurrUser . UnitId ! = null & & this . CurrUser . UnitId ! = Const . UnitId_CD & & this . CurrUser . UnitId ! = Const . hfnbdId )
{
strSql + = " AND P.UnitId='" + this . CurrUser . UnitId + "'" ;
}
if ( drpUnitWork . SelectedValue ! = BLL . Const . _Null )
{
strSql + = " AND D.UnitWorkId=@UnitWorkId" ;
listStr . Add ( new SqlParameter ( "@UnitWorkId" , drpUnitWork . SelectedValue ) ) ;
}
if ( drpCNProfessional . SelectedValue ! = BLL . Const . _Null )
{
strSql + = " AND P.CNProfessionalId=@CNProfessionalId" ;
listStr . Add ( new SqlParameter ( "@CNProfessionalId" , drpCNProfessional . SelectedValue ) ) ;
}
2022-12-20 09:32:32 +08:00
if ( drpState . SelectedValue ! = BLL . Const . _Null )
{
if ( drpState . SelectedValue = = BLL . Const . InspectionManagement_Compile )
{
strSql + = " AND (select top 1 ApproveType from ProcessControl_InspectionManagementApprove ap where ap.InspectionId=P.InspectionId and ap.ApproveType!='S' order by ap.ApproveDate desc) is null" ;
}
else if ( drpState . SelectedValue = = BLL . Const . InspectionManagement_Audit )
{
strSql + = " AND (select top 1 ApproveType from ProcessControl_InspectionManagementApprove ap where ap.InspectionId=P.InspectionId and ap.ApproveType!='S' and ap.ApproveDate is null order by ap.ApproveDate desc)=@Sta" ;
listStr . Add ( new SqlParameter ( "@Sta" , drpState . SelectedValue ) ) ;
}
else if ( drpState . SelectedValue = = BLL . Const . InspectionManagement_Complete )
{
strSql + = " AND (select top 1 ApproveType from ProcessControl_InspectionManagementApprove ap where ap.InspectionId=P.InspectionId and ap.ApproveType!='S' and ap.ApproveDate is not null order by ap.ApproveDate desc)=@Sta" ;
listStr . Add ( new SqlParameter ( "@Sta" , drpState . SelectedValue ) ) ;
}
}
2022-03-15 17:36:38 +08:00
if ( ! string . IsNullOrEmpty ( txtStarTime . Text . Trim ( ) ) )
{
strSql + = " AND P.InspectionDate >= @InspectionDate" ;
listStr . Add ( new SqlParameter ( "@InspectionDate" , Funs . GetNewDateTime ( txtStarTime . Text . Trim ( ) ) ) ) ;
}
if ( ! string . IsNullOrEmpty ( txtEndTime . Text . Trim ( ) ) )
{
strSql + = " AND P.InspectionDate <= @InspectionDate" ;
listStr . Add ( new SqlParameter ( "@InspectionDate" , Funs . GetNewDateTime ( txtEndTime . Text . Trim ( ) ) ) ) ;
}
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 ( ) ;
}
#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 ( ) ;
}
/// <summary>
/// 分页索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange ( object sender , GridPageEventArgs e )
{
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 查 询
/// <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
#region 编 辑
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick ( object sender , GridRowClickEventArgs e )
{
btnMenuModify_Click ( null , null ) ;
}
/// <summary>
/// 右键编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click ( object sender , EventArgs e )
{
if ( Grid1 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请至少选择一条记录" , MessageBoxIcon . Warning ) ;
return ;
}
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "InspectionManagementEdit.aspx?InspectionId={0}" , Grid1 . SelectedRowID , "编辑 - " ) ) ) ;
}
#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 InspectionEquipment = BLL . InspectionManagementService . GetInspectionManagementById ( rowID ) ;
if ( InspectionEquipment ! = null )
{
BLL . InspectionManagementDetailService . DeleteAllInspectionDetail ( rowID ) ;
InspectionManagementApproveService . DeleteAllApproveDetail ( rowID ) ;
BLL . InspectionManagementService . DeleteInspectionManagement ( rowID ) ;
}
}
BindGrid ( ) ;
ShowNotify ( "删除数据成功!" , MessageBoxIcon . Success ) ;
}
}
#endregion
#region 获 取 按 钮 权 限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower ( )
{
if ( Request . Params [ "value" ] = = "0" )
{
return ;
}
var buttonList = BLL . CommonService . GetAllButtonList ( this . CurrUser . LoginProjectId , this . CurrUser . UserId , BLL . Const . InspectionManagementMenuId ) ;
if ( buttonList . Count ( ) > 0 )
{
if ( buttonList . Contains ( BLL . Const . BtnModify ) )
{
this . btnMenuModify . Hidden = false ;
this . Grid1 . EnableRowDoubleClickEvent = true ;
}
else
{
this . Grid1 . EnableRowDoubleClickEvent = false ;
}
if ( buttonList . Contains ( BLL . Const . BtnDelete ) )
{
this . btnMenuDel . Hidden = false ;
}
}
}
#endregion
public static string ConvertState ( object state )
{
if ( state ! = null )
{
2022-12-20 09:32:32 +08:00
var res = InspectionManagementApproveService . GetState ( state . ToString ( ) ) ;
2022-03-15 17:36:38 +08:00
if ( res ! = null )
{
if ( res . ApproveType = = BLL . Const . InspectionManagement_ReCompile )
{
return "重报" ;
}
else if ( res . ApproveType = = BLL . Const . InspectionManagement_Compile )
{
return "编制" ;
}
else if ( res . ApproveType = = BLL . Const . InspectionManagement_Audit )
{
return "待审批" ;
}
else if ( res . ApproveType = = BLL . Const . InspectionManagement_Complete )
{
return "审批完成" ;
}
}
}
return "编制" ;
}
2022-12-20 09:32:32 +08:00
public static string ConvertUserName ( object InspectionId )
{
string userName = string . Empty ;
if ( InspectionId ! = null )
{
var approve = Funs . DB . ProcessControl_InspectionManagementApprove . FirstOrDefault ( x = > x . InspectionId = = InspectionId . ToString ( ) & & x . ApproveType = = BLL . Const . InspectionManagement_Audit ) ;
if ( approve ! = null )
{
var user = BLL . UserService . GetUserByUserId ( approve . ApproveMan ) ;
if ( user ! = null )
{
userName = user . UserName ;
}
}
}
return userName ;
}
2022-03-15 17:36:38 +08:00
}
}