using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public class JointCheckApproveService { public static Model.SGGLDB db = Funs.DB; /// /// 根据质量共检编号删除对应的所有质量共检审批信息 /// /// 质量共检编号 public static void DeleteJointCheckApprovesByJointCheckId(string JointCheckId) { Model.SGGLDB db = Funs.DB; var q = (from x in db.Check_JointCheckApprove where x.JointCheckId == JointCheckId select x).ToList(); db.Check_JointCheckApprove.DeleteAllOnSubmit(q); db.SubmitChanges(); } /// /// 获取质量共检模板列表 /// /// /// /// public static IEnumerable getListData(string JointCheckId) { var approves = (from x in Funs.DB.Check_JointCheckApprove where x.JointCheckId == JointCheckId && x.ApproveDate != null && x.ApproveType != "S" orderby x.ApproveDate select x).ToList(); var approves2 = (from x in Funs.DB.Check_JointCheckApprove where x.JointCheckId == JointCheckId && x.ApproveDate != null && x.ApproveType != "S" orderby x.ApproveDate select x).ToList(); string approveType = string.Empty; DateTime? date = null; foreach (var approve in approves2) { if (approve.ApproveType == approveType) //同一办理类型 { DateTime date1 = approve.ApproveDate.Value; if (date != null) { TimeSpan t = date1 - Convert.ToDateTime(date); if (t.Minutes < 1) { approves.Remove(approve); } } } approveType = approve.ApproveType; date = approve.ApproveDate; } var res = from x in approves where x.JointCheckId == JointCheckId && x.ApproveDate != null && x.ApproveType != "S" orderby x.ApproveDate select new { x.JointCheckApproveId, x.JointCheckId, ApproveMan = x.ApproveMan == null ? "" : (from y in db.Sys_User where y.UserId == x.ApproveMan select y.UserName).First(), x.ApproveDate, x.IsAgree, x.ApproveIdea, x.ApproveType, }; return res; } /// /// 获取质量共检模板列表 /// /// /// /// public static IEnumerable listData(string JointCheckId) { var approves = (from x in Funs.DB.Check_JointCheckApprove where x.JointCheckId == JointCheckId && x.ApproveDate != null && x.ApproveType != "S" orderby x.ApproveDate select x).ToList(); var approves2 = (from x in Funs.DB.Check_JointCheckApprove where x.JointCheckId == JointCheckId && x.ApproveDate != null && x.ApproveType != "S" orderby x.ApproveDate select x).ToList(); string approveType = string.Empty; DateTime? date = null; foreach (var approve in approves2) { if (approve.ApproveType == approveType) //同一办理类型 { DateTime date1 = approve.ApproveDate.Value; if (date != null) { TimeSpan t = date1 - Convert.ToDateTime(date); if (t.Minutes < 1) { approves.Remove(approve); } } } approveType = approve.ApproveType; date = approve.ApproveDate; } var res = from x in approves where x.JointCheckId == JointCheckId && x.ApproveDate != null && x.ApproveType != "S" orderby x.ApproveDate select new { x.JointCheckApproveId, x.JointCheckId, ApproveMan = (from y in db.Sys_User where y.UserId == x.ApproveMan select y.UserName).First(), x.ApproveDate, x.IsAgree, x.ApproveIdea, x.ApproveType, }; return res.AsEnumerable().ToList(); } /// /// 根据质量共检编号获取质量共检审批信息集合 /// /// 质量共检编号 /// 质量共检审批集合 public static List GetJointCheckApprovesByJointCheckId(string JointCheckId, string ApproveMan) { return (from x in Funs.DB.Check_JointCheckApprove where x.JointCheckId == JointCheckId && x.ApproveType != "S" && x.ApproveDate == null && x.ApproveMan == ApproveMan select x).ToList(); } /// /// 增加质量共检审批信息 /// /// 质量共检审批实体 public static string AddJointCheckApproveForApi(Model.Check_JointCheckApprove approve) { using (var db = new Model.SGGLDB(Funs.ConnString)) { string newKeyID = SQLHelper.GetNewID(typeof(Model.Check_JointCheckApprove)); Model.Check_JointCheckApprove newApprove = new Model.Check_JointCheckApprove(); newApprove.JointCheckApproveId = newKeyID; newApprove.JointCheckId = approve.JointCheckId; newApprove.ApproveMan = approve.ApproveMan; newApprove.ApproveDate = approve.ApproveDate; newApprove.ApproveIdea = approve.ApproveIdea; newApprove.IsAgree = approve.IsAgree; newApprove.ApproveType = approve.ApproveType; newApprove.JointCheckDetailId = approve.JointCheckDetailId; db.Check_JointCheckApprove.InsertOnSubmit(newApprove); db.SubmitChanges(); return newKeyID; } } public static void AddJointCheckApprove(Model.Check_JointCheckApprove approve) { Model.SGGLDB db = Funs.DB; string newKeyID = SQLHelper.GetNewID(typeof(Model.Check_JointCheckApprove)); Model.Check_JointCheckApprove newApprove = new Model.Check_JointCheckApprove(); newApprove.JointCheckApproveId = newKeyID; newApprove.JointCheckId = approve.JointCheckId; newApprove.ApproveMan = approve.ApproveMan; newApprove.ApproveDate = approve.ApproveDate; newApprove.ApproveIdea = approve.ApproveIdea; newApprove.IsAgree = approve.IsAgree; newApprove.ApproveType = approve.ApproveType; newApprove.JointCheckDetailId = approve.JointCheckDetailId; db.Check_JointCheckApprove.InsertOnSubmit(newApprove); db.SubmitChanges(); } /// /// 修改质量共检审批信息 /// /// 质量共检审批实体 public static void UpdateJointCheckApprove(Model.Check_JointCheckApprove approve) { Model.SGGLDB db = Funs.DB; Model.Check_JointCheckApprove newApprove = db.Check_JointCheckApprove.First(e => e.JointCheckApproveId == approve.JointCheckApproveId && e.ApproveDate == null); newApprove.JointCheckId = approve.JointCheckId; newApprove.ApproveMan = approve.ApproveMan; newApprove.ApproveDate = approve.ApproveDate; newApprove.ApproveIdea = approve.ApproveIdea; newApprove.IsAgree = approve.IsAgree; newApprove.ApproveType = approve.ApproveType; db.SubmitChanges(); } public static Model.Check_JointCheckApprove GetSee(string JointCheckId, string userId) { return db.Check_JointCheckApprove.FirstOrDefault(x => x.JointCheckId == JointCheckId && x.ApproveType == "S" && x.ApproveMan == userId && x.ApproveDate == null); } public static void See(string JointCheckId, string userId) { using (var db = new Model.SGGLDB(Funs.ConnString)) { var item = db.Check_JointCheckApprove.FirstOrDefault(x => x.JointCheckId == JointCheckId && x.ApproveType == "S" && x.ApproveMan == userId && x.ApproveDate == null); if (item != null) { item.ApproveDate = DateTime.Now; db.SubmitChanges(); } } } /// /// 根据质量共检编号获取所有未办理质量共检审批信息 /// /// 质量共检编号 /// 所有未办理质量共检审批实体 public static List GetJointCheckApprovesByJointCheckId(string JointCheckId) { return (from x in Funs.DB.Check_JointCheckApprove where x.JointCheckId == JointCheckId && x.ApproveType != "S" && x.ApproveDate == null select x).ToList(); } /// /// 根据质量共检编号获取一个质量共检审批信息 /// /// 质量共检编号 /// 一个质量共检审批实体 public static Model.Check_JointCheckApprove GetJointCheckApproveByJointCheckId(string JointCheckId, string ApproveMan) { return Funs.DB.Check_JointCheckApprove.FirstOrDefault(x => x.JointCheckId == JointCheckId && x.ApproveDate == null && x.ApproveMan == ApproveMan); } /// /// 根据质量共检明细Id获取一个质量共检审批信息 /// /// 质量共检编号 /// 一个质量共检审批实体 public static Model.Check_JointCheckApprove GetJointCheckApproveByJointCheckDetailId(string JointCheckDetailId, string ApproveMan) { return Funs.DB.Check_JointCheckApprove.FirstOrDefault(x => x.JointCheckDetailId == JointCheckDetailId && x.ApproveDate == null && x.ApproveType != "S" && x.ApproveMan == ApproveMan); } /// /// 分包专工回复信息 /// /// /// public static Model.Check_JointCheckApprove GetAudit1(string JointCheckId, string jointCheckDetailId) { return db.Check_JointCheckApprove.OrderByDescending(x => x.ApproveDate).FirstOrDefault(x => x.JointCheckId == JointCheckId && x.ApproveType == BLL.Const.JointCheck_Audit1 && x.JointCheckDetailId == jointCheckDetailId); } /// /// 分包负责人审核信息 /// /// /// public static Model.Check_JointCheckApprove GetAudit2(string JointCheckId, string jointCheckDetailId) { return db.Check_JointCheckApprove.OrderByDescending(x => x.ApproveDate).FirstOrDefault(x => x.JointCheckId == JointCheckId && x.ApproveType == BLL.Const.JointCheck_Audit2 && x.JointCheckDetailId == jointCheckDetailId); } /// /// 总包专工确认信息 /// /// /// public static Model.Check_JointCheckApprove GetAudit3(string JointCheckId, string jointCheckDetailId) { return db.Check_JointCheckApprove.OrderByDescending(x => x.ApproveDate).FirstOrDefault(x => x.JointCheckId == JointCheckId && x.ApproveType == BLL.Const.JointCheck_Audit3 && x.JointCheckDetailId == jointCheckDetailId); } /// /// 总包负责人审核信息 /// /// /// public static Model.Check_JointCheckApprove GetAudit4(string JointCheckId, string jointCheckDetailId) { return db.Check_JointCheckApprove.OrderByDescending(x => x.ApproveDate).FirstOrDefault(x => x.JointCheckId == JointCheckId && x.ApproveType == BLL.Const.JointCheck_Audit4 && x.JointCheckDetailId == jointCheckDetailId); } public static List getListDataByJcidForApi(string JointCheckId, string JointCheckDetailId) { using (var db = new Model.SGGLDB(Funs.ConnString)) { var q = from x in db.Check_JointCheckApprove where x.JointCheckId == JointCheckId && x.JointCheckDetailId == JointCheckDetailId && x.ApproveDate != null && x.ApproveType != "S" orderby x.ApproveDate select new { x.JointCheckApproveId, x.JointCheckId, ApproveMan = (from y in db.Sys_User where y.UserId == x.ApproveMan select y.UserName).First(), x.ApproveDate, x.IsAgree, x.ApproveIdea, x.ApproveType, }; List res = new List(); var list = q.ToList(); foreach (var item in list) { Model.Check_JointCheckApprove jc = new Model.Check_JointCheckApprove(); jc.JointCheckApproveId = item.JointCheckApproveId; jc.JointCheckId = item.JointCheckApproveId; jc.ApproveMan = item.ApproveMan; jc.ApproveDate = item.ApproveDate; jc.IsAgree = item.IsAgree; jc.ApproveIdea = item.ApproveIdea; jc.ApproveType = item.ApproveType; res.Add(jc); } return res; } } public static Model.Check_JointCheckApprove getCurrApproveByDetailIdForApi(string id) { using (var db = new Model.SGGLDB(Funs.ConnString)) { List res = new List(); var q = from e in db.Check_JointCheckApprove where e.JointCheckDetailId == id && e.ApproveType != "S" && e.ApproveDate == null select e; return q.FirstOrDefault(); } } public static List getCurrApproveForApi(string id) { using (var db = new Model.SGGLDB(Funs.ConnString)) { List res = new List(); var q = from e in db.Check_JointCheckApprove where e.JointCheckId == id && e.ApproveType != "S" && e.ApproveDate == null select e; //Model.Check_JointCheckApprove newApprove = db.Check_JointCheckApprove.FirstOrDefault(e => e.JointCheckId == id && e.ApproveType != "S" && e.ApproveDate == null); var list = q.ToList(); if (list != null) { foreach (var item in list) { Model.Check_JointCheckApprove approve = new Model.Check_JointCheckApprove(); approve.ApproveDate = item.ApproveDate; approve.ApproveIdea = item.ApproveIdea; approve.ApproveMan = item.ApproveMan; approve.ApproveType = item.ApproveType; approve.JointCheckApproveId = item.JointCheckApproveId; approve.JointCheckDetailId = item.JointCheckDetailId; approve.JointCheckId = item.JointCheckId; Model.Sys_User user = BLL.UserService.GetUserByUserId(item.ApproveMan); if (user != null) { approve.ApproveIdea = user.UserName; } res.Add(approve); } } return res; } } public static Model.Check_JointCheckApprove getCurrApproveByJoinCheckIdForApi(string id) { using (var db = new Model.SGGLDB(Funs.ConnString)) { List res = new List(); Model.Check_JointCheckApprove item = db.Check_JointCheckApprove.FirstOrDefault(e => e.JointCheckId == id && e.ApproveType != "S" && e.ApproveDate == null); if (item != null) { Model.Sys_User user = BLL.UserService.GetUserByUserId(item.ApproveMan); if (user != null) { item.ApproveIdea = user.UserName; } Model.Check_JointCheckApprove approve = new Model.Check_JointCheckApprove(); approve.ApproveDate = item.ApproveDate; approve.ApproveIdea = item.ApproveIdea; approve.ApproveMan = item.ApproveMan; approve.ApproveType = item.ApproveType; approve.JointCheckApproveId = item.JointCheckApproveId; approve.JointCheckDetailId = item.JointCheckDetailId; approve.JointCheckId = item.JointCheckId; return approve; } else { return null; } } } public static Model.Check_JointCheckApprove UpdateJointCheckApproveForApi(Model.Check_JointCheckApprove approve) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.Check_JointCheckApprove newApprove = db.Check_JointCheckApprove.FirstOrDefault(e => e.JointCheckApproveId == approve.JointCheckApproveId); if (newApprove != null) { if (!string.IsNullOrEmpty(approve.JointCheckId)) newApprove.JointCheckId = approve.JointCheckId; if (!string.IsNullOrEmpty(approve.ApproveMan)) newApprove.ApproveMan = approve.ApproveMan; if (approve.ApproveDate.HasValue) newApprove.ApproveDate = approve.ApproveDate; if (!string.IsNullOrEmpty(approve.ApproveIdea)) newApprove.ApproveIdea = approve.ApproveIdea; if (approve.IsAgree.HasValue) newApprove.IsAgree = approve.IsAgree; if (!string.IsNullOrEmpty(approve.ApproveType)) newApprove.ApproveType = approve.ApproveType; db.SubmitChanges(); return newApprove; } return null; }; } } }