using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.WeldingReport
{
    public partial class ShowColumn : PageBase
    {
        #region 定义项
        /// 
        /// 菜单主键
        /// 
        public string MenuId
        {
            get
            {
                return (string)ViewState["MenuId"];
            }
            set
            {
                ViewState["MenuId"] = value;
            }
        }
        #endregion
        #region 加载
        /// 
        /// 加载页面
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.MenuId = Request.Params["menuId"];
                if (this.MenuId == BLL.Const.UnitAreaQualityMenuId)
                {
                    #region 单位工区质量分析
                    ListItem[] list = new ListItem[34];
                    list[0] = new ListItem("单位名称", "1");
                    list[1] = new ListItem("装置", "2");
                    list[2] = new ListItem("工区", "3");
                    list[3] = new ListItem("总焊口", "4");
                    list[4] = new ListItem("预制总焊口", "5");
                    list[5] = new ListItem("安装总焊口", "6");
                    list[6] = new ListItem("完成总焊口", "7");
                    list[7] = new ListItem("完成预制焊口", "8");
                    list[8] = new ListItem("完成安装焊口", "9");
                    list[9] = new ListItem("本期总拍片数", "10");
                    list[10] = new ListItem("本期合格片数", "11");
                    list[11] = new ListItem("本期合格率", "12");
                    list[12] = new ListItem("本期点口片数", "13");
                    list[13] = new ListItem("本期点口合格片数", "14");
                    list[14] = new ListItem("本期点口合格率", "15");
                    list[15] = new ListItem("本期扩透总片数", "16");
                    list[16] = new ListItem("本期扩透合格片数", "17");
                    list[17] = new ListItem("本期扩透合格率", "18");
                    list[18] = new ListItem("本期总委托数", "19");
                    list[19] = new ListItem("本期总检测数", "20");
                    list[20] = new ListItem("总拍片数", "21");
                    list[21] = new ListItem("合格片数", "22");
                    list[22] = new ListItem("合格率", "23");
                    list[23] = new ListItem("点口总片数", "24");
                    list[24] = new ListItem("点口合格片数", "25");
                    list[25] = new ListItem("点口合格率", "26");
                    list[26] = new ListItem("扩透总片数", "27");
                    list[27] = new ListItem("扩透合格片数", "28");
                    list[28] = new ListItem("扩透合格率", "29");
                    list[29] = new ListItem("总委托数", "30");
                    list[30] = new ListItem("点口总焊口数", "31");
                    list[31] = new ListItem("扩透总焊口数", "32");
                    list[32] = new ListItem("返修总焊口数", "33");
                    list[33] = new ListItem("检测口数", "34");
                    this.cblColumn.DataSource = list;
                    this.cblColumn.DataBind();
                    #endregion
                }
                if (this.MenuId == BLL.Const.UnitAreaAnalyzeMenuId)
                {
                    #region 单位工区进度分析
                    ListItem[] list = new ListItem[34];
                    list[0] = new ListItem("单位名称", "1");
                    list[1] = new ListItem("装置", "2");
                    list[2] = new ListItem("工区", "3");
                    list[3] = new ListItem("总焊口", "4");
                    list[4] = new ListItem("预制总焊口", "5");
                    list[5] = new ListItem("安装总焊口", "6");
                    list[6] = new ListItem("切除焊口", "7");
                    list[7] = new ListItem("总达因", "8");
                    list[8] = new ListItem("预制总达因", "9");
                    list[9] = new ListItem("安装总达因", "10");
                    list[10] = new ListItem("本期完成焊口数", "11");
                    list[11] = new ListItem("本期完成预制焊口数", "12");
                    list[12] = new ListItem("本期完成安装焊口数", "13");
                    list[13] = new ListItem("本期完成比例", "14");
                    list[14] = new ListItem("本期预制完成比例", "15");
                    list[15] = new ListItem("本期安装完成比例", "16");
                    list[16] = new ListItem("本期完成达因", "17");
                    list[17] = new ListItem("本期完成预制达因", "18");
                    list[18] = new ListItem("本期完成安装达因", "19");
                    list[19] = new ListItem("本期完成达因比例", "20");
                    list[20] = new ListItem("本期完成预制达因比例", "21");
                    list[21] = new ListItem("本期完成安装达因比例", "22");
                    list[22] = new ListItem("完成焊口", "23");
                    list[23] = new ListItem("完成预制焊口", "24");
                    list[24] = new ListItem("完成安装焊口", "25");
                    list[25] = new ListItem("完成比例", "26");
                    list[26] = new ListItem("安装完成比例", "27");
                    list[27] = new ListItem("预制完成比例", "28");
                    list[28] = new ListItem("完成达因", "29");
                    list[29] = new ListItem("完成预制达因", "30");
                    list[30] = new ListItem("完成安装达因", "31");
                    list[31] = new ListItem("完成达因比例", "32");
                    list[32] = new ListItem("完成预制达因比例", "33");
                    list[33] = new ListItem("完成安装达因比例", "34");
                    this.cblColumn.DataSource = list;
                    this.cblColumn.DataBind();
                    #endregion
                }
                if (this.MenuId == BLL.Const.WelderPerformanceMenuId)
                {
                    #region 焊工业绩分析
                    ListItem[] list = new ListItem[29];
                    list[0] = new ListItem("焊工代码", "1");
                    list[1] = new ListItem("焊工名称", "2");
                    list[2] = new ListItem("性别", "3");
                    list[3] = new ListItem("本期总达因值", "4");
                    list[4] = new ListItem("本期总焊口", "5");
                    list[5] = new ListItem("本期总返口数", "6");
                    list[6] = new ListItem("完成总焊口", "7");
                    list[7] = new ListItem("本期返修率", "8");
                    list[8] = new ListItem("本期成焊率", "9");
                    list[9] = new ListItem("本期拍片焊口数", "10");
                    list[10] = new ListItem("本期拍片焊口合格数", "11");
                    list[11] = new ListItem("本期焊口合格率", "12");
                    list[12] = new ListItem("本期拍片总数", "13");
                    list[13] = new ListItem("本期拍片合格数", "14");
                    list[14] = new ListItem("本期拍片不合格数", "15");
                    list[15] = new ListItem("本期拍片合格率", "16");
                    list[16] = new ListItem("本期拍片不合格率", "17");
                    list[17] = new ListItem("总达因值", "18");
                    list[18] = new ListItem("总焊口", "19");
                    list[19] = new ListItem("总返修口", "20");
                    list[20] = new ListItem("返修率", "21");
                    list[21] = new ListItem("成焊率", "22");
                    list[22] = new ListItem("总片数", "23");
                    list[23] = new ListItem("合格片数", "24");
                    list[24] = new ListItem("不合格数", "25");
                    list[25] = new ListItem("合格率", "26");
                    list[26] = new ListItem("不合格率", "27");
                    list[27] = new ListItem("所在班组", "28");
                    list[28] = new ListItem("是否在岗", "29");
                    this.cblColumn.DataSource = list;
                    this.cblColumn.DataBind();
                    #endregion
                }
                else if (this.MenuId == BLL.Const.IsoCmprehensiveMenuId)
                {
                    #region 管线综合分析
                    ListItem[] list = new ListItem[44];
                    list[0] = new ListItem("单位代码", "1");
                    list[1] = new ListItem("单位名称", "2");
                    list[2] = new ListItem("工区代号", "3");
                    list[3] = new ListItem("管线号", "4");
                    list[4] = new ListItem("最近焊期", "5");
                    list[5] = new ListItem("总焊口", "6");
                    list[6] = new ListItem("预制总焊口", "7");
                    list[7] = new ListItem("安装总焊口", "8");
                    list[8] = new ListItem("完成焊口", "9");
                    list[9] = new ListItem("预制完成焊口", "10");
                    list[10] = new ListItem("安装完成焊口", "11");
                    list[11] = new ListItem("切除焊口", "12");
                    list[12] = new ListItem("完成比例", "13");
                    list[13] = new ListItem("预制完成比例", "14");
                    list[14] = new ListItem("安装完成比例", "15");
                    list[15] = new ListItem("总达因", "16");
                    list[16] = new ListItem("预制达因", "17");
                    list[17] = new ListItem("安装达因", "18");
                    list[18] = new ListItem("完成总达因", "19");
                    list[19] = new ListItem("预制完成总达因", "20");
                    list[20] = new ListItem("安装完成总达因", "21");
                    list[21] = new ListItem("完成比例", "22");
                    list[22] = new ListItem("预制完成比例", "23");
                    list[23] = new ListItem("安装完成比例", "24");
                    list[24] = new ListItem("总拍片数", "25");
                    list[25] = new ListItem("合格片数", "26");
                    list[26] = new ListItem("合格率", "27");
                    list[27] = new ListItem("扩透总片数", "28");
                    list[28] = new ListItem("扩透合格片数", "29");
                    list[29] = new ListItem("扩透合格率", "30");
                    list[30] = new ListItem("点口总片数", "31");
                    list[31] = new ListItem("点口合格片数", "32");
                    list[32] = new ListItem("点口合格率", "33");
                    list[33] = new ListItem("切除总片数", "34");
                    list[34] = new ListItem("切除合格片数", "35");
                    list[35] = new ListItem("扩透数", "36");
                    list[36] = new ListItem("点口数", "37");
                    list[37] = new ListItem("委托数", "38");
                    list[38] = new ListItem("已探口数", "39");
                    list[39] = new ListItem("返口数", "40");
                    list[40] = new ListItem("检测比例", "41");
                    list[41] = new ListItem("委托比例", "42");
                    list[42] = new ListItem("已探比例", "43");
                    list[43] = new ListItem("固定口检测比例", "44");
                    this.cblColumn.DataSource = list;
                    this.cblColumn.DataBind();
                    #endregion
                }
                else if (this.MenuId == BLL.Const.IsoCompreInfoMenuId)
                {
                    #region 管线综合信息
                    ListItem[] list = new ListItem[19];
                    list[0] = new ListItem("单位名称", "1");
                    list[1] = new ListItem("施工区域", "2");
                    list[2] = new ListItem("管线号", "3");
                    list[3] = new ListItem("总达因", "4");
                    list[4] = new ListItem("焊口数", "5");
                    list[5] = new ListItem("介质", "6");
                    list[6] = new ListItem("探伤比例", "7");
                    list[7] = new ListItem("探伤类型", "8");
                    list[8] = new ListItem("合格等级", "9");
                    list[9] = new ListItem("材质", "10");
                    list[10] = new ListItem("设计压力", "11");
                    list[11] = new ListItem("设计温度", "12");
                    list[12] = new ListItem("实验压力", "13");
                    list[13] = new ListItem("实验温度", "14");
                    list[14] = new ListItem("系统号", "15");
                    list[15] = new ListItem("分系统号", "16");
                    list[16] = new ListItem("工作包号", "17");
                    list[17] = new ListItem("单线图号", "18");
                    list[18] = new ListItem("是否需要热处理", "19");
                    this.cblColumn.DataSource = list;
                    this.cblColumn.DataBind();
                    #endregion
                }
                
                Model.Sys_UserShowColumns c = BLL.UserShowColumnsService.GetColumnsByUserId(this.CurrUser.UserId, this.MenuId);
                if (c != null)
                {
                    if (!string.IsNullOrEmpty(c.Columns))
                    {
                        List columns = c.Columns.Split(',').ToList();
                        foreach (var item in this.cblColumn.Items)
                        {
                            if (columns.Contains(item.Value))
                            {
                                item.Selected = true;
                            }
                        }
                    }
                }
            }
        }
        #endregion
        #region 全选
        /// 
        /// 全选按钮
        /// 
        /// 
        /// 
        protected void ckAll_CheckedChanged(object sender, EventArgs e)
        {
            int count = this.cblColumn.Items.Count;
            for (int i = 0; i < count; i++)
            {
                this.cblColumn.Items[i].Selected = ckAll.Checked;
            }
        }
        #endregion
        #region 提交
        /// 
        /// 提交按钮
        /// 
        /// 
        /// 
        protected void btnSave_Click(object sender, EventArgs e)
        {
            string cl = string.Empty;
            int count = this.cblColumn.Items.Count;
            for (int i = 0; i < count; i++)
            {
                if (this.cblColumn.Items[i].Selected)
                {
                    cl += this.cblColumn.Items[i].Value + ",";
                }
            }
            if (!string.IsNullOrEmpty(cl))
            {
                cl = cl.Substring(0, cl.LastIndexOf(","));
                Model.Sys_UserShowColumns columns = new Model.Sys_UserShowColumns();
                Model.Sys_UserShowColumns c = BLL.UserShowColumnsService.GetColumnsByUserId(this.CurrUser.UserId, this.MenuId);
                if (c == null)
                {
                    columns.UserId = this.CurrUser.UserId;
                    columns.Columns = cl;
                    columns.ShowType = this.MenuId;
                    BLL.UserShowColumnsService.AddUserShowColumns(columns);
                }
                else
                {
                    c.Columns = cl;
                    BLL.UserShowColumnsService.UpdateUserShowColumns(c);
                }
            }
            else
            {
                Model.Sys_UserShowColumns c = BLL.UserShowColumnsService.GetColumnsByUserId(this.CurrUser.UserId, this.MenuId);
                if (c != null)
                {
                    BLL.UserShowColumnsService.DeleteUserShowColumns(c.ShowColumnId);
                }
            }
            PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
        }
        #endregion
    }
}