1、培训教育统计 报表 三级安全教育 明细 时间按培训开始时间计算
2、三级安全教育 取消责任状 3、 培训教育统计报表 按人员列表统计
This commit is contained in:
parent
ec4c10bb0a
commit
56fba1f3b3
@ -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_SE_TRAIN_RECORD>(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" };
|
||||
|
||||
@ -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<T_FM_USER_POST>(currPerson.POST_ID.Value);
|
||||
string Title = "请为《" + currUser.NAME + ":" + UserPost.NAME + "》绑定责任制岗位并上传责任状,并让其签订";
|
||||
var chaen = GetEntity<T_FM_NOTIFICATION_TASK>(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<T_FM_USER_POST>(currPerson.POST_ID.Value);
|
||||
// string Title = "请为《" + currUser.NAME + ":" + UserPost.NAME + "》绑定责任制岗位并上传责任状,并让其签订";
|
||||
// var chaen = GetEntity<T_FM_NOTIFICATION_TASK>(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");
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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<T_SE_TRAIN_RECORD_REPORT>(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<T_SE_TRAIN_RECORD_REPORT>();
|
||||
foreach (var item in listDataT)
|
||||
//var listInfo = GetEntities<T_SE_TRAIN_RECORD_REPORT>(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<T_SE_TRAIN_RECORD_REPORT>(null, pageFilter);
|
||||
KeywordPageFilter pageFilterUser = pageFilter;
|
||||
var FilterGroup = pageFilter.FilterGroup;
|
||||
FilterGroup.Groups = new List<FilterGroup>();
|
||||
var Rules = FilterGroup.Rules;
|
||||
FilterGroup.Rules = new List<FilterRule>();
|
||||
var Fn = Rules.FirstOrDefault(e => e.Field == "NAME");
|
||||
if (Fn != null)
|
||||
{
|
||||
FilterGroup.Rules.Add(Fn);
|
||||
}
|
||||
Expression<Func<T_FM_USER, bool>> 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<string>();
|
||||
var listPageUser = this.GetOrderPageEntities<T_FM_USER>(expression, pageFilterUser, "Nav_Department");
|
||||
var listUser = listPageUser.Data;
|
||||
var listData = new List<T_SE_TRAIN_RECORD_REPORT>();
|
||||
List<T_SE_TRAIN_RECORD_REPORT> 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<T_SE_TRAIN_RECORD_REPORT>();
|
||||
//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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user