302 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			302 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using System.Collections; | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  |     /// <summary> | |||
|  |     /// 设计变更管理 | |||
|  |     /// </summary> | |||
|  |     public static class DesignChangeOrderService | |||
|  |     { | |||
|  |         public static Model.SGGLDB db = Funs.DB; | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 记录数 | |||
|  |         /// </summary> | |||
|  |         private static int count | |||
|  |         { | |||
|  |             get; | |||
|  |             set; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取分页列表 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId">项目id</param> | |||
|  |         /// <param name="cNProfessionalId">专业id</param> | |||
|  |         /// <param name="startDate">下发开始时间</param> | |||
|  |         /// <param name="endDate">下发结束时间</param> | |||
|  |         /// <param name="startRowIndex"></param> | |||
|  |         /// <param name="maximumRows"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static IEnumerable GetListData(string projectId, string cNProfessionalId, string contents, string startDate, string endDate, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             IQueryable<Model.Comprehensive_DesignChangeOrder> q = from x in db.Comprehensive_DesignChangeOrder | |||
|  |                                                                   where x.ProjectId == projectId | |||
|  |                                                                   orderby x.ChangeOrderCode descending | |||
|  |                                                                   select x; | |||
|  |             if (cNProfessionalId != "0") | |||
|  |             { | |||
|  |                 q = q.Where(e => e.CNProfessionalId == cNProfessionalId); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(contents)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.Contents.Contains(contents)); | |||
|  |             } | |||
|  |             //if (handleState != "0") | |||
|  |             //{ | |||
|  |             //    if (handleState == "1") | |||
|  |             //    { | |||
|  |             //        q = q.Where(e => e.HandleState == "1" || e.HandleState == "2"); | |||
|  |             //    } | |||
|  | 
 | |||
|  |             //    if (handleState == "3") | |||
|  |             //    { | |||
|  |             //        q = q.Where(e => e.HandleState == handleState); | |||
|  |             //    } | |||
|  |             //} | |||
|  |             if (!string.IsNullOrEmpty(startDate) && !string.IsNullOrEmpty(endDate)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.IssuedDate >= Funs.GetNewDateTime(startDate) && e.IssuedDate <= Funs.GetNewDateTime(endDate)); | |||
|  |             } | |||
|  |             count = q.Count(); | |||
|  |             if (count == 0) | |||
|  |             { | |||
|  |                 return new object[] { "" }; | |||
|  |             } | |||
|  |             return from x in q.Skip(startRowIndex).Take(maximumRows) | |||
|  |                    select new | |||
|  |                    { | |||
|  |                        x.DesignChangeOrderId, | |||
|  |                        x.ProjectId, | |||
|  |                        ProfessionalName = (from y in db.Base_CNProfessional where y.CNProfessionalId == x.CNProfessionalId select y.ProfessionalName).FirstOrDefault(), | |||
|  |                        UnitWorkName = x.UnitWorkId != null ? BLL.UnitWorkService.GetUnitWorkName(x.UnitWorkId) : null, | |||
|  |                        x.ChangeOrderCode, | |||
|  |                        x.ChangeReason, | |||
|  |                        x.Contents, | |||
|  |                        x.IssuedDate, | |||
|  |                        x.ApprovalDate, | |||
|  |                        UnitName = x.UnitId != null ? BLL.UnitService.getUnitNamesUnitIds(x.UnitId) : null, | |||
|  |                        x.HandleState, | |||
|  |                        x.AttachUrl, | |||
|  |                        x.CompleteDate, | |||
|  |                        x.ImplementationFrontState | |||
|  |                    }; | |||
|  |         } | |||
|  |         public static IEnumerable GetListDataForDataType(string installtionId,string projectId, string cNProfessionalId, string contents, string startDate, string endDate, int startRowIndex, int maximumRows) | |||
|  |         { | |||
|  |             IQueryable<Model.Comprehensive_DesignChangeOrder> q = from x in db.Comprehensive_DesignChangeOrder | |||
|  |                                                                   where x.ProjectId == projectId | |||
|  |                                                                   orderby x.ChangeOrderCode descending | |||
|  |                                                                   select x; | |||
|  |             if (cNProfessionalId != "0") | |||
|  |             { | |||
|  |                 q = q.Where(e => e.CNProfessionalId == cNProfessionalId); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(contents)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.Contents.Contains(contents)); | |||
|  |             } | |||
|  |             if (!string.IsNullOrEmpty(installtionId)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.UnitWorkId.Contains(installtionId)); | |||
|  |             } | |||
|  |             //if (handleState != "0") | |||
|  |             //{ | |||
|  |             //    if (handleState == "1") | |||
|  |             //    { | |||
|  |             //        q = q.Where(e => e.HandleState == "1" || e.HandleState == "2"); | |||
|  |             //    } | |||
|  | 
 | |||
