using Model;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public partial class Pipeline_WeldingDailyService
{
///
///获取焊接日报信息
///
///
public static Model.Pipeline_WeldingDaily GetPipeline_WeldingDailyByWeldingDailyId(string WeldingDailyId)
{
return Funs.DB.Pipeline_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDailyId);
}
///
/// 根据焊接日报主键获取焊接日报信息
///
/// 焊接日报编号
/// 焊接日报信息
public static bool IsExistWeldingDailyCode(string weldingDailyCode, string weldingDailyId, string projectId)
{
var q = Funs.DB.Pipeline_WeldingDaily.FirstOrDefault(x => x.WeldingDailyCode == weldingDailyCode && x.ProjectId == projectId && x.WeldingDailyId != weldingDailyId);
if (q != null)
{
return true;
}
else
{
return false;
}
}
///
/// 根据焊接日报Id获取焊接日报明细信息
///
///
///
public static List GetWeldingDailyItem(string weldingDailyId)
{
List returnViewMatch = new List();
var weldlineLists = from x in Funs.DB.View_Pipeline_WeldJoint
where x.WeldingDailyId == weldingDailyId
select x;
if (weldlineLists.Count() > 0)
{
foreach (var item in weldlineLists)
{
Model.SpWeldingDailyItem newWeldReportItem = new Model.SpWeldingDailyItem();
newWeldReportItem.WeldJointId = item.WeldJointId;
newWeldReportItem.WeldJointCode = item.WeldJointCode;
newWeldReportItem.ConvertWeldJoint = item.ConvertWeldJoint;
newWeldReportItem.PipelineCode = item.PipelineCode;
newWeldReportItem.CoverWelderCode = item.CoverWelderCode;
newWeldReportItem.CoverWelderId = item.CoverWelderId;
newWeldReportItem.BackingWelderCode = item.BackingWelderCode;
newWeldReportItem.BackingWelderId = item.BackingWelderId;
newWeldReportItem.WeldTypeId = item.WeldTypeCode;
newWeldReportItem.JointArea = item.JointArea;
newWeldReportItem.WeldingLocationId = item.WeldingLocationId;
newWeldReportItem.WeldingLocationCode = item.WeldingLocationCode;
newWeldReportItem.JointAttribute = item.JointAttribute;
newWeldReportItem.DoneDin = item.DoneDin;
newWeldReportItem.Dia = item.Dia;
newWeldReportItem.Thickness = item.Thickness;
newWeldReportItem.Specification = item.Specification;
//newWeldReportItem.WeldingMethodCode = item.WeldingMethodCode;
newWeldReportItem.HeartNo1 = item.HeartNo1;
newWeldReportItem.HeartNo2 = item.HeartNo2;
newWeldReportItem.Components1Code = item.ComponentsCode1;
newWeldReportItem.Components2Code = item.ComponentsCode2;
newWeldReportItem.Material1Code = item.Material1Code;
newWeldReportItem.Material2Code = item.Material2Code;
//if (!string.IsNullOrEmpty(item.WeldSilkId))
//{
// newWeldReportItem.WeldSilkCode = GetWeldSilkCode(item.WeldSilkId);
//}
//newWeldReportItem.WeldSilkCode = item.WeldSilkCode;
//newWeldReportItem.WeldMatCode = item.WeldMatCode;
newWeldReportItem.PipeSegment = item.PipeSegment;
newWeldReportItem.WPQCode = item.WPQCode;
newWeldReportItem.ANSISCH = item.ANSISCH;
returnViewMatch.Add(newWeldReportItem);
}
}
return returnViewMatch;
}
///
/// 查找后返回集合增加到列表集团中
///
///
///
public static List GetWeldReportAddItem(string hdItemsString)
{
List returnViewMatch = new List(); //= getWeldReportItem;
if (!string.IsNullOrEmpty(hdItemsString))
{
List list = Funs.GetStrListByStr(hdItemsString, '#');
if (list.Count() == 2)
{
string CoverWelderCode = string.Empty; //盖面焊工号
string BackingWelderCode = string.Empty; //打底焊工号
string welderLists = list[0];
List welderIds = Funs.GetStrListByStr(welderLists, '|');
if (welderIds.Count() == 2)
{
var welderCell = BLL.WelderService.GetWelderById(welderIds[0]);
if (welderCell != null)
{
CoverWelderCode = welderCell.WelderCode;
}
var welderFloor = BLL.WelderService.GetWelderById(welderIds[1]);
if (welderFloor != null)
{
BackingWelderCode = welderFloor.WelderCode;
}
}
string weldlineIdLists = list[1];
List weldlineIds = Funs.GetStrListByStr(weldlineIdLists, '|');
foreach (var weldlineItem in weldlineIds)
{
//if (returnViewMatch.FirstOrDefault(x => x.JOT_ID == jotItem) == null)
//{
var weldline = BLL.Pipeline_WeldJointService.GetViewWeldJointById(weldlineItem);
if (weldline != null)
{
Model.SpWeldingDailyItem newWeldReportItem = new Model.SpWeldingDailyItem();
newWeldReportItem.WeldJointId = weldline.WeldJointId;
newWeldReportItem.WeldJointCode = weldline.WeldJointCode;
newWeldReportItem.PipelineCode = weldline.PipelineCode;
newWeldReportItem.CoverWelderCode = CoverWelderCode;
newWeldReportItem.CoverWelderId = welderIds[0];
newWeldReportItem.BackingWelderCode = BackingWelderCode;
newWeldReportItem.BackingWelderId = welderIds[1];
newWeldReportItem.WeldTypeId = weldline.WeldTypeCode;
newWeldReportItem.JointArea = weldline.JointArea;
newWeldReportItem.WeldingLocationId = weldline.WeldingLocationId;
newWeldReportItem.WeldingLocationCode = weldline.WeldingLocationCode;
newWeldReportItem.JointAttribute = weldline.JointAttribute;
newWeldReportItem.HeartNo1 = weldline.HeartNo1;
newWeldReportItem.HeartNo2 = weldline.HeartNo2;
newWeldReportItem.Components1Code = weldline.ComponentsCode1;
newWeldReportItem.Components2Code = weldline.ComponentsCode2;
newWeldReportItem.Material1Code = weldline.Material1Code;
newWeldReportItem.Material2Code = weldline.Material2Code;
//if (!string.IsNullOrEmpty(weldline.WeldSilkId))
//{
// newWeldReportItem.WeldSilkCode = GetWeldSilkCode(weldline.WeldSilkId);
//}
//newWeldReportItem.WeldMatCode = weldline.WeldMatCode;
if (weldline.DoneDin == null)
{
newWeldReportItem.DoneDin = weldline.Size;
}
else
{
newWeldReportItem.DoneDin = weldline.DoneDin;
}
newWeldReportItem.Dia = weldline.Dia;
newWeldReportItem.Thickness = weldline.Thickness;
newWeldReportItem.Specification = weldline.Specification;
//newWeldReportItem.WeldingMethodCode = weldline.WeldingMethodCode;
newWeldReportItem.PipeSegment = weldline.PipeSegment;
newWeldReportItem.WPQCode = weldline.WPQCode;
newWeldReportItem.ANSISCH = weldline.ANSISCH;
// 如存在日报,默认还是原日报焊工
if (!string.IsNullOrEmpty(weldline.WeldingDailyId))
{
newWeldReportItem.CoverWelderId = weldline.CoverWelderId;
newWeldReportItem.BackingWelderId = weldline.BackingWelderId;
var welderCover = BLL.WelderService.GetWelderById(weldline.CoverWelderId);
if (welderCover != null)
{
newWeldReportItem.CoverWelderCode = welderCover.WelderCode;
}
var welderBacking = BLL.WelderService.GetWelderById(weldline.BackingWelderId);
if (welderBacking != null)
{
newWeldReportItem.BackingWelderCode = welderBacking.WelderCode;
}
}
returnViewMatch.Add(newWeldReportItem);
}
}
}
}
return returnViewMatch;
}
///
/// 获取未焊接焊口信息,不用
///
///
///
public static List GetWeldReportItemFind(string projectId, string weldingDailyId, string pipelineId)
{
List returnViewMatch = new List();
// 组批条件的字段不能为空
//var jotLists = from x in Funs.DB.HJGL_PW_JointInfo
// join y in Funs.DB.HJGL_PW_IsoInfo on x.ISO_ID equals y.ISO_ID
// where x.InstallationId != null && x.JOTY_ID != null && x.NDTR_ID != null && x.IsSpecial != null
// && y.ISC_ID != null && y.SER_ID != null && y.STE_ID != null && y.ISO_Executive != null
// && x.ProjectId == projectId && x.ISO_ID == pipelineId
// && (x.DReportID == null || x.DReportID == weldingDailyId)
// select x;
// 预提交焊口
var preJotId = (from x in Funs.DB.Pipeline_PreWeldingDaily
join y in Funs.DB.Pipeline_WeldJoint on x.WeldJointId equals y.WeldJointId
where x.ProjectId == projectId && y.PipelineId == pipelineId
select x.WeldJointId).Distinct();
var weldlineLists = from x in Funs.DB.Pipeline_WeldJoint
join y in Funs.DB.Base_WeldingMethod on x.WeldingMethodId equals y.WeldingMethodId
where x.PipelineId == pipelineId &&
(x.WeldingDailyId == null || x.WeldingDailyId == weldingDailyId)
&& (x.IsCancel == null || x.IsCancel == false)
select new
{
x.WeldJointId,
x.WeldJointCode,
x.Dia,
x.Thickness,
y.WeldingMethodCode
};
if (weldlineLists.Count() > 0)
{
foreach (var item in weldlineLists)
{
if (!preJotId.Contains(item.WeldJointId))
{
Model.SpWeldingDailyItem newWeldReportItem = new Model.SpWeldingDailyItem();
newWeldReportItem.WeldJointId = item.WeldJointId;
newWeldReportItem.WeldJointCode = item.WeldJointCode;
newWeldReportItem.Dia = item.Dia;
newWeldReportItem.Thickness = item.Thickness;
newWeldReportItem.WeldingMethodCode = item.WeldingMethodCode;
returnViewMatch.Add(newWeldReportItem);
}
}
}
return returnViewMatch;
}
///
/// 增加焊接日报信息
///
///
public static void AddPipeline_WeldingDaily(Model.Pipeline_WeldingDaily WeldingDaily)
{
Model.HJGLDB db = Funs.DB;
Model.Pipeline_WeldingDaily newWeldingDaily = new Pipeline_WeldingDaily
{
WeldingDailyId = WeldingDaily.WeldingDailyId,
WeldingDailyCode = WeldingDaily.WeldingDailyCode,
ProjectId = WeldingDaily.ProjectId,
InstallationId = WeldingDaily.InstallationId,
UnitId = WeldingDaily.UnitId,
WeldingDate = WeldingDaily.WeldingDate,
Tabler = WeldingDaily.Tabler,
TableDate = WeldingDaily.TableDate,
Remark = WeldingDaily.Remark,
};
db.Pipeline_WeldingDaily.InsertOnSubmit(newWeldingDaily);
db.SubmitChanges();
}
///
/// 修改焊接日报信息
///
///
public static void UpdatePipeline_WeldingDaily(Model.Pipeline_WeldingDaily WeldingDaily)
{
Model.HJGLDB db = Funs.DB;
Model.Pipeline_WeldingDaily newWeldingDaily = db.Pipeline_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDaily.WeldingDailyId);
if (newWeldingDaily != null)
{
newWeldingDaily.WeldingDailyCode = WeldingDaily.WeldingDailyCode;
newWeldingDaily.InstallationId = WeldingDaily.InstallationId;
newWeldingDaily.UnitId = WeldingDaily.UnitId;
newWeldingDaily.WeldingDate = WeldingDaily.WeldingDate;
newWeldingDaily.Tabler = WeldingDaily.Tabler;
newWeldingDaily.TableDate = WeldingDaily.TableDate;
newWeldingDaily.Remark = WeldingDaily.Remark;
db.SubmitChanges();
}
}
///
/// 根据焊接日报Id删除一个焊接日报信息
///
///
public static void DeleteWeldingDailyByWeldingDailyId(string WeldingDailyId)
{
Model.HJGLDB db = Funs.DB;
Model.Pipeline_WeldingDaily delWeldingDaily = db.Pipeline_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDailyId);
if (delWeldingDaily != null)
{
db.Pipeline_WeldingDaily.DeleteOnSubmit(delWeldingDaily);
db.SubmitChanges();
}
}
///
/// 按类型获取焊接日报项
///
///
///
public static List GetPipeline_WeldingDailyList(string unitId)
{
var list = (from x in Funs.DB.Pipeline_WeldingDaily
where x.UnitId == unitId
orderby x.WeldingDailyCode
select x).ToList();
return list;
}
// 获取焊丝名称
public static string GetWeldSilkCode(string weldSilkId)
{
string weldSilkCode = string.Empty;
if (!string.IsNullOrEmpty(weldSilkId))
{
string[] weldSilkIds = weldSilkId.Split(',');
if (weldSilkIds.Count() > 0)
{
foreach (string s in weldSilkIds)
{
var silk = BLL.Base_ConsumablesService.GetConsumablesByConsumablesId(s);
weldSilkCode = weldSilkCode + silk.ConsumablesCode + ',';
}
if (weldSilkCode.Length > 0)
{
weldSilkCode = weldSilkCode.Substring(0, weldSilkCode.Length - 1);
}
}
}
return weldSilkCode;
}
#region 焊接日报下拉项
///
/// 焊接日报下拉项
///
/// 下拉框名称
/// 是否显示请选择
/// 耗材类型
public static void InitWeldingDailyDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease, string unitId)
{
dropName.DataValueField = "WeldingDailyId";
dropName.DataTextField = "WeldingDailyCode";
dropName.DataSource = GetPipeline_WeldingDailyList(unitId);
dropName.DataBind();
if (isShowPlease)
{
Funs.FineUIPleaseSelect(dropName);
}
}
#endregion
}
}