using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.HotHardManage
{
    public partial class HotHardManageEdit :PageBase
    {
        #region 定义项
        /// 
        /// 主键
        /// 
        public string HotHardID
        {
            get
            {
                return (string)ViewState["HotHardID"];
            }
            set
            {
                ViewState["HotHardID"] = value;
            }
        }
        /// 
        /// 明细集合
        /// 
        private static List viewHotHardItems = new List();
        #endregion
        #region 加载
        /// 
        /// 加载页面
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //单位、装置
                //if (BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId) == null || BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId).UnitTypeId == BLL.Const.ProjectUnitType_1)
                //{
                //    BLL.UnitService.InitUnitNameByUnitTypeDropDownList(this.drpHotHardUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, true);
                //    BLL.Project_InstallationService.InitInstallationDropDownList(this.drpInstallationId, this.CurrUser.LoginProjectId, true);
                //}
                //else
                //{
                //    BLL.UnitService.InitSubUnitNameDownList(this.drpHotHardUnit, this.CurrUser.LoginProjectId, this.CurrUser.UnitId, true);
                //    BLL.Project_InstallationService.InitInstallationListDownList(this.drpInstallationId, this.CurrUser.LoginProjectId, this.CurrUser.UnitId, true);
                //}
                var pUnit = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
                if (pUnit != null)
                {
                    this.drpHotHardUnit.DataTextField = "UnitName";
                    this.drpHotHardUnit.DataValueField = "UnitId";
                    this.drpHotHardUnit.DataSource = pUnit;
                    this.drpHotHardUnit.DataBind();
                    this.drpHotHardUnit.SelectedValue = this.CurrUser.UnitId;
                    BLL.Project_InstallationService.InitInstallationListDownList(this.drpInstallationId, this.CurrUser.LoginProjectId, this.drpHotHardUnit.SelectedValue, true);
                    this.drpInstallationId.SelectedIndex = 0;
                }
                BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpCheckUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_5, true);//检测单位
                BLL.UserService.InitUserDropDownList(this.drpHotHardMan, this.CurrUser.LoginProjectId, true);//委托人
                this.txtReportDate.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
                this.drpHotHardMan.SelectedValue = this.CurrUser.UserId;
                this.txtHotHardDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
                this.txtNDTMethod.Text = "硬度(HB)";
                this.txtNDTRate.Text = "100%";
                this.txtStandards.Text = "SH3501-2011";
                InitTreeMenu();//加载树
            }
        }
        #endregion
        #region 加载树装置-单位-工作区
        /// 
        /// 加载树
        /// 
        private void InitTreeMenu()
        {
            if (!string.IsNullOrEmpty(this.txtReportDate.Text.Trim()))
            {
                DateTime? startTime = Funs.GetNewDateTime(this.txtReportDate.Text.Trim());
                DateTime? endTime = startTime.HasValue ? startTime.Value.AddMonths(1) : System.DateTime.Now;
                this.tvControlItem.Nodes.Clear();
                TreeNode rootNode = new TreeNode();
                rootNode.Text = "单位-装置-月份";
                rootNode.NodeID = "0";
                rootNode.Expanded = true;
                this.tvControlItem.Nodes.Add(rootNode);
                List units = null;
                var unit = BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId);
                if (unit == null || unit.UnitTypeId == BLL.Const.ProjectUnitType_1)
                {
                    units = BLL.UnitService.GetUnitByProjectIdUnitTypeList(this.CurrUser.LoginProjectId, "2");
                }
                else
                {
                    units = (from x in Funs.DB.Base_Unit where x.UnitId == this.CurrUser.UnitId select x).ToList();
                }
                List hotHardLists = new List(); ///硬度委托            
                hotHardLists = (from x in Funs.DB.HotHard
                                  where x.ProjectId == this.CurrUser.LoginProjectId && x.HotHardDate >= startTime && x.HotHardDate < endTime
                                  select x).ToList();
                if (units != null)
                {
                    foreach (var item in units)
                    {
                        TreeNode rootUnitNode = new TreeNode();//定义根节点
                        rootUnitNode.Text = item.UnitName;
                        rootUnitNode.NodeID = item.UnitId;
                        rootUnitNode.Expanded = true;
                        rootUnitNode.ToolTip = "施工单位";
                        rootNode.Nodes.Add(rootUnitNode);
                        var lists = hotHardLists.Where(x => x.HotHardUnit == item.UnitId).ToList();
                        this.BindNodes(rootUnitNode, lists);
                    }
                }
                else
                {
                    Alert.ShowInTop("请先增加施工单位!", MessageBoxIcon.Warning);
                    return;
                }
            }
            else
            {
                Alert.ShowInTop("请选择委托月份!", MessageBoxIcon.Warning);
                return;
            }
        }
        #endregion
        #region 绑定树节点
        /// 
        ///  绑定树节点
        /// 
        /// 
        private void BindNodes(TreeNode node, List hotHardLists)
        {
            if (node.ToolTip == "施工单位")
            {
                var installId = (from x in hotHardLists select x.InstallationId).Distinct();
                if (installId.Count() > 0)
                {
                    var install = from x in Funs.DB.Project_Installation where installId.Contains(x.InstallationId) orderby x.InstallationCode select x;
                    foreach (var q in install)
                    {
                        TreeNode newNode = new TreeNode();
                        newNode.Text = q.InstallationCode + q.InstallationName;
                        newNode.NodeID = q.InstallationId + "|" + node.NodeID; ;
                        newNode.ToolTip = "装置";
                        newNode.Expanded = true;
                        node.Nodes.Add(newNode);
                        this.BindNodes(newNode, hotHardLists);
                    }
                }
            }
            else if (node.ToolTip == "装置")
            {
                string installationId = Funs.GetStrListByStr(node.NodeID, '|')[0];
                var hotListMonth = (from x in hotHardLists
                                    where x.InstallationId == installationId && x.HotHardUnit == node.ParentNode.NodeID
                                    select string.Format("{0:yyyy-MM}", x.HotHardDate)).Distinct();
                foreach (var item in hotListMonth)
                {
                    TreeNode newNode = new TreeNode();
                    newNode.Text = item;
                    newNode.NodeID = item + "|" + node.NodeID; ;
                    newNode.ToolTip = "月份";
                    node.Nodes.Add(newNode);
                    this.BindNodes(newNode, hotHardLists);
                }
            }
            else if (node.ToolTip == "月份")
            {
                string installationId = Funs.GetStrListByStr(node.ParentNode.NodeID, '|')[0];
                var days = (from x in hotHardLists
                            where x.InstallationId == installationId && x.HotHardUnit == node.ParentNode.ParentNode.NodeID
                            orderby x.HotHardDate descending
                            select x.HotHardDate).Distinct();
                foreach (var item in days)
                {
                    TreeNode newNode = new TreeNode();
                    newNode.Text = string.Format("{0:yyyy-MM-dd}", item);
                    newNode.NodeID = item.ToString() + "|" + node.NodeID; ;
                    newNode.ToolTip = "日期";
                    node.Nodes.Add(newNode);
                    this.BindNodes(newNode, hotHardLists);
                }
            }
            else if (node.ToolTip == "日期")
            {
                string installationId = Funs.GetStrListByStr(node.ParentNode.ParentNode.NodeID, '|')[0];
                var dReports = from x in hotHardLists
                               where x.InstallationId == installationId && x.HotHardUnit == node.ParentNode.ParentNode.ParentNode.NodeID
                               && x.HotHardDate == Funs.GetNewDateTime(node.Text)
                               orderby x.HotHardCode descending
                               select x;
                foreach (var item in dReports)
                {
                    TreeNode newNode = new TreeNode();
                    if (!string.IsNullOrEmpty(item.HotHardCode))
                    {
                        newNode.Text = item.HotHardCode;
                    }
                    else
                    {
                        newNode.Text = "未知";
                    }
                    if (!item.AuditDate.HasValue || string.IsNullOrEmpty(item.AuditMan))
                    {
                        newNode.Text = "" + newNode.Text + "";
                        node.Text = "" + node.Text + "";
                        node.ParentNode.Text = "" + node.ParentNode.Text + "";
                    }
                    newNode.NodeID = item.HotHardID;
                    newNode.EnableClickEvent = true;
                    node.Nodes.Add(newNode);
                }
            }
        }
        #endregion
        #region 查询树节点
        protected void Tree_TextChanged(object sender, EventArgs e)
        {
            this.InitTreeMenu();
        }
        #endregion
        #region 点击树节点
        /// 
        /// 点击树节点
        /// 
        /// 
        /// 
        protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
        {
            viewHotHardItems = new List();
            this.HotHardID = this.tvControlItem.SelectedNodeID;
            if (!string.IsNullOrEmpty(this.HotHardID))
            {
                Model.HotHard hotHard = BLL.HotHardManageEditService.GetHotHardByID(this.HotHardID);
                if (hotHard != null)
                {
                    if (!string.IsNullOrEmpty(hotHard.HotHardUnit))
                    {
                        this.drpHotHardUnit.SelectedValue = hotHard.HotHardUnit;
                    }
                    if (!string.IsNullOrEmpty(hotHard.InstallationId))
                    {
                        this.drpInstallationId.SelectedValue = hotHard.InstallationId;
                    }
                    this.txtHotHardCode.Text = hotHard.HotHardCode;
                    if (!string.IsNullOrEmpty(hotHard.CheckUnit))
                    {
                        this.drpCheckUnit.SelectedValue = hotHard.CheckUnit;
                    }
                    if (!string.IsNullOrEmpty(hotHard.HotHardMan))
                    {
                        this.drpHotHardMan.SelectedValue = hotHard.HotHardMan;
                    }
                    else
                    {
                        this.drpHotHardMan.SelectedValue = this.CurrUser.UserId;
                    }
                    this.txtHotHardDate.Text = hotHard.HotHardDate.HasValue ? string.Format("{0:yyyy-MM-dd}", hotHard.HotHardDate) : string.Format("{0:yyyy-MM-dd}", DateTime.Now);
                    this.txtNDTMethod.Text = hotHard.NDTMethod;
                    this.txtNDTRate.Text = hotHard.NDTRate;
                    this.txtStandards.Text = hotHard.Standards;
                    this.txtInspectionNum.Text = hotHard.InspectionNum;
                    this.txtCheckNum.Text = hotHard.CheckNum;
                    this.txtTestWeldNum.Text = hotHard.TestWeldNum;
                    this.cblDetectionTime.SelectedValueArray = hotHard.DetectionTime.Split(',');
                    this.txtSendee.Text = hotHard.Sendee;
                    viewHotHardItems.Clear();
                    viewHotHardItems = BLL.HotHardManageEditService.GetView_HotHardItemByHotHardID(this.HotHardID);
                    if (viewHotHardItems.Count > 0)
                    {
                        this.Grid1.DataSource = viewHotHardItems;
                        this.Grid1.DataBind();
                    }
                }
            }
            else
            {
                this.HotHardID = string.Empty;
            }
        }
        #endregion        
        #region 增加
        /// 
        /// 增加按钮
        /// 
        /// 
        /// 
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (this.GetButtonPower(BLL.Const.BtnAdd))
            {
                TextIsEmpty();
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        /// 
        /// 初始化页面
        /// 
        private void TextIsEmpty()
        {
            this.drpHotHardUnit.SelectedIndex = 0;
            this.drpInstallationId.SelectedIndex = 0;
            this.txtHotHardCode.Text = string.Empty;
            this.drpCheckUnit.SelectedIndex = 0;
            this.drpHotHardMan.Text = this.CurrUser.UserId;
            this.txtHotHardDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
            this.txtNDTMethod.Text = "硬度(HB)";
            this.txtNDTRate.Text = "100%";
            this.txtStandards.Text = "SH3501-2011";
            this.txtInspectionNum.Text = string.Empty;
            this.txtCheckNum.Text = string.Empty;
            this.txtTestWeldNum.Text = string.Empty;
            this.cblDetectionTime.SelectedIndexArray = new int[0];
            this.txtSendee.Text = string.Empty;
            this.HotHardID = string.Empty;
            viewHotHardItems.Clear();
            this.Grid1.DataSource = viewHotHardItems;
            this.Grid1.DataBind();
            InitTreeMenu();
        }
        #endregion
        #region 查找管线焊口
        /// 
        /// 查找
        /// 
        /// 
        /// 
        protected void btnSearch_Click(object sender, EventArgs e)
        {
            if (this.GetButtonPower(BLL.Const.BtnSave))
            {
                if (this.drpHotHardUnit.SelectedValue == BLL.Const._Null || string.IsNullOrEmpty(this.drpHotHardUnit.SelectedValue))
                {
                    Alert.ShowInTop("请选择委托单位!", MessageBoxIcon.Warning);
                    return;
                }
                else if (this.drpInstallationId.SelectedValue == BLL.Const._Null || string.IsNullOrEmpty(this.drpInstallationId.SelectedValue))
                {
                    Alert.ShowInTop("请选择装置名称!", MessageBoxIcon.Warning);
                    return;
                }
                else
                {
                    string window = String.Format("ShowHotHardSearch.aspx?unitId={0}&&installationId={1}", this.drpHotHardUnit.SelectedValue, this.drpInstallationId.SelectedValue, "编辑 - ");
                    PageContext.RegisterStartupScript(Window1.GetSaveStateReference(this.hdJOTID.ClientID)
                      + Window1.GetShowReference(window));
                }
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        #endregion
        #region 关闭弹出窗体
        /// 
        /// 关闭弹出窗体
        /// 
        /// 
        /// 
        protected void Window1_Close(object sender, WindowCloseEventArgs e)
        {
            viewHotHardItems = new List();
          
            List infos = Funs.GetStrListByStr(hdJOTID.Text, ',');
            foreach (var item in infos)
            {
                var info = BLL.HotHardManageEditService.GetView_HotHardItemByJotID(item, this.CurrUser.LoginProjectId);
                if (info != null)
                {
                    info.Remark = null;
                    viewHotHardItems.Add(info);
                }
            }
            if (viewHotHardItems.Count > 0)
            {
                this.txtCheckNum.Text = viewHotHardItems.Count.ToString();
                this.txtTestWeldNum.Text = viewHotHardItems.Count.ToString();
                this.Grid1.DataSource = viewHotHardItems;
                this.Grid1.DataBind();
            }
        }
        #endregion
        #region 删除硬度委托
        /// 
        /// 删除
        /// 
        /// 
        /// 
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            if (this.GetButtonPower(BLL.Const.BtnDelete))
            {
                if (!string.IsNullOrEmpty(this.HotHardID))
                {
                    var HotHard = BLL.HotHardManageEditService.GetHotHardByID(HotHardID);
                    if (HotHard != null && !HotHard.AuditDate.HasValue)
                    {
                        BLL.HotHardManageEditService.DeleteHotHardItemByHotHardID(HotHardID);
                        BLL.HotHardManageEditService.DeleteHotHardByHotHardID(HotHardID);
                        ShowNotify("删除成功!", MessageBoxIcon.Success);
                        TextIsEmpty();
                    }
                    else
                    {
                        Alert.ShowInTop("此委托单已审核不能删除!", MessageBoxIcon.Warning);
                    }
                }
                else
                {
                    Alert.ShowInTop("请选择要删除的委托记录!", MessageBoxIcon.Warning);
                }
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        #endregion     
        #region 右键删除
        /// 
        /// 右键删除
        /// 
        /// 
        /// 
        protected void btnMenuDelete_Click(object sender, EventArgs e)
        {
            if (this.GetButtonPower(BLL.Const.BtnDelete))
            {
                if (Grid1.SelectedRowIndexArray.Length == 0)
                {
                    Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
                    return;
                }
                foreach (int rowIndex in Grid1.SelectedRowIndexArray)
                {
                    string rowID = Grid1.DataKeys[rowIndex][0].ToString();
                    var item =viewHotHardItems.FirstOrDefault(x => x.JOT_ID == rowID);
                    if (item != null)
                    {
                        viewHotHardItems.RemoveAt(rowIndex);
                    }
                }
                Grid1.DataSource = viewHotHardItems;
                Grid1.DataBind();
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        #endregion
        #region 保存热处理
        /// 
        /// 保存
        /// 
        /// 
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (this.GetButtonPower(BLL.Const.BtnSave))
            {
                if (viewHotHardItems.Count <= 0)
                {
                    Alert.ShowInTop("请选择委托明细项!", MessageBoxIcon.Warning);
                    return;
                }
                if (this.drpHotHardUnit.SelectedValue == BLL.Const._Null || string.IsNullOrEmpty(this.drpHotHardUnit.SelectedValue))
                {
                    Alert.ShowInTop("请选择委托单位!", MessageBoxIcon.Warning);
                    return;
                }
                if (this.drpInstallationId.SelectedValue == BLL.Const._Null || string.IsNullOrEmpty(this.drpInstallationId.SelectedValue))
                {
                    Alert.ShowInTop("请选择装置名称!", MessageBoxIcon.Warning);
                    return;
                }
                if (this.drpCheckUnit.SelectedValue==BLL.Const._Null||string.IsNullOrEmpty(this.drpCheckUnit.SelectedValue))
                {
                    Alert.ShowInTop("请选择检测单位!", MessageBoxIcon.Warning);
                    return;
                }
                if (this.drpHotHardMan.SelectedValue == BLL.Const._Null || string.IsNullOrEmpty(this.drpHotHardMan.SelectedValue))
                {
                    Alert.ShowInTop("请选择委托人!", MessageBoxIcon.Warning);
                    return;
                }
                Model.HotHard HotHard = new Model.HotHard();
                HotHard.HotHardCode = this.txtHotHardCode.Text.Trim();
                HotHard.HotHardUnit = this.drpHotHardUnit.SelectedValue;
                HotHard.HotHardDate = Funs.GetNewDateTime(this.txtHotHardDate.Text.Trim());
                HotHard.NDTRate = this.txtNDTRate.Text.Trim();
                HotHard.NDTMethod = this.txtNDTMethod.Text.Trim();
                HotHard.CheckUnit = this.drpCheckUnit.SelectedValue;
                HotHard.ProjectId = this.CurrUser.LoginProjectId;
                HotHard.InstallationId = this.drpInstallationId.SelectedValue;
                HotHard.DetectionTime = GetStringByArray(this.cblDetectionTime.SelectedValueArray);
                HotHard.Sendee = this.txtSendee.Text.Trim();
                HotHard.Standards = this.txtStandards.Text.Trim();
                HotHard.InspectionNum = this.txtInspectionNum.Text.Trim();
                HotHard.CheckNum = this.txtCheckNum.Text.Trim();
                HotHard.TestWeldNum = this.txtTestWeldNum.Text.Trim();
                HotHard.HotHardMan = this.drpHotHardMan.SelectedValue;
                var updateHotHard = BLL.HotHardManageEditService.GetHotHardByID(HotHardID);
                if (updateHotHard != null && updateHotHard.AuditDate.HasValue)
                {
                    Alert.ShowInTop("此条委托单已审核不能修改!", MessageBoxIcon.Warning);
                    return;
                }
                if (updateHotHard != null && !string.IsNullOrEmpty(HotHardID))
                {
                    HotHard.HotHardID = HotHardID;
                    BLL.HotHardManageEditService.UpdateHotHard(HotHard);
                    BLL.HotHardManageEditService.DeleteHotHardItemByHotHardID(HotHardID);
                    //BLL.LogService.AddLog(this.CurrUser.UserId, "修改委托单信息");
                }
                else
                {
                    HotHard.HotHardID = SQLHelper.GetNewID(typeof(Model.HotHard));
                    this.HotHardID = HotHard.HotHardID;
                    BLL.HotHardManageEditService.AddHotHard(HotHard);
                    //BLL.LogService.AddLog(this.CurrUser.UserId, "添加委托单信息");
                }
                JArray mergedData = Grid1.GetMergedData();
                foreach (JObject mergedRow in mergedData)
                {
                    string status = mergedRow.Value("status");
                    JObject values = mergedRow.Value("values");
                    string rowID = values.Value("JOT_ID").ToString();
                    var item = viewHotHardItems.FirstOrDefault(x => x.JOT_ID == rowID);
                    if (item != null)
                    {
                        item.HotHardID = this.HotHardID;
                        item.JOT_ID = rowID;
                        item.Remark = values.Value("Remark");
                    }
                }
                foreach (var item in viewHotHardItems)
                {
                    Model.HotHardItem newHotHardItem = new Model.HotHardItem();
                    newHotHardItem.HotHardID = this.HotHardID;
                    newHotHardItem.JOT_ID = item.JOT_ID;
                    newHotHardItem.Remark = item.Remark;
                    BLL.HotHardManageEditService.AddHotHardItem(newHotHardItem);
                }
                ShowNotify("保存成功!", MessageBoxIcon.Success);
                InitTreeMenu();
                viewHotHardItems.Clear();
            }
            else
            {
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
            }
        }
        #endregion  
        #region DropDownList下拉选择事件
        /// 
        /// 单位下拉选择事件
        /// 
        /// 
        /// 
        protected void drpHotHardUnit_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.drpInstallationId.Items.Clear();
            if (!string.IsNullOrEmpty(this.drpHotHardUnit.SelectedValue) && this.drpHotHardUnit.SelectedValue != BLL.Const._Null)
            {
                //if (BLL.WorkAreaService.IsSupervisor(this.CurrUser.UnitId, this.CurrUser.LoginProjectId))
                //{
                //    BLL.Project_InstallationService.InitInstallationBySupervisorUnitIdListDownList(this.drpInstallationId, this.CurrUser.LoginProjectId, this.drpHotHardUnit.SelectedValue, this.CurrUser.UnitId, true);
                //    this.drpInstallationId.SelectedIndex = 0;
                //}
                //else
                //{
                //    BLL.Project_InstallationService.InitInstallationListDownList(this.drpInstallationId, this.CurrUser.LoginProjectId, this.drpHotHardUnit.SelectedValue, true);
                //    this.drpInstallationId.SelectedIndex = 0;
                //}
                BLL.Project_InstallationService.InitInstallationListDownList(this.drpInstallationId, this.CurrUser.LoginProjectId, this.drpHotHardUnit.SelectedValue, true);
                this.drpInstallationId.SelectedIndex = 0;
                //加载编号            
                string prefixCode = string.Empty;
                var tccCode = BLL.UnitService.GetUnitCodeByUnitId(BLL.Const.UnitId_TCC);
                var unitCode = BLL.UnitService.GetUnitCodeByUnitId(this.drpHotHardUnit.SelectedValue);
                if (!string.IsNullOrEmpty(tccCode))
                {
                    prefixCode = tccCode + "-" + unitCode + "-HB-";
                }
                this.txtHotHardCode.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode5ByProjectId", "dbo.HotHard", "HotHardCode", this.CurrUser.LoginProjectId, prefixCode);
            }
            else
            {
                Funs.FineUIPleaseSelect(this.drpInstallationId);
            }
        }
        /// 
        /// 装置下拉选择事件
        /// 
        /// 
        /// 
        protected void drpInstallationId_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.drpHotHardUnit.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpHotHardUnit.SelectedValue) && this.drpInstallationId.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpInstallationId.SelectedValue))
            {
                //加载编号            
                string prefixCode = string.Empty;
                var tccCode = BLL.UnitService.GetUnitCodeByUnitId(BLL.Const.UnitId_TCC);
                var unitCode = BLL.UnitService.GetUnitCodeByUnitId(this.drpHotHardUnit.SelectedValue);
                var area = BLL.WorkAreaService.GetWorkAreaByProjectIdAndInstalltionIdAndUnitId(this.CurrUser.LoginProjectId, this.drpInstallationId.SelectedValue, this.drpHotHardUnit.SelectedValue);
                if (!string.IsNullOrEmpty(tccCode))
                {
                    prefixCode = tccCode + "-" + unitCode + "-" + area.WorkAreaCode + "-HB-";
                }
                this.txtHotHardCode.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode5ByProjectId", "dbo.HotHard", "HotHardCode", this.CurrUser.LoginProjectId, prefixCode);
            }
        }
        #endregion
        #region 格式化字符串
        /// 
        /// 获取多个值
        /// 
        /// 
        /// 
        private string GetStringByArray(string[] array)
        {
            string str = string.Empty;
            foreach (var item in array)
            {
                if (item != BLL.Const._Null)
                {
                    str += item + ",";
                }
            }
            if (!string.IsNullOrEmpty(str))
            {
                str = str.Substring(0, str.LastIndexOf(","));
            }
            return str;
        }
        #endregion
        #region 获取按钮权限
        /// 
        /// 获取按钮权限
        /// 
        /// 
        /// 
        private bool GetButtonPower(string button)
        {
            return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_HotHardManageMenuId, button);
        }
        #endregion
    }
}