using FineUIPro; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace BLL { public static class SupervisecheckService { #region 获取列表 /// /// 记录数 /// public static int Count { get; set; } public static IQueryable GetZJ_SuperviseCheckByModle(Model.ZJ_SuperviseCheck table) { var q = from x in Funs.DB.ZJ_SuperviseCheck where (string.IsNullOrEmpty(table.SuperviseCheckId) || x.SuperviseCheckId.Contains(table.SuperviseCheckId)) && (string.IsNullOrEmpty(table.SuperviseCheckReportCode) || x.SuperviseCheckReportCode.Contains(table.SuperviseCheckReportCode)) && (string.IsNullOrEmpty(table.ProjectId) || x.ProjectId.Contains(table.ProjectId)) && (string.IsNullOrEmpty(table.CheckTeam) || x.CheckTeam.Contains(table.CheckTeam)) && (string.IsNullOrEmpty(table.RecUserId) || x.RecUserId.Contains(table.RecUserId)) select x ; return q; } /// /// 获取分页列表 /// /// /// /// public static IEnumerable GetListData(Model.ZJ_SuperviseCheck table, Grid grid1) { var q = GetZJ_SuperviseCheckByModle(table); Count = q.Count(); if (Count == 0) { return null; } q = q.Skip(grid1.PageSize * grid1.PageIndex).Take(grid1.PageSize); // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize); return from x in q select new { x.SuperviseCheckId, x.SuperviseCheckReportCode, x.CheckDate, x.ProjectId, x.CheckTeam, x.State, x.RecUserId, x.CreateMan, x.CreateDate }; } #endregion public static Model.ZJ_SuperviseCheck GetZJ_SuperviseCheckById(string SuperviseCheckId) { return Funs.DB.ZJ_SuperviseCheck.FirstOrDefault(x => x.SuperviseCheckId == SuperviseCheckId); } public static Model.ZJ_SuperviseCheck GetZJ_SuperviseCheckByCode(string superviseCheckReportCode) { return Funs.DB.ZJ_SuperviseCheck.FirstOrDefault(x => x.SuperviseCheckReportCode == superviseCheckReportCode); } public static void AddZJ_SuperviseCheck(Model.ZJ_SuperviseCheck newtable) { Model.ZJ_SuperviseCheck table = new Model.ZJ_SuperviseCheck { SuperviseCheckId = newtable.SuperviseCheckId, SuperviseCheckReportCode = newtable.SuperviseCheckReportCode, CheckDate = newtable.CheckDate, ProjectId = newtable.ProjectId, CheckTeam = newtable.CheckTeam, State = newtable.State, RecUserId = newtable.RecUserId, CreateMan = newtable.CreateMan, CreateDate = newtable.CreateDate }; Funs.DB.ZJ_SuperviseCheck.InsertOnSubmit(table); Funs.DB.SubmitChanges(); } public static void UpdateZJ_SuperviseCheck(Model.ZJ_SuperviseCheck newtable) { Model.ZJ_SuperviseCheck table = Funs.DB.ZJ_SuperviseCheck.FirstOrDefault(x => x.SuperviseCheckId == newtable.SuperviseCheckId); if (table != null) { table.SuperviseCheckId = newtable.SuperviseCheckId; table.SuperviseCheckReportCode = newtable.SuperviseCheckReportCode; table.CheckDate = newtable.CheckDate; table.ProjectId = newtable.ProjectId; table.CheckTeam = newtable.CheckTeam; table.State = newtable.State; table.RecUserId = newtable.RecUserId; table.CreateMan= newtable.CreateMan; table.CreateDate = newtable.CreateDate; Funs.DB.SubmitChanges(); } } public static void DeleteZJ_SuperviseCheckById(string SuperviseCheckId) { Model.ZJ_SuperviseCheck table = Funs.DB.ZJ_SuperviseCheck.FirstOrDefault(x => x.SuperviseCheckId == SuperviseCheckId); if (table != null) { SupervisecheckDetailService.DeleteBySuperviseCheckId(table.SuperviseCheckId); Funs.DB.ZJ_SuperviseCheck.DeleteOnSubmit(table); Funs.DB.SubmitChanges(); } } /// /// 根据SuperviseCheckId验证状态 /// /// SuperviseCheckId public static void VerifyStateBySuperviseCheckId(string SuperviseCheckId) { // 获取给定SuperviseCheckId的ZJ_SuperviseCheck_Detail记录的数量 int detailCount = Funs.DB.ZJ_SuperviseCheck_Detail .Count(x => x.SuperviseCheckId == SuperviseCheckId); // 获取每个ZJ_SuperviseCheck_Detail记录的AttachFile记录的数量 int attachCount = Funs.DB.ZJ_SuperviseCheck_Detail .Where(x => x.SuperviseCheckId == SuperviseCheckId) .Sum(x => Funs.DB.AttachFile .Count(y => y.ToKeyId == x.DetailId + "Ref")); // 如果detailCount为0,则返回 if (detailCount == 0) { return; } // 根据计数确定状态 int state; if (attachCount == 0) { state = 1; // 未完成一些更改 } else if (attachCount == detailCount) { state = 3; // 所有更改已完成 } else { state = 2; // 未完成一些更改 } // 更新ZJ_SuperviseCheck记录的状态 Model.ZJ_SuperviseCheck table = Funs.DB.ZJ_SuperviseCheck.FirstOrDefault(x => x.SuperviseCheckId == SuperviseCheckId); if (table != null) { table.State = state; Funs.DB.SubmitChanges(); } } } }