SGGL_SHJ/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldTask.aspx.cs

1336 lines
60 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.WeldingManage
{
public partial class WeldTask : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
txtTaskDate.MinDate = DateTime.Now;
this.txtTaskDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now.AddDays(1));
this.txtTaskDateMonth.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
///焊口属性
this.drpJointAttribute.DataTextField = "Text";
this.drpJointAttribute.DataValueField = "Value";
this.drpJointAttribute.DataSource = BLL.DropListService.HJGL_JointAttribute();
this.drpJointAttribute.DataBind();
///机动化程度
this.drpWeldingMode.DataTextField = "Text";
this.drpWeldingMode.DataValueField = "Value";
this.drpWeldingMode.DataSource = BLL.DropListService.HJGL_WeldingMode();
this.drpWeldingMode.DataBind();
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
this.InitTreeMenu();//加载树
}
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.HJGL_WeldTaskMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnMenuAdd.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify) || buttonList.Contains(BLL.Const.BtnSave))
{
this.btnMotify.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDelete.Hidden = false;
}
}
}
#endregion
/// <summary>
/// 树查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnTreeFind_Click(object sender, EventArgs e)
{
this.InitTreeMenu();
}
#region -
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode1 = new TreeNode();
rootNode1.NodeID = "1";
rootNode1.Text = "建筑工程";
rootNode1.CommandName = "建筑工程";
rootNode1.EnableClickEvent = true;
rootNode1.Selectable = false;
this.tvControlItem.Nodes.Add(rootNode1);
TreeNode rootNode2 = new TreeNode();
rootNode2.NodeID = "2";
rootNode2.Text = "安装工程";
rootNode2.CommandName = "安装工程";
rootNode2.EnableClickEvent = true;
rootNode2.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode2);
var pUnits = (from x in Funs.DB.Project_ProjectUnit where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
// 获取当前用户所在单位
var currUnit = pUnits.FirstOrDefault(x => x.UnitId == this.CurrUser.UnitId);
var unitWorkList = (from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId
&& x.SuperUnitWork == null && x.UnitId != null && x.ProjectType != null
select x).ToList();
List<Model.WBS_UnitWork> unitWork1 = null;
List<Model.WBS_UnitWork> unitWork2 = null;
//// 当前为施工单位,只能操作本单位的数据
//if (currUnit != null && currUnit.UnitType == Const.ProjectUnitType_2)
//{
// unitWork1 = (from x in unitWorkList
// where x.UnitId == this.CurrUser.UnitId && x.ProjectType == "1"
// select x).ToList();
// unitWork2 = (from x in unitWorkList
// where x.UnitId == this.CurrUser.UnitId && x.ProjectType == "2"
// select x).ToList();
//}
//else
//{
unitWork1 = (from x in unitWorkList where x.ProjectType == "1" select x).ToList();
unitWork2 = (from x in unitWorkList where x.ProjectType == "2" select x).ToList();
//}
if (unitWork1.Count() > 0)
{
foreach (var q in unitWork1)
{
var a = (from x in Funs.DB.HJGL_WeldTask
where x.UnitWorkId == q.UnitWorkId
&& x.TaskDate < Convert.ToDateTime(this.txtTaskDateMonth.Text.Trim() + "-01").AddMonths(1)
&& x.TaskDate >= Convert.ToDateTime(this.txtTaskDateMonth.Text.Trim() + "-01")
select x.TaskDate.Value.Date).Distinct().Count();
var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
TreeNode tn1 = new TreeNode();
tn1.NodeID = q.UnitWorkId;
tn1.Text = q.UnitWorkName;
tn1.CommandName = "单位工程";
tn1.ToolTip = "施工单位:" + unitNamesUnitIds;
tn1.EnableClickEvent = true;
tn1.EnableExpandEvent = true;
rootNode1.Nodes.Add(tn1);
if (a > 0)
{
// BindNodes(tn1);
TreeNode newNode = new TreeNode();
newNode.Text = "加载管线...";
newNode.NodeID = "加载管线...";
tn1.Nodes.Add(newNode);
}
}
}
if (unitWork2.Count() > 0)
{
foreach (var q in unitWork2)
{
var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
if (string.IsNullOrEmpty(this.txtWeldJointCode.Text.Trim()))
{
var a = (from x in Funs.DB.HJGL_WeldTask
where x.UnitWorkId == q.UnitWorkId
&& x.TaskDate < Convert.ToDateTime(this.txtTaskDateMonth.Text.Trim() + "-01").AddMonths(1)
&& x.TaskDate >= Convert.ToDateTime(this.txtTaskDateMonth.Text.Trim() + "-01")
select x.TaskDate.Value.Date).Distinct().Count();
TreeNode tn2 = new TreeNode();
tn2.NodeID = q.UnitWorkId;
tn2.Text = q.UnitWorkName;
tn2.CommandName = "单位工程";
tn2.ToolTip = "施工单位:" + unitNamesUnitIds;
tn2.EnableClickEvent = true;
tn2.EnableExpandEvent = true;
rootNode2.Nodes.Add(tn2);
if (a > 0)
{
// BindNodes(tn1);
TreeNode newNode = new TreeNode();
newNode.Text = "加载管线...";
newNode.NodeID = "加载管线...";
tn2.Nodes.Add(newNode);
}
}
else
{
var a = (from x in Funs.DB.HJGL_WeldTask
join y in Funs.DB.HJGL_WeldJoint on x.WeldJointId equals y.WeldJointId
where x.UnitWorkId == q.UnitWorkId && y.WeldJointCode.Contains(this.txtWeldJointCode.Text.Trim())
select x.TaskDate.Value.Date).Distinct().Count();
TreeNode tn2 = new TreeNode();
tn2.NodeID = q.UnitWorkId;
tn2.Text = q.UnitWorkName;
tn2.CommandName = "单位工程";
tn2.ToolTip = "施工单位:" + unitNamesUnitIds;
tn2.EnableClickEvent = true;
tn2.EnableExpandEvent = true;
rootNode2.Nodes.Add(tn2);
if (a > 0)
{
var date = (from x in Funs.DB.HJGL_WeldTask
join y in Funs.DB.HJGL_WeldJoint on x.WeldJointId equals y.WeldJointId
where x.UnitWorkId == q.UnitWorkId && y.WeldJointCode.Contains(this.txtWeldJointCode.Text.Trim())
select x.TaskDate.Value.Date).First();
this.txtTaskDateMonth.Text = string.Format("{0:yyyy-MM}", date);
// BindNodes(tn1);
TreeNode newNode = new TreeNode();
newNode.Text = "加载管线...";
newNode.NodeID = "加载管线...";
tn2.Nodes.Add(newNode);
}
}
}
}
}
protected void tvControlItem_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
if (e.Node.Nodes[0].NodeID == "加载管线...")
{
e.Node.Nodes.Clear();
BindNodes(e.Node);
}
}
private void BindNodes(TreeNode node)
{
if (string.IsNullOrEmpty(this.txtWeldJointCode.Text.Trim()))
{
var p = (from x in Funs.DB.HJGL_WeldTask
where x.UnitWorkId == node.NodeID
&& x.TaskDate < Convert.ToDateTime(this.txtTaskDateMonth.Text.Trim() + "-01").AddMonths(1)
&& x.TaskDate >= Convert.ToDateTime(this.txtTaskDateMonth.Text.Trim() + "-01")
select new { x.TaskDate.Value.Date, x.UnitId }).Distinct().ToList().OrderByDescending(x => x.Date);
if (p.Count() > 0)
{
foreach (var item in p)
{
TreeNode newNode = new TreeNode();
newNode.CommandName = "Date";
newNode.Text = string.Format("{0:yyyy-MM-dd}", item.Date) + "(" + BLL.UnitService.getUnitNamesUnitIds(item.UnitId) + ")";
newNode.NodeID = node.NodeID + "|" + item.UnitId + "|" + string.Format("{0:yyyy-MM-dd}", item.Date);
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
}
}
}
else
{
var p = (from x in Funs.DB.HJGL_WeldTask
join y in Funs.DB.HJGL_WeldJoint on x.WeldJointId equals y.WeldJointId
where x.UnitWorkId == node.NodeID && y.WeldJointCode.Contains(this.txtWeldJointCode.Text.Trim())
orderby x.TaskDate descending
select new { x.TaskDate.Value.Date, x.UnitId }).Distinct().ToList().OrderByDescending(x => x.Date);
if (p.Count() > 0)
{
foreach (var item in p)
{
TreeNode newNode = new TreeNode();
newNode.CommandName = "Date";
newNode.Text = string.Format("{0:yyyy-MM-dd}", item.Date) + "(" + BLL.UnitService.getUnitNamesUnitIds(item.UnitId) + ")";
newNode.NodeID = node.NodeID + "|" + item.UnitId + "|" + string.Format("{0:yyyy-MM-dd}", item.Date);
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
}
}
}
}
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
}
private void BindGrid(List<Model.View_HJGL_WeldingTask> weldingTask)
{
if (!string.IsNullOrEmpty(this.txtPipelineCode.Text.Trim()))
{
weldingTask = weldingTask.Where(e => e.PipelineCode.Contains(this.txtPipelineCode.Text.Trim())).ToList();
}
DataTable tb = this.LINQToDataTable(weldingTask);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(GridNewDynamic, tb1);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
bool hasAdd = false;
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
Model.HJGL_WeldTask task = BLL.WeldTaskService.GetWeldTaskById(this.Grid1.Rows[i].RowID);
if (task.IsSaved == true)
{
this.Grid1.Rows[i].RowCssClass = "f-grid-cell-uneditable";
foreach (GridColumn column in Grid1.AllColumns)
{
Grid1.Rows[i].CellCssClasses[column.ColumnIndex] = "f-grid-cell-uneditable";
}
}
else
{
hasAdd = true;
}
}
if (this.tvControlItem.SelectedNodeID.Contains("|") && !hasAdd)
{
this.Grid1.Columns[12].Hidden = true;
this.btnSave.Hidden = true;
}
else
{
//this.Grid1.Columns[12].Hidden = false;
//this.btnSave.Hidden = false;
}
}
#endregion
#region
#region
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
List<Model.View_HJGL_WeldingTask> GetWeldingTaskItem = this.CollectGridJointInfo();
this.BindGrid(GetWeldingTaskItem);
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
List<Model.View_HJGL_WeldingTask> GetWeldingTaskItem = this.CollectGridJointInfo();
this.BindGrid(GetWeldingTaskItem);
}
#endregion
#region
/// <summary>
/// 分页选择下拉改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
List<Model.View_HJGL_WeldingTask> GetWeldingTaskItem = this.CollectGridJointInfo();
this.BindGrid(GetWeldingTaskItem);
}
#endregion
#endregion
//#region 查找
//protected void ckSelect_Click(object sender, EventArgs e)
//{
// var w = BLL.UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID);
// if (w != null)
// {
// string UnitId = w.UnitId;
// string UnitWorkId = w.UnitWorkId;
// string strList = UnitWorkId + "|" + UnitId;
// string weldJointIds = hdItemsString.Text.Trim();
// var task = from x in Funs.DB.HJGL_WeldTask where x.UnitWorkId == w.UnitWorkId && x.TaskDate.Value.Date.ToString() == Convert.ToDateTime(txtTaskDate.Text.Trim()).ToString("yyyy-MM-dd") select x;
// this.hdTaskWeldJoint.Text = string.Empty;
// if (task.Count() > 0)
// {
// foreach (var item in task)
// {
// this.hdTaskWeldJoint.Text += item.WeldJointId + "|";
// }
// }
// if (!string.IsNullOrEmpty(hdTaskWeldJoint.Text))
// {
// hdTaskWeldJoint.Text = hdTaskWeldJoint.Text.Substring(0, hdTaskWeldJoint.Text.Length - 1);
// }
// string TaskWeldJoints = hdTaskWeldJoint.Text.Trim();//任务表已存在的焊口
// string window = String.Format("SelectTaskWeldJoint.aspx?strList={0}&weldJointIds={1}&TaskWeldJoints={2}", strList, Server.UrlEncode(weldJointIds), Server.UrlEncode(TaskWeldJoints), "编辑 - ");
// PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdItemsString.ClientID, hdTaskWeldJoint.ClientID) + Window1.GetShowReference(window));
// }
// else
// {
// Alert.ShowInTop("请选择单位和单位工程", MessageBoxIcon.Warning);
// }
//}
//protected void Window1_Close(object sender, WindowCloseEventArgs e)
//{
// string str1 = hdItemsString.Text;
// string str2 = hdTaskWeldJoint.Text;
// this.InitTreeMenu();
// var unit = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID);
// List<Model.View_HJGL_WeldingTask> GetWeldingTaskList = null;
// if (unit == null)
// {
// GetWeldingTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, tvControlItem.SelectedNode.ParentNode.NodeID, Convert.ToDateTime(hdTaskWeldJoint.Text.Trim()));
// }
// else
// {
// GetWeldingTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, tvControlItem.SelectedNodeID, Convert.ToDateTime(hdTaskWeldJoint.Text.Trim()));
// }
// this.BindGrid(GetWeldingTaskList);
//}
//#endregion
#region
protected void btnSave_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.HJGL_WeldTaskMenuId, Const.BtnSave))
{
List<Model.View_HJGL_WeldingTask> getNewWeldTaskItem = CollectGridJointInfo();
var getUnit = BLL.UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID);
if (getUnit == null)
{
getUnit = BLL.UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNode.ParentNode.NodeID);
}
if (getUnit != null)
{
var consumablesTypes = from x in Funs.DB.Base_Consumables select x;
foreach (var item in getNewWeldTaskItem)
{
Model.HJGL_WeldTask NewTask = new Model.HJGL_WeldTask();
NewTask.ProjectId = this.CurrUser.LoginProjectId;
NewTask.UnitWorkId = getUnit.UnitWorkId;
NewTask.WeldTaskId = item.WeldTaskId;
NewTask.WeldJointId = item.WeldJointId;
NewTask.CoverWelderId = item.CoverWelderId;
NewTask.BackingWelderId = item.BackingWelderId;
NewTask.JointAttribute = item.JointAttribute;
NewTask.WeldingMode = item.WeldingMode;
var weldingRod = consumablesTypes.FirstOrDefault(x => x.ConsumablesName == item.WeldingRodCode);
if (weldingRod != null)
{
NewTask.WeldingRod = weldingRod.ConsumablesId;
}
var weldingWire = consumablesTypes.FirstOrDefault(x => x.ConsumablesName == item.WeldingWireCode);
if (weldingWire != null)
{
NewTask.WeldingWire = weldingWire.ConsumablesId;
}
var task = Funs.DB.HJGL_WeldTask.FirstOrDefault(x => x.WeldTaskId == item.WeldTaskId);
if (task != null)
{
NewTask.TaskDate = task.TaskDate;
NewTask.Tabler = task.Tabler;
NewTask.TableDate = task.TaskDate;
NewTask.IsSaved = true;
BLL.WeldTaskService.UpdateWeldTask(NewTask);
}
Model.HJGL_WeldJoint jot = BLL.WeldJointService.GetWeldJointByWeldJointId(item.WeldJointId);
if (jot != null)
{
if (NewTask.WeldingRod != null)
{
jot.WeldingRod = NewTask.WeldingRod;
}
if (NewTask.WeldingWire != null)
{
jot.WeldingWire = NewTask.WeldingWire;
}
jot.WeldingMode = NewTask.WeldingMode;
if (!string.IsNullOrEmpty(item.JointAttribute))
{
jot.JointAttribute = item.JointAttribute;
}
BLL.WeldJointService.UpdateWeldJoint(jot);
// 获取组批条件
var batchC = BLL.Project_SysSetService.GetSysSetBySetId("5", CurrUser.LoginProjectId);
if (batchC != null)
{
string batchCondition = batchC.SetValue;
//BLL.PointBatchService.AddBatchByWeldJointId(item.WeldJointId,null, batchCondition);
}
}
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
#endregion
protected void CreatWeldableWeldJoint_Click(object sender, EventArgs e)
{
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;
foreach (var i in Grid1.SelectedRowIndexArray)
{
string weldTaskId = Grid1.DataKeys[i][0].ToString();
var taskmodel = WeldTaskService.GetWeldTaskById(weldTaskId);
string unitId = taskmodel.UnitId;//获取任务单的单位
string jotId = Grid1.DataKeys[i][1].ToString();
var jot = BLL.WeldJointService.GetWeldJointByWeldJointId(jotId);
var iso = BLL.PipelineService.GetPipelineByPipelineId(jot.PipelineId);
var joty = BLL.Base_WeldTypeService.GetWeldTypeByWeldTypeId(jot.WeldTypeId);
string weldType = string.Empty;
if (joty != null && joty.WeldTypeCode.Contains("B"))
{
weldType = "对接焊缝";
}
else
{
weldType = "角焊缝";
}
decimal? dia = jot.Dia;
decimal? sch = Funs.GetNewDecimal(jot.Thickness.HasValue ? jot.Thickness.Value.ToString() : "");
string wmeCode = string.Empty;
var wm = BLL.Base_WeldingMethodService.GetWeldingMethodByWeldingMethodId(jot.WeldingMethodId);
if (wm != null)
{
wmeCode = wm.WeldingMethodCode;
}
string[] wmeCodes = wmeCode.Split('+');
//string location = item.JOT_Location;
string ste = jot.Material1Id;
string jointAttribute = jot.JointAttribute;
string canWelderId = string.Empty;
string canWelderCode = string.Empty;
string canWeldingRodName = string.Empty;
string canWeldingWireName = string.Empty;
var projectWelder = from x in Funs.DB.SitePerson_Person
where x.ProjectId == jot.ProjectId
&& x.UnitId == unitId && x.WorkPostId == Const.WorkPost_Welder
&& x.WelderCode != null && x.WelderCode != ""
select x;
foreach (var welder in projectWelder)
{
bool canSave = false;
List<Model.Welder_WelderQualify> welderQualifys = (from x in Funs.DB.Welder_WelderQualify
where x.WelderId == welder.PersonId && x.WeldingMethod != null
&& x.MaterialType != null && x.WeldType != null
&& x.ThicknessMax != null && x.SizesMin != null
&& x.LimitDate > DateTime.Now && x.IsAudit == true
select x).ToList();
if (welderQualifys != null)
{
if (wmeCodes.Count() <= 1) // 一种焊接方法
{
canSave = OneWmeIsOK(welderQualifys, wmeCode, jointAttribute, weldType, ste, dia, sch);
}
else // 大于一种焊接方法,如氩电联焊
{
canSave = TwoWmeIsOK(welderQualifys, wmeCodes[0], wmeCodes[1], jointAttribute, weldType, ste, dia, sch);
}
if (canSave)
{
canWelderId = canWelderId + welder.PersonId + ",";
canWelderCode = canWelderCode + welder.WelderCode + ",";
}
}
}
//获取可替代焊丝焊条
//var mat = BLL.Base_MaterialService.GetMaterialByMaterialId(jot.Material1Id);
//string matClass = mat.MaterialClass;
//var matRod = weldingRods.FirstOrDefault(x => x.ConsumablesId == jot.WeldingRod);
//foreach (var item in weldingRods)
//{
// if (matClass == "Fe-1" || matClass == "Fe-3")
// {
// if (IsCoverClass(matRod.SteelType, item.SteelType))
// {
// canWeldingRodName = canWeldingRodName + item.ConsumablesName + ",";
// }
// }
// else
// {
// canWeldingRodName = canWeldingRodName + item.ConsumablesName + ",";
// }
//}
//var matWire = weldingWires.FirstOrDefault(x => x.ConsumablesId == jot.WeldingRod);
//foreach (var item in weldingWires)
//{
// if (matClass == "Fe-1" || matClass == "Fe-3")
// {
// if (IsCoverClass(matWire.SteelType, item.SteelType))
// {
// canWeldingWireName = canWeldingWireName + item.ConsumablesName + ",";
// }
// }
// else
// {
// canWeldingWireName = canWeldingWireName + item.ConsumablesName + ",";
// }
//}
if (!string.IsNullOrEmpty(canWelderId))
{
BLL.WeldTaskService.UpdateCanWelderTask(weldTaskId, canWelderId.Substring(0, canWelderId.Length - 1), canWelderCode.Substring(0, canWelderCode.Length - 1));
}
//GetCanWelderDropDownList(GetWeldingTaskList);
}
string unitWorkId = string.Empty, unitId2 = string.Empty; string taskdate = string.Empty;
if (tvControlItem.SelectedNodeID.Contains("|"))
{
unitWorkId = tvControlItem.SelectedNodeID.Split('|')[0];
unitId2 = tvControlItem.SelectedNodeID.Split('|')[1];
taskdate = tvControlItem.SelectedNodeID.Split('|')[2];
}
else
{
unitWorkId = tvControlItem.SelectedNodeID;
}
List<Model.View_HJGL_WeldingTask> GetWeldingTaskList = null;
GetWeldingTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, unitWorkId, unitId2, Convert.ToDateTime(taskdate), this.rbIsAudit.SelectedValue);
this.BindGrid(GetWeldingTaskList);
Alert.ShowInTop("已生成可焊焊工!", MessageBoxIcon.Success);
}
/// <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;
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;
}
#region
/// <summary>
/// 一种焊接方法资质判断
/// </summary>
/// <param name="welderQualifys"></param>
/// <param name="wmeCode"></param>
/// <param name="jointAttribute"></param>
/// <param name="weldType"></param>
/// <param name="ste"></param>
/// <param name="dia"></param>
/// <param name="sch"></param>
/// <returns></returns>
private bool OneWmeIsOK(List<Model.Welder_WelderQualify> welderQualifys, string wmeCode, string jointAttribute, string weldType, string ste, decimal? dia, decimal? sch)
{
bool isok = false;
var mat = BLL.Base_MaterialService.GetMaterialByMaterialId(ste);
var welderQ = from x in welderQualifys
where wmeCode.Contains(x.WeldingMethod)
&& (mat == null || x.MaterialType.Contains(mat.MetalType ?? ""))
&& x.WeldType.Contains(weldType)
select x;
if (welderQ.Count() > 0)
{
if (jointAttribute == "安装口")
{
welderQ = welderQ.Where(x => x.IsCanWeldG == true);
}
if (welderQ.Count() > 0)
{
if (weldType == "1") // 1-对接焊缝 2-表示角焊缝,当为角焊缝时,管径和壁厚不限制
{
var welderDiaQ = welderQ.Where(x => x.SizesMin <= dia || x.SizesMax == 0);
if (welderDiaQ.Count() > 0)
{
var welderThick = welderDiaQ.Where(x => x.ThicknessMax >= sch || x.ThicknessMax == 0);
// 只要有一个不限为0就通过
if (welderThick.Count() > 0)
{
isok = true;
}
}
}
else
{
isok = true;
}
}
}
return isok;
}
/// <summary>
/// 两种焊接方法资质判断
/// </summary>
/// <param name="floorWelderQualifys"></param>
/// <param name="cellWelderQualifys"></param>
/// <param name="wmeCode1"></param>
/// <param name="wmeCode2"></param>
/// <param name="jointAttribute"></param>
/// <param name="weldType"></param>
/// <param name="ste"></param>
/// <param name="dia"></param>
/// <param name="sch"></param>
/// <returns></returns>
private bool TwoWmeIsOK(List<Model.Welder_WelderQualify> welderQualifys, string wmeCode1, string wmeCode2, string jointAttribute, string weldType, string ste, decimal? dia, decimal? sch)
{
bool isok = false;
decimal? fThicknessMax = 0;
decimal? cThicknessMax = 0;
var mat = BLL.Base_MaterialService.GetMaterialByMaterialId(ste);
//var floorQ = from x in welderQualifys
// where wmeCode1.Contains(x.WeldingMethod)
// && (mat == null || x.MaterialType.Contains(mat.MetalType ?? ""))
// && x.WeldType.Contains(weldType)
// select x;
//var cellQ = from x in welderQualifys
// where wmeCode2.Contains(x.WeldingMethod)
// && (mat == null || x.MaterialType.Contains(mat.MetalType ?? ""))
// && x.WeldType.Contains(weldType)
// select x;
var floorQ = from x in welderQualifys
where x.WeldingMethod.Contains(wmeCode1)
&& (mat == null || x.MaterialType.Contains(mat.MetalType ?? ""))
&& x.WeldType.Contains(weldType)
select x;
var cellQ = from x in welderQualifys
where x.WeldingMethod.Contains(wmeCode2)
&& (mat == null || x.MaterialType.Contains(mat.MetalType ?? ""))
&& x.WeldType.Contains(weldType)
select x;
if (floorQ.Count() > 0 && cellQ.Count() > 0)
{
if (jointAttribute == "安装口")
{
floorQ = floorQ.Where(x => x.IsCanWeldG == true);
cellQ = cellQ.Where(x => x.IsCanWeldG == true);
}
if (floorQ.Count() > 0 && cellQ.Count() > 0)
{
if (weldType == "1") // 1-对接焊缝 2-表示角焊缝,当为角焊缝时,管径和壁厚不限制
{
var floorDiaQ = floorQ.Where(x => x.SizesMin <= dia || x.SizesMax == 0);
var cellDiaQ = cellQ.Where(x => x.SizesMin <= dia || x.SizesMax == 0);
if (floorDiaQ.Count() > 0 && cellDiaQ.Count() > 0)
{
var fThick = floorDiaQ.Where(x => x.ThicknessMax == 0);
var cThick = cellDiaQ.Where(x => x.ThicknessMax == 0);
// 只要有一个不限为0就通过
if (fThick.Count() > 0 || cThick.Count() > 0)
{
isok = true;
}
else
{
fThicknessMax = floorQ.Max(x => x.ThicknessMax);
cThicknessMax = cellQ.Max(x => x.ThicknessMax);
if ((fThicknessMax + cThicknessMax) >= sch)
{
isok = true;
}
}
}
}
else
{
isok = true;
}
}
}
return isok;
}
#endregion
#region Grid页面信息
/// <summary>
/// 收集Grid页面信息
/// </summary>
/// <returns></returns>
private List<Model.View_HJGL_WeldingTask> CollectGridJointInfo()
{
List<Model.View_HJGL_WeldingTask> getNewWeldTaskItem = new List<Model.View_HJGL_WeldingTask>();
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
Model.View_HJGL_WeldingTask NewItem = new Model.View_HJGL_WeldingTask();
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
NewItem.WeldTaskId = values.Value<string>("WeldTaskId").ToString();
NewItem.WeldJointId = values.Value<string>("WeldJointId").ToString();
if (!string.IsNullOrEmpty(values.Value<string>("PipelineCode")))
{
NewItem.PipelineCode = values.Value<string>("PipelineCode").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("WeldJointCode")))
{
NewItem.WeldJointCode = values.Value<string>("WeldJointCode").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("CanWelderCode")))
{
NewItem.CanWelderCode = values.Value<string>("CanWelderCode").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("CanWelderId")))
{
NewItem.CanWelderId = values.Value<string>("CanWelderId").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("IsWelding")))
{
NewItem.IsWelding = values.Value<string>("IsWelding").ToString();
}
var coverWelderCode = (from x in Funs.DB.SitePerson_Person
where x.ProjectId == CurrUser.LoginProjectId && x.WelderCode == values.Value<string>("CoverWelderCode")
select x).FirstOrDefault();
if (coverWelderCode != null)
{
NewItem.CoverWelderCode = coverWelderCode.WelderCode;
NewItem.CoverWelderId = coverWelderCode.PersonId;
}
var backingWelderCode = (from x in Funs.DB.SitePerson_Person
where x.ProjectId == CurrUser.LoginProjectId && x.WelderCode == values.Value<string>("BackingWelderCode")
select x).FirstOrDefault();
if (backingWelderCode != null)
{
NewItem.BackingWelderCode = backingWelderCode.WelderCode;
NewItem.BackingWelderId = backingWelderCode.PersonId;
}
if (!string.IsNullOrEmpty(values.Value<string>("JointAttribute").ToString()))
{
NewItem.JointAttribute = values.Value<string>("JointAttribute").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("WeldingMode")))
{
NewItem.WeldingMode = values.Value<string>("WeldingMode").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("WeldTypeCode")))
{
NewItem.WeldTypeCode = values.Value<string>("WeldTypeCode").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("WeldingRodCode")))
{
NewItem.WeldingRodCode = values.Value<string>("WeldingRodCode").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("WeldingWireCode")))
{
NewItem.WeldingWireCode = values.Value<string>("WeldingWireCode").ToString();
}
if (!string.IsNullOrEmpty(values.Value<string>("Size")) && !string.IsNullOrEmpty(values.Value<int>("Size").ToString()))
{
NewItem.Size = values.Value<int>("Size");
}
if (!string.IsNullOrEmpty(values.Value<string>("Dia")) && !string.IsNullOrEmpty(values.Value<int>("Dia").ToString()))
{
NewItem.Dia = values.Value<int>("Dia");
}
if (!string.IsNullOrEmpty(values.Value<int>("Thickness").ToString()))
{
NewItem.Thickness = values.Value<int>("Thickness");
}
if (!string.IsNullOrEmpty(values.Value<string>("WeldingMethodCode").ToString()))
{
NewItem.WeldingMethodCode = values.Value<string>("WeldingMethodCode").ToString();
}
getNewWeldTaskItem.Add(NewItem);
}
return getNewWeldTaskItem;
}
#endregion
protected void btnMenuAdd_Click(object sender, EventArgs e)
{
var w = BLL.UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID);
if (w != null)
{
string UnitWorkId = w.UnitWorkId;
string taskDate = "";
string strList = UnitWorkId + "|" + taskDate;
string window = String.Format("SelectTaskWeldJoint.aspx?strList={0}", strList, "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdTaskWeldJoint.ClientID) + Window1.GetShowReference(window));
//PageContext.RegisterStartupScript(Window1.GetShowReference(window));
}
else
{
Alert.ShowInTop("请选择单位工程", MessageBoxIcon.Warning);
}
}
protected void btnMotify_Click(object sender, EventArgs e)
{
var w = BLL.UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNode.ParentNode.NodeID);
if (w != null)
{
//string UnitWorkId = w.UnitWorkId;
//string taskDate = string.Empty;
//if (tvControlItem.SelectedNodeID.Contains("|"))
//{
// taskDate = tvControlItem.SelectedNodeID.Split('|')[2];
//}
//else
//{
// taskDate = tvControlItem.SelectedNodeID;
//}
//string strList = UnitWorkId + "|" + taskDate;
string window = String.Format("SelectTaskWeldJoint.aspx?strList={0}", tvControlItem.SelectedNodeID, "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdTaskWeldJoint.ClientID) + Window1.GetShowReference(window));
//PageContext.RegisterStartupScript(Window1.GetShowReference(window));
}
else
{
Alert.ShowInTop("请选择任务单", MessageBoxIcon.Warning);
}
}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
string str1 = hdItemsString.Text;
string str2 = hdTaskWeldJoint.Text;
this.InitTreeMenu();
if (tvControlItem.SelectedNode != null)
{
tvControlItem.SelectedNode.Expanded = true;
if (tvControlItem.SelectedNode.CommandName == "单位工程")
{
tvControlItem.SelectedNode.Nodes.Clear();
BindNodes(tvControlItem.SelectedNode);
foreach (var item in tvControlItem.SelectedNode.Nodes)
{
if (item.NodeID.Contains(hdTaskWeldJoint.Text.Trim()))
{
tvControlItem.SelectedNodeID = item.NodeID;
}
}
}
}
else
{
foreach (var item in tvControlItem.Nodes[1].Nodes)
{
if (item.NodeID.Contains(tvControlItem.SelectedNodeID.Split('|')[0]))
{
item.Nodes.Clear();
item.Expanded = true;
BindNodes(item);
}
}
}
string unitWorkId = string.Empty, unitId = string.Empty;
if (tvControlItem.SelectedNodeID.Contains("|"))
{
unitWorkId = tvControlItem.SelectedNodeID.Split('|')[0];
unitId = tvControlItem.SelectedNodeID.Split('|')[1];
}
else
{
unitWorkId = tvControlItem.SelectedNodeID;
}
List<Model.View_HJGL_WeldingTask> GetWeldingTaskList = null;
GetWeldingTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, unitWorkId, unitId, Convert.ToDateTime(hdTaskWeldJoint.Text.Trim()), this.rbIsAudit.SelectedValue);
this.BindGrid(GetWeldingTaskList);
}
#region
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.HJGL_WeldTaskMenuId, Const.BtnDelete))
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
List<Model.View_HJGL_WeldingTask> getNewWeldTaskItem = this.CollectGridJointInfo();
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var item = getNewWeldTaskItem.FirstOrDefault(x => x.WeldTaskId == rowID);
var joint = Funs.DB.HJGL_WeldJoint.FirstOrDefault(x => x.WeldJointId == item.WeldJointId);
if (string.IsNullOrEmpty(joint.WeldingDailyId)) //焊口尚未焊接,任务单信息可以删除
{
if (item != null)
{
getNewWeldTaskItem.Remove(item);
// 删除明细信息
var task = Funs.DB.HJGL_WeldTask.FirstOrDefault(x => x.WeldTaskId == rowID);
if (task != null)
{
BLL.WeldTaskService.DeleteWeldingTask(task.WeldTaskId);
//PointBatchService.DeleteBatchByWeldJointId(task.WeldJointId);
}
}
ShowNotify("删除成功!", MessageBoxIcon.Success);
}
else
{
ShowNotify("该焊口焊接日报已生成,无法删除任务单信息!", MessageBoxIcon.Warning);
}
}
BindGrid(getNewWeldTaskItem);
if (getNewWeldTaskItem.Count == 0) //明细记录删除完,任务单即不存在
{
this.InitTreeMenu();//加载树
}
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#region TreeView
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.HJGL_WeldTaskMenuId);
if (this.tvControlItem.SelectedNodeID.Length == 1)
{
this.btnMenuAdd.Hidden = true;
this.btnMotify.Hidden = true;
}
else if (!this.tvControlItem.SelectedNodeID.Contains("|"))
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnMenuAdd.Hidden = false;
}
this.btnMotify.Hidden = true;
}
else if (this.tvControlItem.SelectedNodeID.Contains("|"))
{
if (buttonList.Contains(BLL.Const.BtnModify) || buttonList.Contains(BLL.Const.BtnSave))
{
this.btnMotify.Hidden = false;
}
this.btnMenuAdd.Hidden = true;
}
var w = BLL.UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID);
if (w == null)
{
DateTime? taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
if (taskTime != null)
{
List<Model.View_HJGL_WeldingTask> GetWeldingTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, tvControlItem.SelectedNodeID.Split('|')[0], tvControlItem.SelectedNodeID.Split('|')[1], Convert.ToDateTime(taskTime), this.rbIsAudit.SelectedValue);
this.BindGrid(GetWeldingTaskList);
}
}
//else
//{
// //ckSelect.Hidden = false;
// btnSave.Hidden = false;
// CreatWeldableWeldJoint.Hidden = false;
// btnSaveWelder.Hidden = false;
// txtTaskDate.Hidden = false;
// this.BindGrid(null);
//}
}
#endregion
#region
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSaveWelder_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(drpCanWelder.SelectedValue))
{
string[] selectedRowId = Grid1.SelectedRowIDArray;
for (int i = 0; i < selectedRowId.Count(); i++)
{
string weldTaskId = selectedRowId[i];
//string weldTaskId = Grid1.DataKeys[i][0].ToString();
BLL.WeldTaskService.UpdateWelderTask(weldTaskId, drpCanWelder.SelectedValue);
}
DateTime? taskTime = null;
if (tvControlItem.SelectedNodeID.Contains("|"))
{
taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
}
else
{
taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID);
}
string unitWorkId = string.Empty, unitId = string.Empty;
if (tvControlItem.SelectedNodeID.Contains("|"))
{
unitWorkId = tvControlItem.SelectedNodeID.Split('|')[0];
unitId = tvControlItem.SelectedNodeID.Split('|')[1];
}
else
{
unitWorkId = tvControlItem.SelectedNodeID;
}
List<Model.View_HJGL_WeldingTask> GetWeldingTaskList = null;
GetWeldingTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, unitWorkId, unitId, Convert.ToDateTime(txtTaskDate.Text), this.rbIsAudit.SelectedValue);
this.BindGrid(GetWeldingTaskList);
drpCanWelder.Items.Clear();
//GetCanWelderDropDownList(GetWeldingTaskList);
}
}
protected void btnSelectWelder_Click(object sender, EventArgs e)
{
GetCanWelderDropDownList();
}
/// <summary>
/// 获取能焊焊工下拉列表
/// </summary>
/// <param name="weldingTask"></param>
private void GetCanWelderDropDownList()
{
drpCanWelder.Items.Clear();
string[] selectedRowId = Grid1.SelectedRowIDArray;
List<string> canWelder = null;
var taskList = from x in Funs.DB.HJGL_WeldTask where x.ProjectId == this.CurrUser.LoginProjectId select x;
for (int i = 0; i < selectedRowId.Count(); i++)
{
Model.HJGL_WeldTask task = taskList.FirstOrDefault(x => x.WeldTaskId == selectedRowId[i]);
if (!string.IsNullOrEmpty(task.CanWelderId))
{
List<string> jotCanWelder = task.CanWelderId.Split(',').ToList();
if (i == 0)
{
canWelder = jotCanWelder;
}
else
{
canWelder = canWelder.Intersect(jotCanWelder).ToList();
}
}
else
{
canWelder = null;
break;
}
}
if (canWelder != null)
{
var welder = from x in canWelder
join y in Funs.DB.SitePerson_Person on x equals y.PersonId
select new { WelderId = x, y.WelderCode };
drpCanWelder.DataValueField = "WelderId";
drpCanWelder.DataTextField = "WelderCode";
drpCanWelder.DataSource = welder;
drpCanWelder.DataBind();
}
}
#endregion
protected void btnSearch_Click(object sender, EventArgs e)
{
//List<Model.View_HJGL_WeldingTask> GetWeldingTaskItem = this.CollectGridJointInfo();
DateTime? taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
if (taskTime != null)
{
List<Model.View_HJGL_WeldingTask> GetWeldingTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, tvControlItem.SelectedNodeID.Split('|')[0], tvControlItem.SelectedNodeID.Split('|')[1], Convert.ToDateTime(taskTime), this.rbIsAudit.SelectedValue);
this.BindGrid(GetWeldingTaskList);
}
}
protected void btnPrint_Click(object sender, EventArgs e)
{
DateTime? taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
if (taskTime != null)
{
var pipelines = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, tvControlItem.SelectedNodeID.Split('|')[0], tvControlItem.SelectedNodeID.Split('|')[1], Convert.ToDateTime(taskTime), this.rbIsAudit.SelectedValue).Select(x => x.PipelineId).Distinct().ToList();
if (pipelines.Any())
{
BLL.FastReportService.ResetData();
var result = HJGL_PipelineComponentService.GetPrintModelByPipelineComponentIds(null, pipelines.ToArray(), true);
var PipelineComponentIds = result.Select(x => x.PipelineComponentId).ToArray();
var tb = LINQToDataTable(result);
if (tb != null && tb.Rows.Count > 0)
{
tb.TableName = "Table1";
}
else
{
ShowNotify("该管线已打印完成", MessageBoxIcon.Question);
return;
}
BLL.FastReportService.AddFastreportTable(tb);
string initTemplatePath = "";
string rootPath = Server.MapPath("~/");
initTemplatePath = "File\\Fastreport\\组件打印.frx";
if (File.Exists(rootPath + initTemplatePath))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
HJGL_PipelineComponentService.UpdateIsPrint(PipelineComponentIds);
}
}
else
{
ShowNotify("无关联管线", MessageBoxIcon.Question);
}
}
else
{
ShowNotify("请选择任务单", MessageBoxIcon.Question);
}
}
protected void rbIsAudit_SelectedIndexChanged(object sender, EventArgs e)
{
DateTime? taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
if (taskTime != null)
{
List<Model.View_HJGL_WeldingTask> GetWeldingTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, tvControlItem.SelectedNodeID.Split('|')[0], tvControlItem.SelectedNodeID.Split('|')[1], Convert.ToDateTime(taskTime), this.rbIsAudit.SelectedValue);
this.BindGrid(GetWeldingTaskList);
}
}
protected void btnGenOutPlanMaster_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(tvControlItem.SelectedNodeID))
{
string unitWorkId = string.Empty, unitId2 = string.Empty; string taskdate = string.Empty;
if (tvControlItem.SelectedNodeID.Contains("|"))
{
unitWorkId = tvControlItem.SelectedNodeID.Split('|')[0];
unitId2 = tvControlItem.SelectedNodeID.Split('|')[1];
taskdate = tvControlItem.SelectedNodeID.Split('|')[2];
TwInOutplanmasterService.GenOutPlanmasterByWeldTaskId(unitWorkId, unitId2, Convert.ToDateTime(taskdate), this.CurrUser.PersonId);
ShowNotify("生成出库申请单成功", MessageBoxIcon.Success);
}
else
{
ShowNotify("请选择任务单", MessageBoxIcon.Question);
}
}
}
protected void btnPrintJoint_Click(object sender, EventArgs e)
{
var rows = Grid1.SelectedRowIndexArray;
List<string> jointids = new List<string>();
foreach (int rowIndex in rows)
{
string jointid = Grid1.DataKeys[rowIndex][1].ToString();
jointids.Add(jointid);
}
if (jointids.Any())
{
BLL.FastReportService.ResetData();
var result = Funs.DB.View_HJGL_WeldJoint.Where(x => jointids.Contains(x.WeldJointId)).Select(x => new
{
pipelineCode = x.PipelineCode,
Mat = x.MaterialCode,
WeldJointId = x.WeldJointId,
Spec = x.Specification,
SortIndex = x.WeldJointCode.Replace(x.PipelineCode + "/", ""),
}).OrderBy(x=> x.pipelineCode).ThenBy(x=> x.SortIndex).ToList();
var tb = LINQToDataTable(result);
if (tb != null && tb.Rows.Count > 0)
{
tb.TableName = "Table1";
}
BLL.FastReportService.AddFastreportTable(tb);
string initTemplatePath = "";
string rootPath = Server.MapPath("~/");
initTemplatePath = "File\\Fastreport\\焊口打印.frx";
if (File.Exists(rootPath + initTemplatePath))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
}
}
else
{
ShowNotify("请选择焊口", MessageBoxIcon.Question);
}
}
}
}