Merge branch 'master' of http://121.41.2.71:3000/wyw/mh_jy_safe
This commit is contained in:
commit
afc11ea268
@ -12341,8 +12341,15 @@ namespace APT.BaseData.Services.DomainServices
|
||||
var i = 1;
|
||||
foreach (var ite in measuresTemp)
|
||||
{
|
||||
var temp2 = i + "、" + ite + ";";
|
||||
ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2;
|
||||
var temp2 = i + "、" + ite;
|
||||
if (i == 1)
|
||||
{
|
||||
ideDetail.MEASURE = temp2;
|
||||
}
|
||||
else
|
||||
{
|
||||
ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1121,8 +1121,15 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
var i = 1;
|
||||
foreach (var ite in measuresTemp)
|
||||
{
|
||||
var temp2 = i + "、" + ite + ";";
|
||||
ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2;
|
||||
var temp2 = i + "、" + ite;
|
||||
if (i == 1)
|
||||
{
|
||||
ideDetail.MEASURE = temp2;
|
||||
}
|
||||
else
|
||||
{
|
||||
ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
@ -1364,8 +1371,15 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
var i = 1;
|
||||
foreach (var ite in measuresTemp)
|
||||
{
|
||||
var temp2 = i + "、" + ite + ";";
|
||||
ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2;
|
||||
var temp2 = i + "、" + ite;
|
||||
if (i == 1)
|
||||
{
|
||||
ideDetail.MEASURE = temp2;
|
||||
}
|
||||
else
|
||||
{
|
||||
ideDetail.MEASURE = ideDetail.MEASURE + Environment.NewLine + temp2;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
@ -4819,476 +4833,480 @@ namespace APT.PP.WebApi.Controllers.Api
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 触发安全检查通知(最新版)
|
||||
/// </summary>
|
||||
/// <param name="pageFilter"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("SafeCheckNoticeNeww")]
|
||||
public JsonActionResult<bool> SafeCheckNoticeNeww([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<bool>(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
var dtNow = DateTime.Now;
|
||||
var year = dtNow.Year;
|
||||
var month = dtNow.Month;
|
||||
var day = dtNow.Day;
|
||||
var week = dtNow.DayOfWeek;
|
||||
List<T_SK_PLAN_SET> setList = new List<T_SK_PLAN_SET>();
|
||||
//查配置表,有配才执行
|
||||
var timeSets = GetEntities<T_SK_PLAN_SET>(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList();
|
||||
if (timeSets != null && timeSets.Any())
|
||||
{
|
||||
foreach (var set in timeSets)
|
||||
{
|
||||
switch (set.CHECK_CYCLE)
|
||||
{
|
||||
case SKPLANCHECKFREQUENCYEnum.Year:
|
||||
if (set.MONTH == month && set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.HalfYear:
|
||||
if ((set.MONTH == month && set.DATA == day) || ((set.MONTH + 6) == month && (set.DATA + 183) == day))
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.Date:
|
||||
setList.Add(set);
|
||||
break;
|
||||
//case SKPLANCHECKFREQUENCYEnum.Class:
|
||||
// setList.Add(set);
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.Week:
|
||||
if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.Month:
|
||||
if (set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.Quarter:
|
||||
if (set.MONTH == 1)
|
||||
{
|
||||
if ((month == 1 || month == 4 || month == 7 || month == 10) && set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
}
|
||||
if (set.MONTH == 2)
|
||||
{
|
||||
if ((month == 2 || month == 5 || month == 8 || month == 11) && set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
}
|
||||
if (set.MONTH == 3)
|
||||
{
|
||||
if ((month == 3 || month == 6 || month == 9 || month == 12) && set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
|
||||
List<T_SK_SECURITY_INSPECTION_NOTICE> safeNotices = new List<T_SK_SECURITY_INSPECTION_NOTICE>();
|
||||
List<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL> safeDetialNotices = new List<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL>();
|
||||
List<T_SK_SECURITY_INSPECTION_RECORD> records = new List<T_SK_SECURITY_INSPECTION_RECORD>();
|
||||
List<T_SK_SECURITY_INSPECTION_RECORD_DETAIL> recordDetails = new List<T_SK_SECURITY_INSPECTION_RECORD_DETAIL>();
|
||||
List<T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER> recordDetailUsers = new List<T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER>();
|
||||
List<CheckListNew> list = new List<CheckListNew>();
|
||||
List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART> detailContents = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>();
|
||||
if (setList != null && setList.Any())
|
||||
{
|
||||
var checkTypes = this.GetEntities<T_SK_CHECK_TYPE>(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId));
|
||||
var checkTypeIds = checkTypes.Where(t => t.NAME == "岗位排查").Select(m => m.ID).ToList();
|
||||
var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_User");
|
||||
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && !t.CODE.Contains("admin") && t.Nav_Person != null, new BaseFilter(filter.OrgId), "Nav_Person", "Nav_ApproveRole");
|
||||
var checkCycles = setList.Select(t => t.CHECK_CYCLE).Distinct().ToList();
|
||||
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Area", "Nav_ProductionUnit").ToList();
|
||||
var libraryDetails = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList();
|
||||
var contents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Contents").ToList();
|
||||
var contentDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList();
|
||||
var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList();
|
||||
if (librarys != null && librarys.Any())
|
||||
{
|
||||
foreach (var item in librarys)
|
||||
{
|
||||
var libraryPost = posts.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList();
|
||||
var details = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList();
|
||||
var detailIds = details.Select(t => t.ID).ToList();
|
||||
var contentTemps = contents.Where(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID)).ToList();
|
||||
var contentTempIds = contentTemps.Select(t => t.ID).ToList();
|
||||
var contentDepartTemps = contentDeparts.Where(t => contentTempIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID)).ToList();
|
||||
if (contentDepartTemps != null && contentDepartTemps.Any())
|
||||
{
|
||||
foreach (var depart in contentDepartTemps)
|
||||
{
|
||||
var first = libraryPost.FirstOrDefault(t => t.DEPARTMENT_ID == depart.DEPARTMENT_ID)?.Nav_PostDetails?.Select(m => m.Nav_Post).OrderBy(n => n?.NAME).ToList();
|
||||
var contentFirst = contentTemps.FirstOrDefault(t => t.ID == depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID);
|
||||
if (first != null && first.Any())
|
||||
{
|
||||
foreach (var post in first)
|
||||
{
|
||||
//没角色的才取岗位
|
||||
var userRole = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == post?.ID).APPROVE_ROLE_ID;
|
||||
if (userRole == null)
|
||||
{
|
||||
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
|
||||
de.POST_NAME = post?.NAME;
|
||||
de.MineType = item.MineType;
|
||||
de.MINE_NAME = item.Nav_ProductionUnit?.NAME;
|
||||
de.AREA_NAME = item.Nav_Area?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID;
|
||||
de.ENTERPRISE_LIBRARY_ID = item.ID;
|
||||
de.TYPE_NAME = depart.Nav_CheckType?.NAME;
|
||||
de.DEPART_NAME = depart.Nav_Department?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
|
||||
de.CHECK_CYCLE = depart.CHECK_CYCLE;
|
||||
de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID;
|
||||
de.DEPARTMENT_ID = depart.DEPARTMENT_ID;
|
||||
de.CHECK_TYPE = depart.CHECK_TYPE;
|
||||
de.POST_ID = post?.ID;
|
||||
detailContents.Add(de);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
|
||||
de.POST_NAME = "未配置辨识岗位";
|
||||
de.MineType = item.MineType;
|
||||
de.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
|
||||
de.MINE_NAME = item.Nav_ProductionUnit?.NAME;
|
||||
de.AREA_NAME = item.Nav_Area?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID;
|
||||
de.ENTERPRISE_LIBRARY_ID = item.ID;
|
||||
de.TYPE_NAME = depart.Nav_CheckType?.NAME;
|
||||
de.DEPART_NAME = depart.Nav_Department?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
|
||||
de.CHECK_CYCLE = depart.CHECK_CYCLE;
|
||||
de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID;
|
||||
de.DEPARTMENT_ID = depart.DEPARTMENT_ID;
|
||||
de.CHECK_TYPE = depart.CHECK_TYPE;
|
||||
detailContents.Add(de);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (detailContents != null && detailContents.Any())
|
||||
{
|
||||
foreach (var item in contents)
|
||||
{
|
||||
var detailLib = libraryDetails.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_ID);
|
||||
var lib = librarys.FirstOrDefault(t => t.ID == detailLib?.ENTERPRISE_LIBRARY_ID);
|
||||
item.RISK_NAME = lib?.RISK_NAME;
|
||||
item.AREA_ID = lib?.AREA_ID;
|
||||
item.Nav_Area = lib?.Nav_Area;
|
||||
}
|
||||
foreach (var item in detailContents)
|
||||
{
|
||||
if (checkTypeIds != null && checkTypeIds.Any() && item.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.CHECK_TYPE_ID))
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (item.CHECK_TYPE == SKDepartmentTypeEnum.班组级)
|
||||
{
|
||||
item.POST_NAME = "班组负责人";
|
||||
}
|
||||
else if (item.CHECK_TYPE == SKDepartmentTypeEnum.车间级)
|
||||
{
|
||||
item.POST_NAME = "车间安全员";
|
||||
}
|
||||
else if (item.CHECK_TYPE == SKDepartmentTypeEnum.部门级)
|
||||
{
|
||||
item.POST_NAME = "部门安全员";
|
||||
}
|
||||
else
|
||||
{
|
||||
item.POST_NAME = "安环部安全员";
|
||||
}
|
||||
var user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.POST_NAME);
|
||||
if (user != null)
|
||||
{
|
||||
item.POST_ID = user.Nav_Person?.POST_ID;
|
||||
}
|
||||
}
|
||||
}
|
||||
var group = detailContents.Where(m => checkCycles.Contains(m.CHECK_CYCLE)).GroupBy(t => new { t.MineType,t.PRODUCTION_UNIT_ID, t.MINE_NAME,t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPART_NAME, t.DEPARTMENT_ID, t.CHECK_TYPE_ID, t.TYPE_NAME, t.POST_NAME, t.POST_ID }).ToList();
|
||||
foreach (var item in group)
|
||||
{
|
||||
CheckListNew listNew = new CheckListNew();
|
||||
listNew.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID;
|
||||
listNew.Cycle = item.Key.CHECK_CYCLE;
|
||||
listNew.DepartType = item.Key.CHECK_TYPE;
|
||||
listNew.MineType = item.Key.MINE_NAME;
|
||||
listNew.CheckType = item.Key.TYPE_NAME;
|
||||
listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription();
|
||||
listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription();
|
||||
listNew.Num = (int)item.Key.CHECK_TYPE;
|
||||
listNew.CheckDepart = item.Key.DEPART_NAME;
|
||||
listNew.CheckPostId = item.Key.POST_ID;
|
||||
listNew.CheckPost = item.Key.POST_NAME;
|
||||
listNew.CheckDepartId = item.Key.DEPARTMENT_ID;
|
||||
listNew.CheckTypeId = item.Key.CHECK_TYPE_ID;
|
||||
var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType && t.POST_NAME == item.Key.POST_NAME && t.POST_ID == item.Key.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList();
|
||||
var temps = contents.Where(t => depathaveIds.Contains(t.ID)).Distinct().ToList();
|
||||
if (temps.Any())
|
||||
{
|
||||
List<CheckListDetail> listDetail = new List<CheckListDetail>();
|
||||
foreach (var tem in temps)
|
||||
{
|
||||
CheckListDetail checkListDetail = new CheckListDetail();
|
||||
checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID;
|
||||
checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT;
|
||||
checkListDetail.RISK_NAME = tem.RISK_NAME;
|
||||
checkListDetail.RISK_AREA_ID = tem.AREA_ID;
|
||||
checkListDetail.RISK_AREA_NAME = tem.Nav_Area?.NAME;
|
||||
checkListDetail.CHECKPROOF = tem.CHECK_BASIC;
|
||||
checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD;
|
||||
listDetail.Add(checkListDetail);
|
||||
}
|
||||
listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList();
|
||||
}
|
||||
list.Add(listNew);
|
||||
}
|
||||
list = list.OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
|
||||
}
|
||||
DateTime dt = DateTime.Now;
|
||||
if (filter.Parameter1 != null)
|
||||
{
|
||||
dt = DateTime.Parse(filter.Parameter1);
|
||||
}
|
||||
DateTime minTime = dt.AddMinutes(0);
|
||||
DateTime maxTime = dt.AddMinutes(60);
|
||||
var shiftClassList = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING>(s => s.START_TIME > minTime && s.START_TIME <= maxTime && s.START_TIME != s.END_TIME && s.Nav_Team.ENABLE_STATUS == 0 && s.TEAM_ID != null, new BaseFilter(filter.OrgId), "Nav_DepartmentSchedulingDetail.Nav_Person").ToList();
|
||||
var teamIds = shiftClassList.Select(t => t.TEAM_ID).Distinct().ToList();
|
||||
var teamInfos = this.GetEntities<T_FM_TEAM>(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId));
|
||||
var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList();
|
||||
var personIds = new List<Guid>();
|
||||
if (shiftClassList != null && shiftClassList.Any())
|
||||
{
|
||||
foreach (var item in shiftClassList)
|
||||
{
|
||||
if (item.Nav_DepartmentSchedulingDetail != null && item.Nav_DepartmentSchedulingDetail.Any())
|
||||
{
|
||||
var ids = item.Nav_DepartmentSchedulingDetail.Select(t => t.PERSON_ID).Distinct().ToList();
|
||||
personIds.AddRange(ids);
|
||||
}
|
||||
}
|
||||
}
|
||||
var baseFilter = new BaseFilter(filter.GetOrgId());
|
||||
baseFilter.IgnoreDataRule = true;
|
||||
baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; //指定字段,包括导航属性
|
||||
Expression<Func<T_SK_SECURITY_INSPECTION_NOTICE, bool>> expression = i => i.IS_DELETED == false && i.CREATE_TIME.Value.Date == dt.Date;
|
||||
List<T_SK_SECURITY_INSPECTION_NOTICE> noticeExsiss = this.GetOrderEntities(expression, baseFilter).ToList();
|
||||
//取岗位排查表
|
||||
var postCheckList = list.Where(t => t.CheckTypeId != null && checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList();
|
||||
if (postCheckList != null && postCheckList.Any())
|
||||
{
|
||||
foreach (var item in postCheckList)
|
||||
{
|
||||
//触发安全检查记录给对应的岗位工(有排班才触发)
|
||||
var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.Nav_Person != null && t.Nav_Person.POST_ID == item.CheckPostId);
|
||||
if (userInfo != null)
|
||||
{
|
||||
T_SK_SECURITY_INSPECTION_RECORD record = new T_SK_SECURITY_INSPECTION_RECORD();
|
||||
record.ORG_ID = filter.OrgId;
|
||||
record.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID;
|
||||
record.APPLY_USER_ID = userInfo.ID;
|
||||
record.MineType = item.Mine;
|
||||
record.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
|
||||
record.CHECK_TYPE_ID = item.CheckTypeId;
|
||||
record.PLANCHECKFREQUENCY = item.Cycle;
|
||||
record.DEPARTMENT_TYPE = item.DepartType;
|
||||
record.STATUS = PFStandardStatus.Draft;
|
||||
record.ISAUTO = true;
|
||||
records.Add(record);
|
||||
if (item.details != null && item.details.Any())
|
||||
{
|
||||
foreach (var item2 in item.details)
|
||||
{
|
||||
var i = 1;
|
||||
//var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID);
|
||||
//if (repeat == null)
|
||||
{
|
||||
T_SK_SECURITY_INSPECTION_RECORD_DETAIL detail = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL();
|
||||
detail.ORG_ID = filter.OrgId;
|
||||
detail.SECURITY_INSPECTION_RECORD_ID = record.ID;
|
||||
detail.RISK_AREA_ID = item2.RISK_AREA_ID;
|
||||
detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
|
||||
detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME;
|
||||
detail.CHECKPROOF = item2.CHECKPROOF;
|
||||
detail.CHECKSTANDARD = item2.CHECKSTANDARD;
|
||||
detail.NUM = i;
|
||||
recordDetails.Add(detail);
|
||||
i++;
|
||||
T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER deUser = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER();
|
||||
deUser.ORG_ID = filter.OrgId;
|
||||
deUser.SECURITY_INSPECTION_RECORD_DETAIL_ID = detail.ID;
|
||||
deUser.USER_ID = userInfo.ID;
|
||||
deUser.ISMAINCHECK = true;
|
||||
recordDetailUsers.Add(deUser);
|
||||
}
|
||||
}
|
||||
}
|
||||
var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0');
|
||||
var endtime = DateTime.Now.AddHours(24);
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week)
|
||||
{
|
||||
endtime = DateTime.Now.AddDays(7);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(1);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(6);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(12);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(3);
|
||||
}
|
||||
var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "岗位排查记录" + date, record.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK010");
|
||||
notices.Add(notice);
|
||||
}
|
||||
}
|
||||
}
|
||||
//取非岗位排查
|
||||
var checkList = list.Where(t => t.CheckTypeId != null && !checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList();
|
||||
if (checkList != null && checkList.Any())
|
||||
{
|
||||
foreach (var item in checkList)
|
||||
{
|
||||
var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost);
|
||||
//触发安全检查通知给对应的审批角色
|
||||
if (item.CheckPost == "安环部安全员")
|
||||
{
|
||||
userInfo = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost);
|
||||
}
|
||||
if (item.CheckPost == "班组负责人")
|
||||
{
|
||||
//判断排班
|
||||
userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost);
|
||||
}
|
||||
if (userInfo == null)
|
||||
{
|
||||
userInfo = departs.FirstOrDefault(t => t.ID == (Guid)item.CheckDepartId)?.Nav_User;
|
||||
}
|
||||
if (userInfo != null)
|
||||
{
|
||||
var setTime = setList.FirstOrDefault(t => t.MineType == item.Mine && t.CHECK_CYCLE == item.Cycle && t.CHECKTIME.Value.Hour == dt.Hour);
|
||||
if (item.CheckPost != "班组负责人" && setTime == null)
|
||||
/// <summary>
|
||||
/// 触发安全检查通知(最新版)
|
||||
/// </summary>
|
||||
/// <param name="pageFilter"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost, Route("SafeCheckNoticeNeww")]
|
||||
public JsonActionResult<bool> SafeCheckNoticeNeww([FromBody] KeywordFilter filter)
|
||||
{
|
||||
return SafeExecute<bool>(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
var dtNow = DateTime.Now;
|
||||
var year = dtNow.Year;
|
||||
var month = dtNow.Month;
|
||||
var day = dtNow.Day;
|
||||
var week = dtNow.DayOfWeek;
|
||||
List<T_SK_PLAN_SET> setList = new List<T_SK_PLAN_SET>();
|
||||
//查配置表,有配才执行
|
||||
var timeSets = GetEntities<T_SK_PLAN_SET>(i => i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId)).ToList();
|
||||
if (timeSets != null && timeSets.Any())
|
||||
{
|
||||
foreach (var set in timeSets)
|
||||
{
|
||||
switch (set.CHECK_CYCLE)
|
||||
{
|
||||
case SKPLANCHECKFREQUENCYEnum.Year:
|
||||
if (set.MONTH == month && set.DATA == day)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
T_SK_SECURITY_INSPECTION_NOTICE safeNotice = new T_SK_SECURITY_INSPECTION_NOTICE();
|
||||
safeNotice.ORG_ID = filter.OrgId;
|
||||
safeNotice.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID;
|
||||
safeNotice.APPLY_USER_ID = userInfo.ID;
|
||||
safeNotice.MineType = item.Mine;
|
||||
safeNotice.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
|
||||
safeNotice.CHECK_TYPE_ID = item.CheckTypeId;
|
||||
safeNotice.PLANCHECKFREQUENCY = item.Cycle;
|
||||
safeNotice.DEPARTMENT_TYPE = item.DepartType;
|
||||
safeNotice.STATUS = PFStandardStatus.Draft;
|
||||
safeNotice.ISAUTO = true;
|
||||
safeNotices.Add(safeNotice);
|
||||
if (item.details != null && item.details.Any())
|
||||
{
|
||||
foreach (var item2 in item.details)
|
||||
{
|
||||
var i = 1;
|
||||
//var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID);
|
||||
//if (repeat == null)
|
||||
{
|
||||
T_SK_SECURITY_INSPECTION_NOTICE_DETAIL detail = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL();
|
||||
detail.ORG_ID = filter.OrgId;
|
||||
detail.SECURITY_INSPECTION_NOTICE_ID = safeNotice.ID;
|
||||
detail.RISK_AREA_ID = item2.RISK_AREA_ID;
|
||||
detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
|
||||
detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME;
|
||||
detail.CHECKPROOF = item2.CHECKPROOF;
|
||||
detail.CHECKSTANDARD = item2.CHECKSTANDARD;
|
||||
detail.NUM = i;
|
||||
safeDetialNotices.Add(detail);
|
||||
}
|
||||
}
|
||||
}
|
||||
var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0');
|
||||
var endtime = DateTime.Now.AddHours(24);
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week)
|
||||
{
|
||||
endtime = DateTime.Now.AddDays(7);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(1);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(6);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(12);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(3);
|
||||
}
|
||||
var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "安全检查通知" + date, safeNotice.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK006");
|
||||
notices.Add(notice);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
if (notices != null && notices.Any())
|
||||
BantchSaveEntityNoCommit(notices);
|
||||
if (safeNotices != null && safeNotices.Any())
|
||||
BantchSaveEntityNoCommit(safeNotices);
|
||||
if (safeDetialNotices != null && safeDetialNotices.Any())
|
||||
BantchSaveEntityNoCommit(safeDetialNotices);
|
||||
if (records != null && records.Any())
|
||||
BantchSaveEntityNoCommit(records);
|
||||
if (recordDetails != null && recordDetails.Any())
|
||||
BantchSaveEntityNoCommit(recordDetails);
|
||||
if (recordDetailUsers != null && recordDetailUsers.Any())
|
||||
BantchSaveEntityNoCommit(recordDetailUsers);
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(ex.StackTrace))
|
||||
throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
|
||||
else
|
||||
throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
setList.Add(set);
|
||||
}
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.HalfYear:
|
||||
if ((set.MONTH == month && set.DATA == day) || ((set.MONTH + 6) == month && (set.DATA + 183) == day))
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.Date:
|
||||
setList.Add(set);
|
||||
break;
|
||||
//case SKPLANCHECKFREQUENCYEnum.Class:
|
||||
// setList.Add(set);
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.Week:
|
||||
if (set.WEEKDATA != null && (int)set.WEEKDATA.Value == (int)week)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.Month:
|
||||
if (set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
break;
|
||||
case SKPLANCHECKFREQUENCYEnum.Quarter:
|
||||
if (set.MONTH == 1)
|
||||
{
|
||||
if ((month == 1 || month == 4 || month == 7 || month == 10) && set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
}
|
||||
if (set.MONTH == 2)
|
||||
{
|
||||
if ((month == 2 || month == 5 || month == 8 || month == 11) && set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
}
|
||||
if (set.MONTH == 3)
|
||||
{
|
||||
if ((month == 3 || month == 6 || month == 9 || month == 12) && set.DATA == day)
|
||||
{
|
||||
setList.Add(set);
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
|
||||
List<T_SK_SECURITY_INSPECTION_NOTICE> safeNotices = new List<T_SK_SECURITY_INSPECTION_NOTICE>();
|
||||
List<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL> safeDetialNotices = new List<T_SK_SECURITY_INSPECTION_NOTICE_DETAIL>();
|
||||
List<T_SK_SECURITY_INSPECTION_RECORD> records = new List<T_SK_SECURITY_INSPECTION_RECORD>();
|
||||
List<T_SK_SECURITY_INSPECTION_RECORD_DETAIL> recordDetails = new List<T_SK_SECURITY_INSPECTION_RECORD_DETAIL>();
|
||||
List<T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER> recordDetailUsers = new List<T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER>();
|
||||
List<CheckListNew> list = new List<CheckListNew>();
|
||||
List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART> detailContents = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>();
|
||||
if (setList != null && setList.Any())
|
||||
{
|
||||
var checkTypes = this.GetEntities<T_SK_CHECK_TYPE>(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId));
|
||||
var checkTypeIds = checkTypes.Where(t => t.NAME == "岗位排查").Select(m => m.ID).ToList();
|
||||
var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_User");
|
||||
var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0 && t.DEPARTMENT_ID != null && !t.CODE.Contains("admin") && t.Nav_Person != null, new BaseFilter(filter.OrgId), "Nav_Person", "Nav_ApproveRole");
|
||||
var checkCycles = setList.Select(t => t.CHECK_CYCLE).Distinct().ToList();
|
||||
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Area").ToList();
|
||||
var libraryDetails = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList();
|
||||
var contents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Contents").ToList();
|
||||
var contentDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList();
|
||||
var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList();
|
||||
if (librarys != null && librarys.Any())
|
||||
{
|
||||
foreach (var item in librarys)
|
||||
{
|
||||
var libraryPost = posts.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList();
|
||||
var details = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList();
|
||||
var detailIds = details.Select(t => t.ID).ToList();
|
||||
var contentTemps = contents.Where(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID)).ToList();
|
||||
var contentTempIds = contentTemps.Select(t => t.ID).ToList();
|
||||
var contentDepartTemps = contentDeparts.Where(t => contentTempIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID)).ToList();
|
||||
if (contentDepartTemps != null && contentDepartTemps.Any())
|
||||
{
|
||||
foreach (var depart in contentDepartTemps)
|
||||
{
|
||||
var first = libraryPost.FirstOrDefault(t => t.DEPARTMENT_ID == depart.DEPARTMENT_ID)?.Nav_PostDetails?.Select(m => m.Nav_Post).OrderBy(n => n?.NAME).ToList();
|
||||
var contentFirst = contentTemps.FirstOrDefault(t => t.ID == depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID);
|
||||
if (first != null && first.Any())
|
||||
{
|
||||
foreach (var post in first)
|
||||
{
|
||||
//没角色的才取岗位
|
||||
var userRole = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID != null && t.Nav_Person.POST_ID == post?.ID);
|
||||
if (userRole == null || (userRole != null && userRole.APPROVE_ROLE_ID == null))
|
||||
{
|
||||
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
|
||||
de.POST_NAME = post?.NAME;
|
||||
de.MineType = item.MineType;
|
||||
de.AREA_NAME = item.Nav_Area?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID;
|
||||
de.ENTERPRISE_LIBRARY_ID = item.ID;
|
||||
de.TYPE_NAME = depart.Nav_CheckType?.NAME;
|
||||
de.DEPART_NAME = depart.Nav_Department?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
|
||||
de.CHECK_CYCLE = depart.CHECK_CYCLE;
|
||||
de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID;
|
||||
de.DEPARTMENT_ID = depart.DEPARTMENT_ID;
|
||||
de.CHECK_TYPE = depart.CHECK_TYPE;
|
||||
de.POST_ID = post?.ID;
|
||||
detailContents.Add(de);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
|
||||
de.POST_NAME = "未配置辨识岗位";
|
||||
de.MineType = item.MineType;
|
||||
de.AREA_NAME = item.Nav_Area?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID;
|
||||
de.ENTERPRISE_LIBRARY_ID = item.ID;
|
||||
de.TYPE_NAME = depart.Nav_CheckType?.NAME;
|
||||
de.DEPART_NAME = depart.Nav_Department?.NAME;
|
||||
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
|
||||
de.CHECK_CYCLE = depart.CHECK_CYCLE;
|
||||
de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID;
|
||||
de.DEPARTMENT_ID = depart.DEPARTMENT_ID;
|
||||
de.CHECK_TYPE = depart.CHECK_TYPE;
|
||||
detailContents.Add(de);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (detailContents != null && detailContents.Any())
|
||||
{
|
||||
foreach (var item in contents)
|
||||
{
|
||||
var detailLib = libraryDetails.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_ID);
|
||||
var lib = librarys.FirstOrDefault(t => t.ID == detailLib?.ENTERPRISE_LIBRARY_ID);
|
||||
item.RISK_NAME = lib?.RISK_NAME;
|
||||
item.AREA_ID = lib?.AREA_ID;
|
||||
item.Nav_Area = lib?.Nav_Area;
|
||||
}
|
||||
foreach (var item in detailContents)
|
||||
{
|
||||
if (checkTypeIds != null && checkTypeIds.Any() && item.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.CHECK_TYPE_ID))
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (item.CHECK_TYPE == SKDepartmentTypeEnum.班组级)
|
||||
{
|
||||
item.POST_NAME = "班组负责人";
|
||||
}
|
||||
else if (item.CHECK_TYPE == SKDepartmentTypeEnum.车间级)
|
||||
{
|
||||
item.POST_NAME = "车间安全员";
|
||||
}
|
||||
else if (item.CHECK_TYPE == SKDepartmentTypeEnum.部门级)
|
||||
{
|
||||
item.POST_NAME = "部门安全员";
|
||||
}
|
||||
else
|
||||
{
|
||||
item.POST_NAME = "安环部安全员";
|
||||
}
|
||||
var user = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.POST_NAME);
|
||||
if (user != null)
|
||||
{
|
||||
item.POST_ID = user.Nav_Person?.POST_ID;
|
||||
}
|
||||
}
|
||||
}
|
||||
var group = detailContents.Where(m => checkCycles.Contains(m.CHECK_CYCLE)).GroupBy(t => new { t.MineType, t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPART_NAME, t.DEPARTMENT_ID, t.CHECK_TYPE_ID, t.TYPE_NAME, t.POST_NAME, t.POST_ID }).ToList();
|
||||
foreach (var item in group)
|
||||
{
|
||||
CheckListNew listNew = new CheckListNew();
|
||||
listNew.Mine = item.Key.MineType;
|
||||
listNew.Cycle = item.Key.CHECK_CYCLE;
|
||||
listNew.DepartType = item.Key.CHECK_TYPE;
|
||||
listNew.MineType = item.Key.MineType.GetDescription();
|
||||
listNew.CheckType = item.Key.TYPE_NAME;
|
||||
listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription();
|
||||
listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription();
|
||||
listNew.Num = (int)item.Key.CHECK_TYPE;
|
||||
listNew.CheckDepart = item.Key.DEPART_NAME;
|
||||
listNew.CheckPostId = item.Key.POST_ID;
|
||||
listNew.CheckPost = item.Key.POST_NAME;
|
||||
listNew.CheckDepartId = item.Key.DEPARTMENT_ID;
|
||||
listNew.CheckTypeId = item.Key.CHECK_TYPE_ID;
|
||||
var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType && t.POST_NAME == item.Key.POST_NAME && t.POST_ID == item.Key.POST_ID).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList();
|
||||
var temps = contents.Where(t => depathaveIds.Contains(t.ID)).Distinct().ToList();
|
||||
if (temps.Any())
|
||||
{
|
||||
List<CheckListDetail> listDetail = new List<CheckListDetail>();
|
||||
foreach (var tem in temps)
|
||||
{
|
||||
CheckListDetail checkListDetail = new CheckListDetail();
|
||||
checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID;
|
||||
checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT;
|
||||
checkListDetail.RISK_NAME = tem.RISK_NAME;
|
||||
checkListDetail.RISK_AREA_ID = tem.AREA_ID;
|
||||
checkListDetail.RISK_AREA_NAME = tem.Nav_Area?.NAME;
|
||||
checkListDetail.CHECKPROOF = tem.CHECK_BASIC;
|
||||
checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD;
|
||||
listDetail.Add(checkListDetail);
|
||||
}
|
||||
listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList();
|
||||
}
|
||||
list.Add(listNew);
|
||||
}
|
||||
list = list.Where(m => m.CheckDepartId != null).OrderBy(y => y.MineType).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
|
||||
}
|
||||
DateTime dt = DateTime.Now;
|
||||
if (filter.Parameter1 != null)
|
||||
{
|
||||
dt = DateTime.Parse(filter.Parameter1);
|
||||
}
|
||||
DateTime minTime = dt.AddMinutes(0);
|
||||
DateTime maxTime = dt.AddMinutes(60);
|
||||
var shiftClassList = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING>(s => s.START_TIME > minTime && s.START_TIME <= maxTime && s.START_TIME != s.END_TIME && s.Nav_Team.ENABLE_STATUS == 0 && s.TEAM_ID != null, new BaseFilter(filter.OrgId), "Nav_DepartmentSchedulingDetail.Nav_Person").ToList();
|
||||
var teamIds = shiftClassList.Select(t => t.TEAM_ID).Distinct().ToList();
|
||||
var teamInfos = this.GetEntities<T_FM_TEAM>(t => teamIds.Contains(t.ID), new BaseFilter(filter.OrgId));
|
||||
var teamDepartIds = teamInfos.Select(m => m.DEPARTMENT_ID).Distinct().ToList();
|
||||
var personIds = new List<Guid>();
|
||||
if (shiftClassList != null && shiftClassList.Any())
|
||||
{
|
||||
foreach (var item in shiftClassList)
|
||||
{
|
||||
if (item.Nav_DepartmentSchedulingDetail != null && item.Nav_DepartmentSchedulingDetail.Any())
|
||||
{
|
||||
var ids = item.Nav_DepartmentSchedulingDetail.Select(t => t.PERSON_ID).Distinct().ToList();
|
||||
personIds.AddRange(ids);
|
||||
}
|
||||
}
|
||||
}
|
||||
var baseFilter = new BaseFilter(filter.GetOrgId());
|
||||
baseFilter.IgnoreDataRule = true;
|
||||
baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" }; //指定字段,包括导航属性
|
||||
Expression<Func<T_SK_SECURITY_INSPECTION_NOTICE, bool>> expression = i => i.IS_DELETED == false && i.CREATE_TIME > minTime && i.CREATE_TIME <= maxTime;
|
||||
List<T_SK_SECURITY_INSPECTION_NOTICE> noticeExsiss = this.GetOrderEntities(expression, baseFilter).ToList();
|
||||
baseFilter.SelectField = new string[] { "MineType", "CHECK_TYPE_ID", "APPLY_DEPARTMENT_ID", "APPLY_USER_ID", "PLANCHECKFREQUENCY", "DEPARTMENT_TYPE" };
|
||||
Expression<Func<T_SK_SECURITY_INSPECTION_RECORD, bool>> expressionR = i => i.IS_DELETED == false && i.CREATE_TIME > minTime && i.CREATE_TIME <= maxTime;
|
||||
List<T_SK_SECURITY_INSPECTION_RECORD> recordExsiss = this.GetOrderEntities(expressionR, baseFilter).ToList();
|
||||
//取岗位排查表
|
||||
var postCheckList = list.Where(t => t.CheckTypeId != null && checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList();
|
||||
if (postCheckList != null && postCheckList.Any())
|
||||
{
|
||||
foreach (var item in postCheckList)
|
||||
{
|
||||
//触发安全检查记录给对应的岗位工(有排班才触发)
|
||||
var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.PERSON_ID != null && personIds.Contains((Guid)t.PERSON_ID) && t.Nav_Person != null && t.Nav_Person.POST_ID == item.CheckPostId);
|
||||
if (userInfo != null)
|
||||
{
|
||||
//判断是否重复触发
|
||||
var exist = recordExsiss.FirstOrDefault(t => t.APPLY_USER_ID == userInfo.ID && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle);
|
||||
if (exist == null)
|
||||
{
|
||||
T_SK_SECURITY_INSPECTION_RECORD record = new T_SK_SECURITY_INSPECTION_RECORD();
|
||||
record.ORG_ID = filter.OrgId;
|
||||
record.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID;
|
||||
record.APPLY_USER_ID = userInfo.ID;
|
||||
record.MineType = item.Mine;
|
||||
record.CHECK_TYPE_ID = item.CheckTypeId;
|
||||
record.PLANCHECKFREQUENCY = item.Cycle;
|
||||
record.DEPARTMENT_TYPE = item.DepartType;
|
||||
record.STATUS = PFStandardStatus.Draft;
|
||||
record.ISAUTO = true;
|
||||
records.Add(record);
|
||||
if (item.details != null && item.details.Any())
|
||||
{
|
||||
foreach (var item2 in item.details)
|
||||
{
|
||||
var i = 1;
|
||||
//var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID);
|
||||
//if (repeat == null)
|
||||
{
|
||||
T_SK_SECURITY_INSPECTION_RECORD_DETAIL detail = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL();
|
||||
detail.ORG_ID = filter.OrgId;
|
||||
detail.SECURITY_INSPECTION_RECORD_ID = record.ID;
|
||||
detail.RISK_AREA_ID = item2.RISK_AREA_ID;
|
||||
detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
|
||||
detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME;
|
||||
detail.CHECKPROOF = item2.CHECKPROOF;
|
||||
detail.CHECKSTANDARD = item2.CHECKSTANDARD;
|
||||
detail.NUM = i;
|
||||
recordDetails.Add(detail);
|
||||
i++;
|
||||
T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER deUser = new T_SK_SECURITY_INSPECTION_RECORD_DETAIL_USER();
|
||||
deUser.ORG_ID = filter.OrgId;
|
||||
deUser.SECURITY_INSPECTION_RECORD_DETAIL_ID = detail.ID;
|
||||
deUser.USER_ID = userInfo.ID;
|
||||
deUser.ISMAINCHECK = true;
|
||||
recordDetailUsers.Add(deUser);
|
||||
}
|
||||
}
|
||||
}
|
||||
var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0');
|
||||
var endtime = DateTime.Now.AddHours(24);
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week)
|
||||
{
|
||||
endtime = DateTime.Now.AddDays(7);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(1);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(6);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(12);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(3);
|
||||
}
|
||||
var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "岗位排查记录" + date, record.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK010");
|
||||
notices.Add(notice);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//取非岗位排查
|
||||
var checkList = list.Where(t => t.CheckTypeId != null && !checkTypeIds.Contains((Guid)t.CheckTypeId)).ToList();
|
||||
if (checkList != null && checkList.Any())
|
||||
{
|
||||
foreach (var item in checkList)
|
||||
{
|
||||
var setTime = setList.FirstOrDefault(t => t.MineType == item.Mine && t.CHECK_CYCLE == item.Cycle);
|
||||
var userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost);
|
||||
//触发安全检查通知给对应的审批角色
|
||||
if (item.CheckPost == "安环部安全员")
|
||||
{
|
||||
userInfo = users.FirstOrDefault(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost);
|
||||
}
|
||||
if (item.CheckPost == "班组负责人")
|
||||
{
|
||||
//判断排班
|
||||
userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.CheckDepartId && teamDepartIds.Contains(t.DEPARTMENT_ID) && t.PERSON_ID != null && personIds.Contains((Guid)t.PERSON_ID) && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.CheckPost);
|
||||
}
|
||||
if (userInfo == null && item.CheckDepartId != null && item.CheckPost != "班组负责人")
|
||||
{
|
||||
userInfo = departs.FirstOrDefault(t => t.ID == (Guid)item.CheckDepartId)?.Nav_User;
|
||||
}
|
||||
if (userInfo != null)
|
||||
{
|
||||
//判断是否重复触发
|
||||
var exist = noticeExsiss.FirstOrDefault(t => t.APPLY_USER_ID == userInfo.ID && t.CHECK_TYPE_ID == item.CheckTypeId && t.PLANCHECKFREQUENCY == item.Cycle);
|
||||
if ((exist == null && item.CheckPost == "班组负责人") || (exist == null && item.CheckPost != "班组负责人" && setTime != null && dtNow.Hour == setTime.CHECKTIME.Value.Hour))
|
||||
{
|
||||
T_SK_SECURITY_INSPECTION_NOTICE safeNotice = new T_SK_SECURITY_INSPECTION_NOTICE();
|
||||
safeNotice.ORG_ID = filter.OrgId;
|
||||
safeNotice.APPLY_DEPARTMENT_ID = userInfo.DEPARTMENT_ID;
|
||||
safeNotice.APPLY_USER_ID = userInfo.ID;
|
||||
safeNotice.MineType = item.Mine;
|
||||
safeNotice.CHECK_TYPE_ID = item.CheckTypeId;
|
||||
safeNotice.PLANCHECKFREQUENCY = item.Cycle;
|
||||
safeNotice.DEPARTMENT_TYPE = item.DepartType;
|
||||
safeNotice.STATUS = PFStandardStatus.Draft;
|
||||
safeNotice.ISAUTO = true;
|
||||
safeNotices.Add(safeNotice);
|
||||
if (item.details != null && item.details.Any())
|
||||
{
|
||||
foreach (var item2 in item.details)
|
||||
{
|
||||
var i = 1;
|
||||
//var repeat = safeDetialNotices.FirstOrDefault(t => t.SECURITY_INSPECTION_NOTICE_ID == safeNotice.ID && t.RISK_AREA_ID == item2.AREA_ID && t.CHECK_CONTENTS_ID == item2.CHECK_CONTENTS_ID);
|
||||
//if (repeat == null)
|
||||
{
|
||||
T_SK_SECURITY_INSPECTION_NOTICE_DETAIL detail = new T_SK_SECURITY_INSPECTION_NOTICE_DETAIL();
|
||||
detail.ORG_ID = filter.OrgId;
|
||||
detail.SECURITY_INSPECTION_NOTICE_ID = safeNotice.ID;
|
||||
detail.RISK_AREA_ID = item2.RISK_AREA_ID;
|
||||
detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
|
||||
detail.CHECKCONTENT = item2.CHECK_CONTENTS_NAME;
|
||||
detail.CHECKPROOF = item2.CHECKPROOF;
|
||||
detail.CHECKSTANDARD = item2.CHECKSTANDARD;
|
||||
detail.NUM = i;
|
||||
safeDetialNotices.Add(detail);
|
||||
}
|
||||
}
|
||||
}
|
||||
var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0');
|
||||
var endtime = DateTime.Now.AddHours(24);
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Week)
|
||||
{
|
||||
endtime = DateTime.Now.AddDays(7);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Month)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(1);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.HalfYear)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(6);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Year)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(12);
|
||||
}
|
||||
if (item.Cycle == SKPLANCHECKFREQUENCYEnum.Quarter)
|
||||
{
|
||||
endtime = DateTime.Now.AddMonths(3);
|
||||
}
|
||||
var notice = NotificationTaskService.InsertUserNoticeTaskModel(item.CheckCycle + "安全检查通知" + date, safeNotice.ID, filter.OrgId, userInfo.ID, userInfo.NAME, DateTime.Now, endtime, (int)FMNoticeTypeEnum.消息, "SK006");
|
||||
notices.Add(notice);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
UnifiedCommit(() =>
|
||||
{
|
||||
if (notices != null && notices.Any())
|
||||
BantchSaveEntityNoCommit(notices);
|
||||
if (safeNotices != null && safeNotices.Any())
|
||||
BantchSaveEntityNoCommit(safeNotices);
|
||||
if (safeDetialNotices != null && safeDetialNotices.Any())
|
||||
BantchSaveEntityNoCommit(safeDetialNotices);
|
||||
if (records != null && records.Any())
|
||||
BantchSaveEntityNoCommit(records);
|
||||
if (recordDetails != null && recordDetails.Any())
|
||||
BantchSaveEntityNoCommit(recordDetails);
|
||||
if (recordDetailUsers != null && recordDetailUsers.Any())
|
||||
BantchSaveEntityNoCommit(recordDetailUsers);
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(ex.StackTrace))
|
||||
throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
|
||||
else
|
||||
throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2305,7 +2305,9 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
[HttpPost, Route("GetCheckListNew")]
|
||||
public JsonActionResult<List<CheckListNew>> GetCheckListNew([FromBody] KeywordFilter filter)
|
||||
{
|
||||
var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
|
||||
var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
|
||||
var loginUser = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
|
||||
var userInfo = this.GetEntity<T_FM_USER>(t => t.ID == loginUser);
|
||||
var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
|
||||
List<string> selectMinetype = new List<string>();
|
||||
var minetype = departs.FirstOrDefault(t => t.ID == loginDepart)?.MineType;
|
||||
@ -2485,7 +2487,14 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
}
|
||||
list.Add(listNew);
|
||||
}
|
||||
checkList.Data = list.Where(t => selectMinetype.Contains(t.MineType)).OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
|
||||
if (userInfo != null && userInfo.NAME.Contains("管理员"))
|
||||
{
|
||||
checkList.Data = list.OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
|
||||
}
|
||||
else
|
||||
{
|
||||
checkList.Data = list.Where(t => selectMinetype.Contains(t.MineType)).OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
|
||||
}
|
||||
checkList.TotalCount = checkList.Data.Count;
|
||||
}
|
||||
return checkList;
|
||||
|
||||
@ -109,7 +109,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
if (hiddenLevel == SKHiddenLevel.General)
|
||||
{
|
||||
var departmentType = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE;
|
||||
level = Enum.GetName(typeof(FMDepartmentType), departmentType);
|
||||
level = Enum.GetName(typeof(SKDepartmentTypeEnum), departmentType);
|
||||
}
|
||||
//触发审批
|
||||
entity.STATUS = PFStandardStatus.Approving;
|
||||
|
||||
@ -54,7 +54,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
if (hiddenLevel == SKHiddenLevel.General)
|
||||
{
|
||||
var departmentType = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE;
|
||||
param = Enum.GetName(typeof(FMDepartmentType), departmentType);
|
||||
param = Enum.GetName(typeof(SKDepartmentTypeEnum), departmentType);
|
||||
}
|
||||
entity.STATUS = PFStandardStatus.Approving;
|
||||
//取审批流水码
|
||||
|
||||
@ -178,7 +178,7 @@ namespace APT.SK.WebApi.Controllers
|
||||
if (entity.HIDDEN_LEVEL == SKHiddenLevel.General)
|
||||
{
|
||||
var departmentType = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE;
|
||||
param = Enum.GetName(typeof(FMDepartmentType), departmentType);
|
||||
param = Enum.GetName(typeof(SKDepartmentTypeEnum), departmentType);
|
||||
}
|
||||
MFlowPermitService.InsertApprove(serialCode[0], "SK022", param, entity.ID, "SK022_SHOWPRINT", entity.TaskID, true, () =>
|
||||
{
|
||||
|
||||
@ -106,7 +106,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
var department = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0);
|
||||
if (department != null)
|
||||
{
|
||||
if (department.DEPARTMENT_TYPE == 3 || (department.NAME.Contains("安全环保") && department.DEPARTMENT_TYPE == 0))
|
||||
if (department.DEPARTMENT_TYPE == 5 || (department.NAME.Contains("安全环保") && department.DEPARTMENT_TYPE == 10))
|
||||
{ param = "公司"; }
|
||||
}
|
||||
entity.STATUS = PFStandardStatus.Approving;
|
||||
|
||||
@ -167,7 +167,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
|
||||
{
|
||||
var departmentType = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE;
|
||||
var param = Enum.GetName(typeof(FMDepartmentType), departmentType);
|
||||
var param = Enum.GetName(typeof(SKDepartmentTypeEnum), departmentType);
|
||||
entity.STATUS = PFStandardStatus.Approving;
|
||||
//取审批流水码
|
||||
var sysFilter = new SystemCodeFilter();
|
||||
|
||||
@ -120,10 +120,10 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
|
||||
{
|
||||
var department = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0);
|
||||
var param = Enum.GetName(typeof(FMDepartmentType), department?.DEPARTMENT_TYPE);
|
||||
if (department.PARENT_ID != null && param == "公司")
|
||||
var param = Enum.GetName(typeof(SKDepartmentTypeEnum), department?.DEPARTMENT_TYPE);
|
||||
if (department.PARENT_ID != null && param == "公司级")
|
||||
{
|
||||
param = "部门";
|
||||
param = "部门级";
|
||||
}
|
||||
entity.STATUS = PFStandardStatus.Approving;
|
||||
//取审批流水码
|
||||
|
||||
@ -155,7 +155,7 @@ namespace APT.SK.WebApi.Controllers.Api
|
||||
if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
|
||||
{
|
||||
var departmentType = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE;
|
||||
var param = Enum.GetName(typeof(FMDepartmentType), departmentType);
|
||||
var param = Enum.GetName(typeof(SKDepartmentTypeEnum), departmentType);
|
||||
entity.STATUS = PFStandardStatus.Approving;
|
||||
//取审批流水码
|
||||
var sysFilter = new SystemCodeFilter();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user