ChengDa_English/SGGL/FineUIPro.Web/HJGL/HotHardManage/HotHardManageAudit.aspx.cs

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
}
}