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