288 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			288 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using System.Collections; | |||
|  | using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     public static class WeldJointService | |||
|  |     { | |||
|  |         /// <summary> | |||
|  |         /// 根据焊口Id获取焊口信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldJointId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.HJGL_WeldJoint GetWeldJointByWeldJointId(string weldJointId) | |||
|  |         { | |||
|  |             return Funs.DB.HJGL_WeldJoint.FirstOrDefault(e => e.WeldJointId == weldJointId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 判断焊口号是否已存在 | |||
|  |         /// </summary> | |||
|  |         /// <param name="isoNo"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static bool IsExistWeldJointCode(string weldJointCode, string pipelineId, string weldJointId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.HJGL_WeldJoint jot = null; | |||
|  |             if (!string.IsNullOrEmpty(weldJointId)) | |||
|  |             { | |||
|  |                 jot = Funs.DB.HJGL_WeldJoint.FirstOrDefault(x => x.WeldJointCode == weldJointCode && x.PipelineId == pipelineId && x.WeldJointId != weldJointId); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 jot = Funs.DB.HJGL_WeldJoint.FirstOrDefault(x => x.WeldJointCode == weldJointCode && x.PipelineId == pipelineId); | |||
|  |             } | |||
|  | 
 | |||
|  |             if (jot != null) | |||
|  |             { | |||
|  |                 return true; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 return false; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据焊接日报获取焊口数 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldingDailyId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.HJGL_WeldJoint> GetWeldlinesByWeldingDailyId(string weldingDailyId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.HJGL_WeldJoint where x.WeldingDailyId == weldingDailyId orderby x.PipelineId, x.WeldJointCode select x).ToList(); | |||
|  |             return q; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 添加 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldJoint"></param> | |||
|  |         public static void AddWeldJoint(Model.HJGL_WeldJoint weldJoint) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.HJGL_WeldJoint newWeldJoint = new Model.HJGL_WeldJoint | |||
|  |             { | |||
|  |                 WeldJointId = SQLHelper.GetNewID(typeof(Model.HJGL_WeldJoint)), | |||
|  |                 ProjectId = weldJoint.ProjectId, | |||
|  |                 PipelineId = weldJoint.PipelineId, | |||
|  |                 PipelineCode = weldJoint.PipelineCode, | |||
|  |                 WeldJointCode = weldJoint.WeldJointCode, | |||
|  |                 WeldTypeId = weldJoint.WeldTypeId, | |||
|  |                 Material1Id = weldJoint.Material1Id, | |||
|  |                 Material2Id = weldJoint.Material2Id, | |||
|  |                 Thickness = weldJoint.Thickness, | |||
|  |                 Dia = weldJoint.Dia, | |||
|  |                 Size = weldJoint.Size, | |||
|  |                 DetectionTypeId = weldJoint.DetectionTypeId, | |||
|  |                 JointArea = weldJoint.JointArea, | |||
|  |                 WeldingMethodId = weldJoint.WeldingMethodId, | |||
|  |                 WeldingLocationId = weldJoint.WeldingLocationId, | |||
|  |                 JointAttribute = weldJoint.JointAttribute, | |||
|  |                 IsHotProess = weldJoint.IsHotProess, | |||
|  |                 WeldingWire = weldJoint.WeldingWire, | |||
|  |                 WeldingRod = weldJoint.WeldingRod, | |||
|  |                 GrooveTypeId = weldJoint.GrooveTypeId, | |||
|  |                 Specification = weldJoint.Specification, | |||
|  |                 WPQId = weldJoint.WPQId, | |||
|  |                 HeartNo1 = weldJoint.HeartNo1, | |||
|  |                 HeartNo2 = weldJoint.HeartNo2, | |||
|  |                 | |||
|  |                 Components1Id = weldJoint.Components1Id, | |||
|  |                 Components2Id = weldJoint.Components2Id, | |||
|  |                 PreTemperature = weldJoint.PreTemperature, | |||
|  |                 Remark = weldJoint.Remark, | |||
|  |             }; | |||
|  | 
 | |||
|  |             db.HJGL_WeldJoint.InsertOnSubmit(newWeldJoint); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldJoint"></param> | |||
|  |         public static void UpdateWeldJoint(Model.HJGL_WeldJoint weldJoint) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.HJGL_WeldJoint newWeldJoint = db.HJGL_WeldJoint.FirstOrDefault(e => e.WeldJointId == weldJoint.WeldJointId); | |||
|  |             if (newWeldJoint != null) | |||
|  |             { | |||
|  |                 newWeldJoint.WeldJointCode = weldJoint.WeldJointCode; | |||
|  |                 newWeldJoint.ProjectId = weldJoint.ProjectId; | |||
|  |                 newWeldJoint.PipelineCode = weldJoint.PipelineCode; | |||
|  |                 newWeldJoint.WPQId = weldJoint.WPQId; | |||
|  |                 newWeldJoint.WeldTypeId = weldJoint.WeldTypeId; | |||
|  |                 newWeldJoint.Material1Id = weldJoint.Material1Id; | |||
|  |                 newWeldJoint.Material2Id = weldJoint.Material2Id; | |||
|  |                 newWeldJoint.Thickness = weldJoint.Thickness; | |||
|  |                 newWeldJoint.Dia = weldJoint.Dia; | |||
|  |                 newWeldJoint.Size = weldJoint.Size; | |||
|  |                 newWeldJoint.DetectionTypeId = weldJoint.DetectionTypeId; | |||
|  |                 newWeldJoint.JointArea = weldJoint.JointArea; | |||
|  |                 newWeldJoint.WeldingMethodId = weldJoint.WeldingMethodId; | |||
|  |                 newWeldJoint.IsHotProess = weldJoint.IsHotProess; | |||
|  |                 newWeldJoint.WeldingLocationId = weldJoint.WeldingLocationId; | |||
|  |                 newWeldJoint.JointAttribute = weldJoint.JointAttribute; | |||
|  |                 newWeldJoint.WeldingWire = weldJoint.WeldingWire; | |||
|  |                 newWeldJoint.WeldingRod = weldJoint.WeldingRod; | |||
|  |                 newWeldJoint.GrooveTypeId = weldJoint.GrooveTypeId; | |||
|  |                 newWeldJoint.HeartNo1 = weldJoint.HeartNo1; | |||
|  |                 newWeldJoint.HeartNo2 = weldJoint.HeartNo2; | |||
|  |                 newWeldJoint.Components1Id = weldJoint.Components1Id; | |||
|  |                 newWeldJoint.Components2Id = weldJoint.Components2Id; | |||
|  |                 newWeldJoint.BackingWelderId = weldJoint.BackingWelderId; | |||
|  |                 newWeldJoint.CoverWelderId = weldJoint.CoverWelderId; | |||
|  |                 newWeldJoint.WeldingDailyId = weldJoint.WeldingDailyId; | |||
|  |                 newWeldJoint.WeldingDailyCode = weldJoint.WeldingDailyCode; | |||
|  |                 newWeldJoint.Specification = weldJoint.Specification; | |||
|  |                 newWeldJoint.PreTemperature = weldJoint.PreTemperature; | |||
|  |                 newWeldJoint.Remark = weldJoint.Remark; | |||
|  |                 newWeldJoint.AttachUrl = weldJoint.AttachUrl; | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 回写焊口信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldJoint"></param> | |||
|  |         public static void WriteBackWeldJoint(Model.HJGL_WeldJoint weldJoint) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.HJGL_WeldJoint newWeldJoint = db.HJGL_WeldJoint.FirstOrDefault(e => e.WeldJointId == weldJoint.WeldJointId); | |||
|  |             if (newWeldJoint != null) | |||
|  |             { | |||
|  |                 newWeldJoint.BackingWelderId = weldJoint.BackingWelderId; | |||
|  |                 newWeldJoint.CoverWelderId = weldJoint.CoverWelderId; | |||
|  |                 newWeldJoint.WeldingDailyId = weldJoint.WeldingDailyId; | |||
|  |                 newWeldJoint.WeldingDailyCode = weldJoint.WeldingDailyCode; | |||
|  |                 newWeldJoint.WeldingLocationId = weldJoint.WeldingLocationId; | |||
|  |                 newWeldJoint.JointAttribute = weldJoint.JointAttribute; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键删除焊口信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldJointId"></param> | |||
|  |         public static void DeleteWeldJointById(string weldJointId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.HJGL_WeldJoint weldline = db.HJGL_WeldJoint.FirstOrDefault(e => e.WeldJointId == weldJointId); | |||
|  |             if (weldline != null) | |||
|  |             { | |||
|  |                 db.HJGL_WeldJoint.DeleteOnSubmit(weldline); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 更新焊口号 固定焊口号后 +G | |||
|  |         /// </summary> | |||
|  |         /// <param name="jotId">焊口id</param> | |||
|  |         /// <param name="jointAttribute">焊口属性</param> | |||
|  |         /// <param name="operateState">日报操作(增加、删除)</param> | |||
|  |         public static void UpdateWeldJointAddG(string weldJointId, string jointAttribute, string operateState) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             if (operateState == Const.BtnDelete || jointAttribute != "固定口") | |||
|  |             { | |||
|  |                 Model.HJGL_WeldJoint deleteWeldJoint = db.HJGL_WeldJoint.FirstOrDefault(e => e.WeldJointId == weldJointId); | |||
|  |                 if (deleteWeldJoint.WeldJointCode.Last() == 'G') | |||
|  |                 { | |||
|  |                     deleteWeldJoint.WeldJointCode = deleteWeldJoint.WeldJointCode.Substring(0, deleteWeldJoint.WeldJointCode.Length - 1); | |||
|  |                     db.SubmitChanges(); | |||
|  |                 } | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 Model.HJGL_WeldJoint addJointInfo = db.HJGL_WeldJoint.FirstOrDefault(e => e.WeldJointId == weldJointId); | |||
|  |                 if (addJointInfo.WeldJointCode.Last() != 'G') | |||
|  |                 { | |||
|  |                     addJointInfo.WeldJointCode += "G"; | |||
|  |                 } | |||
|  | 
 | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键获取焊口信息视图 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldJointId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.View_HJGL_WeldJoint GetViewWeldJointById(string weldJointId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             return db.View_HJGL_WeldJoint.FirstOrDefault(e => e.WeldJointId == weldJointId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据焊接日报获取焊口数 | |||
|  |         /// </summary> | |||
|  |         /// <param name="weldingDailyId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.HJGL_WeldJoint> GetWeldJointsByWeldingDailyId(string weldingDailyId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.HJGL_WeldJoint where x.WeldingDailyId == weldingDailyId orderby x.PipelineId, x.WeldJointCode select x).ToList(); | |||
|  |             return q; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据焊接日报获取焊口数 | |||
|  |         /// </summary> | |||
|  |         /// <param name="dreportId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.View_HJGL_WeldJoint> GetViewWeldJointsByWeldingDailyId(string weldingDailyId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.View_HJGL_WeldJoint where x.WeldingDailyId == weldingDailyId orderby x.PipelineCode, x.WeldJointCode select x).ToList(); | |||
|  |             return q; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取当前焊工工作量是否超过60寸的焊接人员 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId">项目id</param> | |||
|  |         /// <param name="unitId">单位id</param> | |||
|  |         /// <param name="jot_Id">焊口ID</param> | |||
|  |         /// <param name="jotDate">焊接日期</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static bool GetWelderLimitDN(string projectId, string welderId, DateTime weldingDate) | |||
|  |         { | |||
|  |             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) | |||
|  |             { | |||
|  |                 var jots = from x in db.HJGL_WeldJoint | |||
|  |                            join y in db.HJGL_WeldingDaily on x.WeldingDailyId equals y.WeldingDailyId | |||
|  |                            where x.ProjectId == projectId && y.WeldingDate == weldingDate && (welderId == x.CoverWelderId || welderId == x.BackingWelderId) | |||
|  |                            select x; | |||
|  |                 decimal? count = jots.Sum(x => x.Size); | |||
|  |                 if (count >= 60) | |||
|  |                 { | |||
|  |                     return true; | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     return false; | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据管线ID获取焊口信息 | |||
|  |         /// </summary> | |||
|  |         /// <param name="pipelineId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.View_HJGL_WeldJoint> GetViewWeldJointsByPipelineId(string pipelineId) | |||
|  |         { | |||
|  |             var q = (from x in Funs.DB.View_HJGL_WeldJoint where x.PipelineId == pipelineId orderby x.WeldJointCode select x).ToList(); | |||
|  |             return q; | |||
|  |         } | |||
|  |     } | |||
|  | } |