|  |             //    if (handleState == "3") | |||
|  |             //    { | |||
|  |             //        q = q.Where(e => e.HandleState == handleState); | |||
|  |             //    } | |||
|  |             //} | |||
|  |             if (!string.IsNullOrEmpty(startDate) && !string.IsNullOrEmpty(endDate)) | |||
|  |             { | |||
|  |                 q = q.Where(e => e.IssuedDate >= Funs.GetNewDateTime(startDate) && e.IssuedDate <= Funs.GetNewDateTime(endDate)); | |||
|  |             } | |||
|  |             count = q.Count(); | |||
|  |             if (count == 0) | |||
|  |             { | |||
|  |                 return new object[] { "" }; | |||
|  |             } | |||
|  |             return from x in q.Skip(startRowIndex).Take(maximumRows) | |||
|  |                    select new | |||
|  |                    { | |||
|  |                        x.DesignChangeOrderId, | |||
|  |                        x.ProjectId, | |||
|  |                        ProfessionalName = (from y in db.Base_CNProfessional where y.CNProfessionalId == x.CNProfessionalId select y.ProfessionalName).FirstOrDefault(), | |||
|  |                        UnitWorkName = x.UnitWorkId != null ? BLL.UnitWorkService.GetUnitWorkName(x.UnitWorkId) : null, | |||
|  |                        x.ChangeOrderCode, | |||
|  |                        x.ChangeReason, | |||
|  |                        x.Contents, | |||
|  |                        x.IssuedDate, | |||
|  |                        x.ApprovalDate, | |||
|  |                        UnitName = x.UnitId != null ? BLL.UnitService.getUnitNamesUnitIds(x.UnitId) : null, | |||
|  |                        x.HandleState, | |||
|  |                        x.AttachUrl, | |||
|  |                        x.CompleteDate, | |||
|  |                        x.ImplementationFrontState | |||
|  |                    }; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取分页列表数 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <param name="cNProfessionalId"></param> | |||
|  |         /// <param name="startDate"></param> | |||
|  |         /// <param name="endDate"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static int GetListCount(string projectId, string cNProfessionalId, string contents, string startDate, string endDate) | |||
|  |         { | |||
|  |             return count; | |||
|  |         } | |||
|  |         public static int GetListCountForDataType(string installtionId, string projectId, string cNProfessionalId, string contents, string startDate, string endDate) | |||
|  |         { | |||
|  |             return count; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键获取设计变更管理 | |||
|  |         /// </summary> | |||
|  |         /// <param name="designChangeOrderId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static Model.Comprehensive_DesignChangeOrder GetDesignChangeOrderById(string designChangeOrderId) | |||
|  |         { | |||
|  |             return Funs.DB.Comprehensive_DesignChangeOrder.FirstOrDefault(e => e.DesignChangeOrderId == designChangeOrderId); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 添加设计变更单管理 | |||
|  |         /// </summary> | |||
|  |         /// <param name="desginChangeOrder"></param> | |||
|  |         public static void AddDesignChangeOrder(Model.Comprehensive_DesignChangeOrder desginChangeOrder) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Comprehensive_DesignChangeOrder newDesignChangeOrder = new Model.Comprehensive_DesignChangeOrder(); | |||
|  |             newDesignChangeOrder.DesignChangeOrderId = desginChangeOrder.DesignChangeOrderId; | |||
|  |             newDesignChangeOrder.ProjectId = desginChangeOrder.ProjectId; | |||
|  |             newDesignChangeOrder.CNProfessionalId = desginChangeOrder.CNProfessionalId; | |||
|  |             newDesignChangeOrder.UnitWorkId = desginChangeOrder.UnitWorkId; | |||
|  |             newDesignChangeOrder.ChangeOrderCode = desginChangeOrder.ChangeOrderCode; | |||
|  |             newDesignChangeOrder.ChangeReason = desginChangeOrder.ChangeReason; | |||
|  |             newDesignChangeOrder.Contents = desginChangeOrder.Contents; | |||
|  |             newDesignChangeOrder.IssuedDate = desginChangeOrder.IssuedDate; | |||
|  |             newDesignChangeOrder.ApprovalDate = desginChangeOrder.ApprovalDate; | |||
|  |             newDesignChangeOrder.UnitId = desginChangeOrder.UnitId; | |||
|  |             newDesignChangeOrder.HandleState = desginChangeOrder.HandleState; | |||
|  |             newDesignChangeOrder.AttachUrl = desginChangeOrder.AttachUrl; | |||
|  |             newDesignChangeOrder.ImplementationFrontState = desginChangeOrder.ImplementationFrontState; | |||
|  |             newDesignChangeOrder.CompileMan = desginChangeOrder.CompileMan; | |||
|  |             newDesignChangeOrder.CompileDate = desginChangeOrder.CompileDate; | |||
|  |             newDesignChangeOrder.CompleteDate = desginChangeOrder.CompleteDate; | |||
|  | 
 | |||
|  |             db.Comprehensive_DesignChangeOrder.InsertOnSubmit(newDesignChangeOrder); | |||
|  |             db.SubmitChanges(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 修改设计变更单管理 | |||
|  |         /// </summary> | |||
|  |         /// <param name="designChangeOrder"></param> | |||
|  |         public static void UpdateDesignChangeOrder(Model.Comprehensive_DesignChangeOrder desginChangeOrder) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Comprehensive_DesignChangeOrder newDesignChangeOrder = db.Comprehensive_DesignChangeOrder.FirstOrDefault(e => e.DesignChangeOrderId == desginChangeOrder.DesignChangeOrderId); | |||
|  |             if (newDesignChangeOrder != null) | |||
|  |             { | |||
|  |                 newDesignChangeOrder.ProjectId = desginChangeOrder.ProjectId; | |||
|  |                 newDesignChangeOrder.CNProfessionalId = desginChangeOrder.CNProfessionalId; | |||
|  |                 newDesignChangeOrder.UnitWorkId = desginChangeOrder.UnitWorkId; | |||
|  |                 newDesignChangeOrder.ChangeOrderCode = desginChangeOrder.ChangeOrderCode; | |||
|  |                 newDesignChangeOrder.ChangeReason = desginChangeOrder.ChangeReason; | |||
|  |                 newDesignChangeOrder.Contents = desginChangeOrder.Contents; | |||
|  |                 newDesignChangeOrder.IssuedDate = desginChangeOrder.IssuedDate; | |||
|  |                 newDesignChangeOrder.ApprovalDate = desginChangeOrder.ApprovalDate; | |||
|  |                 newDesignChangeOrder.UnitId = desginChangeOrder.UnitId; | |||
|  |                 newDesignChangeOrder.HandleState = desginChangeOrder.HandleState; | |||
|  |                 newDesignChangeOrder.AttachUrl = desginChangeOrder.AttachUrl; | |||
|  |                 newDesignChangeOrder.ImplementationFrontState = desginChangeOrder.ImplementationFrontState; | |||
|  |                 newDesignChangeOrder.CompleteDate = desginChangeOrder.CompleteDate; | |||
|  | 
 | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据主键删除设计变更单管理 | |||
|  |         /// </summary> | |||
|  |         /// <param name="desginChangeOrderId"></param> | |||
|  |         public static void DeleteDesginChangeOrder(string desginChangeOrderId) | |||
|  |         { | |||
|  |             Model.SGGLDB db = Funs.DB; | |||
|  |             Model.Comprehensive_DesignChangeOrder designChangeOrder = db.Comprehensive_DesignChangeOrder.FirstOrDefault(e => e.DesignChangeOrderId == desginChangeOrderId); | |||
|  |             if (designChangeOrder != null) | |||
|  |             { | |||
|  |                 if (!string.IsNullOrEmpty(designChangeOrder.AttachUrl)) | |||
|  |                 { | |||
|  |                     BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, designChangeOrder.AttachUrl);//删除附件 | |||
|  |                 } | |||
|  |                 db.Comprehensive_DesignChangeOrder.DeleteOnSubmit(designChangeOrder); | |||
|  |                 db.SubmitChanges(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据装置判断是否存在设计变更单管理 | |||
|  |         /// </summary> | |||
|  |         /// <param name="UnitWorkId">装置Id</param> | |||
|  |         /// <returns></returns> | |||
|  |         public static bool IsExitDesignChangeOrderByUnitWorkId(string UnitWorkId) | |||
|  |         { | |||
|  |             return (from x in Funs.DB.Comprehensive_DesignChangeOrder | |||
|  |                     where x.UnitWorkId == UnitWorkId | |||
|  |                     select x).Count() > 0; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据专业获取对应时间内的设计变更单集合 | |||
|  |         /// </summary> | |||
|  |         /// <param name="projectId"></param> | |||
|  |         /// <param name="cNProfessionalId"></param> | |||
|  |         /// <param name="startDate"></param> | |||
|  |         /// <param name="SoptDate"></param> | |||
|  |         /// <param name="isOnceQualified"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static List<Model.Comprehensive_DesignChangeOrder> GetDesignChangeOrderListByCNProfessionalIdAndDate(string projectId, string cNProfessionalId, DateTime startDate, DateTime SoptDate) | |||
|  |         { | |||
|  |             List<Model.Comprehensive_DesignChangeOrder> DesignChangeOrderList = (from x in Funs.DB.Comprehensive_DesignChangeOrder where x.ProjectId == projectId select x).ToList(); | |||
|  |             if (!string.IsNullOrEmpty(cNProfessionalId) && cNProfessionalId != "0") | |||
|  |             { | |||
|  |                 DesignChangeOrderList = (from x in DesignChangeOrderList where x.CNProfessionalId == cNProfessionalId select x).ToList(); | |||
|  |             } | |||
|  |             if (startDate != null && SoptDate != null) | |||
|  |             { | |||
|  |                 DesignChangeOrderList = (from x in DesignChangeOrderList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList(); | |||
|  |             } | |||
|  | 
 | |||
|  |             return DesignChangeOrderList; | |||
|  |         } | |||
|  |         public static List<Model.Comprehensive_DesignChangeOrder> GetDesignChangeOrderListByUnitIdAndDate(string projectId, string unitId, DateTime startDate, DateTime SoptDate) | |||
|  |         { | |||
|  |             List<Model.Comprehensive_DesignChangeOrder> DesignChangeOrderList = (from x in Funs.DB.Comprehensive_DesignChangeOrder where x.ProjectId == projectId select x).ToList(); | |||
|  |             if (!string.IsNullOrEmpty(unitId) && unitId != "0") | |||
|  |             { | |||
|  |                 DesignChangeOrderList = (from x in DesignChangeOrderList where x.UnitId == unitId select x).ToList(); | |||
|  |             } | |||
|  |             if (startDate != null && SoptDate != null) | |||
|  |             { | |||
|  |                 DesignChangeOrderList = (from x in DesignChangeOrderList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList(); | |||
|  |             } | |||
|  | 
 | |||
|  |             return DesignChangeOrderList; | |||
|  |         } | |||
|  |     } | |||
|  | } |