521 lines
21 KiB
C#
521 lines
21 KiB
C#
using BLL;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Web;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
|
||
namespace FineUIPro.Web.CLGL
|
||
{
|
||
public partial class OutPlanMasterSelect : PageBase
|
||
{
|
||
#region 定义项
|
||
|
||
/// <summary>
|
||
/// 单位工程主键
|
||
/// </summary>
|
||
public string UnitWorkId
|
||
{
|
||
get
|
||
{
|
||
return (string)ViewState["UnitWorkId"];
|
||
}
|
||
set
|
||
{
|
||
ViewState["UnitWorkId"] = value;
|
||
}
|
||
}
|
||
public string Id
|
||
{
|
||
get
|
||
{
|
||
return (string)ViewState["Id"];
|
||
}
|
||
set
|
||
{
|
||
ViewState["Id"] = value;
|
||
}
|
||
}
|
||
// public List<HJGL_Pipeline> Tree_hJGL_Pipelines;
|
||
public int pageSize = PipelineService.pageSize;
|
||
|
||
#endregion
|
||
|
||
#region 加载页面
|
||
/// <summary>
|
||
/// 加载页面
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
this.InitTreeMenu();//加载树
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 加载树
|
||
/// <summary>
|
||
/// 加载树
|
||
/// </summary>
|
||
private void InitTreeMenu()
|
||
{
|
||
this.tvControlItem.Nodes.Clear();
|
||
int a = (from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.UnitWorkId && x.PipeArea == PipelineService.PipeArea_SHOP && x.PipelineCode.Contains(this.txtPipelineCode.Text.Trim()) select x).Count();
|
||
int b = (from x in Funs.DB.HJGL_Pipeline where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.UnitWorkId && x.PipeArea == PipelineService.PipeArea_FIELD && x.PipelineCode.Contains(this.txtPipelineCode.Text.Trim()) select x).Count();
|
||
|
||
TreeNode rootNode1 = new TreeNode();
|
||
rootNode1.NodeID = BLL.PipelineService.PipeArea_SHOP;
|
||
rootNode1.Text = "工厂预制";
|
||
rootNode1.CommandName = 1 + "|" + Funs.GetEndPageNumber(a, pageSize); //页码|总页
|
||
rootNode1.EnableClickEvent = true;
|
||
rootNode1.EnableExpandEvent = true;
|
||
this.tvControlItem.Nodes.Add(rootNode1);
|
||
if (a > 0)
|
||
{
|
||
TreeNode newNode = new TreeNode();
|
||
newNode.Text = "加载管线...";
|
||
newNode.NodeID = "加载管线...";
|
||
rootNode1.Nodes.Add(newNode);
|
||
}
|
||
TreeNode rootNode2 = new TreeNode();
|
||
rootNode2.NodeID = BLL.PipelineService.PipeArea_FIELD;
|
||
rootNode2.Text = "现场施工";
|
||
rootNode2.CommandName = 1 + "|" + Funs.GetEndPageNumber(b, pageSize);
|
||
rootNode2.EnableClickEvent = true;
|
||
rootNode2.EnableExpandEvent = true;
|
||
this.tvControlItem.Nodes.Add(rootNode2);
|
||
if (b > 0)
|
||
{
|
||
TreeNode newNode = new TreeNode();
|
||
newNode.Text = "加载管线...";
|
||
newNode.NodeID = "加载管线...";
|
||
rootNode2.Nodes.Add(newNode);
|
||
}
|
||
|
||
}
|
||
void AddTreeNode(string PipeArea, TreeNode node)
|
||
{
|
||
var pipeline = (from x in Funs.DB.HJGL_Pipeline
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.UnitWorkId == this.UnitWorkId
|
||
&& x.PipeArea == PipeArea
|
||
&& x.PipelineCode.Contains(this.txtPipelineCode.Text.Trim())
|
||
orderby x.PipelineCode
|
||
select x).ToList();
|
||
if (!string.IsNullOrEmpty(drpFlowingSection.SelectedValue) && drpFlowingSection.SelectedValue != Const._Null)
|
||
{
|
||
pipeline = pipeline.Where(x => x.FlowingSection == drpFlowingSection.SelectedValue).ToList();
|
||
}
|
||
|
||
var joints = (from x in Funs.DB.HJGL_WeldJoint where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
|
||
int pageindex = int.Parse(node.CommandName.Split('|')[0]);
|
||
int pageCount = int.Parse(node.CommandName.Split('|')[1]);
|
||
|
||
if (pageindex <= pageCount)
|
||
{
|
||
pipeline = pipeline.Skip(pageSize * (pageindex - 1)).Take(pageSize).ToList(); ;
|
||
foreach (var item in pipeline)
|
||
{
|
||
TreeNode newNode = new TreeNode();
|
||
int totalJointNum = joints.Count(x => x.PipelineId == item.PipelineId);
|
||
int weldJointNum = joints.Count(x => x.PipelineId == item.PipelineId && x.WeldingDailyId != null);
|
||
//bool istrue = BLL.HJGL_MaterialService.isInStockByPipeline(item.PipelineId, this.CurrUser.LoginProjectId);
|
||
//if (istrue)
|
||
//{
|
||
// newNode.CssClass = "tn-color-green";
|
||
//}
|
||
newNode.Text = item.PipelineCode + "(" + (totalJointNum - weldJointNum).ToString() + ")";
|
||
newNode.NodeID = item.PipelineId;
|
||
newNode.ToolTip = item.PipelineCode;
|
||
newNode.EnableClickEvent = true;
|
||
node.Nodes.Add(newNode);
|
||
|
||
}
|
||
if (pageindex < pageCount)
|
||
{
|
||
TreeNode newNode = new TreeNode();
|
||
newNode.Text = "加载";
|
||
newNode.NodeID = SQLHelper.GetNewID();
|
||
newNode.Icon = Icon.ArrowDown;
|
||
newNode.CommandName = PipeArea;
|
||
newNode.EnableClickEvent = true;
|
||
node.Nodes.Add(newNode);
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
protected void tvControlItem_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
|
||
{
|
||
if (e.Node.Nodes[0].NodeID == "加载管线...")
|
||
{
|
||
e.Node.Nodes.Clear();
|
||
if (e.Node.Text == "工厂预制")
|
||
{
|
||
AddTreeNode(BLL.PipelineService.PipeArea_SHOP, e.Node);
|
||
|
||
}
|
||
else if (e.Node.Text == "现场施工")
|
||
{
|
||
AddTreeNode(BLL.PipelineService.PipeArea_FIELD, e.Node);
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 点击TreeView
|
||
/// <summary>
|
||
/// 点击TreeView
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||
{
|
||
if (e.Node.Text == "加载")
|
||
{
|
||
string CommandName = e.Node.ParentNode.CommandName;
|
||
e.Node.ParentNode.CommandName = (int.Parse(CommandName.Split('|')[0]) + 1) + "|" + int.Parse(CommandName.Split('|')[1]);
|
||
TreeNode treeNode = e.Node.ParentNode;
|
||
treeNode.Nodes.Remove(e.Node);
|
||
|
||
if (e.Node.CommandName == "1")
|
||
{
|
||
AddTreeNode(BLL.PipelineService.PipeArea_SHOP, e.Node.ParentNode);
|
||
|
||
}
|
||
else if (e.Node.CommandName == "2")
|
||
{
|
||
AddTreeNode(BLL.PipelineService.PipeArea_FIELD, e.Node.ParentNode);
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
this.BindGrid();
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 数据绑定
|
||
/// <summary>
|
||
/// 数据绑定
|
||
/// </summary>
|
||
private void BindGrid()
|
||
{
|
||
//var tb=from x in Funs.DB.HJGL_PipeLineMat
|
||
// join y in Funs.DB.HJGL_Pipeline on x.PipelineId equals y.PipelineId
|
||
// join z in Funs.DB.Tw_MaterialStock on x.MaterialCode equals z.PipeLineMatCode
|
||
// where y.ProjectId == this.CurrUser.LoginProjectId && y.UnitWorkId == this.UnitWorkId && y.PipelineId== this.tvControlItem.SelectedNodeID
|
||
|
||
|
||
////var tb = PipelineMatService.GetPipeLineMatsByPipelineId(this.tvControlItem.SelectedNodeID);
|
||
//Grid1.DataSource = tb;
|
||
//Grid1.DataBind();
|
||
}
|
||
|
||
private void InitDropList()
|
||
{
|
||
/* var pipeline = (from x in Funs.DB.HJGL_Pipeline
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.UnitWorkId == this.UnitWorkId
|
||
select x.FlowingSection).Distinct().ToList();
|
||
this.drpFlowingSection.DataTextField = "Value";
|
||
this.drpFlowingSection.DataValueField = "Value";
|
||
this.drpFlowingSection.DataSource = pipeline;
|
||
this.drpFlowingSection.DataBind();
|
||
Funs.FineUIPleaseSelect(drpFlowingSection);*/
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 管线查询
|
||
/// <summary>
|
||
/// 查询
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnQuery_Click(object sender, EventArgs e)
|
||
{
|
||
this.InitTreeMenu();
|
||
this.BindGrid();
|
||
}
|
||
#endregion
|
||
|
||
#region 排序
|
||
/// <summary>
|
||
/// 排序
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||
{
|
||
this.BindGrid();
|
||
}
|
||
#endregion
|
||
|
||
#region 提交按钮
|
||
/// <summary>
|
||
/// 提交按钮
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnAccept_Click(object sender, EventArgs e)
|
||
{
|
||
//PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(txtTaskDate.Text) + ActiveWindow.GetHidePostBackReference());
|
||
}
|
||
|
||
protected void btnSave_Click(object sender, EventArgs e)
|
||
{
|
||
/*if (string.IsNullOrEmpty(this.txtTaskCode.Text.Trim()))
|
||
{
|
||
ShowNotify("请输入焊接任务单编号", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
if (!string.IsNullOrEmpty(txtTaskDate.Text))
|
||
{
|
||
if (!string.IsNullOrEmpty(TaskDate))
|
||
{
|
||
SaveTask(false);
|
||
BindGrid();
|
||
}
|
||
else
|
||
{
|
||
var task = from x in Funs.DB.HJGL_WeldTask
|
||
where x.UnitWorkId == UnitWorkId && x.UnitId == this.drpUnit.SelectedValue
|
||
&& x.TaskDate.Value.Date.ToString() == Convert.ToDateTime(txtTaskDate.Text.Trim()).ToString("yyyy-MM-dd")
|
||
select x;
|
||
if (task.Count() > 0)
|
||
{
|
||
ShowNotify("所选预计焊接日期已存在,请重新选择!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
else
|
||
{
|
||
SaveTask(false);
|
||
TaskDate = txtTaskDate.Text;
|
||
BindGrid();
|
||
}
|
||
}
|
||
}
|
||
|
||
else
|
||
{
|
||
ShowNotify("请选择预计焊接日期", MessageBoxIcon.Warning);
|
||
return;
|
||
}*/
|
||
|
||
}
|
||
private void SaveTask(bool IsCloseForm)
|
||
{
|
||
/*var weldingRods = from x in Funs.DB.Base_Consumables where x.ConsumablesType == "2" select x;
|
||
var weldingWires = from x in Funs.DB.Base_Consumables where x.ConsumablesType == "1" select x;
|
||
string[] selectRowId = Grid1.SelectedRowIDArray;
|
||
for (int i = 0; i < selectRowId.Count(); i++)
|
||
{
|
||
string canWeldingRodName = string.Empty;
|
||
string canWeldingWireName = string.Empty;
|
||
Model.HJGL_WeldTask NewTask = new Model.HJGL_WeldTask();
|
||
NewTask.ProjectId = this.CurrUser.LoginProjectId;
|
||
NewTask.UnitWorkId = this.UnitWorkId;
|
||
NewTask.UnitId = drpUnit.SelectedValue;
|
||
|
||
NewTask.TaskCode = this.txtTaskCode.Text.Trim();
|
||
NewTask.WeldTaskId = SQLHelper.GetNewID();
|
||
NewTask.WeldJointId = selectRowId[i];
|
||
var oldWeldTask = BLL.WeldTaskService.GetWeldTaskByWeldJointId(NewTask.WeldJointId);
|
||
if (oldWeldTask != null)
|
||
{
|
||
ShowNotify("所选焊口已存在任务单,无法保存!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
Model.HJGL_WeldJoint weldJoint = BLL.WeldJointService.GetWeldJointByWeldJointId(NewTask.WeldJointId);
|
||
if (weldJoint != null)
|
||
{
|
||
NewTask.WeldingRod = weldJoint.WeldingRod;
|
||
NewTask.WeldingWire = weldJoint.WeldingWire;
|
||
//获取可替代焊丝焊条
|
||
var mat = BLL.Base_MaterialService.GetMaterialByMaterialId(weldJoint.Material1Id);
|
||
string matClass = mat.MaterialClass;
|
||
var matRod = weldingRods.FirstOrDefault(x => x.ConsumablesId == weldJoint.WeldingRod);
|
||
if (matRod != null)
|
||
{
|
||
foreach (var item in weldingRods)
|
||
{
|
||
if (matClass == "Fe-1" || matClass == "Fe-3")
|
||
{
|
||
if (IsCoverClass(matRod.SteelType, item.SteelType))
|
||
{
|
||
canWeldingRodName = canWeldingRodName + item.ConsumablesName + ",";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (matRod.SteelType == item.SteelType)
|
||
{
|
||
canWeldingRodName = canWeldingRodName + item.ConsumablesName + ",";
|
||
}
|
||
}
|
||
}
|
||
if (!string.IsNullOrEmpty(canWeldingRodName))
|
||
{
|
||
NewTask.CanWeldingRodName = canWeldingRodName.Substring(0, canWeldingRodName.Length - 1);
|
||
}
|
||
}
|
||
var matWire = weldingWires.FirstOrDefault(x => x.ConsumablesId == weldJoint.WeldingWire);
|
||
if (matWire != null)
|
||
{
|
||
foreach (var item in weldingWires)
|
||
{
|
||
if (matClass == "Fe-1" || matClass == "Fe-3")
|
||
{
|
||
if (IsCoverClass(matWire.SteelType, item.SteelType))
|
||
{
|
||
canWeldingWireName = canWeldingWireName + item.ConsumablesName + ",";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (matWire.SteelType == item.SteelType)
|
||
{
|
||
canWeldingWireName = canWeldingWireName + item.ConsumablesName + ",";
|
||
}
|
||
}
|
||
}
|
||
if (!string.IsNullOrEmpty(canWeldingWireName))
|
||
{
|
||
NewTask.CanWeldingWireName = canWeldingWireName.Substring(0, canWeldingWireName.Length - 1);
|
||
}
|
||
}
|
||
}
|
||
//NewTask.JointAttribute = drpJointAttribute.SelectedValue;
|
||
NewTask.JointAttribute = weldJoint.JointAttribute;
|
||
NewTask.WeldingMode = drpWeldingMode.SelectedValue;
|
||
|
||
NewTask.TaskDate = Convert.ToDateTime(txtTaskDate.Text);
|
||
NewTask.Tabler = this.CurrUser.PersonId;
|
||
NewTask.TableDate = DateTime.Now;
|
||
|
||
weldJoint.WeldingMode = drpWeldingMode.SelectedValue;
|
||
BLL.WeldJointService.UpdateWeldJoint(weldJoint);
|
||
BLL.WeldTaskService.AddWeldTask(NewTask);
|
||
}
|
||
//string pipelineId = this.tvControlItem.SelectedNodeID;
|
||
//var model = BLL.PipelineService.GetPipelineByPipelineId(pipelineId);
|
||
//model.State = 1;
|
||
//PipelineService.UpdatePipeline(model);
|
||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||
if (IsCloseForm)
|
||
{
|
||
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(txtTaskDate.Text) + ActiveWindow.GetHidePostBackReference());
|
||
|
||
}*/
|
||
//PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||
}
|
||
|
||
/// <summary>
|
||
/// 判断耗材强度是否大于WPS耗材强度,如是为true,否则为false
|
||
/// </summary>
|
||
/// <param name="wpsClass"></param>
|
||
/// <param name="matClass"></param>
|
||
/// <returns></returns>
|
||
private bool IsCoverClass(string wpsClass, string matClass)
|
||
{
|
||
bool isCover = false;
|
||
/*int wpsSn = 0;
|
||
int matSn = 0;
|
||
if (wpsClass.Length > 2 && matClass.Length > 2)
|
||
{
|
||
string wpsPre = wpsClass.Substring(0, wpsClass.Length - 2);
|
||
string matPre = matClass.Substring(0, matClass.Length - 2);
|
||
|
||
string wps = wpsClass.Substring(wpsClass.Length - 1, 1);
|
||
wpsSn = Funs.GetNewInt(wps).HasValue ? Funs.GetNewInt(wps).Value : 0;
|
||
|
||
string mat = matClass.Substring(matClass.Length - 1, 1);
|
||
matSn = Funs.GetNewInt(mat).HasValue ? Funs.GetNewInt(mat).Value : 0;
|
||
|
||
if (wpsPre == matPre && matSn >= wpsSn)
|
||
{
|
||
return true;
|
||
}
|
||
}*/
|
||
return isCover;
|
||
}
|
||
#endregion
|
||
|
||
protected void txtTaskDate_TextChanged(object sender, EventArgs e)
|
||
{
|
||
// this.txtTaskCode.Text = BLL.WeldTaskService.GetTaskCodeByDate(this.CurrUser.LoginProjectId, this.txtTaskDate.Text, UnitWorkId, drpUnit.SelectedValue);
|
||
}
|
||
protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
//this.txtTaskCode.Text = BLL.WeldTaskService.GetTaskCodeByDate(this.CurrUser.LoginProjectId, this.txtTaskDate.Text, UnitWorkId, drpUnit.SelectedValue);
|
||
|
||
}
|
||
protected void drpJointAttribute_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
BindGrid();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 行绑定事件(没有焊接方法无法选择)
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
|
||
{
|
||
/*DataRowView row = e.DataItem as DataRowView;
|
||
if (string.IsNullOrEmpty(row["WeldingMethodCode"].ToString()))
|
||
{
|
||
e.RowSelectable = false;
|
||
|
||
};*/
|
||
}
|
||
|
||
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
|
||
{
|
||
|
||
if (e.CommandName == "ResetWpq")
|
||
{
|
||
/*var weldJointId = e.RowID;
|
||
var model = WeldJointService.GetWeldJointByWeldJointId(weldJointId);
|
||
if (model != null)
|
||
{
|
||
model.WPQId = null;
|
||
WeldJointService.UpdateWeldJoint(model);
|
||
|
||
List<Model.View_HJGL_WPQ> wpqList = BLL.WPQListServiceService.GetMatchWPQ(model, this.CurrUser.LoginProjectId, drpUnit.SelectedValue);
|
||
if (wpqList != null)
|
||
{
|
||
Model.HJGL_WeldJoint newJot = new Model.HJGL_WeldJoint();
|
||
Model.WPQ_WPQList wps = BLL.WPQListServiceService.GetWPQById(wpqList.First().WPQId);
|
||
|
||
newJot.WPQId = wps.WPQId;
|
||
newJot.WeldJointId = model.WeldJointId;
|
||
newJot.WeldingRod = wps.WeldingRod;
|
||
newJot.WeldingWire = wps.WeldingWire;
|
||
newJot.WeldingMethodId = wps.WeldingMethodId;
|
||
newJot.GrooveTypeId = wps.GrooveType;
|
||
newJot.PreTemperature = wps.PreTemperature;
|
||
newJot.IsHotProess = wps.IsHotProess;
|
||
newJot.MatchableWPQ = string.Join(",", wpqList.Select(x => x.WPQCode));
|
||
|
||
BLL.WeldJointService.UpdateConWeldJoint(newJot);
|
||
}
|
||
|
||
BindGrid();
|
||
ShowNotify("焊评已重置!", MessageBoxIcon.Success);
|
||
}*/
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
} |