using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace BLL { /// /// 设计变更管理 /// public static class DesignChangeOrderService { public static Model.SGGLDB db = Funs.DB; /// /// 记录数 /// private static int count { get; set; } /// /// 获取分页列表 /// /// 项目id /// 专业id /// 下发开始时间 /// 下发结束时间 /// /// /// public static IEnumerable GetListData(string projectId, string cNProfessionalId, string contents, string startDate, string endDate, int startRowIndex, int maximumRows) { IQueryable 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 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 }; } /// /// 获取分页列表数 /// /// /// /// /// /// 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; } /// /// 根据主键获取设计变更管理 /// /// /// public static Model.Comprehensive_DesignChangeOrder GetDesignChangeOrderById(string designChangeOrderId) { return Funs.DB.Comprehensive_DesignChangeOrder.FirstOrDefault(e => e.DesignChangeOrderId == designChangeOrderId); } /// /// 添加设计变更单管理 /// /// 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; newDesignChangeOrder.Status = desginChangeOrder.Status; db.Comprehensive_DesignChangeOrder.InsertOnSubmit(newDesignChangeOrder); db.SubmitChanges(); } /// /// 修改设计变更单管理 /// /// 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; newDesignChangeOrder.Status = desginChangeOrder.Status; db.SubmitChanges(); } } /// /// 根据主键删除设计变更单管理 /// /// 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(); } } /// /// 根据装置判断是否存在设计变更单管理 /// /// 装置Id /// public static bool IsExitDesignChangeOrderByUnitWorkId(string UnitWorkId) { return (from x in Funs.DB.Comprehensive_DesignChangeOrder where x.UnitWorkId == UnitWorkId select x).Count() > 0; } /// /// 根据专业获取对应时间内的设计变更单集合 /// /// /// /// /// /// /// public static List GetDesignChangeOrderListByCNProfessionalIdAndDate(string projectId, string cNProfessionalId, DateTime startDate, DateTime SoptDate) { List 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 GetDesignChangeOrderListByUnitIdAndDate(string projectId, string unitId, DateTime startDate, DateTime SoptDate) { List 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; } } }