using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace BLL { /// /// NCR管理 /// public static class NCRManagementService { public static Model.SGGLDB db = Funs.DB; /// /// 记录数 /// private static int count { get; set; } /// /// 获取分页列表 /// /// /// /// public static IEnumerable GetListData(string projectId, string sendUnit, string cnProfessionalId, string startDate, string endDate, int startRowIndex, int maximumRows) { IQueryable q = from x in db.Comprehensive_NCRManagement where x.ProjectId == projectId orderby x.IssuedDate descending select x; if (sendUnit!="0") { q = q.Where(e => e.SendUnit == sendUnit); } if (cnProfessionalId != "0") { q = q.Where(e => e.CNProfessionalId == cnProfessionalId); } if (!string.IsNullOrEmpty(startDate) && !string.IsNullOrEmpty(endDate) && Convert.ToDateTime(startDate) <= Convert.ToDateTime(endDate)) { q = q.Where(e => e.CompleteDate >= Convert.ToDateTime(startDate) && e.CompleteDate <= Convert.ToDateTime(endDate)); } count = q.Count(); if (count == 0) { return new object[] { }; } return from x in q.Skip(startRowIndex).Take(maximumRows) select new { x.NCRManagementId, x.ProjectId, SendUnit=(from y in db.Base_Unit where y.UnitId==x.SendUnit select y.UnitName).FirstOrDefault(), ProfessionalName = (from y in db.Base_CNProfessional where y.CNProfessionalId == x.CNProfessionalId select y.ProfessionalName).FirstOrDefault(), x.NCRCode, x.Contents, x.IssuedDate, ReceiveUnit = x.ReceiveUnit!= null ? BLL.UnitService.getUnitNamesUnitIds(x.ReceiveUnit) : null, UnitWorkName = x.UnitWorkId != null ? BLL.UnitWorkService.GetUnitWorkName(x.UnitWorkId) : null, x.ClosedDate, x.CompleteDate, x.ResponsibleMan, x.AttachUrl, x.ImplementationFrontState, //TotalCount = x.NCRManagementId.Count() }; } /// /// 获取分页列表数 /// /// /// public static int GetListCount(string projectId, string sendUnit, string cnProfessionalId, string startDate, string endDate) { return count; } /// /// 根据主键获取NCR管理 /// /// /// public static Model.Comprehensive_NCRManagement GetNCRManagementById(string nCRManagementId) { return Funs.DB.Comprehensive_NCRManagement.FirstOrDefault(e => e.NCRManagementId == nCRManagementId); } /// /// 添加NCR管理 /// /// public static void AddNCRManagement(Model.Comprehensive_NCRManagement nCRManagement) { Model.SGGLDB db = Funs.DB; Model.Comprehensive_NCRManagement newNCRManagement = new Model.Comprehensive_NCRManagement(); newNCRManagement.NCRManagementId = nCRManagement.NCRManagementId; newNCRManagement.ProjectId = nCRManagement.ProjectId; newNCRManagement.SendUnit = nCRManagement.SendUnit; newNCRManagement.CNProfessionalId = nCRManagement.CNProfessionalId; newNCRManagement.NCRCode = nCRManagement.NCRCode; newNCRManagement.Contents = nCRManagement.Contents; newNCRManagement.IssuedDate = nCRManagement.IssuedDate; newNCRManagement.ReceiveUnit = nCRManagement.ReceiveUnit; newNCRManagement.ClosedDate = nCRManagement.ClosedDate; newNCRManagement.CompleteDate = nCRManagement.CompleteDate; newNCRManagement.ResponsibleMan = nCRManagement.ResponsibleMan; newNCRManagement.AttachUrl = nCRManagement.AttachUrl; newNCRManagement.ImplementationFrontState = nCRManagement.ImplementationFrontState; newNCRManagement.CompileMan = nCRManagement.CompileMan; newNCRManagement.UnitWorkId = nCRManagement.UnitWorkId; db.Comprehensive_NCRManagement.InsertOnSubmit(newNCRManagement); db.SubmitChanges(); } /// /// 修改NCR管理 /// /// public static void UpdateNCRManagement(Model.Comprehensive_NCRManagement nCRManagement) { Model.SGGLDB db = Funs.DB; Model.Comprehensive_NCRManagement newNCRManagement = db.Comprehensive_NCRManagement.FirstOrDefault(e => e.NCRManagementId == nCRManagement.NCRManagementId); if (newNCRManagement != null) { newNCRManagement.ProjectId = nCRManagement.ProjectId; newNCRManagement.SendUnit = nCRManagement.SendUnit; newNCRManagement.CNProfessionalId = nCRManagement.CNProfessionalId; newNCRManagement.NCRCode = nCRManagement.NCRCode; newNCRManagement.Contents = nCRManagement.Contents; newNCRManagement.IssuedDate = nCRManagement.IssuedDate; newNCRManagement.ReceiveUnit = nCRManagement.ReceiveUnit; newNCRManagement.ClosedDate = nCRManagement.ClosedDate; newNCRManagement.CompleteDate = nCRManagement.CompleteDate; newNCRManagement.ResponsibleMan = nCRManagement.ResponsibleMan; newNCRManagement.AttachUrl = nCRManagement.AttachUrl; newNCRManagement.ImplementationFrontState = nCRManagement.ImplementationFrontState; newNCRManagement.UnitWorkId = nCRManagement.UnitWorkId; db.SubmitChanges(); } } /// /// 根据主键删除NCR管理 /// /// public static void DeleteNCRManagement(string nCRManagementId) { Model.SGGLDB db = Funs.DB; Model.Comprehensive_NCRManagement nCRManagement = db.Comprehensive_NCRManagement.FirstOrDefault(e => e.NCRManagementId == nCRManagementId); if (nCRManagement != null) { if (!string.IsNullOrEmpty(nCRManagement.AttachUrl)) { BLL.UploadAttachmentService.DeleteFile(Funs.RootPath, nCRManagement.AttachUrl);//删除附件 } db.Comprehensive_NCRManagement.DeleteOnSubmit(nCRManagement); db.SubmitChanges(); } } /// /// 获取对应时间内的集合 /// /// /// /// /// /// public static List GetNCRManagementListByDate(string projectId, DateTime startDate, DateTime SoptDate) { List NondestructiveTestList = (from x in Funs.DB.Comprehensive_NCRManagement where x.ProjectId == projectId select x).ToList(); if (startDate != null && SoptDate != null) { NondestructiveTestList = (from x in NondestructiveTestList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList(); } return NondestructiveTestList; } /// /// 根据接收单位获取对应时间内的集合 /// /// /// /// /// /// public static List GetNCRManagementListByUnitNameAndDate(string projectId, string unitName, DateTime startDate, DateTime SoptDate) { List NondestructiveTestList = (from x in Funs.DB.Comprehensive_NCRManagement where x.ProjectId == projectId && x.ReceiveUnit==unitName select x).ToList(); if (startDate != null && SoptDate != null) { NondestructiveTestList = (from x in NondestructiveTestList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList(); } return NondestructiveTestList; } /// /// 根据专业获取对应时间内的集合 /// /// /// /// /// /// public static List GetNCRManagementListByCNProfessionalIdAndDate(string projectId, string cNProfessionalId, DateTime startDate, DateTime SoptDate) { List NondestructiveTestList = (from x in Funs.DB.Comprehensive_NCRManagement where x.ProjectId == projectId && x.CNProfessionalId == cNProfessionalId select x).ToList(); if (startDate != null && SoptDate != null) { NondestructiveTestList = (from x in NondestructiveTestList where x.IssuedDate >= startDate && x.IssuedDate <= SoptDate select x).ToList(); } return NondestructiveTestList; } } }