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 } }