using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using BLL;
using Newtonsoft.Json.Linq;
namespace FineUIPro.Web.HJGL.MaterialManage
{
    public partial class ElectrodeRecoveryView : PageBase
    {
        #region 定义项
        /// 
        /// 主键
        /// 
        public string ElectrodeRecoveryId
        {
            get
            {
                return (string)ViewState["ElectrodeRecoveryId"];
            }
            set
            {
                ViewState["ElectrodeRecoveryId"] = value;
            }
        }
        #endregion
        #region 加载页面
        /// 
        /// 加载页面
        /// 
        /// 
        /// 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.ElectrodeRecoveryId = Request.Params["ElectrodeRecoveryId"];
                ///编制人
                if (!string.IsNullOrEmpty(this.ElectrodeRecoveryId))
                {
                    var electrode = BLL.HJGL_ElectrodeRecoveryService.GetElectrodeRecoveryByID(this.ElectrodeRecoveryId);
                    if (electrode != null)
                    {
                        var project = BLL.ProjectService.GetProjectByProjectId(electrode.ProjectId);
                        if (project != null)
                        {
                            this.lblProjectName.Text = project.ProjectName;
                        }
                        this.lbEletrodeCode.Text = electrode.ElectrodeRecoveryCode;
                        this.lbElectrodeRecoveryDate.Text = string.Format("{0:yyyy-MM-dd hh:mm:ss}", electrode.ElectrodeRecoveryDate);
                        this.lbCompileDate.Text = string.Format("{0:yyyy-MM-dd hh:mm:ss}", electrode.CompileDate);
                        this.lbCompileMan.Text = BLL.UserService.GetUserNameByUserId(electrode.CompileMan);
                        this.lbAuditDate.Text = string.Format("{0:yyyy-MM-dd hh:mm:ss}", electrode.AuditDate);
                        this.lbAuditMan.Text = BLL.UserService.GetUserNameByUserId(electrode.AuditMan);
                    }
                }
                // 绑定表格
                this.BindGrid();
            }
        }
        #endregion
        #region 数据绑定
        /// 
        /// 数据绑定
        /// 
        private void BindGrid()
        {
            //string strSql = @"SELECT ElectrodeRecoveryItemID,ElectrodeRecoveryId,ElectrodeGrade,BatchNumber,InLibCode,Specifications"
            //    + @" ,WelderCode,UseSite,WeldingMaterial,ISNULL(RecipientsCount,0) AS RecipientsCount,ISNULL(RecoveryCount,0) AS RecoveryCount,GrantMan,ElectrodeRecoveryModel,Item.WMT_ID,WeldMaterial.WMT_MatName"
            //    + @" FROM HJGL_ElectrodeRecoveryItem AS Item"
            //    + @" LEFT JOIN HJGL_BS_WeldMaterial AS WeldMaterial ON Item.WMT_ID = WeldMaterial.WMT_ID"
            //    + @" WHERE ElectrodeRecoveryId=@ElectrodeRecoveryId";
            string strSql = @"SELECT Item.ElectrodeRecoveryItemID"
                          + @" ,Item.ElectrodeRecoveryId"
                          + @" ,Item.ElectrodeGrade"
                          + @" ,Item.BatchNumber"
                          + @" ,Item.InLibCode"
                          + @" ,Item.Specifications"
                          + @" ,Item.WelderCode"
                          + @" ,Item.UseSite"
                          + @" ,Item.WeldingMaterial"
                          + @" ,Item.RecipientsCount"
                          + @" ,Item.RecoveryCount"
                          + @" ,Item.GrantMan"
                          + @" ,Item.ElectrodeRecoveryModel"
                          + @" ,Item.WMT_ID"
                          + @" ,Item.InstallationId"
                          + @" ,(CASE Item.CnProfession WHEN '1' THEN '管道安装工程' WHEN '2' THEN '钢结构安装工程' WHEN '3' THEN '仪表安装工程' END) AS CnProfession"
                          + @" ,(CASE Item.Equipment WHEN '1' THEN '管道' WHEN '2' THEN '钢结构' WHEN '3' THEN '仪表' END) AS Equipment"
                          + @" ,Installation.InstallationName"
                          + @",WeldMaterial.WMT_MatName"
                          + @" FROM HJGL_ElectrodeRecoveryItem AS Item"
                          + @" LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId = Item.InstallationId"
                          + @" LEFT JOIN HJGL_BS_WeldMaterial AS WeldMaterial ON WeldMaterial.WMT_ID = Item.WMT_ID "
                          + @" WHERE ElectrodeRecoveryId=@ElectrodeRecoveryId";
            SqlParameter[] parameter = new SqlParameter[]
                    {
                        new SqlParameter("@ElectrodeRecoveryId",this.ElectrodeRecoveryId),
                    };
            DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
            Grid1.DataSource = tb;
            Grid1.DataBind();
        }
        #endregion
        #region 排序
        /// 
        /// 排序
        /// 
        /// 
        /// 
        protected void Grid1_Sort(object sender, GridSortEventArgs e)
        {
            BindGrid();
        }
        #endregion
        /// 
        /// 打印
        /// 
        /// 
        /// 
        protected void btnPrint_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(this.ElectrodeRecoveryId))
            {
                string reportId = BLL.Const.HJGL_ElectrodeRecoveryReportId; //13表示焊条发放回收纪录                           
                PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId={3}", reportId, this.ElectrodeRecoveryId, string.Empty, this.CurrUser.LoginProjectId, "打印 - ")));
            }
        }
    }
}