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 Pipeline_PipelineService { /// /// 根据管线ID获取管线信息 /// /// /// public static Model.Pipeline_Pipeline GetPipelineByPipelineId(string pipelineId) { return Funs.DB.Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId); } /// /// 根据管线ID获取管线信息 /// /// /// public static Model.View_Pipeline_Pipeline GetViewPipelineByPipelineId(string pipelineId) { return Funs.DB.View_Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId); } /// /// 根据管线Code获取管线信息 /// /// /// public static bool IsExistPipelineCode(string pipelineCode, string workAreaId, string PipelineId) { Model.HJGLDB db = Funs.DB; Model.Pipeline_Pipeline q = null; if (!string.IsNullOrEmpty(PipelineId)) { q = Funs.DB.Pipeline_Pipeline.FirstOrDefault(x => x.PipelineCode == pipelineCode && x.WorkAreaId == workAreaId && x.PipelineId != PipelineId); } else { q = Funs.DB.Pipeline_Pipeline.FirstOrDefault(x => x.PipelineCode == pipelineCode && x.WorkAreaId == workAreaId); } if (q != null) { return true; } else { return false; } } /// /// 添加作业管线 /// /// public static void AddPipeline(Model.Pipeline_Pipeline pipeline) { Model.HJGLDB db = Funs.DB; Model.Pipeline_Pipeline newPipeline = new Model.Pipeline_Pipeline(); newPipeline.PipelineId = pipeline.PipelineId; newPipeline.ProjectId = pipeline.ProjectId; newPipeline.InstallationId = pipeline.InstallationId; newPipeline.UnitId = pipeline.UnitId; newPipeline.WorkAreaId = pipeline.WorkAreaId; newPipeline.PipelineCode = pipeline.PipelineCode; newPipeline.SingleNumber = pipeline.SingleNumber; newPipeline.PipingClassId = pipeline.PipingClassId; newPipeline.PIPClassId = pipeline.PIPClassId; newPipeline.MainMaterialId = pipeline.MainMaterialId; newPipeline.MediumId = pipeline.MediumId; newPipeline.Specification = pipeline.Specification; newPipeline.SystemNumber = pipeline.SystemNumber; newPipeline.WorkPackageCode = pipeline.WorkPackageCode; newPipeline.SubSystemNumber = pipeline.SubSystemNumber; newPipeline.TestPackageCode = pipeline.TestPackageCode; newPipeline.PipelineLength = pipeline.PipelineLength; newPipeline.Sheet = pipeline.Sheet; newPipeline.PipeSegment = pipeline.PipeSegment; newPipeline.DrawingsNum = pipeline.DrawingsNum; newPipeline.PaintingCategory = pipeline.PaintingCategory; newPipeline.AdiabaticCategory = pipeline.AdiabaticCategory; newPipeline.DesignPressure = pipeline.DesignPressure; newPipeline.DesignTemperature = pipeline.DesignTemperature; newPipeline.TestPressure = pipeline.TestPressure; newPipeline.TestTemperature = pipeline.TestTemperature; newPipeline.ModifierId = pipeline.ModifierId; newPipeline.ModifyDate = pipeline.ModifyDate; newPipeline.CreatorId = pipeline.CreatorId; newPipeline.CreateDate = pipeline.CreateDate; newPipeline.PenetrationRatio = pipeline.PenetrationRatio; newPipeline.PenetrationClass = pipeline.PenetrationClass; newPipeline.IfPickling = pipeline.IfPickling; newPipeline.IfChasing = pipeline.IfChasing; newPipeline.DetectionRateId = pipeline.DetectionRateId; newPipeline.QueClass = pipeline.QueClass; newPipeline.ExecStandard = pipeline.ExecStandard; newPipeline.Remark = pipeline.Remark; db.Pipeline_Pipeline.InsertOnSubmit(newPipeline); db.SubmitChanges(); } /// /// 修改作业管线 /// /// public static void UpdatePipeline(Model.Pipeline_Pipeline pipeline) { Model.HJGLDB db = Funs.DB; Model.Pipeline_Pipeline newPipeline = db.Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipeline.PipelineId); if (newPipeline != null) { newPipeline.InstallationId = pipeline.InstallationId; newPipeline.UnitId = pipeline.UnitId; newPipeline.WorkAreaId = pipeline.WorkAreaId; newPipeline.PipelineCode = pipeline.PipelineCode; newPipeline.SingleNumber = pipeline.SingleNumber; newPipeline.PipingClassId = pipeline.PipingClassId; newPipeline.PIPClassId = pipeline.PIPClassId; newPipeline.MainMaterialId = pipeline.MainMaterialId; newPipeline.MediumId = pipeline.MediumId; newPipeline.Specification = pipeline.Specification; newPipeline.SystemNumber = pipeline.SystemNumber; newPipeline.WorkPackageCode = pipeline.WorkPackageCode; newPipeline.SubSystemNumber = pipeline.SubSystemNumber; newPipeline.TestPackageCode = pipeline.TestPackageCode; newPipeline.PipelineLength = pipeline.PipelineLength; newPipeline.Sheet = pipeline.Sheet; newPipeline.PipeSegment = pipeline.PipeSegment; newPipeline.DrawingsNum = pipeline.DrawingsNum; newPipeline.PaintingCategory = pipeline.PaintingCategory; newPipeline.AdiabaticCategory = pipeline.AdiabaticCategory; newPipeline.DesignPressure = pipeline.DesignPressure; newPipeline.DesignTemperature = pipeline.DesignTemperature; newPipeline.TestPressure = pipeline.TestPressure; newPipeline.TestTemperature = pipeline.TestTemperature; newPipeline.ModifierId = pipeline.ModifierId; newPipeline.ModifyDate = pipeline.ModifyDate; newPipeline.CreatorId = pipeline.CreatorId; newPipeline.CreateDate = pipeline.CreateDate; newPipeline.PenetrationRatio = pipeline.PenetrationRatio; newPipeline.PenetrationClass = pipeline.PenetrationClass; newPipeline.IfPickling = pipeline.IfPickling; newPipeline.IfChasing = pipeline.IfChasing; newPipeline.DetectionRateId = pipeline.DetectionRateId; newPipeline.QueClass = pipeline.QueClass; newPipeline.ExecStandard = pipeline.ExecStandard; newPipeline.Remark = pipeline.Remark; try { db.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict); } catch (System.Data.Linq.ChangeConflictException ex) { foreach (System.Data.Linq.ObjectChangeConflict occ in db.ChangeConflicts) { // 使用Linq缓存中实体对象的值,覆盖当前数据库中的值 occ.Resolve(System.Data.Linq.RefreshMode.KeepCurrentValues); } // 这个地方要注意,Catch方法中,我们前面只是指明了怎样来解决冲突,这个地方还需要再次提交更新,这样的话,值 //才会提交到数据库。 db.SubmitChanges(); } } } /// /// 修改部分管线信息 /// /// public static void UpdateDepartPipeline(Model.Pipeline_Pipeline pipeline) { Model.HJGLDB db = Funs.DB; Model.Pipeline_Pipeline newPipeline = db.Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipeline.PipelineId); if (newPipeline != null) { newPipeline.InstallationId = pipeline.InstallationId; newPipeline.UnitId = pipeline.UnitId; newPipeline.WorkAreaId = pipeline.WorkAreaId; newPipeline.PipelineCode = pipeline.PipelineCode; newPipeline.SingleNumber = pipeline.SingleNumber; //newPipeline.PipingClassId = pipeline.PipingClassId; newPipeline.PIPClassId = pipeline.PIPClassId; newPipeline.MainMaterialId = pipeline.MainMaterialId; newPipeline.MediumId = pipeline.MediumId; newPipeline.Specification = pipeline.Specification; newPipeline.SystemNumber = pipeline.SystemNumber; newPipeline.WorkPackageCode = pipeline.WorkPackageCode; newPipeline.SubSystemNumber = pipeline.SubSystemNumber; newPipeline.TestPackageCode = pipeline.TestPackageCode; newPipeline.PipelineLength = pipeline.PipelineLength; newPipeline.Sheet = pipeline.Sheet; newPipeline.PipeSegment = pipeline.PipeSegment; newPipeline.DrawingsNum = pipeline.DrawingsNum; newPipeline.PaintingCategory = pipeline.PaintingCategory; newPipeline.AdiabaticCategory = pipeline.AdiabaticCategory; newPipeline.DesignPressure = pipeline.DesignPressure; newPipeline.DesignTemperature = pipeline.DesignTemperature; newPipeline.TestPressure = pipeline.TestPressure; newPipeline.TestTemperature = pipeline.TestTemperature; newPipeline.ModifierId = pipeline.ModifierId; newPipeline.ModifyDate = pipeline.ModifyDate; newPipeline.CreatorId = pipeline.CreatorId; newPipeline.CreateDate = pipeline.CreateDate; newPipeline.PenetrationRatio = pipeline.PenetrationRatio; newPipeline.PenetrationClass = pipeline.PenetrationClass; newPipeline.IfPickling = pipeline.IfPickling; newPipeline.IfChasing = pipeline.IfChasing; //newPipeline.DetectionRateId = pipeline.DetectionRateId; newPipeline.QueClass = pipeline.QueClass; newPipeline.ExecStandard = pipeline.ExecStandard; newPipeline.Remark = pipeline.Remark; try { db.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict); } catch (System.Data.Linq.ChangeConflictException ex) { foreach (System.Data.Linq.ObjectChangeConflict occ in db.ChangeConflicts) { // 使用Linq缓存中实体对象的值,覆盖当前数据库中的值 occ.Resolve(System.Data.Linq.RefreshMode.KeepCurrentValues); } // 这个地方要注意,Catch方法中,我们前面只是指明了怎样来解决冲突,这个地方还需要再次提交更新,这样的话,值 //才会提交到数据库。 db.SubmitChanges(); } } } /// /// 更新管线产生的RT随机数 /// /// public static void UpdatePipelineRTRandom(string pipelineId, string randomNum) { Model.HJGLDB db = Funs.DB; Model.Pipeline_Pipeline newPipeline = db.Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId); if (newPipeline != null) { newPipeline.RandomNum = randomNum; db.SubmitChanges(); } } /// /// 更新管线产生的PT随机数 /// /// public static void UpdatePipelinePTRandom(string pipelineId, string randomNum) { Model.HJGLDB db = Funs.DB; Model.Pipeline_Pipeline newPipeline = db.Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId); if (newPipeline != null) { newPipeline.PTRandomNum = randomNum; db.SubmitChanges(); } } /// /// 更新管线产生的固定口随机数 /// /// public static void UpdatePipelineGDRandom(string pipelineId, string randomNum) { Model.HJGLDB db = Funs.DB; Model.Pipeline_Pipeline newPipeline = db.Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId); if (newPipeline != null) { newPipeline.GDRandomNum = randomNum; db.SubmitChanges(); } } /// /// 根据作业管线Id删除一个作业管线信息 /// /// public static void DeletePipeline(string pipelineId) { Model.HJGLDB db = Funs.DB; Model.Pipeline_Pipeline pipeline = db.Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId); var jot = db.Pipeline_WeldJoint.Where(e => e.PipelineId == pipelineId); if (pipeline != null) { db.Pipeline_WeldJoint.DeleteAllOnSubmit(jot); Pipeline_PipelineDetectionTypeService.DeletePipelineDetectionTypeByPipelineId(pipelineId); db.Pipeline_Pipeline.DeleteOnSubmit(pipeline); db.SubmitChanges(); } } /// /// 根据工区获取管线信息 /// /// /// public static List GetPipelineList(string workAreaId) { var list = (from x in Funs.DB.Pipeline_Pipeline where x.WorkAreaId == workAreaId orderby x.PipelineCode select x).ToList(); return list; } /// /// 根据工区获取管线下拉列表 /// /// /// public static void InitPipelineDropDownList(FineUIPro.DropDownList dropName,string workAreaId) { dropName.DataValueField = "PipelineId"; dropName.DataTextField = "PipelineCode"; dropName.DataSource = GetPipelineList(workAreaId); dropName.DataBind(); } } }