2023-09-19 16:12:26 +08:00
using BLL ;
using Model ;
using System ;
using System.Collections.Generic ;
2023-10-24 10:17:27 +08:00
using System.Data ;
using System.Data.SqlClient ;
2023-09-19 16:12:26 +08:00
using System.Linq ;
using System.Web ;
using System.Web.UI ;
using System.Web.UI.WebControls ;
namespace FineUIPro.Web.TestRun.BeforeTestRun
{
public partial class TailTermApprove : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string TailTermId
{
get { return ( string ) ViewState [ "TailTermId" ] ; }
set { ViewState [ "TailTermId" ] = value ; }
}
/// <summary>
/// 问题图片是否可编辑
/// </summary>
public int QuestionEditImg
{
get { return ( int ) ViewState [ "QuestionEditImg" ] ; }
set { ViewState [ "QuestionEditImg" ] = value ; }
}
/// <summary>
/// 整改图片是否可编辑
/// </summary>
public int RectifyEditImg
{
get { return ( int ) ViewState [ "RectifyEditImg" ] ; }
set { ViewState [ "RectifyEditImg" ] = value ; }
}
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
this . TailTermId = Request [ "TailTermId" ] ;
this . QuestionEditImg = - 1 ;
this . RectifyEditImg = - 1 ;
//数据绑定
PageInit ( ) ;
2023-10-24 10:17:27 +08:00
//处理意见绑定
gvHandleBrid ( ) ;
2023-09-19 16:12:26 +08:00
}
}
/// <summary>
/// 绑定数据
/// </summary>
public void PageInit ( )
{
2023-10-24 10:17:27 +08:00
////获取用户信息
//var userList = from user in Funs.DB.Sys_User
// join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId
// where projectrole.ProjectId == this.CurrUser.LoginProjectId
// select user;
//var userids = new List<string>() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
//var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
//var users = userList.ToList();
//if (addUserList.Count() > 0)
//{
// users.AddRange(addUserList);
//}
//if (users.Count() > 0)
//{
// ddlApproveUser.DataTextField = "UserName";
// ddlApproveUser.DataValueField = "UserId";
// ddlApproveUser.DataSource = users;
// ddlApproveUser.DataBind();
//}
//txtApproveTime.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
//ddlApproveUser.SelectedValue = this.CurrUser.UserId;
2023-09-19 16:12:26 +08:00
var data = from tail in Funs . DB . PreRun_InspectTailTerm
join unit in Funs . DB . Base_Unit on tail . ConstructionUnit equals unit . UnitId
join inspuser in Funs . DB . Sys_User on tail . InspectUser equals inspuser . UserId
join approuser in Funs . DB . Sys_User on tail . ApproveUser equals approuser . UserId
join termitem in Funs . DB . PreRun_SubInspectTermItem on tail . TermItemId equals termitem . TermItemId
where tail . TailTermId = = this . TailTermId
select new
{
tail . ProjectName ,
tail . TailTermCode ,
unit . UnitName ,
TermItemName = termitem . WorkInspectName ,
2023-10-12 10:17:08 +08:00
tail . SubInspectId ,
2023-09-19 16:12:26 +08:00
tail . QuestionDesc ,
tail . RectifyOpinion ,
tail . RectifyTime ,
tail . ProblemType ,
2023-10-24 10:17:27 +08:00
tail . InspectUser ,
2023-09-19 16:12:26 +08:00
InspectUserName = inspuser . UserName ,
2023-10-24 10:17:27 +08:00
tail . ApproveUser ,
2023-09-19 16:12:26 +08:00
ApproveUserName = approuser . UserName ,
} ;
if ( data . Count ( ) > 0 )
{
var model = data . FirstOrDefault ( ) ;
//项目名称
lblProjectName . Text = model . ProjectName ;
//巡检编号
lblTailTermCode . Text = model . TailTermCode ;
//施工单位
lblConstructionUnit . Text = model . UnitName ;
//问题类别
lblProblemType . Text = model . ProblemType = = 1 ? "管道" : "设备" ;
//管道/设备
if ( model . ProblemType = = 1 )
{
2023-10-12 10:17:08 +08:00
var piping = Funs . DB . PreRun_PropertySysPiping . FirstOrDefault ( x = > x . PropertyId = = model . SubInspectId ) ;
2023-09-19 16:12:26 +08:00
if ( piping ! = null )
{
2023-10-12 10:17:08 +08:00
lblSubInspectId . Text = $"管道:{piping.PipingCode}" ;
2023-09-19 16:12:26 +08:00
}
}
else
{
2023-10-12 10:17:08 +08:00
var piping = Funs . DB . PreRun_TechnologySysPiping . FirstOrDefault ( x = > x . TechnologyId = = model . SubInspectId ) ;
2023-09-19 16:12:26 +08:00
if ( piping ! = null )
{
2023-10-12 10:17:08 +08:00
lblSubInspectId . Text = $"设备:{piping.TagNumber}" ;
2023-09-19 16:12:26 +08:00
}
}
//检查项
lblTermItemId . Text = model . TermItemName ;
//问题描述
lblQuestionDesc . Text = model . QuestionDesc ;
//整改意见
lblRectifyOpinion . Text = model . RectifyOpinion ;
//整改时间
lblRectifyTime . Text = model . RectifyTime ! = null ? model . RectifyTime . Value . ToString ( "yyyy-MM-dd hh:mm:ss" ) : string . Empty ;
//检查人
lblInspectUser . Text = model . InspectUserName ;
2023-10-24 10:17:27 +08:00
//审核人
lblApproveUser . Text = model . ApproveUserName ;
hidApproveUserId . Text = model . ApproveUser ;
//审核时间
lblApproveTime . Text = DateTime . Now . ToString ( "yyyy-MM-dd hh:mm:ss" ) ;
2023-09-19 16:12:26 +08:00
}
}
2023-10-24 10:17:27 +08:00
/// <summary>
/// 处理意见绑定
/// </summary>
public void gvHandleBrid ( )
{
2023-11-06 11:16:46 +08:00
string strSql = @"select a.InspectTermId,a.ApproveOpinion,a.ApproveTime,a.ApproveType,a.ApproveState,(case a.ApproveState when 0 then '处理退回' when 1 then '处理通过' else '' end) as ApproveStateName,b.ConstructionUnit,d.UnitName as ConstructionUnitName,a.AddUser,a.AddTime from PreRun_InspectTermApproveRecords as a inner join PreRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join PreRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Unit as d on d.UnitId=b.ConstructionUnit where 1=1 and a.ApproveType=0 and a.ProjectId=@ProjectId and a.TailTermId=@TailTermId " ;
2023-10-24 10:17:27 +08:00
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
listStr . Add ( new SqlParameter ( "@ProjectId" , this . CurrUser . LoginProjectId ) ) ;
listStr . Add ( new SqlParameter ( "@TailTermId" , this . TailTermId ) ) ;
strSql + = " order by a.AddTime asc" ;
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
gvHandle . DataSource = tb ;
gvHandle . DataBind ( ) ;
}
2023-09-19 16:12:26 +08:00
/// <summary>
/// 问题图片
/// </summary>
protected void imgBtnQuestionFile_Click ( object sender , EventArgs e )
{
PageContext . RegisterStartupScript ( WindowAtt . GetShowReference ( String . Format ( "../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}" , QuestionEditImg , this . TailTermId + "q" , Const . InspectTailTerm ) ) ) ;
}
/// <summary>
/// 整改图片
/// </summary>
protected void imgBtnRectifyFile_Click ( object sender , EventArgs e )
{
PageContext . RegisterStartupScript ( WindowAtt . GetShowReference ( String . Format ( "../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}" , RectifyEditImg , this . TailTermId + "h" , Const . InspectTailTerm ) ) ) ;
}
/// <summary>
/// 退回
/// </summary>
protected void btnReturn_Click ( object sender , EventArgs e )
{
var tailTerm = Funs . DB . PreRun_InspectTailTerm . FirstOrDefault ( x = > x . TailTermId = = this . TailTermId ) ;
if ( tailTerm ! = null )
{
2023-10-24 10:17:27 +08:00
tailTerm . ApproveState = 3 ;
2023-09-19 16:12:26 +08:00
var model = new PreRun_InspectTermApproveRecords ( ) ;
model . InspectTermId = Guid . NewGuid ( ) . ToString ( ) ;
model . ProjectId = this . CurrUser . LoginProjectId ;
model . TermItemId = tailTerm . TermItemId ;
model . TailTermId = this . TailTermId ;
model . ApproveOpinion = txtApproveOpinion . Text ;
2023-10-24 10:17:27 +08:00
model . ApproveTime = DateTime . Parse ( lblApproveTime . Text ) ;
model . ApproveUser = hidApproveUserId . Text ;
//0:处理记录1:审核记录
model . ApproveType = 1 ;
//0:退回1:通过
2023-09-19 16:12:26 +08:00
model . ApproveState = 0 ;
model . AddUser = this . CurrUser . UserId ;
model . AddTime = DateTime . Now ;
Funs . DB . PreRun_InspectTermApproveRecords . InsertOnSubmit ( model ) ;
Funs . DB . SubmitChanges ( ) ;
ShowNotify ( "退回成功!" , MessageBoxIcon . Success ) ;
PageContext . RegisterStartupScript ( ActiveWindow . GetHidePostBackReference ( ) ) ;
}
}
/// <summary>
/// 通过
/// </summary>
protected void btnPass_Click ( object sender , EventArgs e )
{
var tailTerm = Funs . DB . PreRun_InspectTailTerm . FirstOrDefault ( x = > x . TailTermId = = this . TailTermId ) ;
if ( tailTerm ! = null )
{
//获取审核项
2023-11-06 11:16:46 +08:00
if ( Funs . DB . PreRun_InspectTailTerm . Count ( x = > x . TermItemId = = tailTerm . TermItemId & & x . ApproveState ! = 5 & & x . TailTermId ! = this . TailTermId ) = = 0 )
2023-09-19 16:12:26 +08:00
{
2023-11-06 11:16:46 +08:00
var termItemModel = Funs . DB . PreRun_SubInspectTermItem . FirstOrDefault ( x = > x . TermItemId = = tailTerm . TermItemId ) ;
if ( termItemModel ! = null )
2023-10-12 10:17:08 +08:00
{
2023-11-06 11:16:46 +08:00
termItemModel . InspectionResults = 1 ;
var subModel = Funs . DB . PreRun_SubInspectTerm . FirstOrDefault ( x = > x . SubInspectId = = termItemModel . SubInspectId ) ;
if ( subModel ! = null )
2023-10-12 10:17:08 +08:00
{
2023-11-06 11:16:46 +08:00
if ( Funs . DB . PreRun_SubInspectTermItem . Count ( x = > x . SubInspectId = = termItemModel . SubInspectId & & x . InspectionResults . GetValueOrDefault ( ) ! = 1 & & x . TermItemId ! = termItemModel . TermItemId ) = = 0 )
{
subModel . InspectionIsAllPass = 1 ;
}
else
{
subModel . InspectionIsAllPass = 0 ;
}
2023-10-12 10:17:08 +08:00
}
}
2023-09-19 16:12:26 +08:00
}
2023-10-24 10:17:27 +08:00
tailTerm . ApproveState = 5 ;
2023-09-19 16:12:26 +08:00
var model = new PreRun_InspectTermApproveRecords ( ) ;
model . InspectTermId = Guid . NewGuid ( ) . ToString ( ) ;
model . ProjectId = this . CurrUser . LoginProjectId ;
model . TermItemId = tailTerm . TermItemId ;
model . TailTermId = this . TailTermId ;
model . ApproveOpinion = txtApproveOpinion . Text ;
2023-10-24 10:17:27 +08:00
model . ApproveTime = DateTime . Parse ( lblApproveTime . Text ) ;
model . ApproveUser = hidApproveUserId . Text ;
//0:处理记录1:审核记录
model . ApproveType = 1 ;
//0:退回1:通过
2023-09-19 16:12:26 +08:00
model . ApproveState = 1 ;
model . AddUser = this . CurrUser . UserId ;
model . AddTime = DateTime . Now ;
Funs . DB . PreRun_InspectTermApproveRecords . InsertOnSubmit ( model ) ;
Funs . DB . SubmitChanges ( ) ;
ShowNotify ( "审核成功!" , MessageBoxIcon . Success ) ;
PageContext . RegisterStartupScript ( ActiveWindow . GetHidePostBackReference ( ) ) ;
}
}
/// <summary>
/// 关闭
/// </summary>
protected void WindowAtt_Close ( object sender , WindowCloseEventArgs e )
{
}
}
}