331 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			331 lines
		
	
	
		
			15 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 Pipeline_PipelineService
 | 
						||
    {
 | 
						||
        /// <summary>
 | 
						||
        /// 根据管线ID获取管线信息
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipelineName"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static Model.Pipeline_Pipeline GetPipelineByPipelineId(string pipelineId)
 | 
						||
        {
 | 
						||
            return Funs.DB.Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId);
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 根据管线ID获取管线信息
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipelineName"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static Model.View_Pipeline_Pipeline GetViewPipelineByPipelineId(string pipelineId)
 | 
						||
        {
 | 
						||
            return Funs.DB.View_Pipeline_Pipeline.FirstOrDefault(e => e.PipelineId == pipelineId);
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 根据管线Code获取管线信息
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="isoNo"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        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;
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 添加作业管线
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipeline"></param>
 | 
						||
        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();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 修改作业管线
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipeline"></param>
 | 
						||
        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();
 | 
						||
                }
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 修改部分管线信息
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipeline"></param>
 | 
						||
        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();
 | 
						||
                }
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 更新管线产生的RT随机数
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipeline"></param>
 | 
						||
        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();
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 更新管线产生的PT随机数
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipeline"></param>
 | 
						||
        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();
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 更新管线产生的固定口随机数
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipeline"></param>
 | 
						||
        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();
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 根据作业管线Id删除一个作业管线信息
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pipelineId"></param>
 | 
						||
        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();
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 根据工区获取管线信息
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="workAreaId"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public static List<Model.Pipeline_Pipeline> GetPipelineList(string workAreaId)
 | 
						||
        {
 | 
						||
            var list = (from x in Funs.DB.Pipeline_Pipeline
 | 
						||
                        where x.WorkAreaId == workAreaId
 | 
						||
                        orderby x.PipelineCode
 | 
						||
                        select x).ToList();
 | 
						||
 | 
						||
            return list;
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 根据工区获取管线下拉列表
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="dropName"></param>
 | 
						||
        /// <param name="workAreaId"></param>
 | 
						||
        public static void InitPipelineDropDownList(FineUIPro.DropDownList dropName,string workAreaId)
 | 
						||
        {
 | 
						||
            dropName.DataValueField = "PipelineId";
 | 
						||
            dropName.DataTextField = "PipelineCode";
 | 
						||
            dropName.DataSource = GetPipelineList(workAreaId);
 | 
						||
            dropName.DataBind();
 | 
						||
        }
 | 
						||
    }
 | 
						||
}
 |