308 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			308 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using Model; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     public partial class WeldingDailyService | |||
|  |     { | |||
|  |         /// <summary> | |||
|  |         ///获取焊接日报信息 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.HJGL_WeldingDaily GetPipeline_WeldingDailyByWeldingDailyId(string WeldingDailyId) | |||
|  |         { | |||
|  |             return Funs.DB.HJGL_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDailyId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据焊接日报主键获取焊接日报信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldReportNo">焊接日报编号</param> | |||
|  |         /// <returns>焊接日报信息</returns> | |||
|  |         public static bool IsExistWeldingDailyCode(string weldingDailyCode, string weldingDailyId, string projectId) | |||
|  |         { | |||
|  |             var q = Funs.DB.HJGL_WeldingDaily.FirstOrDefault(x => x.WeldingDailyCode == weldingDailyCode && x.ProjectId == projectId && x.WeldingDailyId != weldingDailyId); | |||
|  |             if (q != null) | |||
|  |             { | |||
|  |                 return true; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 return false; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据焊接日报Id获取焊接日报明细信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="ManagerTotalId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.SpWeldingDailyItem> GetWeldingDailyItem(string weldingDailyId) | |||
|  |         { | |||
|  |             List<Model.SpWeldingDailyItem> returnViewMatch = new List<Model.SpWeldingDailyItem>(); | |||
|  |             var weldlineLists = from x in Funs.DB.View_HJGL_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.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.Size = item.Size; | |||
|  |                     newWeldReportItem.Dia = item.Dia; | |||
|  |                     newWeldReportItem.Thickness = item.Thickness; | |||
|  |                     newWeldReportItem.WeldingMethodCode = item.WeldingMethodCode; | |||
|  |                     newWeldReportItem.WeldingWireCode = item.WeldingWireCode; | |||
|  |                     newWeldReportItem.WeldingRodCode = item.WeldingRodCode; | |||
|  |                     returnViewMatch.Add(newWeldReportItem); | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             return returnViewMatch; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 查找后返回集合增加到列表集团中 | |||
|  |         /// </summary> | |||
|  |         /// <param name="hdItemsString"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.SpWeldingDailyItem> GetWeldReportAddItem(string hdString) | |||
|  |         { | |||
|  |             List<Model.SpWeldingDailyItem> returnViewMatch = new List<Model.SpWeldingDailyItem>(); //= getWeldReportItem; | |||
|  |             if (!string.IsNullOrEmpty(hdString)) | |||
|  |             { | |||
|  |                 List<string> totallist = Funs.GetStrListByStr(hdString, '@'); | |||
|  |                 foreach (var hdItemsString in totallist) | |||
|  |                 { | |||
|  |                     List<string> list = Funs.GetStrListByStr(hdItemsString, '#'); | |||
|  |                     if (list.Count() == 4) | |||
|  |                     { | |||
|  |                         string CoverWelderCode = string.Empty;  //盖面焊工号 | |||
|  |                         string BackingWelderCode = string.Empty;   //打底焊工号 | |||
|  | 
 | |||
|  |                         string welderLists = list[0]; | |||
|  |                         List<string> 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 weldingLocationCode = string.Empty; | |||
|  |                         string weldingLocationId = list[1]; | |||
|  |                         var loc = BLL.Base_WeldingLocationServie.GetWeldingLocationById(weldingLocationId); | |||
|  |                         if (loc != null) | |||
|  |                         { | |||
|  |                             weldingLocationCode = loc.WeldingLocationCode; | |||
|  |                         } | |||
|  |                         string jointAttribute = list[2]; | |||
|  | 
 | |||
|  |                         string weldlineIdLists = list[3]; | |||
|  |                         List<string> weldlineIds = Funs.GetStrListByStr(weldlineIdLists, '|'); | |||
|  |                         foreach (var weldlineItem in weldlineIds) | |||
|  |                         { | |||
|  |                             //if (returnViewMatch.FirstOrDefault(x => x.JOT_ID == jotItem) == null) | |||
|  |                             //{ | |||
|  |                             var jot = Funs.DB.View_HJGL_WeldJoint.FirstOrDefault(e => e.WeldJointId == weldlineItem); | |||
|  |                             //var weldline = BLL.Pipeline_WeldJointService.GetViewWeldJointById(weldlineItem); | |||
|  |                             if (jot != null) | |||
|  |                             { | |||
|  |                                 Model.SpWeldingDailyItem newWeldReportItem = new Model.SpWeldingDailyItem(); | |||
|  |                                 newWeldReportItem.WeldJointId = jot.WeldJointId; | |||
|  |                                 newWeldReportItem.WeldJointCode = jot.WeldJointCode; | |||
|  |                                 newWeldReportItem.PipelineCode = jot.PipelineCode; | |||
|  |                                 newWeldReportItem.CoverWelderCode = CoverWelderCode; | |||
|  |                                 newWeldReportItem.CoverWelderId = welderIds[0]; | |||
|  |                                 newWeldReportItem.BackingWelderCode = BackingWelderCode; | |||
|  |                                 newWeldReportItem.BackingWelderId = welderIds[1]; | |||
|  |                                 newWeldReportItem.WeldTypeCode = jot.WeldTypeCode; | |||
|  |                                 newWeldReportItem.JointArea = jot.JointArea; | |||
|  |                                 newWeldReportItem.WeldingLocationId = weldingLocationId; | |||
|  |                                 newWeldReportItem.WeldingLocationCode = weldingLocationCode; | |||
|  |                                 newWeldReportItem.JointAttribute = jointAttribute; | |||
|  |                                 newWeldReportItem.Size = jot.Size; | |||
|  |                                 newWeldReportItem.Dia = jot.Dia; | |||
|  |                                 newWeldReportItem.Thickness = jot.Thickness; | |||
|  |                                 newWeldReportItem.WeldingMethodCode = jot.WeldingMethodCode; | |||
|  |                                 // 如存在日报,默认还是原日报焊工 | |||
|  |                                 if (!string.IsNullOrEmpty(jot.WeldingDailyId)) | |||
|  |                                 { | |||
|  |                                     newWeldReportItem.CoverWelderId = jot.CoverWelderId; | |||
|  |                                     newWeldReportItem.BackingWelderId = jot.BackingWelderId; | |||
|  |                                     var welderCover = BLL.WelderService.GetWelderById(jot.CoverWelderId); | |||
|  |                                     if (welderCover != null) | |||
|  |                                     { | |||
|  |                                         newWeldReportItem.CoverWelderCode = welderCover.WelderCode; | |||
|  |                                     } | |||
|  |                                     var welderBacking = BLL.WelderService.GetWelderById(jot.BackingWelderId); | |||
|  |                                     if (welderBacking != null) | |||
|  |                                     { | |||
|  |                                         newWeldReportItem.BackingWelderCode = welderBacking.WelderCode; | |||
|  |                                     } | |||
|  |                                     newWeldReportItem.JointAttribute = jot.JointAttribute; | |||
|  | 
 | |||
|  |                                     newWeldReportItem.WeldingLocationId = jot.WeldingLocationId; | |||
|  |                                     var location = BLL.Base_WeldingLocationServie.GetWeldingLocationById(jot.WeldingLocationId); | |||
|  |                                     if (location != null) | |||
|  |                                     { | |||
|  |                                         newWeldReportItem.WeldingLocationCode = location.WeldingLocationCode; | |||
|  |                                     } | |||
|  | 
 | |||
|  |                                 } | |||
|  |                                 returnViewMatch.Add(newWeldReportItem); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             return returnViewMatch; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取未焊接焊口信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="ManagerTotalId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.SpWeldingDailyItem> GetWeldReportItemFind(string weldingDailyId, string pipelineId) | |||
|  |         { | |||
|  |             List<Model.SpWeldingDailyItem> returnViewMatch = new List<Model.SpWeldingDailyItem>(); | |||
|  |             var weldlineLists = from x in Funs.DB.View_HJGL_NoWeldJointFind | |||
|  |                                 where x.PipelineId == pipelineId && | |||
|  |                                       (x.WeldingDailyId == null || 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.Dia = item.Dia; | |||
|  |                     newWeldReportItem.Thickness = item.Thickness; | |||
|  |                     newWeldReportItem.WeldingMethodCode = item.WeldingMethodCode; | |||
|  |                     newWeldReportItem.WeldTypeCode = item.WeldTypeCode; | |||
|  |                     returnViewMatch.Add(newWeldReportItem); | |||
|  |                 } | |||
|  |             } | |||
|  |             return returnViewMatch; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 增加焊接日报信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="WeldingDaily"></param> | |||
|  |         public static void AddWeldingDaily(Model.HJGL_WeldingDaily WeldingDaily) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.HJGL_WeldingDaily newWeldingDaily = new HJGL_WeldingDaily | |||
|  |             { | |||
|  |                 WeldingDailyId = WeldingDaily.WeldingDailyId, | |||
|  |                 WeldingDailyCode = WeldingDaily.WeldingDailyCode, | |||
|  |                 ProjectId = WeldingDaily.ProjectId, | |||
|  |                 UnitId = WeldingDaily.UnitId, | |||
|  |                 UnitWorkId = WeldingDaily.UnitWorkId, | |||
|  |                 WeldingDate = WeldingDaily.WeldingDate, | |||
|  |                 Tabler = WeldingDaily.Tabler, | |||
|  |                 TableDate = WeldingDaily.TableDate, | |||
|  |                 Remark = WeldingDaily.Remark, | |||
|  |             }; | |||
|  | 
 | |||
|  |             db.HJGL_WeldingDaily.InsertOnSubmit(newWeldingDaily); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改焊接日报信息  | |||
|  |         /// </summary> | |||
|  |         /// <param name="WeldingDaily"></param> | |||
|  |         public static void UpdateWeldingDaily(Model.HJGL_WeldingDaily WeldingDaily) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.HJGL_WeldingDaily newWeldingDaily = db.HJGL_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDaily.WeldingDailyId); | |||
|  |             if (newWeldingDaily != null) | |||
|  |             { | |||
|  |                 newWeldingDaily.WeldingDailyCode = WeldingDaily.WeldingDailyCode; | |||
|  |                 newWeldingDaily.UnitId = WeldingDaily.UnitId; | |||
|  |                 newWeldingDaily.UnitWorkId = WeldingDaily.UnitWorkId; | |||
|  |                 newWeldingDaily.WeldingDate = WeldingDaily.WeldingDate; | |||
|  |                 newWeldingDaily.Tabler = WeldingDaily.Tabler; | |||
|  |                 newWeldingDaily.TableDate = WeldingDaily.TableDate; | |||
|  |                 newWeldingDaily.Remark = WeldingDaily.Remark; | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据焊接日报Id删除一个焊接日报信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="WeldingDailyId"></param> | |||
|  |         public static void DeleteWeldingDaily(string WeldingDailyId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.HJGL_WeldingDaily delWeldingDaily = db.HJGL_WeldingDaily.FirstOrDefault(e => e.WeldingDailyId == WeldingDailyId); | |||
|  |             if (delWeldingDaily != null) | |||
|  |             { | |||
|  |                 db.HJGL_WeldingDaily.DeleteOnSubmit(delWeldingDaily); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 按类型获取焊接日报项 | |||
|  |         /// </summary> | |||
|  |         /// <param name="WeldingDailyType"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.HJGL_WeldingDaily> GetPipeline_WeldingDailyList(string unitId) | |||
|  |         { | |||
|  |             var list = (from x in Funs.DB.HJGL_WeldingDaily | |||
|  |                         where x.UnitId == unitId | |||
|  |                         orderby x.WeldingDailyCode | |||
|  |                         select x).ToList(); | |||
|  | 
 | |||
|  |             return list; | |||
|  |         } | |||
|  | 
 | |||
|  |         #region 焊接日报下拉项 | |||
|  |         /// <summary> | |||
|  |         /// 焊接日报下拉项 | |||
|  |         /// </summary> | |||
|  |         /// <param name="dropName">下拉框名称</param> | |||
|  |         /// <param name="isShowPlease">是否显示请选择</param> | |||
|  |         /// <param name="WeldingDailyType">耗材类型</param> | |||
|  |         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 | |||
|  |     } | |||
|  | } |