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