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