修改进度报表及试车管理
This commit is contained in:
@@ -0,0 +1,307 @@
|
||||
using BLL;
|
||||
using Model;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.TestRun.BeforeTestRun
|
||||
{
|
||||
public partial class SubSysWorkPackage : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 热处理委托主键
|
||||
/// </summary>
|
||||
public string TreePreRunId { get { return (string)ViewState["TreePreRunId"]; } set { ViewState["TreePreRunId"] = value; } }
|
||||
public string SsubSystemId { get { return (string)ViewState["SsubSystemId"]; } set { ViewState["SsubSystemId"] = value; } }
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.InitTreeMenu();//加载树
|
||||
}
|
||||
}
|
||||
|
||||
#region 加载树
|
||||
|
||||
/// <summary>
|
||||
/// 加载树
|
||||
/// </summary>
|
||||
private void InitTreeMenu()
|
||||
{
|
||||
this.tvControlItem.Nodes.Clear();
|
||||
TreeNode rootNode = new TreeNode();
|
||||
rootNode.Text = "系统划分";
|
||||
rootNode.NodeID = "0";
|
||||
rootNode.Expanded = true;
|
||||
rootNode.ToolTip = "";
|
||||
rootNode.EnableClickEvent = true;
|
||||
this.tvControlItem.Nodes.Add(rootNode);
|
||||
var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId).ToList();
|
||||
var onePreRunLs = allPreRunLs.Where(p => p.PreRunLevel == 1);
|
||||
foreach (var item in onePreRunLs)
|
||||
{
|
||||
TreeNode rootUnitNode = new TreeNode();//定义根节点
|
||||
rootUnitNode.NodeID = item.PreRunId;
|
||||
rootUnitNode.Text = item.PreRunName;
|
||||
rootUnitNode.ToolTip = item.PreRunName;
|
||||
rootUnitNode.CommandName = "";
|
||||
rootUnitNode.EnableClickEvent = true;
|
||||
rootUnitNode.EnableExpandEvent = true;
|
||||
rootNode.Nodes.Add(rootUnitNode);
|
||||
rootUnitNode.Expanded = true;
|
||||
var otherPreRunls = allPreRunLs.Where(p => p.PreRunLevel != 1).ToList();
|
||||
this.BindNodes(rootUnitNode, otherPreRunls, item.PreRunId);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定树节点
|
||||
/// </summary>
|
||||
private void BindNodes(TreeNode node, List<PreRun_SysDevice> list, string parentId)
|
||||
{
|
||||
|
||||
var itemList = list.Where(p => p.ParentId == parentId).ToList();
|
||||
if (itemList.Count > 0)
|
||||
{
|
||||
foreach (var item in itemList)
|
||||
{
|
||||
TreeNode newNode = new TreeNode();
|
||||
newNode.Text = item.PreRunName;
|
||||
newNode.NodeID = item.PreRunId;
|
||||
newNode.ToolTip = item.PreRunName;
|
||||
newNode.CommandName = "";
|
||||
newNode.EnableClickEvent = true;
|
||||
node.Nodes.Add(newNode);
|
||||
BindNodes(newNode, list, item.PreRunId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数加载
|
||||
/// </summary>
|
||||
protected void tvControlItem_NodeExpand(object sender, TreeNodeEventArgs e)
|
||||
{
|
||||
if (e.Node.Nodes != null)
|
||||
{
|
||||
e.Node.Nodes.Clear();
|
||||
}
|
||||
var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId).ToList();
|
||||
this.BindNodes(e.Node, allPreRunLs, e.NodeID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 点击TreeView
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||||
{
|
||||
this.TreePreRunId = tvControlItem.SelectedNodeID;
|
||||
this.PageBase();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据显示
|
||||
/// </summary>
|
||||
public void PageBase()
|
||||
{
|
||||
var model = Funs.DB.PreRun_SysDevice.FirstOrDefault(p => p.PreRunId == this.TreePreRunId);
|
||||
if (model != null)
|
||||
{
|
||||
var ids = new List<string>();
|
||||
if (!string.IsNullOrWhiteSpace(model.InstallationId)) ids.Add(model.InstallationId);
|
||||
if (!string.IsNullOrWhiteSpace(model.ProcessesId)) ids.Add(model.ProcessesId);
|
||||
if (!string.IsNullOrWhiteSpace(model.SystemId)) ids.Add(model.SystemId);
|
||||
if (!string.IsNullOrWhiteSpace(model.SubsystemId)) ids.Add(model.SubsystemId);
|
||||
var list = Funs.DB.PreRun_SysDevice.Where(p => ids.Contains(p.PreRunId)).ToList();
|
||||
|
||||
if (list.Count(p => p.PreRunLevel == 1) > 0)
|
||||
{
|
||||
zz.Hidden = false;
|
||||
lblzzbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 1).PreRunName;
|
||||
lblzzmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 1).PreRunCode;
|
||||
}
|
||||
if (list.Count(p => p.PreRunLevel == 2) > 0)
|
||||
{
|
||||
gx.Hidden = false;
|
||||
lblgxmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 2).PreRunCode;
|
||||
lblgxbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 2).PreRunName;
|
||||
}
|
||||
if (list.Count(p => p.PreRunLevel == 3) > 0)
|
||||
{
|
||||
sxt.Hidden = false;
|
||||
lblsxtmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 3).PreRunCode;
|
||||
lblsxtbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 3).PreRunName;
|
||||
}
|
||||
if (list.Count(p => p.PreRunLevel == 4) > 0)
|
||||
{
|
||||
sszxt.Hidden = false;
|
||||
gzb.Hidden = false;
|
||||
BridWorkPackGrid();
|
||||
lblszxtmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 4).PreRunCode;
|
||||
lblszxtbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 4).PreRunName;
|
||||
this.SsubSystemId = list.FirstOrDefault(p => p.PreRunLevel == 4).PreRunId;
|
||||
var workPackages = Funs.DB.SubSys_WorkPackage.Where(p => p.SubSystemId == this.SsubSystemId).ToList();
|
||||
if (workPackages.Count > 0)
|
||||
{
|
||||
var workIds = workPackages.ConvertAll(p => p.WorkPackId);
|
||||
BridSelectWorkPack(workIds);
|
||||
drpWorkPack.Values = workIds.ToArray();
|
||||
}
|
||||
else
|
||||
{
|
||||
Grid1.DataSource = null;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 保存
|
||||
/// </summary>
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
var prerunModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(p => p.PreRunId == this.TreePreRunId);
|
||||
if (prerunModel != null)
|
||||
{
|
||||
if (prerunModel.PreRunLevel == 4)
|
||||
{
|
||||
var deleteLs = Funs.DB.SubSys_WorkPackage.Where(p => p.SubSystemId == prerunModel.PreRunId);
|
||||
Funs.DB.SubSys_WorkPackage.DeleteAllOnSubmit(deleteLs);
|
||||
Funs.DB.SubmitChanges();
|
||||
JArray mergedData = Grid1.GetMergedData();
|
||||
int[] selections = Grid1.SelectedRowIndexArray;
|
||||
foreach (JObject mergedRow in mergedData)
|
||||
{
|
||||
string status = mergedRow.Value<string>("status");
|
||||
JObject values = mergedRow.Value<JObject>("values");
|
||||
int i = mergedRow.Value<int>("index");
|
||||
var workId = Grid1.DataKeys[i][0].ToString();
|
||||
var model = new SubSys_WorkPackage();
|
||||
model.SubSysId = Guid.NewGuid().ToString();
|
||||
model.SubSystemId = prerunModel.PreRunId;
|
||||
model.WorkPackId = workId;
|
||||
model.WorkPackCode = !string.IsNullOrWhiteSpace(values.Value<string>("WorkPackCode")) ? values.Value<string>("WorkPackCode") : "WP";
|
||||
model.Remark = values.Value<string>("Remark");
|
||||
model.AddTime = DateTime.Now;
|
||||
model.AddUser = this.CurrUser.UserId;
|
||||
model.Sort = Funs.DB.SubSys_WorkPackage.Count();
|
||||
Funs.DB.SubSys_WorkPackage.InsertOnSubmit(model);
|
||||
}
|
||||
Funs.DB.SubmitChanges();
|
||||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定工作包
|
||||
/// </summary>
|
||||
public void BridWorkPackGrid()
|
||||
{
|
||||
GridWorkPack.DataSource = Funs.DB.Work_Package.OrderBy(p => p.Sort).ToList();
|
||||
GridWorkPack.DataBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定选择的工作包
|
||||
/// </summary>
|
||||
public void BridSelectWorkPack(List<string> workPackIds)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(this.SsubSystemId))
|
||||
{
|
||||
var data = from a in Funs.DB.Work_Package.Where(p => workPackIds.Contains(p.WorkPackId))
|
||||
join b in Funs.DB.SubSys_WorkPackage.Where(p => p.SubSystemId == this.SsubSystemId) on a.WorkPackId equals b.WorkPackId into bb
|
||||
from t in bb.DefaultIfEmpty()
|
||||
select new WorkData()
|
||||
{
|
||||
WorkPackId = a.WorkPackId,
|
||||
WorkPackCode = a.WorkPackCode,
|
||||
WorkPackName = a.WorkPackName,
|
||||
Sort = a.Sort,
|
||||
Remark = t.Remark
|
||||
};
|
||||
//var list = data.ToList();
|
||||
//if (list.Count > 0)
|
||||
//{
|
||||
// int i = 1;
|
||||
// list.ForEach(a =>
|
||||
// {
|
||||
// var num = Funs.DB.SubSys_WorkPackage.Count(p => p.SubSystemId == this.SsubSystemId) + i;
|
||||
// a.WorkPackCode = string.Format("WP{0}", string.Format("{0:d2}", num));
|
||||
// i++;
|
||||
// });
|
||||
//}
|
||||
if (data.Count() > 0)
|
||||
{
|
||||
var list = data.OrderBy(p => p.Sort).ToList();
|
||||
Grid1.DataSource = list;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
Grid1.DataSource = null;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 工作包选择
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void drpWorkPack_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (drpWorkPack.Values.Length > 0)
|
||||
{
|
||||
BridSelectWorkPack(drpWorkPack.Values.ToList());
|
||||
}
|
||||
else
|
||||
{
|
||||
Grid1.DataSource = null;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 行点击事件
|
||||
/// </summary>
|
||||
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
|
||||
{
|
||||
if (e.CommandName == "Delete")
|
||||
{
|
||||
string rowID = e.RowID;
|
||||
var model = Funs.DB.SubSys_WorkPackage.FirstOrDefault(p => p.WorkPackId == rowID);
|
||||
Funs.DB.SubSys_WorkPackage.DeleteOnSubmit(model);
|
||||
Funs.DB.SubmitChanges();
|
||||
var workPackages = Funs.DB.SubSys_WorkPackage.Where(p => p.SubSystemId == this.SsubSystemId).ToList();
|
||||
var workIds = workPackages.ConvertAll(p => p.WorkPackId);
|
||||
BridSelectWorkPack(workIds);
|
||||
drpWorkPack.Values = workIds.ToArray();
|
||||
ShowNotify("删除成功!");
|
||||
}
|
||||
}
|
||||
|
||||
public class WorkData
|
||||
{
|
||||
public string WorkPackId { get; set; }
|
||||
public string WorkPackName { get; set; }
|
||||
public int? Sort { get; set; }
|
||||
public string Remark { get; set; }
|
||||
public string WorkPackCode { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user