SGGL_JT/SUBQHSE/BLL/Customization/ZJ/HSSE/HiddenInspection/SuperviseCheckService.cs

189 lines
6.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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