diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIController.cs index 4165156..530d895 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIController.cs @@ -918,8 +918,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI #region 8 var levelArr = new int[] { 5, 10, 15, 20 }; - var names= new string[] { "全公司", "选矿厂", "地下矿", "尾矿库" }.ToList(); - var productUnitIds = productionUnits.Where(t => names.Contains(t.NAME)).OrderBy(t=>t.NAME == "尾矿库").ThenBy(t => t.NAME == "地下矿").ThenBy(t => t.NAME == "选矿厂").ThenBy(t => t.NAME == "全公司").Select(m => m.ID).ToList(); + var names = new string[] { "全公司", "选矿厂", "地下矿", "尾矿库" }.ToList(); + var productUnitIds = productionUnits.Where(t => names.Contains(t.NAME)).OrderBy(t => t.NAME == "尾矿库").ThenBy(t => t.NAME == "地下矿").ThenBy(t => t.NAME == "选矿厂").ThenBy(t => t.NAME == "全公司").Select(m => m.ID).ToList(); foreach (var id in productUnitIds) { var mineTypeName = productionUnits.FirstOrDefault(t => t.ID == id)?.NAME; @@ -1152,7 +1152,8 @@ namespace APT.SC.WebApi.Controllers.Api.BI var startTime = time.AddDays(1 - time.Day); var endTime = time.AddDays(1 - time.Day).AddMonths(1); var records = GetEntities(t => t.CREATE_TIME >= currYear && !t.IS_DELETED && t.STATUS != SETrainRecordStatus.已取消, riskFilter); - var currMonthrecords = records.Where(t => t.CREATE_TIME > startTime && t.CREATE_TIME < endTime).OrderByDescending(t => t.Nav_Notify.TRAIN_START_TIME);//.OrderBy + //var currMonthrecords = records.Where(t => t.CREATE_TIME > startTime && t.CREATE_TIME < endTime).OrderByDescending(t => t.Nav_Notify.TRAIN_START_TIME);//.OrderBy //取记录的创建时间 如果培训通知 发一个很早的培训 这样 培训开始时间和培训记录创建时间就不一致了 + var currMonthrecords = records.Where(t => t.Nav_Notify.TRAIN_START_TIME.HasValue && t.Nav_Notify.TRAIN_START_TIME > startTime && t.Nav_Notify.TRAIN_START_TIME < endTime).OrderByDescending(t => t.Nav_Notify.TRAIN_START_TIME);//取培训开始时间 var recordids = currMonthrecords.Select(t => t.ID); var examFilter = new BaseFilter(filter.GetOrgId()); examFilter.SelectField = new string[] { "USER_ID", "RECORD_ID", "SCORE" }; diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SENewUsers.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SENewUsers.cs index 05dd1bb..e9b4408 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SENewUsers.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SENewUsers.cs @@ -1418,21 +1418,21 @@ namespace APT.SC.WebApi.Controllers.Api.SE break; } } - if (sendUser == null) - { - //找不到人只能给她自己做联系人员处理 - sendNoticeRef = NotificationTaskService.InsertUserNoticeTaskModel("请联系你所在组织安全员绑定责任制岗位并上传责任状让你签订", TaskID, currUser.ORG_ID, currUser.ID, currUser.NAME, DateTime.Now, DateTime.Now.AddDays(7), (int)FMNoticeTypeEnum.今日提醒, "PF135"); - } - else - { - var UserPost = GetEntity(currPerson.POST_ID.Value); - string Title = "请为《" + currUser.NAME + ":" + UserPost.NAME + "》绑定责任制岗位并上传责任状,并让其签订"; - var chaen = GetEntity(e => e.USER_ID == sendUser.ID && e.SOURCE_FORMCODE == "PF135" && e.NOTICE_TITLE == Title); - if (chaen == null) - { - sendNoticeRef = NotificationTaskService.InsertUserNoticeTaskModel(Title, TaskID, currUser.ORG_ID, sendUser.ID, sendUser.NAME, DateTime.Now, DateTime.Now.AddDays(7), (int)FMNoticeTypeEnum.今日提醒, "PF135"); - } - } + //if (sendUser == null) + //{ + // //找不到人只能给她自己做联系人员处理 + // sendNoticeRef = NotificationTaskService.InsertUserNoticeTaskModel("请联系你所在组织安全员绑定责任制岗位并上传责任状让你签订", TaskID, currUser.ORG_ID, currUser.ID, currUser.NAME, DateTime.Now, DateTime.Now.AddDays(7), (int)FMNoticeTypeEnum.今日提醒, "PF135"); + //} + //else + //{ + // var UserPost = GetEntity(currPerson.POST_ID.Value); + // string Title = "请为《" + currUser.NAME + ":" + UserPost.NAME + "》绑定责任制岗位并上传责任状,并让其签订"; + // var chaen = GetEntity(e => e.USER_ID == sendUser.ID && e.SOURCE_FORMCODE == "PF135" && e.NOTICE_TITLE == Title); + // if (chaen == null) + // { + // sendNoticeRef = NotificationTaskService.InsertUserNoticeTaskModel(Title, TaskID, currUser.ORG_ID, sendUser.ID, sendUser.NAME, DateTime.Now, DateTime.Now.AddDays(7), (int)FMNoticeTypeEnum.今日提醒, "PF135"); + // } + //} } } } diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SETrainRecordReportController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SETrainRecordReportController.cs index 25dc066..b66ea94 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SETrainRecordReportController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SETrainRecordReportController.cs @@ -12,6 +12,7 @@ using NPOI.XSSF.UserModel; using System.IO; using APT.Infrastructure.Api; using APT.BaseData.Domain.Enums; +using System.Linq.Expressions; namespace APT.SC.WebApi.Controllers.Api.SE { @@ -52,26 +53,102 @@ namespace APT.SC.WebApi.Controllers.Api.SE } } } - var listInfo = GetEntities(null, pageFilter).GroupBy(e => new { e.UNIT, e.DEPARTMENT_NAME, e.CODE, e.NAME, e.USER_ID, e.ORG_ID }).Select(e => new RECORD_REPORT { ORG_ID = e.Key.ORG_ID, UNIT = e.Key.UNIT, CODE = e.Key.CODE, USER_ID = e.Key.USER_ID, NAME = e.Key.NAME, DEPARTMENT_NAME = e.Key.DEPARTMENT_NAME, TRAIN_HOUR_ALL = e.Sum(t => t.TRAIN_HOUR) }).OrderBy(e => e.UNIT).ThenBy(e => e.DEPARTMENT_NAME).ThenBy(e => e.NAME); - var listDataT = listInfo.Skip(pageFilter.Start).Take(pageFilter.Limit).ToArray(); - var listData = new List(); - foreach (var item in listDataT) + //var listInfo = GetEntities(null, pageFilter).GroupBy(e => new { e.UNIT, e.DEPARTMENT_NAME, e.CODE, e.NAME, e.USER_ID, e.ORG_ID }).Select(e => new RECORD_REPORT { ORG_ID = e.Key.ORG_ID, UNIT = e.Key.UNIT, CODE = e.Key.CODE, USER_ID = e.Key.USER_ID, NAME = e.Key.NAME, DEPARTMENT_NAME = e.Key.DEPARTMENT_NAME, TRAIN_HOUR_ALL = e.Sum(t => t.TRAIN_HOUR) }); + //.OrderBy(e => e.UNIT).ThenBy(e => e.DEPARTMENT_NAME).ThenBy(e => e.NAME); + if (!pageFilter.SelectField.Contains("USER_ID")) + pageFilter.SelectField.Add("USER_ID"); + var listInfo = GetEntities(null, pageFilter); + KeywordPageFilter pageFilterUser = pageFilter; + var FilterGroup = pageFilter.FilterGroup; + FilterGroup.Groups = new List(); + var Rules = FilterGroup.Rules; + FilterGroup.Rules = new List(); + var Fn = Rules.FirstOrDefault(e => e.Field == "NAME"); + if (Fn != null) { + FilterGroup.Rules.Add(Fn); + } + Expression> expression = null; + if (Rules.Count > 0) + { + if (Rules.Count == 1 && Fn != null) + { + + } + else + { + var listUserID = listInfo.Where(e => e.USER_ID.HasValue).Select(e => e.USER_ID.Value); + if (listUserID != null && listUserID.Count() > 0) + { + expression = e => listUserID.Contains(e.ID); + } + } + } + pageFilterUser.FilterGroup = FilterGroup; + pageFilterUser.SelectField = new List(); + var listPageUser = this.GetOrderPageEntities(expression, pageFilterUser, "Nav_Department"); + var listUser = listPageUser.Data; + var listData = new List(); + List listTemp = null; + decimal TRAIN_HOUR_ALL = 0; + string UNIT = ""; + string DEPARTMENT_NAME = ""; + foreach (var item in listUser) + { + listTemp = listInfo.Where(e => e.USER_ID.HasValue && e.USER_ID.Value == item.ID).ToList(); + if (listTemp != null && listTemp.Count > 0) + { + UNIT = listTemp[0].UNIT; + TRAIN_HOUR_ALL = listTemp.Sum(e => e.TRAIN_HOUR); + } + else + { + UNIT = ""; + DEPARTMENT_NAME = ""; + TRAIN_HOUR_ALL = 0; + } listData.Add(new T_SE_TRAIN_RECORD_REPORT() { - UNIT = item.UNIT, - DEPARTMENT_NAME = item.DEPARTMENT_NAME, + UNIT = UNIT, + DEPARTMENT_NAME = (item.Nav_Department != null ? item.Nav_Department.NAME : DEPARTMENT_NAME), + TRAIN_HOUR = TRAIN_HOUR_ALL, CODE = item.CODE,//作为操作唯一标志 NAME = item.NAME, - USER_ID = item.USER_ID, - TRAIN_HOUR = item.TRAIN_HOUR_ALL, + USER_ID = item.ID, START_TIME_S = START_TIME_S, START_TIME_E = START_TIME_E, ORG_ID = item.ORG_ID }); } + result.TotalCount = listPageUser.TotalCount; result.Data = listData; - result.TotalCount = listInfo.Count(); + + + + + + + + //var listDataT = listInfo.Skip(pageFilter.Start).Take(pageFilter.Limit).ToArray(); + //var listData = new List(); + //foreach (var item in listDataT) + //{ + // listData.Add(new T_SE_TRAIN_RECORD_REPORT() + // { + // UNIT = item.UNIT, + // DEPARTMENT_NAME = item.DEPARTMENT_NAME, + // CODE = item.CODE,//作为操作唯一标志 + // NAME = item.NAME, + // USER_ID = item.USER_ID, + // TRAIN_HOUR = item.TRAIN_HOUR_ALL, + // START_TIME_S = START_TIME_S, + // START_TIME_E = START_TIME_E, + // ORG_ID = item.ORG_ID + // }); + //} + //result.Data = listData; + //result.TotalCount = listInfo.Count(); + }); //var allUser = WitOrderPaged(null, pageFilter);