373 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			373 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C#
		
	
	
	
using BLL;
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Linq;
 | 
						|
using System.Web.UI.WebControls;
 | 
						|
 | 
						|
namespace FineUIPro.Web.HJGL.HotHardManage
 | 
						|
{
 | 
						|
    public partial class HotHardManageAudit : PageBase
 | 
						|
    {
 | 
						|
        #region 定义项
 | 
						|
        /// <summary>
 | 
						|
        /// 主键
 | 
						|
        /// </summary>
 | 
						|
        public string HotHardID
 | 
						|
        {
 | 
						|
            get
 | 
						|
            {
 | 
						|
                return (string)ViewState["HotHardID"];
 | 
						|
            }
 | 
						|
            set
 | 
						|
            {
 | 
						|
                ViewState["HotHardID"] = value;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 明细集合
 | 
						|
        /// </summary>
 | 
						|
        private static List<Model.View_HotHardItem> viewHotHardItems = new List<Model.View_HotHardItem>();
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 加载
 | 
						|
        /// <summary>
 | 
						|
        /// 加载页面
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void Page_Load(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (!IsPostBack)
 | 
						|
            {
 | 
						|
                BLL.UserService.InitUserDropDownList(this.drpAuditMan, this.CurrUser.LoginProjectId, true);
 | 
						|
                this.txtReportDate.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
 | 
						|
                this.txtAuditDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
 | 
						|
                this.drpAuditMan.SelectedValue = this.CurrUser.UserId;
 | 
						|
 | 
						|
                InitTreeMenu();//加载树
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 加载树装置-单位-工作区
 | 
						|
        /// <summary>
 | 
						|
        /// 加载树
 | 
						|
        /// </summary>
 | 
						|
        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<Model.Base_Unit> 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<Model.HotHard> hotHardLists = new List<Model.HotHard>(); ///硬度委托            
 | 
						|
                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 绑定树节点
 | 
						|
        /// <summary>
 | 
						|
        ///  绑定树节点
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="node"></param>
 | 
						|
        private void BindNodes(TreeNode node, List<Model.HotHard> 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 = "<font color='#FF7575'>" + newNode.Text + "</font>";
 | 
						|
                        node.Text = "<font color='#FF7575'>" + node.Text + "</font>";
 | 
						|
                        node.ParentNode.Text = "<font color='#FF7575'>" + node.ParentNode.Text + "</font>";
 | 
						|
                    }
 | 
						|
                    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 点击树节点
 | 
						|
        /// <summary>
 | 
						|
        /// 点击树节点
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
 | 
						|
        {
 | 
						|
            viewHotHardItems = new List<Model.View_HotHardItem>();
 | 
						|
            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.txtHotHardUnitName.Text = BLL.UnitService.GetUnitNameByUnitId(hotHard.HotHardUnit);
 | 
						|
                    }
 | 
						|
                    if (!string.IsNullOrEmpty(hotHard.InstallationId))
 | 
						|
                    {
 | 
						|
                        this.txtInstallationName.Text = BLL.Project_InstallationService.GetInstallationByInstallationId(hotHard.InstallationId).InstallationName;
 | 
						|
                    }
 | 
						|
                    this.txtHotHardCode.Text = hotHard.HotHardCode;
 | 
						|
                    if (!string.IsNullOrEmpty(hotHard.CheckUnit))
 | 
						|
                    {
 | 
						|
                        this.txtCheckUnitName.Text = BLL.UnitService.GetUnitNameByUnitId(hotHard.CheckUnit);
 | 
						|
                    }
 | 
						|
                    if (!string.IsNullOrEmpty(hotHard.HotHardMan))
 | 
						|
                    {
 | 
						|
                        this.txtHotHardManName.Text = BLL.UserService.GetUserNameByUserId(hotHard.HotHardMan);
 | 
						|
                    }
 | 
						|
                    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;
 | 
						|
                    if (!string.IsNullOrEmpty(hotHard.AuditMan))
 | 
						|
                    {
 | 
						|
                        this.drpAuditMan.SelectedValue = hotHard.AuditMan;
 | 
						|
                    }
 | 
						|
                    this.txtAuditDate.Text = hotHard.AuditDate.HasValue ? string.Format("{0:yyyy-MM-dd}", hotHard.AuditDate) : string.Format("{0:yyyy-MM-dd}", DateTime.Now);
 | 
						|
 | 
						|
                    viewHotHardItems.Clear();
 | 
						|
                    viewHotHardItems = BLL.HotHardManageEditService.GetView_HotHardItemByHotHardID(this.HotHardID);
 | 
						|
                    if (viewHotHardItems.Count > 0)
 | 
						|
                    {
 | 
						|
                        this.Grid1.DataSource = viewHotHardItems;
 | 
						|
                        this.Grid1.DataBind();
 | 
						|
                    }
 | 
						|
                    //隐藏/显示审核/取消审核按钮
 | 
						|
                    if (!string.IsNullOrEmpty(hotHard.AuditMan) && hotHard.AuditDate.HasValue)
 | 
						|
                    {
 | 
						|
                        this.btnAudit.Hidden = true;
 | 
						|
                        this.btnCancelAudit.Hidden = false;
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        this.btnAudit.Hidden = false;
 | 
						|
                        this.btnCancelAudit.Hidden = true;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 审核
 | 
						|
        /// <summary>
 | 
						|
        /// 审核
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnAudit_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (this.GetButtonPower(BLL.Const.BtnAuditing))
 | 
						|
            {
 | 
						|
                if (!string.IsNullOrEmpty(this.HotHardID))
 | 
						|
                {
 | 
						|
                    var updateHotHard = BLL.HotHardManageEditService.GetHotHardByID(this.HotHardID);
 | 
						|
                    if (updateHotHard != null)
 | 
						|
                    {
 | 
						|
                        updateHotHard.HotHardID = this.HotHardID;
 | 
						|
                        if (!string.IsNullOrEmpty(this.txtAuditDate.Text) && this.drpAuditMan.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpAuditMan.SelectedValue))
 | 
						|
                        {
 | 
						|
                            updateHotHard.AuditDate = Funs.GetNewDateTime(this.txtAuditDate.Text);
 | 
						|
                            updateHotHard.AuditMan = this.drpAuditMan.SelectedValue;
 | 
						|
                            BLL.HotHardManageEditService.AuditHotHard(updateHotHard);
 | 
						|
 | 
						|
                            this.btnCancelAudit.Hidden = false;
 | 
						|
                            this.btnAudit.Hidden = true;
 | 
						|
                            InitTreeMenu();
 | 
						|
                            ShowNotify("审核完成!", MessageBoxIcon.Success);
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            Alert.ShowInTop("请填写审核人和审核日期!", MessageBoxIcon.Warning);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        Alert.ShowInTop("请选择要审核的单据!", MessageBoxIcon.Warning);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 取消审核
 | 
						|
        /// <summary>
 | 
						|
        /// 取消审核
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="sender"></param>
 | 
						|
        /// <param name="e"></param>
 | 
						|
        protected void btnCancelAudit_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (this.GetButtonPower(BLL.Const.BtnCancelAuditing))
 | 
						|
            {
 | 
						|
                if (!string.IsNullOrEmpty(this.HotHardID))
 | 
						|
                {
 | 
						|
                    var updateHotHard = BLL.HotHardManageEditService.GetHotHardByID(HotHardID);
 | 
						|
                    if (updateHotHard != null)
 | 
						|
                    {
 | 
						|
                        updateHotHard.HotHardID = this.HotHardID;
 | 
						|
                        updateHotHard.AuditDate = null;
 | 
						|
                        updateHotHard.AuditMan = null;
 | 
						|
                        this.btnCancelAudit.Hidden = true;
 | 
						|
                        this.btnAudit.Hidden = false;
 | 
						|
                        InitTreeMenu();
 | 
						|
                        BLL.HotHardManageEditService.AuditHotHard(updateHotHard);
 | 
						|
                        ShowNotify("取消审核完成!", MessageBoxIcon.Success);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 获取按钮权限
 | 
						|
        /// <summary>
 | 
						|
        /// 获取按钮权限
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="button"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        private bool GetButtonPower(string button)
 | 
						|
        {
 | 
						|
            return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_HotHardManageAuditMenuId, button);
 | 
						|
        }
 | 
						|
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
} |