xinjiang/SGGL/BLL/CQMS/ProcessControl/InspectionManagementApprove...

166 lines
7.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL.CQMS.ProcessControl
{
public class InspectionManagementApproveService
{
public static void DeleteAllApproveDetail(string InspectionId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.ProcessControl_InspectionManagementApprove where x.InspectionId == InspectionId select x).ToList();
db.ProcessControl_InspectionManagementApprove.DeleteAllOnSubmit(q);
db.SubmitChanges();
}
public static Model.ProcessControl_InspectionManagementApprove GetSee(string InspectionId, string userId)
{
Model.SGGLDB db = Funs.DB;
return db.ProcessControl_InspectionManagementApprove.FirstOrDefault(x => x.InspectionId == InspectionId && x.ApproveType == "S" && x.ApproveMan == userId && x.ApproveDate == null);
}
public static void See(string InspectionId, string userId)
{
using (var db = new Model.SGGLDB(Funs.ConnString))
{
var res = db.ProcessControl_InspectionManagementApprove.FirstOrDefault(x => x.InspectionId == InspectionId && x.ApproveType == "S" && x.ApproveMan == userId && x.ApproveDate == null);
if (res != null)
{
res.ApproveDate = DateTime.Now;
db.SubmitChanges();
}
}
}
public static IList<Model.ProcessControl_InspectionManagementApprove> getListData(string InspectionId)
{
Model.SGGLDB db = Funs.DB;
var res = from x in db.ProcessControl_InspectionManagementApprove
where x.InspectionId == InspectionId && x.ApproveDate != null && x.ApproveType != "S"
orderby x.ApproveDate
select x;
return res.ToList();
}
/// <summary>
/// 根据施工方案发布Id获取对应组会签人id集合信息
/// </summary>
/// <param name="ConstructSolutionCode">施工方案发布Id</param>
/// <returns>施工方案审批集合</returns>
public static List<string> GetUserIdsApprovesBySignType(string InspectionId, string signType)
{
return (from x in Funs.DB.ProcessControl_InspectionManagementApprove where x.InspectionId == InspectionId && x.ApproveType != "S" && x.SignType == signType select x.ApproveMan).ToList();
}
/// <summary>
/// 修改施工方案审批信息
/// </summary>
/// <param name="managerRuleApprove">施工方案审批实体</param>
public static void UpdateApprove(Model.ProcessControl_InspectionManagementApprove approve)
{
Model.SGGLDB db = Funs.DB;
Model.ProcessControl_InspectionManagementApprove newApprove = db.ProcessControl_InspectionManagementApprove.FirstOrDefault(e => e.InspectionManagementApproveId == approve.InspectionManagementApproveId);
newApprove.InspectionId = approve.InspectionId;
newApprove.ApproveMan = approve.ApproveMan;
newApprove.ApproveDate = approve.ApproveDate;
newApprove.ApproveIdea = approve.ApproveIdea;
newApprove.IsAgree = approve.IsAgree;
newApprove.ApproveType = approve.ApproveType;
newApprove.Edition = approve.Edition;
db.SubmitChanges();
}
public static List<Model.ProcessControl_InspectionManagementApprove> GetHandleConstruct(string InspectionId)
{
var list = Funs.DB.ProcessControl_InspectionManagementApprove.Where(p => p.InspectionId == InspectionId && p.ApproveType != "S" && p.ApproveDate != null ).ToList();
return list;
}
public static Model.ProcessControl_InspectionManagementApprove GetState(string InspectionId)
{
var q = from x in Funs.DB.ProcessControl_InspectionManagementApprove
where x.InspectionId == InspectionId && x.ApproveType != "S"
orderby x.ApproveDate descending
select x;
var res = q.ToList();
if (res != null && res.Count > 0)
{
var q1 = res.Where(x => x.ApproveDate == null);
var res1 = q1.FirstOrDefault();
if (res1 != null)
{
return res1;
}
else
{
var q2 = res.Where(x => x.ApproveDate != null);
var res2 = q2.FirstOrDefault();
if (res2 != null)
{
return res2;
}
else
{
return null;
}
}
}
else
{
return null;
}
}
public static Model.ProcessControl_InspectionManagementApprove GetCurrentApprove(string InspectionId)
{
var q = from x in Funs.DB.ProcessControl_InspectionManagementApprove
where x.InspectionId == InspectionId && x.ApproveType != "S" && x.ApproveDate == null
select x;
return q.FirstOrDefault();
}
public static Model.ProcessControl_InspectionManagementApprove GetApproveByApproveMan(string InspectionId, string approveMan)
{
return Funs.DB.ProcessControl_InspectionManagementApprove.FirstOrDefault(x => x.InspectionId == InspectionId && x.ApproveMan == approveMan && x.ApproveType != "S" && x.ApproveDate == null);
}
/// <summary>
/// 增加施工方案审批信息
/// </summary>
/// <param name="managerRuleApprove">施工方案审批实体</param>
public static void AddApprove(Model.ProcessControl_InspectionManagementApprove approve)
{
var db = Funs.DB;
Model.ProcessControl_InspectionManagementApprove newApprove = new Model.ProcessControl_InspectionManagementApprove();
if (string.IsNullOrWhiteSpace(approve.InspectionManagementApproveId))
{
newApprove.InspectionManagementApproveId = SQLHelper.GetNewID(typeof(Model.ProcessControl_InspectionManagementApprove));
}
else
{
newApprove.InspectionManagementApproveId = approve.InspectionManagementApproveId;
}
newApprove.InspectionId = approve.InspectionId;
newApprove.ApproveMan = approve.ApproveMan;
newApprove.ApproveDate = approve.ApproveDate;
newApprove.ApproveIdea = approve.ApproveIdea;
newApprove.IsAgree = approve.IsAgree;
newApprove.ApproveType = approve.ApproveType;
newApprove.SignType = approve.SignType;
newApprove.Edition = approve.Edition;
db.ProcessControl_InspectionManagementApprove.InsertOnSubmit(newApprove);
db.SubmitChanges();
}
}
}