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