SGGL_SHJ/SGGL/BLL/HJGL/TestPackage/TestPackagePrintService.cs

960 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 System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace BLL
{
public static class TestPackagePrintService
{
#region Fields
/// <summary>
/// 类别Map
/// </summary>
public static Dictionary<int, string> TypeIntMap = new Dictionary<int, string>()
{
//{ 0, "File\\Fastreport\\JGZL\\管道试压包文件资料.frx" },
//{ 1, "File\\Fastreport\\JGZL\\管道压力试验技术要求.frx" },
//{ 2, "File\\Fastreport\\JGZL\\管道压力包文件资料目录.frx" },
//{ 3, "File\\Fastreport\\JGZL\\管道系统压力试验条件确认记录.frx" },
//{ 4, "File\\Fastreport\\JGZL\\管道试压包尾项清单.frx" },
//{ 5, "File\\Fastreport\\JGZL\\管道系统压力试验记录.frx" },
//{ 6, "File\\Fastreport\\JGZL\\管道材料材质标识检查记录.frx" },
//{ 7, "File\\Fastreport\\JGZL\\管道焊接工作记录.frx" },
//{ 8, "File\\Fastreport\\JGZL\\管道无损检测数量统计表.frx" },
//{ 9, "File\\Fastreport\\JGZL\\无损检测结果汇总表.frx" }
{ 0, "管道试压包文件资料" },
{ 1, "管道压力试验技术要求" },
{ 2, "管道压力包文件资料目录" },
{ 3, "管道系统压力试验条件确认记录" },
{ 4, "管道试压包尾项清单" },
{ 5, "管道系统压力试验记录" },
{ 6, "管道材料材质标识检查记录" },
{ 7, "管道焊接工作记录" },
{ 8, "管道无损检测数量统计表" },
{ 9, "无损检测结果汇总表" }
};
#endregion Fields
#region Methods
public static void Add(Model.PTP_TestPackagePrint newtable)
{
Model.PTP_TestPackagePrint table = new Model.PTP_TestPackagePrint
{
Id = newtable.Id,
PTP_ID = newtable.PTP_ID,
TypeInt = newtable.TypeInt,
PrintCount = newtable.PrintCount,
};
Funs.DB.PTP_TestPackagePrint.InsertOnSubmit(table);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 根据试压包ID打印所有类别打印次数+1
/// </summary>
/// <param name="PTP_ID"></param>
public static void AddPrintCountByPTP_ID(string PTP_ID)
{
var list = Funs.DB.PTP_TestPackagePrint.Where(x => x.PTP_ID == PTP_ID).ToList();
//检查是否所有类型都存在如果不存在则添加PrintCount 初始化为 0
foreach (var typeInt in TypeIntMap.Keys)
{
if (!list.Any(x => x.TypeInt == typeInt))
{
var newEntry = new Model.PTP_TestPackagePrint
{
Id = Guid.NewGuid().ToString(),
PTP_ID = PTP_ID,
TypeInt = typeInt,
PrintCount = 1
};
Funs.DB.PTP_TestPackagePrint.InsertOnSubmit(newEntry);
}
}
// 循环所有类型PrintCount +1
foreach (var table in list)
{
table.PrintCount = table.PrintCount + 1;
}
Funs.DB.SubmitChanges();
}
/// <summary>
/// 根据试压包ID和类别打印次数+1
/// </summary>
/// <param name="PTP_ID"></param>
/// <param name="typeInt"></param>
public static void AddPrintCountByTypeInt(string PTP_ID, int typeInt)
{
Model.PTP_TestPackagePrint table = Funs.DB.PTP_TestPackagePrint.FirstOrDefault(x => x.PTP_ID == PTP_ID && x.TypeInt == typeInt);
if (table != null)
{
table.PrintCount = table.PrintCount + 1;
}
else
{
table = new Model.PTP_TestPackagePrint
{
Id = Guid.NewGuid().ToString(),
PTP_ID = PTP_ID,
TypeInt = typeInt,
PrintCount = 1
};
Funs.DB.PTP_TestPackagePrint.InsertOnSubmit(table);
}
Funs.DB.SubmitChanges();
}
public static void DeleteById(string Id)
{
Model.PTP_TestPackagePrint table = Funs.DB.PTP_TestPackagePrint.FirstOrDefault(x => x.Id == Id);
if (table != null)
{
Funs.DB.PTP_TestPackagePrint.DeleteOnSubmit(table);
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 获取无损检测结果统计
/// </summary>
/// <param name="pipelineId"></param>
/// <param name="detectionType"></param>
/// <returns></returns>
public static (int djJoint, int djFilm, int jhJoint, int jhFilm, int zgJoint, int zgFilm) GetDetectionStats(string pipelineId, string detectionType)
{
var baseQuery = from x in Funs.DB.HJGL_Batch_NDEItem
join t in Funs.DB.HJGL_Batch_BatchTrustItem on x.TrustBatchItemId equals t.TrustBatchItemId
join z in Funs.DB.HJGL_WeldJoint on t.WeldJointId equals z.WeldJointId
join w in Funs.DB.Base_WeldType on z.WeldTypeId equals w.WeldTypeId
join d in Funs.DB.View_HJGL_WeldJointDetectionType on t.WeldJointId equals d.WeldJointId
where d.JointDetectionTypeStr == detectionType && z.PipelineId == pipelineId
select new { x, w.WeldTypeCode };
return (
djJoint: baseQuery.Where(q => q.WeldTypeCode == "BW").Count(),
djFilm: baseQuery.Where(q => q.WeldTypeCode == "BW").Sum(q => q.x.TotalFilm) ?? 0,
jhJoint: baseQuery.Where(q => q.WeldTypeCode == "C" || q.WeldTypeCode == "E" || q.WeldTypeCode == "SW").Count(),
jhFilm: baseQuery.Where(q => q.WeldTypeCode == "C" || q.WeldTypeCode == "E" || q.WeldTypeCode == "SW").Sum(q => q.x.TotalFilm) ?? 0,
zgJoint: baseQuery.Where(q => q.WeldTypeCode == "D" || q.WeldTypeCode == "OLET" || q.WeldTypeCode == "FW").Count(),
zgFilm: baseQuery.Where(q => q.WeldTypeCode == "D" || q.WeldTypeCode == "OLET" || q.WeldTypeCode == "FW").Sum(q => q.x.TotalFilm) ?? 0
);
}
/// <summary>
/// 获取打印明细
/// </summary>
/// <param name="updateTestPackage"></param>
/// <param name="printType"></param>
/// <param name="ptp_id"></param>
/// <param name="projectid"></param>
/// <returns></returns>
public static Model.FastReportItem GetFastReportItem(Model.PTP_TestPackage updateTestPackage, string printType, string ptp_id, string projectid)
{
string initTemplatePath = "";
Model.FastReportItem fastReportItem = new Model.FastReportItem();
switch (printType)
{
case "0"://管道试压包文件资料
{
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
var projectName = BLL.ProjectService.GetProjectNameByProjectId(projectid);
var InstallationName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
keyValuePairs.Add("ProjectName", projectName);
keyValuePairs.Add("InstallationName", projectName + InstallationName);
keyValuePairs.Add("TestPackageNo", updateTestPackage.TestPackageNo);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\管道试压包文件资料.frx";
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
}
break;
case "1"://管道压力试验技术要求
{
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
keyValuePairs.Add("Pressure", updateTestPackage.AdjustTestPressure);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\管道压力试验技术要求.frx";
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
}
break;
case "2"://管道压力包文件资料目录
{
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\管道压力包文件资料目录.frx";
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
}
break;
case "3"://管道系统压力试验条件确认记录
{
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
var projectName = BLL.ProjectService.GetProjectNameByProjectId(projectid);
var InstallationName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
keyValuePairs.Add("ProjectName", projectName);
keyValuePairs.Add("InstallationName", InstallationName);
keyValuePairs.Add("TestPackageNo", updateTestPackage.TestPackageNo);
keyValuePairs.Add("TestPackageName", updateTestPackage.TestPackageName);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\管道系统压力试验条件确认记录.frx";
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
}
break;
case "4"://管道试压包尾项清单
{
string sql = @"select ItemCheckId,PTP_ID,PTP_ItemEndCheck.PipelineId,Content,ItemType,Result,HJGL_Pipeline.PipelineCode from PTP_ItemEndCheck
left join PTP_ItemEndCheckList on PTP_ItemEndCheckList.ItemEndCheckListId = PTP_ItemEndCheck.ItemEndCheckListId
left join HJGL_Pipeline on HJGL_Pipeline.PipelineId = PTP_ItemEndCheck.PipelineId
where PTP_ItemEndCheckList.PTP_ID=@ptp_id";
List<SqlParameter> listStr = new List<SqlParameter>
{
new SqlParameter("@ptp_id", ptp_id),
};
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sql, parameter);
DataTable dt = new DataTable();
dt.TableName = "Data";
dt.Columns.Add("SortNumber");
dt.Columns.Add("PipelineCode");
dt.Columns.Add("Content");
dt.Columns.Add("ItemType");
for (int i = 0; i < tb.Rows.Count; i++)
{
var newRows = dt.NewRow();
newRows["SortNumber"] = (i + 1).ToString();
newRows["PipelineCode"] = tb.Rows[i]["PipelineCode"].ToString();
newRows["Content"] = tb.Rows[i]["Content"].ToString();
newRows["ItemType"] = tb.Rows[i]["ItemType"].ToString();
dt.Rows.Add(newRows);
}
BLL.FastReportService.AddFastreportTable(dt);
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
keyValuePairs.Add("TestPackageNo", updateTestPackage.TestPackageNo);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\管道试压包尾项清单.frx";
List<DataTable> dataTables = new List<DataTable>();
dataTables.Add(dt);
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
fastReportItem.DataTables = dataTables;
}
break;
case "5"://管道系统压力试验记录
{
string sql = @"SELECT ptpPipe.PT_PipeId,
ptpPipe.PTP_ID,
ptpPipe.PipelineId,
IsoInfo.DesignPress, --设计压力
IsoInfo.DesignTemperature, --设计温度
IsoInfo.TestPressure, --试验压力
IsoInfo.PipelineCode,--管道编号/单线号
testMedium.MediumName,--试验介质
testPackage.AmbientTemperature,--试验环境温度
testPackage.TestMediumTemperature--试验介质温度
FROM dbo.PTP_PipelineList AS ptpPipe
LEFT JOIN dbo.HJGL_Pipeline AS IsoInfo ON ptpPipe.PipelineId = IsoInfo.PipelineId
LEFT JOIN dbo.Base_TestMedium AS testMedium ON testMedium.TestMediumId = IsoInfo.TestMedium
left join PTP_TestPackage as testPackage on testPackage.PTP_ID = ptpPipe.PTP_ID
where ptpPipe.PTP_ID=@ptp_id";
List<SqlParameter> listStr = new List<SqlParameter>
{
new SqlParameter("@ptp_id", ptp_id),
};
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sql, parameter);
DataTable dt = new DataTable();
dt.TableName = "Data";
dt.Columns.Add("PipelineCode");
dt.Columns.Add("DesignPress");
dt.Columns.Add("DesignTemperature");
dt.Columns.Add("MediumName");
dt.Columns.Add("TestPressure");
dt.Columns.Add("AmbientTemperature");
dt.Columns.Add("TestMediumTemperature");
for (int i = 0; i < tb.Rows.Count; i++)
{
var newRows = dt.NewRow();
newRows["PipelineCode"] = tb.Rows[i]["PipelineCode"].ToString();
newRows["DesignPress"] = tb.Rows[i]["DesignPress"].ToString();
newRows["DesignTemperature"] = tb.Rows[i]["DesignTemperature"].ToString();
newRows["MediumName"] = tb.Rows[i]["MediumName"].ToString();
newRows["TestPressure"] = tb.Rows[i]["TestPressure"].ToString();
newRows["AmbientTemperature"] = tb.Rows[i]["AmbientTemperature"].ToString();
var temp = tb.Rows[i]["TestMediumTemperature"].ToString();
newRows["TestMediumTemperature"] = tb.Rows[i]["TestMediumTemperature"].ToString();
dt.Rows.Add(newRows);
}
BLL.FastReportService.AddFastreportTable(dt);
var projectName = BLL.ProjectService.GetProjectNameByProjectId(projectid);
var InstallationName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
keyValuePairs.Add("ProjectName", projectName);
keyValuePairs.Add("InstallationName", InstallationName);
keyValuePairs.Add("TestPackageNo", updateTestPackage.TestPackageNo);
keyValuePairs.Add("TestPackageName", updateTestPackage.TestPackageName);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\管道系统压力试验记录.frx";
List<DataTable> dataTables = new List<DataTable>();
dataTables.Add(dt);
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
fastReportItem.DataTables = dataTables;
}
break;
case "6"://管道材料材质标识检查记录
{
string sql = @"select PT_PipeId, PTP_ID,pipelineList.PipelineId,pipeline.PipelineCode
from PTP_PipelineList as pipelineList
left join HJGL_Pipeline as pipeline on pipeline.PipelineId = pipelineList.PipelineId
where PTP_ID=@ptp_id";
List<SqlParameter> listStr = new List<SqlParameter>
{
new SqlParameter("@ptp_id", ptp_id),
};
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sql, parameter);
DataTable dt = new DataTable();
dt.TableName = "Data";
dt.Columns.Add("PipelineCode");
dt.Columns.Add("ManterialCode");
dt.Columns.Add("Specification");
dt.Columns.Add("MaterialColor");
for (int i = 0; i < tb.Rows.Count; i++)
{
var newRows = dt.NewRow();
newRows["PipelineCode"] = tb.Rows[i]["PipelineCode"].ToString();
newRows["ManterialCode"] = getMaterialCodeByPipelineId(tb.Rows[i]["PipelineId"].ToString(),out string MaterialColor);
newRows["Specification"] = getSpecificationByPipelineId(tb.Rows[i]["PipelineId"].ToString());
newRows["MaterialColor"] = MaterialColor;
dt.Rows.Add(newRows);
}
BLL.FastReportService.AddFastreportTable(dt);
var projectName = BLL.ProjectService.GetProjectNameByProjectId(projectid);
var InstallationName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
keyValuePairs.Add("ProjectName", projectName);
keyValuePairs.Add("InstallationName", InstallationName);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\管道材料材质标识检查记录.frx";
List<DataTable> dataTables = new List<DataTable>();
dataTables.Add(dt);
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
fastReportItem.DataTables = dataTables;
}
break;
case "7"://管道焊接工作记录
{
var iosList = BLL.TestPackageEditService.GetPipeLineListByPTP_ID(ptp_id);
if (iosList.Count > 0)
{
var q = iosList[0];
var isoIds = string.Join("','", iosList.Select(x => x.PipelineId).ToArray());
string sql = @"select weldJoint.WeldJointId,
weldJoint.PipelineId,
weldJoint.ProjectId,
weldJoint.PipelineCode,--管线号
weldJoint.WeldJointCode,--焊口号
(case when person.WelderCode is not null then
case when person2.WelderCode is not null and person.WelderCode<>person2.WelderCode
then person.WelderCode+'/'+person2.WelderCode
else person2.WelderCode end
else person.WelderCode end) as WelderCode,--焊工代号
weldJoint.Specification, --规格
(case when material1.MaterialCode is not null then
case when material2.MaterialCode is not null and material1.MaterialCode<>material2.MaterialCode
then material1.MaterialCode+'/'+material2.MaterialCode
else material2.MaterialCode end
else material1.MaterialCode end) as MaterialCode, --材质
weldJoint.WeldingLocationId,--焊接位置
weldingMethod.WeldingMethodCode,--焊接方法
(case
when consumables1.ConsumablesName is not null then
case
when consumables2.ConsumablesName is not null and consumables1.ConsumablesName <> consumables2.ConsumablesName
then consumables1.ConsumablesName + '+' + consumables2.ConsumablesName
else consumables1.ConsumablesName end
else consumables2.ConsumablesName end) as WeldingMaterial,--焊材牌号
convert(varchar(10),weldingDaily.WeldingDate,111) as WeldingDate --焊接日期
from HJGL_WeldJoint as weldJoint
left join HJGL_Pipeline as pipeline on pipeline.PipelineId = weldJoint.PipelineId
left join SitePerson_Person as person on person.PersonId = weldJoint.CoverWelderId
left join SitePerson_Person as person2 on person2.PersonId = weldJoint.BackingWelderId
left join Base_Material as material1 on material1.MaterialId = weldJoint.Material1Id
left join Base_Material as material2 on material2.MaterialId = weldJoint.Material2Id
left join HJGL_WeldingDaily as weldingDaily on weldingDaily.WeldingDailyId = weldJoint.WeldingDailyId
left join Base_WeldingMethod as weldingMethod on weldingMethod.WeldingMethodId = weldJoint.WeldingMethodId
left join Base_Consumables as consumables1 on consumables1.ConsumablesId = weldJoint.WeldingWire
left join Base_Consumables as consumables2 on consumables2.ConsumablesId = weldJoint.WeldingRod
where weldJoint.WeldingDailyId is not null and weldJoint.PipelineId in ('" + isoIds + "')";
List<SqlParameter> listStr = new List<SqlParameter>
{
//new SqlParameter("@ptp_id", this.PTP_ID),
};
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sql, parameter);
DataTable dt = new DataTable();
dt.TableName = "Data";
dt.Columns.Add("PipelineCode");
dt.Columns.Add("WeldJointCode");
dt.Columns.Add("WelderCode");
dt.Columns.Add("Specification");
dt.Columns.Add("MaterialCode");
dt.Columns.Add("WeldingLocationId");
dt.Columns.Add("WeldingMethodCode");
dt.Columns.Add("WeldingMaterial");
dt.Columns.Add("WeldingDate");
for (int i = 0; i < tb.Rows.Count; i++)
{
var newRows = dt.NewRow();
newRows["PipelineCode"] = tb.Rows[i]["PipelineCode"].ToString();
newRows["WeldJointCode"] = tb.Rows[i]["WeldJointCode"].ToString();
newRows["WelderCode"] = tb.Rows[i]["WelderCode"].ToString();
newRows["Specification"] = tb.Rows[i]["Specification"].ToString();
newRows["MaterialCode"] = tb.Rows[i]["MaterialCode"].ToString();
newRows["WeldingLocationId"] = tb.Rows[i]["WeldingLocationId"].ToString();
newRows["WeldingMethodCode"] = tb.Rows[i]["WeldingMethodCode"].ToString();
newRows["WeldingMaterial"] = tb.Rows[i]["WeldingMaterial"].ToString();
newRows["WeldingDate"] = tb.Rows[i]["WeldingDate"].ToString();
dt.Rows.Add(newRows);
}
BLL.FastReportService.AddFastreportTable(dt);
var projectName = BLL.ProjectService.GetProjectNameByProjectId(projectid);
var InstallationName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
keyValuePairs.Add("ProjectName", projectName);
keyValuePairs.Add("InstallationName", InstallationName);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
initTemplatePath = "File\\Fastreport\\JGZL\\管道焊接工作记录.frx";
List<DataTable> dataTables = new List<DataTable>();
dataTables.Add(dt);
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
fastReportItem.DataTables = dataTables;
}
}
break;
case "8"://管道无损检测数量统计表
{
var iosList = BLL.TestPackageEditService.GetPipeLineListByPTP_ID(ptp_id);
if (iosList.Count > 0)
{
var q = iosList[0];
var isoIds = string.Join("','", iosList.Select(x => x.PipelineId).ToArray());
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
var projectName = BLL.ProjectService.GetProjectNameByProjectId(projectid);
var UnitWorkName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
var UnitWorkCode = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkCode;
keyValuePairs.Add("projectName", projectName);
keyValuePairs.Add("UnitWorkName", UnitWorkName);
keyValuePairs.Add("UnitWorkCode", UnitWorkCode);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
string sql3 = @"SELECT isoList.PT_PipeId,
isoList.PTP_ID,
isoList.PipelineId,
testPackage.ProjectId,
isoInfo.PipelineCode,
isoInfo.SingleNumber,
(convert(nvarchar(10),dr.DetectionRateValue)+'%') as DetectionRateValue,
'' as totalJotCountBW,
'' as RTtotalJotCountBW,
'' as UTtotalJotCountBW,
'' as MTtotalJotCountBW,
'' as PTtotalJotCountBW,
'' as totalJotCountFW,
'' as MTtotalJotCountFW,
'' as PTtotalJotCountFW,
'' as totalJotCountDW,
'' as RTtotalJotCountDW,
'' as UTtotalJotCountDW,
'' as MTtotalJotCountDW,
'' as PTtotalJotCountDW
FROM PTP_PipelineList AS isoList
LEFT JOIN PTP_TestPackage AS testPackage ON testPackage.PTP_ID = isoList.PTP_ID
LEFT JOIN HJGL_Pipeline AS isoInfo ON isoInfo.PipelineId = isoList.PipelineId
left join Base_DetectionRate as dr on dr.DetectionRateId = isoInfo.DetectionRateId
where isoList.PipelineId in ('" + isoIds + "')";
DataTable dt = SQLHelper.GetDataTableRunText(sql3, null);
if (dt != null)
{
dt.TableName = "Data";
// 一次性获取所有管道的数据
var pipelineIds = dt.AsEnumerable().Select(row => row["PipelineId"].ToString()).ToList();
// 获取所有合格数据
var allQualifiedData = (from x in Funs.DB.HJGL_Batch_NDEItem
join t in Funs.DB.HJGL_Batch_BatchTrustItem on x.TrustBatchItemId equals t.TrustBatchItemId
join y in Funs.DB.HJGL_WeldJoint on t.WeldJointId equals y.WeldJointId
join z in Funs.DB.Base_WeldType on y.WeldTypeId equals z.WeldTypeId
join w in Funs.DB.View_HJGL_WeldJointDetectionType on t.WeldJointId equals w.WeldJointId
where pipelineIds.Contains(y.PipelineId) && x.CheckResult == "1"
select new
{
PipelineId = y.PipelineId,
WeldTypeCode = z.WeldTypeCode,
DetectionType = w.JointDetectionTypeStr
}).ToList();
// 处理数据
foreach (DataRow row in dt.Rows)
{
string pipelineId = row["PipelineId"].ToString();
var pipelineData = allQualifiedData.Where(d => d.PipelineId == pipelineId);
// 对接焊接头
var bwData = pipelineData.Where(d => d.WeldTypeCode == "BW");
row["totalJotCountBW"] = bwData.Count().ToString();
row["RTtotalJotCountBW"] = bwData.Count(d => d.DetectionType == "RT").ToString();
row["UTtotalJotCountBW"] = bwData.Count(d => d.DetectionType == "UT").ToString();
row["MTtotalJotCountBW"] = bwData.Count(d => d.DetectionType == "MT").ToString();
row["PTtotalJotCountBW"] = bwData.Count(d => d.DetectionType == "PT").ToString();
// 角焊接头
var fwData = pipelineData.Where(d => d.WeldTypeCode == "C" || d.WeldTypeCode == "E" || d.WeldTypeCode == "SW");
row["totalJotCountFW"] = fwData.Count().ToString();
row["MTtotalJotCountFW"] = fwData.Count(d => d.DetectionType == "MT").ToString();
row["PTtotalJotCountFW"] = fwData.Count(d => d.DetectionType == "PT").ToString();
// 支管连接接头
var dwData = pipelineData.Where(d => d.WeldTypeCode == "D" || d.WeldTypeCode == "OLET" || d.WeldTypeCode == "FW");
row["totalJotCountDW"] = dwData.Count().ToString();
row["RTtotalJotCountDW"] = dwData.Count(d => d.DetectionType == "RT").ToString();
row["UTtotalJotCountDW"] = dwData.Count(d => d.DetectionType == "UT").ToString();
row["MTtotalJotCountDW"] = dwData.Count(d => d.DetectionType == "MT").ToString();
row["PTtotalJotCountDW"] = dwData.Count(d => d.DetectionType == "PT").ToString();
}
}
BLL.FastReportService.AddFastreportTable(dt);
initTemplatePath = "File\\Fastreport\\JGZL\\管道无损检测数量统计表.frx";
List<DataTable> dataTables = new List<DataTable>();
dataTables.Add(dt);
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
fastReportItem.DataTables = dataTables;
}
}
break;
case "9"://无损检测结果汇总表
{
var iosList = BLL.TestPackageEditService.GetPipeLineListByPTP_ID(ptp_id);
if (iosList.Count > 0)
{
var q = iosList[0];
var isoNos = string.Join(",", iosList.Select(x => x.PipelineCode).ToArray());
var isoIds = string.Join("','", iosList.Select(x => x.PipelineId).ToArray());
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
var projectName = BLL.ProjectService.GetProjectNameByProjectId(projectid);
var UnitWorkName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
var UnitWorkCode = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkCode;
var unitNames = BLL.UnitService.GetUnitNameByUnitId(updateTestPackage.UnitId);
keyValuePairs.Add("ProjectName", projectName);
keyValuePairs.Add("UnitWorkName", UnitWorkName);
keyValuePairs.Add("UnitWorkCode", UnitWorkCode);
keyValuePairs.Add("UnitName2", unitNames);//施工单位 需要修改,取值来源焊工的单位去重
if (!string.IsNullOrEmpty(q.PipingClassId))
{
var PipingClass = BLL.Base_PipingClassService.GetPipingClassByPipingClassId(q.PipingClassId);
if (PipingClass != null)
{
keyValuePairs.Add("ISOLevel", PipingClass.PipingClassName);
}
}
keyValuePairs.Add("isoCode", isoNos);
//监理单位
var Unit1 = BLL.UnitService.GetUnitByProjectIdUnitTypeList(projectid, BLL.Const.ProjectUnitType_3);
if (Unit1 != null)
{
var unitNames1 = string.Join(",", Unit1.Select(x => x.UnitName).ToArray());
keyValuePairs.Add("UnitName1", unitNames1);
}
#region
int rtdjJoint = 0;//RT对接焊口数
int? rtdjFilm = 0;//RT对接片数
int rtjhJoint = 0;//RT角焊焊口数
int? rtjhFilm = 0;//RT角焊片数
int rtzgJoint = 0;//RT支管连接焊口数
int? rtzgFilm = 0;//RT支管连接片数
int utdjJoint = 0;//UT对接焊口数
//int? utdjFilm = 0;//UT对接片数
int utjhJoint = 0;//UT角焊焊口数
//int? utjhFilm = 0;//UT角焊片数
int utzgJoint = 0;//UT支管连接焊口数
//int? utzgFilm = 0;//UT支管连接片数
int mtdjJoint = 0;//MT对接焊口数
//int? mtdjFilm = 0;//MT对接片数
int mtjhJoint = 0;//MT角焊焊口数
//int? mtjhFilm = 0;//MT角焊片数
int mtzgJoint = 0;//MT支管连接焊口数
//int? mtzgFilm = 0;//MT支管连接片数
int ptdjJoint = 0;//PT对接焊口数
//int? ptdjFilm = 0;//PT对接片数
int ptjhJoint = 0;//PT角焊焊口数
//int? ptjhFilm = 0;//PT角焊片数
int ptzgJoint = 0;//PT支管连接焊口数
//int? ptzgFilm = 0;//PT支管连接片数
int rtdjNoPassJoint = 0;
int? rtdjNoPassFilm = 0;
int rtjhNoPassJoint = 0;
int? rtjhNoPassFilm = 0;
int rtzgNoPassJoint = 0;
int? rtzgNoPassFilm = 0;
int utdjNoPassJoint = 0;
decimal? utdjNoPassFilm = 0;
int utjhNoPassJoint = 0;
decimal? utjhNoPassFilm = 0;
int utzgNoPassJoint = 0;
decimal? utzgNoPassFilm = 0;
int mtdjNoPassJoint = 0;
decimal? mtdjNoPassFilm = 0;
int mtjhNoPassJoint = 0;
decimal? mtjhNoPassFilm = 0;
int mtzgNoPassJoint = 0;
decimal? mtzgNoPassFilm = 0;
int ptdjNoPassJoint = 0;
decimal? ptdjNoPassFilm = 0;
int ptjhNoPassJoint = 0;
decimal? ptjhNoPassFilm = 0;
int ptzgNoPassJoint = 0;
decimal? ptzgNoPassFilm = 0;
#endregion
foreach (var iso in iosList)
{
#region
// RT统计
var rtStats = GetDetectionStats(iso.PipelineId, "RT");
rtdjJoint += rtStats.djJoint; rtdjFilm += rtStats.djFilm;
rtjhJoint += rtStats.jhJoint; rtjhFilm += rtStats.jhFilm;
rtzgJoint += rtStats.zgJoint; rtzgFilm += rtStats.zgFilm;
// UT统计
var utStats = GetDetectionStats(iso.PipelineId, "UT");
utdjJoint += utStats.djJoint; utjhJoint += utStats.jhJoint; utzgJoint += utStats.zgJoint;
// MT统计
var mtStats = GetDetectionStats(iso.PipelineId, "MT");
mtdjJoint += mtStats.djJoint; mtjhJoint += mtStats.jhJoint; mtzgJoint += mtStats.zgJoint;
// PT统计
var ptStats = GetDetectionStats(iso.PipelineId, "PT");
ptdjJoint += ptStats.djJoint; ptjhJoint += ptStats.jhJoint; ptzgJoint += ptStats.zgJoint;
#endregion
#region
// RT不合格统计
var rtNoPassStats = GetNoPassDetectionStats(iso.PipelineId, "RT");
rtdjNoPassJoint += rtNoPassStats.djJoint; rtdjNoPassFilm += rtNoPassStats.djFilm;
rtjhNoPassJoint += rtNoPassStats.jhJoint; rtjhNoPassFilm += rtNoPassStats.jhFilm;
rtzgNoPassJoint += rtNoPassStats.zgJoint; rtzgNoPassFilm += rtNoPassStats.zgFilm;
// 其他不合格统计类似...
var utNoPassStats = GetNoPassDetectionStats(iso.PipelineId, "UT");
utdjNoPassJoint += utNoPassStats.djJoint; utdjNoPassFilm += utNoPassStats.djFilm;
utjhNoPassJoint += utNoPassStats.jhJoint; utjhNoPassFilm += utNoPassStats.jhFilm;
utzgNoPassJoint += utNoPassStats.zgJoint; utzgNoPassFilm += utNoPassStats.zgFilm;
var mtNoPassStats = GetNoPassDetectionStats(iso.PipelineId, "MT");
mtdjNoPassJoint += mtNoPassStats.djJoint; mtdjNoPassFilm += mtNoPassStats.djFilm;
mtjhNoPassJoint += mtNoPassStats.jhJoint; mtjhNoPassFilm += mtNoPassStats.jhFilm;
mtzgNoPassJoint += mtNoPassStats.zgJoint; mtzgNoPassFilm += mtNoPassStats.zgFilm;
var ptNoPassStats = GetNoPassDetectionStats(iso.PipelineId, "PT");
ptdjNoPassJoint += ptNoPassStats.djJoint; ptdjNoPassFilm += ptNoPassStats.djFilm;
ptjhNoPassJoint += ptNoPassStats.jhJoint; ptjhNoPassFilm += ptNoPassStats.jhFilm;
ptzgNoPassJoint += ptNoPassStats.zgJoint; ptzgNoPassFilm += ptNoPassStats.zgFilm;
#endregion
}
keyValuePairs.Add("RTBW", (rtdjJoint > 0 ? rtdjJoint.ToString() + "道" : "") + "/" + (rtdjFilm > 0 ? rtdjFilm.ToString() + "张" : ""));
keyValuePairs.Add("RTFW", (rtjhJoint > 0 ? rtjhJoint.ToString() + "道" : "") + "/" + (rtjhFilm > 0 ? rtjhFilm.ToString() + "张" : ""));
keyValuePairs.Add("RTDW", (rtzgJoint > 0 ? rtzgJoint.ToString() + "道" : "") + "/" + (rtzgFilm > 0 ? rtzgFilm.ToString() + "张" : ""));
keyValuePairs.Add("UTBW", (utdjJoint > 0 ? utdjJoint.ToString() + "道" : "") + "/" + (utdjJoint > 0 ? utdjJoint.ToString() + "米" : ""));
keyValuePairs.Add("UTFW", (utjhJoint > 0 ? utjhJoint.ToString() + "道" : "") + "/" + (utjhJoint > 0 ? utjhJoint.ToString() + "米" : ""));
keyValuePairs.Add("UTDW", (utzgJoint > 0 ? utzgJoint.ToString() + "道" : "") + "/" + (utzgJoint > 0 ? utzgJoint.ToString() + "米" : ""));
keyValuePairs.Add("MTBW", (mtdjJoint > 0 ? mtdjJoint.ToString() + "道" : "") + "/" + (mtdjJoint > 0 ? mtdjJoint.ToString() + "米" : ""));
keyValuePairs.Add("MTFW", (mtjhJoint > 0 ? mtjhJoint.ToString() + "道" : "") + "/" + (mtjhJoint > 0 ? mtjhJoint.ToString() + "米" : ""));
keyValuePairs.Add("MTDW", (mtzgJoint > 0 ? mtzgJoint.ToString() + "道" : "") + "/" + (mtzgJoint > 0 ? mtzgJoint.ToString() + "米" : ""));
keyValuePairs.Add("PTBW", (ptdjJoint > 0 ? ptdjJoint.ToString() + "道" : "") + "/" + (ptdjJoint > 0 ? ptdjJoint.ToString() + "米" : ""));
keyValuePairs.Add("PTFW", (ptjhJoint > 0 ? ptjhJoint.ToString() + "道" : "") + "/" + (ptjhJoint > 0 ? ptjhJoint.ToString() + "米" : ""));
keyValuePairs.Add("PTDW", (ptzgJoint > 0 ? ptzgJoint.ToString() + "道" : "") + "/" + (ptzgJoint > 0 ? ptzgJoint.ToString() + "米" : ""));
keyValuePairs.Add("RTNoPassBW", (rtdjNoPassJoint > 0 ? rtdjNoPassJoint.ToString() + "道" : "") + "/" + (rtdjNoPassFilm > 0 ? rtdjNoPassFilm.ToString() + "张" : ""));
keyValuePairs.Add("RTNoPassFW", (rtjhNoPassJoint > 0 ? rtjhNoPassJoint.ToString() + "道" : "") + "/" + (rtjhNoPassFilm > 0 ? rtjhNoPassFilm.ToString() + "张" : ""));
keyValuePairs.Add("RTNoPassDW", (rtzgNoPassJoint > 0 ? rtzgNoPassJoint.ToString() + "道" : "") + "/" + (rtzgNoPassFilm > 0 ? rtzgNoPassFilm.ToString() + "张" : ""));
keyValuePairs.Add("UTNoPassBW", (utdjNoPassJoint > 0 ? utdjNoPassJoint.ToString() + "道" : "") + "/" + (utdjNoPassFilm > 0 ? utdjNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("UTNoPassFW", (utjhNoPassJoint > 0 ? utjhNoPassJoint.ToString() + "道" : "") + "/" + (utjhNoPassFilm > 0 ? utjhNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("UTNoPassDW", (utzgNoPassJoint > 0 ? utzgNoPassJoint.ToString() + "道" : "") + "/" + (utzgNoPassFilm > 0 ? utzgNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("MTNoPassBW", (mtdjNoPassJoint > 0 ? mtdjNoPassJoint.ToString() + "道" : "") + "/" + (mtdjNoPassFilm > 0 ? mtdjNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("MTNoPassFW", (mtjhNoPassJoint > 0 ? mtjhNoPassJoint.ToString() + "道" : "") + "/" + (mtjhNoPassFilm > 0 ? mtjhNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("MTNoPassDW", (mtzgNoPassJoint > 0 ? mtzgNoPassJoint.ToString() + "道" : "") + "/" + (mtzgNoPassFilm > 0 ? mtzgNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("PTNoPassBW", (ptdjNoPassJoint > 0 ? ptdjNoPassJoint.ToString() + "道" : "") + "/" + (ptdjNoPassFilm > 0 ? ptdjNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("PTNoPassFW", (ptjhNoPassJoint > 0 ? ptjhNoPassJoint.ToString() + "道" : "") + "/" + (ptjhNoPassFilm > 0 ? ptjhNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("PTNoPassDW", (ptzgNoPassJoint > 0 ? ptzgNoPassJoint.ToString() + "道" : "") + "/" + (ptzgNoPassFilm > 0 ? ptzgNoPassFilm.ToString() + "处" : ""));
keyValuePairs.Add("isoIds", isoIds);
BLL.FastReportService.AddFastreportParameter(keyValuePairs);
string sql3 = @"select nDEItem.NDEItemID,
i.SingleName,
i.PipelineCode,
j.WeldJointCode,
(case when j.CoverWelderId is not null then (
case when j.BackingWelderId is not null and j.CoverWelderId<>j.BackingWelderId
then cWelder.WelderCode+'/'+fWelder.WelderCode
else cWelder.WelderCode end) else fWelder.WelderCode end) as WelderCode,
(case when d.JointDetectionTypeStr='RT' or d.JointDetectionTypeStr='UT' then
(case nDEItem.CheckResult when '1' then '合格' when '2' then '不合格' else '/' end) else '/' end) as RTUTResult,
(case when d.JointDetectionTypeStr='RT' or d.JointDetectionTypeStr='UT' then nDEItem.NDEReportNo else '/' end) as RTUTCheckNo,
(case when d.JointDetectionTypeStr='MT' or d.JointDetectionTypeStr='PT' then
(case nDEItem.CheckResult when '1' then '合格' when '2' then '不合格' else '/' end) else '/' end) as MTPTResult,
(case when d.JointDetectionTypeStr='MT' or d.JointDetectionTypeStr='PT' then nDEItem.NDEReportNo else '/' end) as MTPTCheckNo,
nDEItem.Remark as CHT_Remark,pointBatch.PointBatchCode
from HJGL_Batch_NDEItem as nDEItem
left join HJGL_Batch_NDE as c on c.NDEID = nDEItem.NDEID
left join HJGL_Batch_BatchTrustItem as t on t.TrustBatchItemId = nDEItem.TrustBatchItemId
left join HJGL_WeldJoint as j on j.WeldJointId = t.WeldJointId
left join HJGL_Pipeline as i on i.PipelineId =j.PipelineId
left join SitePerson_Person as cWelder on cWelder.PersonId = j.CoverWelderId
left join SitePerson_Person as fWelder on fWelder.PersonId = j.BackingWelderId
left join View_HJGL_WeldJointDetectionType as d on d.WeldJointId = t.WeldJointId
left join HJGL_Batch_PointBatchItem as pointBatchItem on pointBatchItem.PointBatchItemId = t.PointBatchItemId
left join HJGL_Batch_PointBatch as pointBatch on pointBatch.PointBatchId = pointBatchItem.PointBatchId
where j.PipelineId in ('" + isoIds + "')";
List<SqlParameter> listStr = new List<SqlParameter>();
SqlParameter[] parameter = listStr.ToArray();
DataTable dt0 = SQLHelper.GetDataTableRunText(sql3, parameter);
sql3 += " order by PipelineCode,WeldJointCode";
DataTable dt = new DataTable();
dt.TableName = "Data";
dt.Columns.Add("SingleName");
dt.Columns.Add("WeldJointCode");
dt.Columns.Add("WelderCode");
dt.Columns.Add("PointBatchCode");
dt.Columns.Add("RTUTResult");
dt.Columns.Add("RTUTCheckNo");
dt.Columns.Add("MTPTResult");
dt.Columns.Add("MTPTCheckNo");
dt.Columns.Add("CHT_Remark");
dt0.DefaultView.Sort = "PipelineCode,WeldJointCode asc";
DataRow[] rows = dt0.DefaultView.ToTable().Select();
foreach (var row in rows)
{
var newRow = dt.NewRow();
newRow["SingleName"] = row["SingleName"].ToString();
newRow["WeldJointCode"] = row["WeldJointCode"].ToString();
newRow["WelderCode"] = row["WelderCode"].ToString();
newRow["PointBatchCode"] = row["PointBatchCode"].ToString();
newRow["RTUTResult"] = row["RTUTResult"].ToString();
newRow["RTUTCheckNo"] = row["RTUTCheckNo"].ToString();
newRow["MTPTResult"] = row["MTPTResult"].ToString();
newRow["MTPTCheckNo"] = row["MTPTCheckNo"].ToString();
newRow["CHT_Remark"] = row["CHT_Remark"].ToString();
dt.Rows.Add(newRow);
}
BLL.FastReportService.AddFastreportTable(dt);
initTemplatePath = "File\\Fastreport\\JGZL\\管道无损检测结果汇总表.frx";
List<DataTable> dataTables = new List<DataTable>();
dataTables.Add(dt);
fastReportItem.ReportPath = initTemplatePath;
fastReportItem.ParameterValues = keyValuePairs;
fastReportItem.DataTables = dataTables;
}
}
break;
}
return fastReportItem;
}
public static List<Model.PTP_TestPackagePrint> GetListByPTP_ID(string PTP_ID)
{
return Funs.DB.PTP_TestPackagePrint.Where(x => x.PTP_ID == PTP_ID).OrderBy(x => x.TypeInt).ToList();
}
/// <summary>
/// 不合格检测统计方法
/// </summary>
/// <param name="pipelineId"></param>
/// <param name="detectionType"></param>
/// <returns></returns>
public static (int djJoint, int djFilm, int jhJoint, int jhFilm, int zgJoint, int zgFilm) GetNoPassDetectionStats(string pipelineId, string detectionType)
{
var baseQuery = from x in Funs.DB.HJGL_Batch_NDEItem
join t in Funs.DB.HJGL_Batch_BatchTrustItem on x.TrustBatchItemId equals t.TrustBatchItemId
join z in Funs.DB.HJGL_WeldJoint on t.WeldJointId equals z.WeldJointId
join w in Funs.DB.Base_WeldType on z.WeldTypeId equals w.WeldTypeId
join d in Funs.DB.View_HJGL_WeldJointDetectionType on t.WeldJointId equals d.WeldJointId
where d.JointDetectionTypeStr == detectionType && z.PipelineId == pipelineId && x.CheckResult == "2"
select new { x, w.WeldTypeCode };
return (
djJoint: baseQuery.Where(q => q.WeldTypeCode == "BW").Count(),
djFilm: baseQuery.Where(q => q.WeldTypeCode == "BW").Sum(q => (q.x.TotalFilm - q.x.PassFilm)) ?? 0,
jhJoint: baseQuery.Where(q => q.WeldTypeCode == "C" || q.WeldTypeCode == "E").Count(),
jhFilm: baseQuery.Where(q => q.WeldTypeCode == "C" || q.WeldTypeCode == "E").Sum(q => (q.x.TotalFilm - q.x.PassFilm)) ?? 0,
zgJoint: baseQuery.Where(q => q.WeldTypeCode == "D").Count(),
zgFilm: baseQuery.Where(q => q.WeldTypeCode == "D").Sum(q => (q.x.TotalFilm - q.x.PassFilm)) ?? 0
);
}
public static void Update(Model.PTP_TestPackagePrint newtable)
{
Model.PTP_TestPackagePrint table = Funs.DB.PTP_TestPackagePrint.FirstOrDefault(x => x.Id == newtable.Id);
if (table != null)
{
table.Id = newtable.Id;
table.PTP_ID = newtable.PTP_ID;
table.TypeInt = newtable.TypeInt;
table.PrintCount = newtable.PrintCount;
Funs.DB.SubmitChanges();
}
}
#endregion Methods
#region
public static string getMaterialCodeByPipelineId(string pipelineId, out string materialColor)
{
string materialCode = string.Empty;
materialColor = string.Empty;
if (!string.IsNullOrEmpty(pipelineId))
{
var weldjoint = (from x in Funs.DB.HJGL_WeldJoint
join y in Funs.DB.Base_Material on x.Material1Id equals y.MaterialId
join z in Funs.DB.Base_Material on x.Material2Id equals z.MaterialId
where x.PipelineId == pipelineId
select new
{
MaterialId1 = y.MaterialId,
MaterialCode1 = y.MaterialCode,
MaterialId2 = z.MaterialId,
MaterialCode2 = z.MaterialCode,
x.ProjectId,
}).FirstOrDefault();
if (weldjoint != null)
{
if (!string.IsNullOrEmpty(weldjoint.MaterialId1))
{
var projectSet = Project_SysSetService.GetSysSetBySetId("11", weldjoint.ProjectId);
Model.BaseMaterialcolorOutput queryModel = new Model.BaseMaterialcolorOutput();
queryModel.ProjectId = weldjoint.ProjectId;
queryModel.MaterialId = weldjoint.MaterialId1;
var material1 = BLL.BaseMaterialcolorService.GetListByQueryModle(queryModel).FirstOrDefault();
if (material1 != null)
{
if (projectSet != null && projectSet.SetValue == "1")
{
materialColor = material1.ColorName;
}
else
{
materialColor= material1.ColorCardNo;
}
}
}
if (!string.IsNullOrEmpty(weldjoint.MaterialCode1) && !string.IsNullOrEmpty(weldjoint.MaterialCode2))
{
materialCode = weldjoint.MaterialCode1 + "/" + weldjoint.MaterialCode2;
}
else
{
if (!string.IsNullOrEmpty(weldjoint.MaterialCode1))
{
materialCode = weldjoint.MaterialCode1;
}
else
{
materialCode = weldjoint.MaterialCode2;
}
}
}
}
return materialCode;
}
public static string getSpecificationByPipelineId(string pipelineId)
{
string spcificaation = string.Empty;
if (!string.IsNullOrEmpty(pipelineId))
{
var weldjoint = (from x in Funs.DB.HJGL_WeldJoint where x.PipelineId == pipelineId select x).FirstOrDefault();
if (weldjoint != null)
{
spcificaation = weldjoint.Specification;
}
}
return spcificaation;
}
#endregion
}
}