namespace FineUIPro.Web.HSSE.License
{
    using BLL;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.SqlClient;
    using System.Linq;
    public partial class BreakGroundView : PageBase
    {
        #region 定义项
        /// 
        /// 主键
        /// 
        private string BreakGroundId
        {
            get
            {
                return (string)ViewState["BreakGroundId"];
            }
            set
            {
                ViewState["BreakGroundId"] = value;
            }
        }
        #endregion
        #region 加载
        /// 
        /// 加载页面
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.SimpleForm1.Title = UnitService.GetUnitNameByUnitId(Const.UnitId_CWCEC) + this.Title;
                this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
                this.BreakGroundId = Request.Params["BreakGroundId"];
                if (!string.IsNullOrEmpty(this.BreakGroundId))
                {
                    var getBreakGround = LicensePublicService.GetBreakGroundById(this.BreakGroundId);
                    if (getBreakGround != null)
                    {
                        this.lbLicenseCode.Text = getBreakGround.LicenseCode;
                        this.txtApplyUnit.Text = UnitService.GetUnitNameByUnitId(getBreakGround.ApplyUnitId);
                        //this.txtApplyManName.Text = UserService.GetUserNameByUserId(getBreakGround.ApplyManId);
                        txtWorkAreaName.Text = UnitWorkService.GetUnitWorkName(getBreakGround.WorkAreaId);
                        this.txtWorkPalce.Text = getBreakGround.WorkPalce;
                        //this.txtWorkDepth.Text = getBreakGround.WorkDepth;
                        txtFireWatchManName.Text = getBreakGround.FireWatchManName;
                        txtReason.Text = getBreakGround.Reason;
                        if (getBreakGround.ValidityStartTime.HasValue)
                        {
                            this.txtWorkDate.Text = getBreakGround.ValidityStartTime.Value.ToString("f") + " 至 ";
                            if (getBreakGround.ValidityEndTime.HasValue)
                            {
                                this.txtWorkDate.Text += getBreakGround.ValidityEndTime.Value.ToString("f");
                            }
                        }
                        this.txtWorkMeasures.Text = getBreakGround.WorkMeasures;
                        if (!string.IsNullOrEmpty(getBreakGround.CancelManId))
                        {
                            this.txtCance.Text = UserService.GetUserNameByUserId(getBreakGround.CancelManId) + ";取消时间:"
                                + string.Format("{0:yyyy-MM-dd HH:mm}", getBreakGround.CancelTime) + ";原因:" + getBreakGround.CancelReasons + "。";
                        }
                        if (!string.IsNullOrEmpty(getBreakGround.CloseManId))
                        {
                            if (!string.IsNullOrEmpty(getBreakGround.CloseReasons))
                            {
                                this.txtClose.Text = getBreakGround.CloseReasons + " 关闭时间:"
                                 + string.Format("{0:yyyy-MM-dd HH:mm}", getBreakGround.CloseTime) + "。";
                            }
                            else
                            {
                                this.txtClose.Text = UserService.GetUserNameByUserId(getBreakGround.CloseManId) + ";关闭时间:"
                                + string.Format("{0:yyyy-MM-dd HH:mm}", getBreakGround.CloseTime) + "。";
                            }
                        }
                    }
                }
                // 绑定表格
                this.BindGrid();
                this.SetFlow();
            }
        }
        #endregion
        #region 获取审核记录信息
        public string FlowOperateId1;
        public string FlowOperateId2;
        public string FlowOperateId3;
        public string FlowOperateId4;
        /// 
        /// 
        /// 
        private void SetFlow()
        {
            var getFlows = LicensePublicService.GetFlowOperateListByDataId(this.BreakGroundId);
            if (getFlows.Count() > 0)
            {
                var getF1 = getFlows.FirstOrDefault(x => x.SortIndex == 1);
                if (getF1 != null)
                {
                    FlowOperateId1 = getF1.FlowOperateId;
                    this.txtForm1.Title = getF1.AuditFlowName + ":";
                    if (getF1.OperaterTime.HasValue)
                    {
                        if (getF1.IsAgree == true)
                        {
                            this.txtOpinion1.Text = "同意。";
                        }
                        else
                        {
                            this.txtOpinion1.Text = getF1.Opinion;
                        }
                        if (!string.IsNullOrEmpty(getF1.SignatureUrl))
                        {
                            this.Image1.ImageUrl = "~/" + getF1.SignatureUrl;
                        }
                        var signUser1 = UserService.GetUserByUserId(getF1.OperaterId);
                        if (signUser1 != null)
                        {
                            this.txtName1.Text = signUser1.UserName;
                        }
                        this.txtTime1.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF1.OperaterTime);
                    }
                }
                var getF2 = getFlows.FirstOrDefault(x => x.SortIndex == 2);
                if (getF2 != null)
                {
                    FlowOperateId2 = getF2.FlowOperateId;
                    this.txtForm2.Title = getF2.AuditFlowName + ":";
                    if (getF2.OperaterTime.HasValue)
                    {
                        if (getF2.IsAgree == true)
                        {
                            this.txtOpinion2.Text = "同意。";
                        }
                        else
                        {
                            this.txtOpinion2.Text = getF2.Opinion;
                        }
                        if (!string.IsNullOrEmpty(getF2.SignatureUrl))
                        {
                            this.Image2.ImageUrl = "~/" + getF2.SignatureUrl;
                        }
                        var signUser2 = UserService.GetUserByUserId(getF2.OperaterId);
                        if (signUser2 != null)
                        {
                            this.txtName2.Text = signUser2.UserName;
                        }
                        this.txtTime2.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF2.OperaterTime);
                    }
                }
                var getF3 = getFlows.FirstOrDefault(x => x.SortIndex == 3);
                if (getF3 != null)
                {
                    FlowOperateId3 = getF3.FlowOperateId;
                    this.txtForm3.Title = getF3.AuditFlowName + ":";
                    if (getF3.OperaterTime.HasValue)
                    {
                        if (getF3.IsAgree == true)
                        {
                            this.txtOpinion3.Text = "同意。";
                        }
                        else
                        {
                            this.txtOpinion3.Text = getF3.Opinion;
                        }
                        if (!string.IsNullOrEmpty(getF3.SignatureUrl))
                        {
                            this.Image3.ImageUrl = "~/" + getF3.SignatureUrl;
                        }
                        var signUser3 = UserService.GetUserByUserId(getF3.OperaterId);
                        if (signUser3 != null)
                        {
                            this.txtName3.Text = signUser3.UserName;
                        }
                        this.txtTime3.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF3.OperaterTime);
                    }
                }
                var getF4 = getFlows.FirstOrDefault(x => x.SortIndex == 4);
                if (getF4 != null)
                {
                    FlowOperateId4 = getF4.FlowOperateId;
                    this.txtForm4.Title = getF4.AuditFlowName + ":";
                    if (getF4.OperaterTime.HasValue)
                    {
                        if (getF4.IsAgree == true)
                        {
                            this.txtOpinion4.Text = "同意。";
                        }
                        else
                        {
                            this.txtOpinion4.Text = getF4.Opinion;
                        }
                        if (!string.IsNullOrEmpty(getF4.SignatureUrl))
                        {
                            this.Image4.ImageUrl = "~/" + getF4.SignatureUrl;
                        }
                        var signUser4 = UserService.GetUserByUserId(getF4.OperaterId);
                        if (signUser4 != null)
                        {
                            this.txtName4.Text = signUser4.UserName;
                        }
                        this.txtTime4.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF4.OperaterTime);
                    }
                }
                //var getF2 = getFlows.FirstOrDefault(x => x.SortIndex == 2);
                //if (getF2 != null)
                //{
                //    this.txtForm2.Title = getF2.AuditFlowName + ":";
                //    if (getF2.OperaterTime.HasValue)
                //    {
                //        if (getF2.IsAgree == true)
                //        {
                //            this.txtOpinion2.Text = "同意。";
                //        }
                //        else
                //        {
                //            this.txtOpinion2.Text = getF2.Opinion;
                //        }
                //        this.txtName2.Text = UserService.GetUserNameByUserId(getF2.OperaterId);
                //        this.txtTime2.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF2.OperaterTime);
                //    }
                //}
                //var getF3 = getFlows.FirstOrDefault(x => x.SortIndex == 3);
                //if (getF3 != null)
                //{
                //    this.txtForm3.Title = getF3.AuditFlowName + ":";
                //    if (getF3.OperaterTime.HasValue)
                //    {
                //        if (getF3.IsAgree == true)
                //        {
                //            this.txtOpinion3.Text = "同意。";
                //        }
                //        else
                //        {
                //            this.txtOpinion3.Text = getF3.Opinion;
                //        }
                //        this.txtName3.Text = UserService.GetUserNameByUserId(getF3.OperaterId);
                //        this.txtTime3.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF3.OperaterTime);
                //    }
                //}
                //var getF4 = getFlows.FirstOrDefault(x => x.SortIndex == 4);
                //if (getF4 != null)
                //{
                //    this.txtForm4.Title = getF4.AuditFlowName + ":";
                //    if (getF4.OperaterTime.HasValue)
                //    {
                //        if (getF4.IsAgree == true)
                //        {
                //            this.txtOpinion4.Text = "同意。";
                //        }
                //        else
                //        {
                //            this.txtOpinion4.Text = getF4.Opinion;
                //        }
                //        this.txtName4.Text = UserService.GetUserNameByUserId(getF4.OperaterId);
                //        this.txtTime4.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF4.OperaterTime);
                //    }
                //}
                //var getF5 = getFlows.FirstOrDefault(x => x.SortIndex == 5);
                //if (getF5 != null)
                //{
                //    this.txtForm5.Title = getF5.AuditFlowName + ":";
                //    if (getF5.OperaterTime.HasValue)
                //    {
                //        if (getF5.IsAgree == true)
                //        {
                //            this.txtOpinion5.Text = "同意。";
                //        }
                //        else
                //        {
                //            this.txtOpinion5.Text = getF5.Opinion;
                //        }
                //        this.txtName5.Text = UserService.GetUserNameByUserId(getF5.OperaterId);
                //        this.txtTime5.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF5.OperaterTime);
                //    }
                //}
                //var getF6 = getFlows.FirstOrDefault(x => x.SortIndex == 6);
                //if (getF6 != null)
                //{
                //    this.txtForm6.Title = getF6.AuditFlowName + ":";
                //    if (getF6.OperaterTime.HasValue)
                //    {
                //        if (getF6.IsAgree == true)
                //        {
                //            this.txtOpinion6.Text = "同意。";
                //        }
                //        else
                //        {
                //            this.txtOpinion6.Text = getF6.Opinion;
                //        }
                //        this.txtName6.Text = UserService.GetUserNameByUserId(getF6.OperaterId);
                //        this.txtTime6.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getF6.OperaterTime);
                //    }
                //}
            }
        }
        #endregion
        /// 
        /// 绑定数据
        /// 
        private void BindGrid()
        {
            string strSql = @"SELECT LicenseItemId,DataId,SortIndex,SafetyMeasures,(CASE WHEN IsUsed = 1 THEN '合格' ELSE '不合格' END) AS NoUsedName,ConfirmManId,U.UserName AS ConfirmManName"
                         + @" FROM License_LicenseItem AS L "
                         + @" LEFT JOIN Sys_User AS U ON L.ConfirmManId =U.UserId"
                         + @" WHERE L.DataId ='" + this.BreakGroundId +"'";
            List listStr = new List();            
            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();
        }
        #region 附件查看
        /// 
        /// 附件查看
        /// 
        /// 
        /// 
        protected void btnAttachUrl_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(this.BreakGroundId))
            {
                PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&menuId={1}&type=-1", this.BreakGroundId, Const.ProjectBreakGroundMenuId)));
            }
        }
        #endregion
    }
}