材料管理修改(打印修改,出库单已审核已完成不计算匹配率)材料匹配修改,焊接任务单修改
This commit is contained in:
@@ -84,7 +84,7 @@
|
||||
<Items>
|
||||
<f:Tree ID="tvControlItem" ShowHeader="false" Height="560px" Title="装置区域"
|
||||
OnNodeCommand="tvControlItem_NodeCommand" runat="server" ShowBorder="false" EnableCollapse="true"
|
||||
EnableSingleClickExpand="false" AutoLeafIdentification="true" EnableSingleExpand="true"
|
||||
EnableSingleClickExpand="false" AutoLeafIdentification="true" EnableSingleExpand="true" EnableCheckBox="true"
|
||||
EnableTextSelection="true" OnNodeExpand="tvControlItem_TreeNodeExpanded">
|
||||
</f:Tree>
|
||||
</Items>
|
||||
|
||||
@@ -13,9 +13,19 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
{
|
||||
public int pageSize = PipelineService.pageSize;
|
||||
//public Dictionary<string, string> dicSeclectPipeLine = new Dictionary<string, string>();
|
||||
public static List<Model.Tw_PipeMatMatchOutput> tw_PipeMatMatchOutputs ;
|
||||
public static decimal Rate = 0;
|
||||
public static string WarehouseCode = "工厂预制";
|
||||
//public static List<Model.Tw_PipeMatMatchOutput> tw_PipeMatMatchOutputs ;
|
||||
public static decimal Rate = 0;
|
||||
public string WarehouseCode
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["WarehouseCode"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["WarehouseCode"] = value;
|
||||
}
|
||||
}
|
||||
public string PipeArea
|
||||
{
|
||||
get
|
||||
@@ -49,6 +59,19 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
ViewState["dicSeclectPipeLine"] = value;
|
||||
}
|
||||
}
|
||||
public List<Model.Tw_PipeMatMatchOutput> tw_PipeMatMatchOutputs
|
||||
{
|
||||
get
|
||||
{
|
||||
return (List<Model.Tw_PipeMatMatchOutput>)ViewState["tw_PipeMatMatchOutputs"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["tw_PipeMatMatchOutputs"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//ctlAuditFlow.Url = BLL.Project_SysSetService.GetAvevaNetUrl(this.CurrUser.LoginProjectId);
|
||||
@@ -60,6 +83,10 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
{
|
||||
WarehouseCode = "现场安装";
|
||||
}
|
||||
else
|
||||
{
|
||||
WarehouseCode = "工厂预制";
|
||||
}
|
||||
HJGL_MaterialService.materialStockItems_FIELD = new List<Model.MaterialStockItem>();
|
||||
HJGL_MaterialService.materialStockItems_SHOP = new List<Model.MaterialStockItem>();
|
||||
dicSeclectPipeLine=new Dictionary<string, string>();
|
||||
@@ -88,6 +115,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
rootNode1.Text = "建筑工程";
|
||||
rootNode1.CommandName = "建筑工程";
|
||||
rootNode1.Selectable = false;
|
||||
rootNode1.EnableCheckBox = false;
|
||||
this.tvControlItem.Nodes.Add(rootNode1);
|
||||
|
||||
TreeNode rootNode2 = new TreeNode();
|
||||
@@ -95,6 +123,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
rootNode2.Text = "安装工程";
|
||||
rootNode2.CommandName = "安装工程";
|
||||
rootNode2.Expanded = true;
|
||||
rootNode2.EnableCheckBox = false;
|
||||
this.tvControlItem.Nodes.Add(rootNode2);
|
||||
|
||||
var pUnits = (from x in Funs.DB.Project_ProjectUnit where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
|
||||
@@ -168,6 +197,8 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
tn2.CommandName = 1 + "|" + Funs.GetEndPageNumber(a, pageSize);
|
||||
tn2.EnableExpandEvent = true;
|
||||
tn2.EnableClickEvent= true;
|
||||
tn2.EnableCheckBox = false;
|
||||
|
||||
rootNode2.Nodes.Add(tn2);
|
||||
if (a > 0)
|
||||
{
|
||||
@@ -225,7 +256,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
newNode.Text = item.PipelineCode ;
|
||||
newNode.NodeID = item.PipelineId;
|
||||
newNode.CommandName = "管线";
|
||||
newNode.EnableClickEvent = true;
|
||||
newNode.EnableClickEvent = true;
|
||||
node.Nodes.Add(newNode);
|
||||
}
|
||||
if (pageindex < pageCount)
|
||||
@@ -303,40 +334,39 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
}
|
||||
void BindGrid2()
|
||||
{
|
||||
var result = tw_PipeMatMatchOutputs
|
||||
.GroupBy(item => new { item.PipelineId, item.PipelineCode,item.UnitWorkName }) // 按 PipelineId 和 PipelineCode 分组
|
||||
.Select(group => new
|
||||
{
|
||||
PipelineId = group.Key.PipelineId, // 当前组的 PipelineId
|
||||
PipelineCode = group.Key.PipelineCode, // 当前组的 PipelineCode
|
||||
UnitWorkName = group.Key.UnitWorkName, // 当前组的 UnitWorkName
|
||||
AverageMatchRate = group.Average(item => item.MatchRate) // 计算平均 MatchRate
|
||||
})
|
||||
.ToList(); // 转换为 List
|
||||
//var result = tw_PipeMatMatchOutputs
|
||||
// .GroupBy(item => new { item.PipelineId, item.PipelineCode,item.UnitWorkName }) // 按 PipelineId 和 PipelineCode 分组
|
||||
// .Select(group => new
|
||||
// {
|
||||
// PipelineId = group.Key.PipelineId, // 当前组的 PipelineId
|
||||
// PipelineCode = group.Key.PipelineCode, // 当前组的 PipelineCode
|
||||
// UnitWorkName = group.Key.UnitWorkName, // 当前组的 UnitWorkName
|
||||
// AverageMatchRate = group.Average(item => item.MatchRate) // 计算平均 MatchRate
|
||||
// })
|
||||
// .ToList(); // 转换为 List
|
||||
|
||||
// 如果需要将结果转换为自定义类型,可以这样做
|
||||
List<Tw_PipeMatMatchOutput> output = result.Select(r => new Tw_PipeMatMatchOutput
|
||||
{
|
||||
PipelineId = r.PipelineId,
|
||||
PipelineCode = r.PipelineCode,
|
||||
UnitWorkName = r.UnitWorkName,
|
||||
MatchRate = r.AverageMatchRate,
|
||||
MatchRateString = Math.Round((decimal)r.AverageMatchRate * 100, 2).ToString() + "%"
|
||||
}).ToList();
|
||||
//// 如果需要将结果转换为自定义类型,可以这样做
|
||||
//List<Tw_PipeMatMatchOutput> output = result.Select(r => new Tw_PipeMatMatchOutput
|
||||
//{
|
||||
// PipelineId = r.PipelineId,
|
||||
// PipelineCode = r.PipelineCode,
|
||||
// UnitWorkName = r.UnitWorkName,
|
||||
// MatchRate = r.AverageMatchRate,
|
||||
// MatchRateString = Math.Round((decimal)r.AverageMatchRate * 100, 2).ToString() + "%"
|
||||
//}).ToList();
|
||||
var output = TwArrivalStatisticsService.GetPipeMatch(tw_PipeMatMatchOutputs);
|
||||
Grid2.DataSource = output;
|
||||
Grid2.DataBind();
|
||||
if (output.Any())
|
||||
/*if (output.Any())
|
||||
{
|
||||
Rate = Math.Round((decimal)output.Average(item => item.MatchRate) * 100, 2);
|
||||
lbRate.Text = "匹配率:" + Rate.ToString() + "%";
|
||||
}
|
||||
}*/
|
||||
var selectList = new List<string>() ;
|
||||
for (int i = 0; i < Grid2.Rows.Count; i++)
|
||||
{
|
||||
var model = Grid2.Rows[i].DataItem as Tw_PipeMatMatchOutput;
|
||||
|
||||
|
||||
|
||||
var model = Grid2.Rows[i].DataItem as Tw_PipeMatchOutput;
|
||||
|
||||
if (model.MatchRate >=1)
|
||||
{
|
||||
Grid2.Rows[i].RowCssClass = "green";
|
||||
@@ -370,7 +400,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
if (relationModle!= null)
|
||||
{
|
||||
Grid3.Rows[i].RowCssClass = "yellow";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -396,6 +426,17 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
var tb = tw_PipeMatMatchOutputs.Where(x => x.PipelineId == Grid2.SelectedRowID).ToList();
|
||||
Grid1.DataSource = tb;
|
||||
Grid1.DataBind();
|
||||
for (int i = 0; i < Grid1.Rows.Count; i++)
|
||||
{
|
||||
var model = Grid1.Rows[i].DataItem as Tw_PipeMatMatchOutput;
|
||||
|
||||
if (model?.MatchRate < 1 || model?.MatchRate==null)
|
||||
{
|
||||
Grid1.Rows[i].RowCssClass = "red";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
protected void Grid1_RowClick(object sender, GridRowClickEventArgs e)
|
||||
@@ -521,17 +562,18 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
|
||||
protected void btnAddPipelineMatchMat_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.tvControlItem.SelectedNode.CommandName == "管线")
|
||||
{
|
||||
if (dicSeclectPipeLine.Where(x => x.Key == this.tvControlItem.SelectedNodeID).Count() == 0)
|
||||
var selectNodes= tvControlItem.GetCheckedNodes();
|
||||
foreach (var node in selectNodes)
|
||||
{
|
||||
if (dicSeclectPipeLine.Where(x => x.Key == node.NodeID).Count() == 0 && node.CommandName== "管线")
|
||||
{
|
||||
dicSeclectPipeLine.Add(this.tvControlItem.SelectedNodeID, this.tvControlItem.SelectedNode.Text);
|
||||
tw_PipeMatMatchOutputs = TwArrivalStatisticsService.GetPipeMatMatch(this.CurrUser.LoginProjectId, dicSeclectPipeLine.Keys.ToList(), WarehouseCode);
|
||||
|
||||
BindGrid3();
|
||||
BindGrid2();
|
||||
dicSeclectPipeLine.Add(node.NodeID, node.Text);
|
||||
}
|
||||
}
|
||||
tw_PipeMatMatchOutputs = TwArrivalStatisticsService.GetPipeMatMatch(this.CurrUser.LoginProjectId, dicSeclectPipeLine.Keys.ToList(), WarehouseCode);
|
||||
|
||||
BindGrid3();
|
||||
BindGrid2();
|
||||
}
|
||||
|
||||
protected void btnDeletePipelineMatchMat_Click(object sender, EventArgs e)
|
||||
@@ -539,6 +581,12 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
if (Grid3.SelectedRowID != "")
|
||||
{
|
||||
dicSeclectPipeLine.Remove(Grid3.SelectedRowID);
|
||||
var node = tvControlItem.FindNode(Grid3.SelectedRowID);
|
||||
if (node != null)
|
||||
{
|
||||
node.Checked = false;
|
||||
}
|
||||
|
||||
tw_PipeMatMatchOutputs = TwArrivalStatisticsService.GetPipeMatMatch(this.CurrUser.LoginProjectId, dicSeclectPipeLine.Keys.ToList(), WarehouseCode);
|
||||
|
||||
BindGrid3();
|
||||
@@ -572,6 +620,10 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
where Grid2.SelectedRowIDArray.ToList().Contains(x.PipelineId) && x.WeldingDailyId == null &&
|
||||
x.WeldTaskId == null && x.WeldingMethodCode != null
|
||||
select x).ToList();
|
||||
if (PipeArea=="1") //工厂预制的管线,则只选择预制口
|
||||
{
|
||||
selectRowId = selectRowId.Where(x => x.JointAttribute == "预制口").ToList();
|
||||
}
|
||||
foreach (var weldjoint in selectRowId)
|
||||
{
|
||||
string canWeldingRodName = string.Empty;
|
||||
@@ -583,7 +635,7 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
|
||||
NewTask.TaskCode = BLL.WeldTaskService.GetTaskCodeByDate(this.CurrUser.LoginProjectId, DateTime.Now.Date.ToString("yyyy-MM-dd"), NewTask.UnitWorkId, this.CurrUser.UnitId);
|
||||
NewTask.WeldTaskId = SQLHelper.GetNewID();
|
||||
NewTask.WeldJointId = weldjoint.WeldJointId;
|
||||
NewTask.WeldJointId = weldjoint.WeldJointId;
|
||||
var oldWeldTask = BLL.WeldTaskService.GetWeldTaskByWeldJointId(NewTask.WeldJointId);
|
||||
if (oldWeldTask != null)
|
||||
{
|
||||
|
||||
@@ -86,6 +86,10 @@
|
||||
</f:Button>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnPrint" runat="server" Icon="Printer" EnableAjax="false" Text="预制组件打印" ToolTip="预制组件打印" OnClick="btnPrint_Click"></f:Button>
|
||||
<f:Button ID="btnPassMaster" Text="专工审核" Icon="ArrowRefresh" runat="server" OnClick="btnPassMaster_OnClick" >
|
||||
</f:Button>
|
||||
<f:Button ID="btnPassMaster2" Text="材控审核" Icon="ArrowRefresh" runat="server" OnClick="btnPassMaster2_OnClick" >
|
||||
</f:Button>
|
||||
<f:Button ID="btnPrintTask" runat="server" Icon="Printer" EnableAjax="false" Text="焊接任务单打印" ToolTip="焊接任务单打印" OnClick="btnPrintTask_Click"></f:Button>
|
||||
<f:DatePicker ID="txtTaskDate" Label="计划焊接日期" runat="server"
|
||||
DateFormatString="yyyy-MM-dd" LabelAlign="Left" LabelWidth="110px" Hidden="true">
|
||||
|
||||
@@ -1336,82 +1336,171 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
|
||||
protected void btnPrintTask_Click(object sender, EventArgs e)
|
||||
{
|
||||
DateTime? taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
|
||||
if (taskTime != null)
|
||||
if (!string.IsNullOrEmpty(tvControlItem.SelectedNodeID))
|
||||
{
|
||||
var weldTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, tvControlItem.SelectedNodeID.Split('|')[0], tvControlItem.SelectedNodeID.Split('|')[1], Convert.ToDateTime(taskTime), this.rbIsAudit.SelectedValue);
|
||||
var pipelines = weldTaskList.Select(x => x.PipelineId).Distinct().ToList();
|
||||
|
||||
if (pipelines.Any())
|
||||
if (tvControlItem.SelectedNodeID.Contains("|"))
|
||||
{
|
||||
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;
|
||||
//}
|
||||
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
|
||||
keyValuePairs.Add("Code", UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID.Split('|')[0]).UnitWorkCode+ string.Format("{0:yyyyMMdd}", taskTime.Value));
|
||||
keyValuePairs.Add("TaskDate", string.Format("{0:yyyy-MM-dd}", taskTime.Value));
|
||||
keyValuePairs.Add("UnitName", UnitService.GetUnitNameByUnitId(tvControlItem.SelectedNodeID.Split('|')[1]));
|
||||
keyValuePairs.Add("UnitWorkName]", UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID.Split('|')[0]).UnitWorkName);
|
||||
// 创建一个新的DataTable
|
||||
DataTable dataTable = new DataTable();
|
||||
dataTable.TableName = "Data";
|
||||
// 添加列
|
||||
dataTable.Columns.Add("PipelineCode", typeof(string));
|
||||
dataTable.Columns.Add("FlowingSection", typeof(string));
|
||||
dataTable.Columns.Add("MaterialCode", typeof(string));
|
||||
dataTable.Columns.Add("MaterialSpec", typeof(string));
|
||||
dataTable.Columns.Add("MatchRate", typeof(string));
|
||||
|
||||
foreach (string pipeline in pipelines)
|
||||
DateTime? taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
|
||||
if (taskTime != null)
|
||||
{
|
||||
DataRow dr = dataTable.NewRow();
|
||||
var pipelineModel = PipelineService.GetPipelineByPipelineId(pipeline);
|
||||
List<string > list=new List<string> { pipeline };
|
||||
var weldTaskList = BLL.WeldTaskService.GetWeldingTaskList(this.CurrUser.LoginProjectId, tvControlItem.SelectedNodeID.Split('|')[0], tvControlItem.SelectedNodeID.Split('|')[1], Convert.ToDateTime(taskTime), this.rbIsAudit.SelectedValue);
|
||||
var pipelines = weldTaskList.Select(x => x.PipelineId).Distinct().ToList();
|
||||
|
||||
dr["PipelineCode"] = pipelineModel.PipelineCode;
|
||||
dr["FlowingSection"] = pipelineModel.FlowingSection;
|
||||
dr["MaterialCode"] = Base_MaterialService.GetMaterialByMaterialId(pipelineModel.MaterialId).MaterialCode ;
|
||||
dr["MaterialSpec"] = string.Join(",", weldTaskList.Select(x => x.Specification).Distinct().ToList()) ;
|
||||
dr["MatchRate"] = Math.Round((decimal)TwArrivalStatisticsService.GetPipeMatch(pipeline) * 100, 2).ToString() + "%" ;
|
||||
dataTable.Rows.Add(dr);
|
||||
}
|
||||
BLL.FastReportService.AddFastreportTable(dataTable);
|
||||
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
|
||||
string initTemplatePath = "";
|
||||
string rootPath = Server.MapPath("~/");
|
||||
initTemplatePath = "File\\Fastreport\\管道焊接任务单.frx";
|
||||
if (pipelines.Any())
|
||||
{
|
||||
BLL.FastReportService.ResetData();
|
||||
List<Model.Tw_PrintMaster> tw_PrintMasters = new List<Model.Tw_PrintMaster>();
|
||||
var time = Convert.ToDateTime(taskTime);
|
||||
|
||||
var weldTask_CreateName = (from x in Funs.DB.HJGL_WeldTask
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId &&
|
||||
x.UnitWorkId == tvControlItem.SelectedNodeID.Split('|')[0] &&
|
||||
x.UnitId == tvControlItem.SelectedNodeID.Split('|')[1]
|
||||
&& x.TaskDate.Value.Date == time.Date && x.Tabler != null
|
||||
select x).FirstOrDefault();
|
||||
var weldTask = (from x in Funs.DB.HJGL_WeldTask
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId &&
|
||||
x.UnitWorkId == tvControlItem.SelectedNodeID.Split('|')[0] &&
|
||||
x.UnitId == tvControlItem.SelectedNodeID.Split('|')[1]
|
||||
&& x.TaskDate.Value.Date == time.Date && x.AuditMan != null && x.AuditMan2 != null &&
|
||||
x.Tabler != null
|
||||
select x).FirstOrDefault();
|
||||
Model.Tw_PrintMaster printMaster = new Model.Tw_PrintMaster
|
||||
{
|
||||
|
||||
CreateManName = !string.IsNullOrEmpty(weldTask_CreateName?.Tabler) ? BLL.Person_PersonsService.getSignatureUrl(weldTask_CreateName.Tabler) : "",
|
||||
AuditManName = !string.IsNullOrEmpty(weldTask?.AuditMan) ? BLL.Person_PersonsService.getSignatureUrl(weldTask.AuditMan) : "",
|
||||
AuditManName2 = !string.IsNullOrEmpty(weldTask?.AuditMan2) ? BLL.Person_PersonsService.getSignatureUrl(weldTask.AuditMan2) : "",
|
||||
};
|
||||
tw_PrintMasters.Add(printMaster);
|
||||
DataTable Table1 = LINQToDataTable(tw_PrintMasters);
|
||||
if (Table1 != null)
|
||||
{
|
||||
Table1.TableName = "Table1";
|
||||
}
|
||||
|
||||
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
|
||||
keyValuePairs.Add("Code", UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID.Split('|')[0]).UnitWorkCode + string.Format("{0:yyyyMMdd}", taskTime.Value));
|
||||
keyValuePairs.Add("TaskDate", string.Format("{0:yyyy-MM-dd}", taskTime.Value));
|
||||
keyValuePairs.Add("UnitName", UnitService.GetUnitNameByUnitId(tvControlItem.SelectedNodeID.Split('|')[1]));
|
||||
keyValuePairs.Add("UnitWorkName]", UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID.Split('|')[0]).UnitWorkName);
|
||||
// 创建一个新的DataTable
|
||||
DataTable dataTable = new DataTable();
|
||||
dataTable.TableName = "Data";
|
||||
// 添加列
|
||||
dataTable.Columns.Add("PipelineCode", typeof(string));
|
||||
dataTable.Columns.Add("FlowingSection", typeof(string));
|
||||
dataTable.Columns.Add("MaterialCode", typeof(string));
|
||||
dataTable.Columns.Add("MaterialSpec", typeof(string));
|
||||
dataTable.Columns.Add("MatchRate", typeof(string));
|
||||
dataTable.Columns.Add("Dia", typeof(string));
|
||||
|
||||
foreach (string pipeline in pipelines)
|
||||
{
|
||||
DataRow dr = dataTable.NewRow();
|
||||
var pipelineModel = PipelineService.GetPipelineByPipelineId(pipeline);
|
||||
List<string> list = new List<string> { pipeline };
|
||||
|
||||
dr["PipelineCode"] = pipelineModel.PipelineCode;
|
||||
dr["FlowingSection"] = pipelineModel.FlowingSection;
|
||||
dr["MaterialCode"] = Base_MaterialService.GetMaterialByMaterialId(pipelineModel.MaterialId).MaterialCode;
|
||||
dr["MaterialSpec"] = string.Join(",", weldTaskList.Select(x => x.Specification).Distinct().ToList());
|
||||
dr["MatchRate"] = Math.Round((decimal)TwArrivalStatisticsService.GetPipeMatch(pipeline) * 100, 2).ToString() + "%";
|
||||
dr["Dia"] = weldTaskList.Where(x => x.PipelineId == pipeline).Sum(x => x.Size ?? 0)
|
||||
.ToString();
|
||||
dataTable.Rows.Add(dr);
|
||||
}
|
||||
BLL.FastReportService.AddFastreportTable(Table1);
|
||||
BLL.FastReportService.AddFastreportTable(dataTable);
|
||||
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (File.Exists(rootPath + initTemplatePath))
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowNotify("无关联管线", MessageBoxIcon.Question);
|
||||
|
||||
ShowNotify("请选择任务单", MessageBoxIcon.Question);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
protected void btnPassMaster_OnClick(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tvControlItem.SelectedNodeID))
|
||||
{
|
||||
ShowNotify("请选择任务单", MessageBoxIcon.Question);
|
||||
}
|
||||
if (tvControlItem.SelectedNodeID.Contains("|"))
|
||||
{
|
||||
DateTime? taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
|
||||
if (taskTime != null)
|
||||
{
|
||||
var time = Convert.ToDateTime(taskTime);
|
||||
var weldTaskList = (from x in Funs.DB.HJGL_WeldTask
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == tvControlItem.SelectedNodeID.Split('|')[0] && x.UnitId == tvControlItem.SelectedNodeID.Split('|')[1]
|
||||
&& x.TaskDate.Value.Date == time.Date
|
||||
select x).ToList();
|
||||
|
||||
foreach (var weldTask in weldTaskList)
|
||||
{
|
||||
weldTask.AuditMan = this.CurrUser.PersonId;
|
||||
weldTask.AuditDate = DateTime.Now;
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
ShowNotify("审核通过!", MessageBoxIcon.Success);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowNotify("请选择任务单", MessageBoxIcon.Question);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnPassMaster2_OnClick(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(tvControlItem.SelectedNodeID))
|
||||
{
|
||||
if (tvControlItem.SelectedNodeID.Contains("|"))
|
||||
{
|
||||
DateTime? taskTime = Funs.GetNewDateTime(tvControlItem.SelectedNodeID.Split('|')[2]);
|
||||
if (taskTime != null)
|
||||
{
|
||||
var time = Convert.ToDateTime(taskTime);
|
||||
var weldTaskList = (from x in Funs.DB.HJGL_WeldTask
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == tvControlItem.SelectedNodeID.Split('|')[0] && x.UnitId == tvControlItem.SelectedNodeID.Split('|')[1]
|
||||
&& x.TaskDate.Value.Date == time.Date
|
||||
select x).ToList();
|
||||
|
||||
foreach (var weldTask in weldTaskList)
|
||||
{
|
||||
weldTask.AuditMan2 = this.CurrUser.PersonId;
|
||||
weldTask.AuditDate2 = DateTime.Now;
|
||||
Funs.DB.SubmitChanges();
|
||||
}
|
||||
ShowNotify("审核通过!", MessageBoxIcon.Success);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowNotify("请选择任务单", MessageBoxIcon.Question);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -221,6 +221,24 @@ namespace FineUIPro.Web.HJGL.WeldingManage
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnPrint;
|
||||
|
||||
/// <summary>
|
||||
/// btnPassMaster 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnPassMaster;
|
||||
|
||||
/// <summary>
|
||||
/// btnPassMaster2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnPassMaster2;
|
||||
|
||||
/// <summary>
|
||||
/// btnPrintTask 控件。
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user