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