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