using FineUIPro; using Microsoft.SqlServer.Dts.Runtime; using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; namespace BLL { public class ConstructionLogNewService { public static Model.SGGLDB db = Funs.DB; #region 获取人员列表信息 /// /// 记录数 /// public static int count { get; set; } /// /// 定义变量 /// private static IQueryable getDataLists = from x in db.InformationProject_ConstructionLog select x; /// /// 数据列表 /// /// /// /// /// /// public static IEnumerable getListData(string projetcId, string unitId, string personId, string name, DateTime? startTime, DateTime? endTime, Grid Grid1) { IQueryable getDataList = getDataLists; if (!string.IsNullOrEmpty(projetcId) && projetcId != Const._Null) { getDataList = getDataList.Where(e => e.ProjectId == projetcId); } if (!string.IsNullOrEmpty(unitId) && unitId != Const._Null) { getDataList = getDataList.Where(e => e.UnitId == unitId); } if (!string.IsNullOrEmpty(personId)) { getDataList = getDataList.Where(e => e.PersonId == personId); } if (!string.IsNullOrEmpty(name)) { getDataList = getDataList.Where(e => e.PersonName.Contains(name)); } if (startTime.HasValue) { getDataList = getDataList.Where(e => e.WorkDate >= startTime); } if (endTime.HasValue) { getDataList = getDataList.Where(e => e.WorkDate <= endTime); } count = getDataList.Count(); if (count == 0) { return null; } getDataList = SortConditionHelper.SortingAndPaging(getDataList, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize); return from x in getDataList select new { x.ConstructionLogId, x.ProjectId, ProjectName = ProjectService.GetProjectNameByProjectId(x.ProjectId), x.UnitId, UnitName = UnitService.GetUnitNameByUnitId(x.UnitId), x.PersonId, x.PersonName, x.WorkDate, }; } #endregion /// /// 根据主键获取施工日志 /// /// /// public static Model.InformationProject_ConstructionLog GetConstructionLogById(string ConstructionLogId) { return Funs.DB.InformationProject_ConstructionLog.FirstOrDefault(e => e.ConstructionLogId == ConstructionLogId); } public static Model.InformationProject_ConstructionLog GetConstructionLogByPersonIdDate(string projectId, string personId, DateTime date) { return Funs.DB.InformationProject_ConstructionLog.FirstOrDefault(e => e.ProjectId == projectId && e.PersonId == personId && e.WorkDate.Value.Year == date.Year && e.WorkDate.Value.Month == date.Month && e.WorkDate.Value.Day == date.Day); } /// /// 添加施工日志 /// /// public static void AddConstructionLog(Model.InformationProject_ConstructionLog ConstructionLog) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.InformationProject_ConstructionLog newConstructionLog = new Model.InformationProject_ConstructionLog { ConstructionLogId = ConstructionLog.ConstructionLogId, ProjectId = ConstructionLog.ProjectId, WorkDate = ConstructionLog.WorkDate, UnitId = ConstructionLog.UnitId, PersonId = ConstructionLog.PersonId, PersonName = ConstructionLog.PersonName, }; db.InformationProject_ConstructionLog.InsertOnSubmit(newConstructionLog); db.SubmitChanges(); PersonStarLevelService.collectLog(ConstructionLog.ProjectId, ConstructionLog.PersonId); } } /// /// 修改施工日志 /// /// public static void UpdateConstructionLog(Model.InformationProject_ConstructionLog ConstructionLog) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.InformationProject_ConstructionLog newConstructionLog = db.InformationProject_ConstructionLog.FirstOrDefault(e => e.ConstructionLogId == ConstructionLog.ConstructionLogId); if (newConstructionLog != null) { newConstructionLog.ProjectId = ConstructionLog.ProjectId; newConstructionLog.UnitId = ConstructionLog.UnitId; newConstructionLog.PersonId = ConstructionLog.PersonId; newConstructionLog.PersonName = ConstructionLog.PersonName; newConstructionLog.WorkDate = ConstructionLog.WorkDate; db.SubmitChanges(); } PersonStarLevelService.collectLog(ConstructionLog.ProjectId, ConstructionLog.PersonId); } } /// /// 根据主键删除施工日志 /// /// public static void DeleteConstructionLogById(string ConstructionLogId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.InformationProject_ConstructionLog ConstructionLog = db.InformationProject_ConstructionLog.FirstOrDefault(e => e.ConstructionLogId == ConstructionLogId); if (ConstructionLog != null) { DeleteConstructionLogItemById(ConstructionLogId); db.InformationProject_ConstructionLog.DeleteOnSubmit(ConstructionLog); db.SubmitChanges(); } } } /// /// 获取施工日志列表 /// /// public static List GetConstructionLogList() { return (from x in Funs.DB.InformationProject_ConstructionLog orderby x.WorkDate descending select x).ToList(); } #region 施工日志明细表 /// /// 根据主键获取施工日志明细 /// /// /// public static Model.InformationProject_ConstructionLogItem GetConstructionLogItemById(string ConstructionLogItemId) { return Funs.DB.InformationProject_ConstructionLogItem.FirstOrDefault(e => e.ConstructionLogItemId == ConstructionLogItemId); } public static List GetConstructionLogItemListByConstructionLogId(string ConstructionLogId) { var getList = from x in Funs.DB.InformationProject_ConstructionLogItem where x.ConstructionLogId == ConstructionLogId orderby x.ExamTypeId select x; return getList.ToList(); } /// /// 添加施工日志明细 /// /// public static void AddConstructionLogItem(Model.InformationProject_ConstructionLogItem item) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.InformationProject_ConstructionLogItem newConstructionLog = new Model.InformationProject_ConstructionLogItem { ConstructionLogItemId = item.ConstructionLogItemId, ConstructionLogId = item.ConstructionLogId, ExamTypeId = item.ExamTypeId, Frequency = item.Frequency, }; db.InformationProject_ConstructionLogItem.InsertOnSubmit(newConstructionLog); db.SubmitChanges(); } } /// /// 修改施工日志明细 /// /// public static void UpdateConstructionLogItem(Model.InformationProject_ConstructionLogItem item) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.InformationProject_ConstructionLogItem newConstructionLog = db.InformationProject_ConstructionLogItem.FirstOrDefault(e => e.ConstructionLogItemId == item.ConstructionLogItemId); if (newConstructionLog != null) { newConstructionLog.ExamTypeId = item.ExamTypeId; newConstructionLog.Frequency = item.Frequency; db.SubmitChanges(); } } } /// /// 根据主键删除施工日志明细 /// /// public static void DeleteConstructionLogItemById(string ConstructionLogId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getDeleteItem = db.InformationProject_ConstructionLogItem.Where(e => e.ConstructionLogId == ConstructionLogId); if (getDeleteItem.Count() > 0) { db.InformationProject_ConstructionLogItem.DeleteAllOnSubmit(getDeleteItem); db.SubmitChanges(); } } } /// /// 根据主键删除施工日志明细 /// /// public static void DeleteConstructionLogItemByConstructionLogItemId(string ConstructionLogItemId) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { Model.InformationProject_ConstructionLogItem ConstructionLog = db.InformationProject_ConstructionLogItem.FirstOrDefault(e => e.ConstructionLogItemId == ConstructionLogItemId); if (ConstructionLog != null) { db.InformationProject_ConstructionLogItem.DeleteOnSubmit(ConstructionLog); db.SubmitChanges(); } } } #endregion } }