using BLL; using Model; 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.TestRunManage { public partial class TailTermApprove : PageBase { /// /// 主键 /// public string TailTermId { get { return (string)ViewState["TailTermId"]; } set { ViewState["TailTermId"] = value; } } /// /// 问题图片是否可编辑 /// public int QuestionEditImg { get { return (int)ViewState["QuestionEditImg"]; } set { ViewState["QuestionEditImg"] = value; } } /// /// 整改图片是否可编辑 /// 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(); //处理意见绑定 gvHandleBrid(); } } /// /// 绑定数据 /// public void PageInit() { var data = from tail in Funs.DB.TestRun_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.TestRun_SubInspectTermItem on tail.TermItemId equals termitem.TermItemId where tail.TailTermId == this.TailTermId select new { tail.ProjectName, tail.TailTermCode, unit.UnitName, TermItemName = termitem.WorkInspectName, tail.SubInspectId, tail.QuestionDesc, tail.RectifyOpinion, tail.RectifyTime, tail.InspectUser, InspectUserName = inspuser.UserName, tail.ApproveUser, ApproveUserName = approuser.UserName, tail.AdjustCompleteTime }; if (data.Count() > 0) { var model = data.FirstOrDefault(); //项目名称 lblProjectName.Text = model.ProjectName; //巡检编号 lblTailTermCode.Text = model.TailTermCode; //施工单位 lblConstructionUnit.Text = model.UnitName; //检查项 lblTermItemName.Text = model.TermItemName; //问题描述 lblQuestionDesc.Text = model.QuestionDesc; //整改意见 lblRectifyOpinion.Text = model.RectifyOpinion; //要求整改完成时间 lblAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd hh:mm:ss") : string.Empty; //检查人 lblInspectUser.Text = model.InspectUserName; //审核人 lblApproveUser.Text = model.ApproveUserName; hidApproveUserId.Text = model.ApproveUser; //审核时间 lblApproveTime.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); } } /// /// 处理意见绑定 /// public void gvHandleBrid() { 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 TestRun_InspectTermApproveRecords as a inner join TestRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join TestRun_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 "; List listStr = new List(); 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(); } /// /// 问题图片 /// 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))); } /// /// 整改图片 /// 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))); } /// /// 退回 /// protected void btnReturn_Click(object sender, EventArgs e) { var tailTerm = Funs.DB.TestRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId); if (tailTerm != null) { tailTerm.ApproveState = 3; var model = new TestRun_InspectTermApproveRecords(); model.InspectTermId = Guid.NewGuid().ToString(); model.ProjectId = this.CurrUser.LoginProjectId; model.TermItemId = tailTerm.TermItemId; model.TailTermId = this.TailTermId; model.ApproveOpinion = txtApproveOpinion.Text; model.ApproveTime = DateTime.Parse(lblApproveTime.Text); model.ApproveUser = hidApproveUserId.Text; //0:处理记录1:审核记录 model.ApproveType = 1; //0:退回1:通过 model.ApproveState = 0; model.AddUser = this.CurrUser.UserId; model.AddTime = DateTime.Now; Funs.DB.TestRun_InspectTermApproveRecords.InsertOnSubmit(model); Funs.DB.SubmitChanges(); ShowNotify("退回成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } /// /// 通过 /// protected void btnPass_Click(object sender, EventArgs e) { var tailTerm = Funs.DB.TestRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId); if (tailTerm != null) { //获取审核项 if (Funs.DB.TestRun_InspectTailTerm.Count(x => x.TermItemId == tailTerm.TermItemId && x.ApproveState != 5 && x.TailTermId != this.TailTermId && x.InspectUser == tailTerm.InspectUser) == 0) { var termItemModel = Funs.DB.TestRun_TermItemInspectedUser.FirstOrDefault(x => x.TermItemId == tailTerm.TermItemId && x.InspectedUser == tailTerm.InspectUser); if (termItemModel != null) { termItemModel.InspectionResults = 1; //检查表 var subModel = Funs.DB.TestRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == termItemModel.SubInspectId); if (subModel != null) { if (Funs.DB.TestRun_TermItemInspectedUser.Count(x => x.SubInspectId == termItemModel.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1 && x.TermItemId != termItemModel.TermItemId) == 0) { subModel.InspectionIsAllPass = 1; } else { subModel.InspectionIsAllPass = 0; } } //检查项表 var subItemModel = Funs.DB.TestRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemModel.TermItemId); if (subItemModel != null) { if (Funs.DB.TestRun_TermItemInspectedUser.Count(x => x.InspectionResults.GetValueOrDefault() != 1 && x.TermItemId == termItemModel.TermItemId && x.InspectedUser != tailTerm.InspectUser) == 0) { subItemModel.AllUserInspectionPass = 1; } else { subItemModel.AllUserInspectionPass = 0; } } } } tailTerm.ApproveState = 5; var model = new TestRun_InspectTermApproveRecords(); model.InspectTermId = Guid.NewGuid().ToString(); model.ProjectId = this.CurrUser.LoginProjectId; model.TermItemId = tailTerm.TermItemId; model.TailTermId = this.TailTermId; model.ApproveOpinion = txtApproveOpinion.Text; model.ApproveTime = DateTime.Parse(lblApproveTime.Text); model.ApproveUser = hidApproveUserId.Text; //0:处理记录1:审核记录 model.ApproveType = 1; //0:退回1:通过 model.ApproveState = 1; model.AddUser = this.CurrUser.UserId; model.AddTime = DateTime.Now; Funs.DB.TestRun_InspectTermApproveRecords.InsertOnSubmit(model); Funs.DB.SubmitChanges(); ShowNotify("审核成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } /// /// 关闭 /// protected void WindowAtt_Close(object sender, WindowCloseEventArgs e) { } } }