189 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			189 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using FineUIPro; | |||
|  | using System; | |||
|  | using System.Collections; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | 
 | |||
|  | 
 | |||
|  | namespace BLL | |||
|  | { | |||
|  | 
 | |||
|  |     public static class SupervisecheckService | |||
|  |     { | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         #region 获取列表 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 记录数 | |||
|  |         /// </summary> | |||
|  |         public static int Count { get; set; } | |||
|  | 
 | |||
|  |         public static IQueryable<Model.ZJ_SuperviseCheck> 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; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取分页列表 | |||
|  |         /// </summary> | |||
|  |         /// <param name="table"></param> | |||
|  |         /// <param name="grid1"></param> | |||
|  |         /// <returns></returns> | |||
|  |         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(); | |||
|  |             } | |||
|  | 
 | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 根据SuperviseCheckId验证状态 | |||
|  |         /// </summary> | |||
|  |         /// <param name="SuperviseCheckId">SuperviseCheckId</param> | |||
|  |         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(); | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |