1205 lines
59 KiB
C#
1205 lines
59 KiB
C#
|
|
using APT.BaseData.Domain.Entities;
|
|||
|
|
using APT.BaseData.Domain.Entities.FM;
|
|||
|
|
using APT.BaseData.Domain.Enums.PF;
|
|||
|
|
using APT.BaseData.Domain.IServices;
|
|||
|
|
using APT.BaseData.Domain.IServices.AE;
|
|||
|
|
using APT.BaseData.Domain.IServices.FM;
|
|||
|
|
using APT.Infrastructure.Core;
|
|||
|
|
using APT.MS.Domain.Entities.HM;
|
|||
|
|
using APT.MS.Domain.Entities.OH;
|
|||
|
|
using APT.MS.Domain.Entities.PF;
|
|||
|
|
using APT.MS.Domain.Entities.SC;
|
|||
|
|
using APT.MS.Domain.Entities.TI;
|
|||
|
|
using APT.MS.Domain.Enums;
|
|||
|
|
using APT.Utility;
|
|||
|
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Linq.Expressions;
|
|||
|
|
|
|||
|
|
namespace APT.SC.WebApi.Controllers.Api.OH
|
|||
|
|
{
|
|||
|
|
[Route("api/OH/OHHealthExamPlan")]
|
|||
|
|
public class OHHealthExamPlanController : AuthorizeApiController<T_OH_HEALTH_EXAM_PLAN>
|
|||
|
|
{
|
|||
|
|
IFMFlowPermitService MFlowPermitService { get; set; }
|
|||
|
|
IPFApproveCallBackService ApproveCallBackService { get; set; }
|
|||
|
|
IAEAccidentEventReportService AccidentEventReportService { get; set; }
|
|||
|
|
IFMNotificationTaskService NotificationTaskService { get; set; }
|
|||
|
|
IFMUserService UserService { get; set; }
|
|||
|
|
IFMDepartmentService DepartmentService { get; set; }
|
|||
|
|
public OHHealthExamPlanController(IFMFlowPermitService mFlowPermitService, IPFApproveCallBackService approveCallBackService, IAEAccidentEventReportService accidentEventReportService, IFMNotificationTaskService notificationTaskService, IFMUserService userService, IFMDepartmentService departmentService)
|
|||
|
|
{
|
|||
|
|
MFlowPermitService = mFlowPermitService;
|
|||
|
|
ApproveCallBackService = approveCallBackService;
|
|||
|
|
AccidentEventReportService = accidentEventReportService;
|
|||
|
|
NotificationTaskService = notificationTaskService;
|
|||
|
|
UserService = userService;
|
|||
|
|
DepartmentService = departmentService;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 体检周期表 修改
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="entity"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("FullUpdate")]
|
|||
|
|
public JsonActionResult<bool> FullUpdate([FromBody] T_OH_HEALTH_EXAM_PLAN entity)
|
|||
|
|
{
|
|||
|
|
return SafeExecute<bool>(() =>
|
|||
|
|
{
|
|||
|
|
//保存并发送的时候 发送给各个部门(负责人 或者安全员)
|
|||
|
|
//如果有待办 去除待办
|
|||
|
|
|
|||
|
|
if (string.IsNullOrEmpty(entity.NAME))
|
|||
|
|
{
|
|||
|
|
throw new Exception("请填写体检计划名称");
|
|||
|
|
}
|
|||
|
|
if (entity.YEAR == 0)
|
|||
|
|
{
|
|||
|
|
throw new Exception("请填写年度");
|
|||
|
|
}
|
|||
|
|
if (entity.STATUS == PFStandardStatus.Sign)
|
|||
|
|
{
|
|||
|
|
if (!entity.DUE_TIME.HasValue)
|
|||
|
|
{
|
|||
|
|
throw new Exception("请选择上报截止时间");
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
//entity.DUE_TIME = entity.DUE_TIME.Value.Date.AddDays(1).AddSeconds(-1);
|
|||
|
|
if (entity.DUE_TIME.Value < DateTime.Now)
|
|||
|
|
{
|
|||
|
|
throw new Exception("上报截止时间不能小于当前时间");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
//设置结束日期
|
|||
|
|
//entity.DUE_TIME = entity.DUE_TIME.Value.Date.AddDays(1).AddSeconds(-1);
|
|||
|
|
if (entity.Nav_ListDepartment == null || !entity.Nav_ListDepartment.Any())
|
|||
|
|
{
|
|||
|
|
throw new Exception("请选择上报部门");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (entity.CONTENT.Length > 500)
|
|||
|
|
{
|
|||
|
|
throw new Exception("计划内容不能超过500字");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var ListDepartment = entity.Nav_ListDepartment;
|
|||
|
|
entity.Nav_ListDepartment = null;
|
|||
|
|
|
|||
|
|
if (entity.STATUS == PFStandardStatus.Draft)
|
|||
|
|
{
|
|||
|
|
foreach (var item in ListDepartment)
|
|||
|
|
{
|
|||
|
|
item.Nav_Department = null;
|
|||
|
|
}
|
|||
|
|
//草稿
|
|||
|
|
this.UnifiedCommit(() =>
|
|||
|
|
{
|
|||
|
|
if (entity != null)
|
|||
|
|
UpdateEntityNoCommit(entity); //事故事件上报
|
|||
|
|
if (ListDepartment != null && ListDepartment.Any())//职业危害类型
|
|||
|
|
BantchSaveEntityNoCommit(ListDepartment);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
//给人员发送待办
|
|||
|
|
//提交后发送上报部门安全员填写体检员工登记表,职能部门发送给部门负责人,综合部人员中包含公司领导
|
|||
|
|
//[ "部门类型")] DEPARTMENT_STATUS { get; set; } 职能部门 = 0, 生产部门 = 1, 安全部门 = 2,
|
|||
|
|
var listDepIDNotice = ListDepartment.Select(e => e.DEPARTMENT_ID);
|
|||
|
|
var listDep = GetEntities<T_FM_DEPARTMENT>(e => listDepIDNotice.Contains(e.ID) && e.DEPARTMENT_TYPE == 0 && !e.IS_DELETED && e.ENABLE_STATUS == 0, null, new string[] { "Nav_User" });//部门级别
|
|||
|
|
if (listDep == null || !listDep.Any())
|
|||
|
|
{
|
|||
|
|
throw new Exception("获取部门信息失败!");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
List<T_FM_USER> listNoticeUser = new List<T_FM_USER>();//通知人
|
|||
|
|
List<string> listDepNoMaster = new List<string>();
|
|||
|
|
List<Guid> listDepID = new List<Guid>();//生产部门ID
|
|||
|
|
foreach (var item in listDep)
|
|||
|
|
{
|
|||
|
|
if (!item.USER_ID.HasValue && item.DEPARTMENT_STATUS != 1)//没有部门负责人
|
|||
|
|
{
|
|||
|
|
listDepNoMaster.Add(item.NAME);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (item.DEPARTMENT_STATUS == 1)
|
|||
|
|
{
|
|||
|
|
listDepID.Add(item.ID);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
//item.Nav_User.Nav_Department = item;
|
|||
|
|
listNoticeUser.Add(item.Nav_User);//部门负责人
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (listDepNoMaster.Count > 0)
|
|||
|
|
{
|
|||
|
|
throw new Exception(string.Join(",", listDepNoMaster) + "未找到部门负责人!");
|
|||
|
|
}
|
|||
|
|
if (listDepID.Count < 1)
|
|||
|
|
{
|
|||
|
|
throw new Exception("请联系管理员配置生产部门!");
|
|||
|
|
}
|
|||
|
|
var approvalSafe = GetEntity<T_PF_APPROVAL_ROLE>(e => e.NAME == "部门安全员");
|
|||
|
|
if (approvalSafe == null)
|
|||
|
|
{
|
|||
|
|
throw new Exception("请联系管理员配置审批角色【部门安全员】!");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var listSafeUser = GetEntities<T_FM_USER>(e => e.DEPARTMENT_ID.HasValue && listDepID.Contains(e.DEPARTMENT_ID.Value) && e.APPROVE_ROLE_ID.HasValue && approvalSafe.ID == e.APPROVE_ROLE_ID.Value, null, null);
|
|||
|
|
if (listSafeUser == null || !listSafeUser.Any())
|
|||
|
|
{
|
|||
|
|
throw new Exception("请联系管理员配置部门安全员!");
|
|||
|
|
}
|
|||
|
|
//查找 生产部门安全员
|
|||
|
|
List<T_FM_DEPARTMENT> listNoSafe = null;
|
|||
|
|
foreach (var item in listDepID)
|
|||
|
|
{
|
|||
|
|
var SafeEr = listSafeUser.FirstOrDefault(e => e.DEPARTMENT_ID.Value == item);
|
|||
|
|
if (SafeEr != null)
|
|||
|
|
{
|
|||
|
|
//SafeEr.Nav_Department = listDep.FirstOrDefault(e => e.ID == SafeEr.DEPARTMENT_ID);
|
|||
|
|
listNoticeUser.Add(SafeEr);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
if (listNoSafe == null)
|
|||
|
|
{
|
|||
|
|
listNoSafe = new List<T_FM_DEPARTMENT>();
|
|||
|
|
}
|
|||
|
|
listNoSafe.Add(listDep.First(e => e.ID == item));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (listNoSafe != null && listNoSafe.Count > 0)
|
|||
|
|
{
|
|||
|
|
throw new Exception("请联系管理员给生产部门" + String.Join(",", listNoSafe.Select(e => e.NAME)) + "设置安全员!");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//bool SendNotificationTask(List<string> names, List<Guid> dataIds, Guid? orgId, List<Guid> userIds, List<string> userNames, DateTime startTime, DateTime endTime, int noticeType, string formCode, Action action);
|
|||
|
|
//List<string> ListName=new List<string>();
|
|||
|
|
//List< Guid > ListDataId=new List<Guid>();
|
|||
|
|
|
|||
|
|
//NotificationTaskService.SendAndFinishNotificationTask("部门体检计划表", entity.ID, entity.ORG_ID, listNoticeUser.Select(e => e.ID).ToList(), listNoticeUser.Select(e => e.NAME).ToList(), DateTime.Now, DateTime.Now.AddDays(1), 0, "OH005", entity.TaskID, () =>
|
|||
|
|
|
|||
|
|
List<string> ListTitleName = new List<string>();
|
|||
|
|
List<Guid> ListDataId = new List<Guid>();
|
|||
|
|
List<Guid> ListUserId = new List<Guid>();
|
|||
|
|
List<string> ListUserName = new List<string>();
|
|||
|
|
foreach (var modelDep in ListDepartment)
|
|||
|
|
{
|
|||
|
|
modelDep.ID = Guid.NewGuid();
|
|||
|
|
modelDep.PLAN_ID = entity.ID;
|
|||
|
|
//modelDep.DEPARTMENT_ID = item.Nav_Department != null ? item.Nav_Department.ID : item.DEPARTMENT_ID.Value;//上报部门
|
|||
|
|
modelDep.ISCONTENTMASTER = false;//上报部门
|
|||
|
|
if (modelDep.Nav_Department != null && modelDep.Nav_Department.NAME.Contains("企业管理"))
|
|||
|
|
{
|
|||
|
|
//包含公司领导
|
|||
|
|
modelDep.ISCONTENTMASTER = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
modelDep.STATUS = PFStandardStatus.Draft;
|
|||
|
|
modelDep.ORG_ID = entity.ORG_ID;
|
|||
|
|
|
|||
|
|
var user = listNoticeUser.Find(e => e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID == modelDep.DEPARTMENT_ID);
|
|||
|
|
ListDataId.Add(modelDep.ID);
|
|||
|
|
ListUserId.Add(user.ID);
|
|||
|
|
modelDep.USER_ID = user.ID;//接收信息的人
|
|||
|
|
ListUserName.Add(user.NAME);
|
|||
|
|
ListTitleName.Add(modelDep.Nav_Department.NAME + "体检计划表");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
foreach (var item in ListDepartment)
|
|||
|
|
{
|
|||
|
|
item.Nav_Department = null;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
NotificationTaskService.SendAndFinishNotificationTask(ListTitleName, ListDataId, entity.ORG_ID, ListUserId, ListUserName, DateTime.Now, DateTime.Now.AddDays(1), 0, "OH005", entity.TaskID, () =>
|
|||
|
|
{
|
|||
|
|
if (entity != null)
|
|||
|
|
UpdateEntityNoCommit(entity); //体检计划
|
|||
|
|
if (ListDepartment != null && ListDepartment.Any())//上报部门
|
|||
|
|
BantchSaveEntityNoCommit(ListDepartment);
|
|||
|
|
}, "OH004_SHOWPRINT");
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//GetDep
|
|||
|
|
//UpdateDep
|
|||
|
|
#region 获取部门检查计划信息
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 体检计划新增选择人
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="filter"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("GetCombinPlanRegister")]
|
|||
|
|
public JsonActionResult<T_OH_HEALTH_EXAM_PLAN_REGISTER> GetCombinPlanRegister([FromBody] KeywordFilter filter)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(filter.Keyword))
|
|||
|
|
{
|
|||
|
|
ThrowError("获取选择人员信息传参失败!");
|
|||
|
|
}
|
|||
|
|
if (string.IsNullOrEmpty(filter.Parameter1))
|
|||
|
|
{
|
|||
|
|
ThrowError("获取体检计划信息传参失败!");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
Guid PLAN_ID = new Guid(filter.Parameter1);
|
|||
|
|
Guid UserID = new Guid(filter.Keyword);
|
|||
|
|
Guid ID = new Guid(filter.Parameter2);
|
|||
|
|
Guid? DepartmentID = null;
|
|||
|
|
if (!string.IsNullOrEmpty(filter.Parameter3))
|
|||
|
|
{
|
|||
|
|
DepartmentID = new Guid(filter.Parameter3);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
T_OH_HEALTH_EXAM_PLAN_REGISTER checkReg = GetEntity<T_OH_HEALTH_EXAM_PLAN_REGISTER>(e => e.PLAN_ID.HasValue && e.PLAN_ID.Value == PLAN_ID && e.USER_ID.HasValue && e.USER_ID.Value == UserID);
|
|||
|
|
|
|||
|
|
if (checkReg != null && checkReg.ID != Guid.Empty)
|
|||
|
|
{
|
|||
|
|
throw new Exception("该体检计划有此人,添加失败!");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
Guid? DEPARTMENT_ID = null;
|
|||
|
|
//Guid? DEPARTMENT_ID_WORKSHOP = null;
|
|||
|
|
T_FM_DEPARTMENT Department = null;
|
|||
|
|
//T_FM_DEPARTMENT DepartmentWorkshop = null;
|
|||
|
|
|
|||
|
|
var User = GetEntity<T_FM_USER>(UserID, "Nav_Department", "Nav_Person.Nav_Post");
|
|||
|
|
//部门=0, 车间=1, 班组=2, 公司=3
|
|||
|
|
#region 获取部门信息
|
|||
|
|
|
|||
|
|
//if (User.Nav_Department.DEPARTMENT_TYPE == 3)
|
|||
|
|
//{
|
|||
|
|
// DEPARTMENT_ID = User.DEPARTMENT_ID.Value;
|
|||
|
|
// Department = User.Nav_Department;
|
|||
|
|
//}
|
|||
|
|
//else if (User.Nav_Department.DEPARTMENT_TYPE == 2)
|
|||
|
|
//{
|
|||
|
|
// DEPARTMENT_ID_WORKSHOP = User.Nav_Department.PARENT_ID.Value;
|
|||
|
|
// DepartmentWorkshop = GetEntity<T_FM_DEPARTMENT>(DEPARTMENT_ID_WORKSHOP.Value, "Nav_Parent");
|
|||
|
|
|
|||
|
|
// DEPARTMENT_ID = DepartmentWorkshop.PARENT_ID.Value;
|
|||
|
|
// Department = GetEntity<T_FM_DEPARTMENT>(DEPARTMENT_ID.Value);
|
|||
|
|
|
|||
|
|
//}
|
|||
|
|
//else if (User.Nav_Department.DEPARTMENT_TYPE == 1)
|
|||
|
|
//{
|
|||
|
|
// DEPARTMENT_ID_WORKSHOP = User.DEPARTMENT_ID.Value;
|
|||
|
|
// DEPARTMENT_ID = User.Nav_Department.PARENT_ID.Value;
|
|||
|
|
|
|||
|
|
// DepartmentWorkshop = User.Nav_Department;
|
|||
|
|
// Department = GetEntity<T_FM_DEPARTMENT>(DEPARTMENT_ID.Value);
|
|||
|
|
//}
|
|||
|
|
//else if (User.Nav_Department.DEPARTMENT_TYPE == 0)
|
|||
|
|
//{
|
|||
|
|
// DEPARTMENT_ID = User.DEPARTMENT_ID.Value;
|
|||
|
|
// Department = User.Nav_Department;
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
DEPARTMENT_ID = User.DEPARTMENT_ID.Value;
|
|||
|
|
Department = User.Nav_Department;
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
//User.Nav_Person.POST_ID;
|
|||
|
|
|
|||
|
|
//Guid? SC_POST_ID = null;
|
|||
|
|
//T_SC_POST_DEPOST modelDpost = null;
|
|||
|
|
//if (User.Nav_Person.POST_ID.HasValue)
|
|||
|
|
//{
|
|||
|
|
// modelDpost = GetEntity<T_SC_POST_DEPOST>(e => e.DEPOST_ID == User.Nav_Person.POST_ID.Value, "Nav_Post");
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
T_OH_HEALTH_EXAM_PLAN_REGISTER modelCombin = new T_OH_HEALTH_EXAM_PLAN_REGISTER();
|
|||
|
|
modelCombin.ID = ID;
|
|||
|
|
modelCombin.PLAN_ID = PLAN_ID;
|
|||
|
|
modelCombin.USER_ID = UserID;
|
|||
|
|
modelCombin.Nav_User = User;
|
|||
|
|
modelCombin.DEPARTMENT_ID = DEPARTMENT_ID;
|
|||
|
|
modelCombin.Nav_Department = Department;
|
|||
|
|
//modelCombin.Nav_DepartmentWorkshop = DepartmentWorkshop;
|
|||
|
|
//modelCombin.DEPARTMENT_ID_WORKSHOP = DEPARTMENT_ID_WORKSHOP;
|
|||
|
|
|
|||
|
|
//modelCombin.EXAM_CYCLE_ID =;
|
|||
|
|
modelCombin.TYPE = OHHealthExamType.Post;
|
|||
|
|
|
|||
|
|
//TODO
|
|||
|
|
//责任制岗位修改 0511(2)
|
|||
|
|
//modelCombin.SC_POST_ID = SC_POST_ID;
|
|||
|
|
//modelCombin.Nav_SCPost = modelDpost?.Nav_Post;
|
|||
|
|
modelCombin.POST_ID = User.Nav_Person?.POST_ID;
|
|||
|
|
modelCombin.Nav_Post = User.Nav_Person?.Nav_Post;
|
|||
|
|
|
|||
|
|
DateTime dt = User.DEPARTURETIME != null ? (DateTime)User.DEPARTURETIME : DateTime.Now;
|
|||
|
|
modelCombin.WORKYEAR = GetWorkYear(User.ENTRYTIME, dt, DateTime.Now);
|
|||
|
|
modelCombin.IS_DELETED = false;
|
|||
|
|
modelCombin.ORG_ID = filter.OrgId;
|
|||
|
|
//modelCombin.PLAN_ID_DEP = DepartmentID;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//modelCombin.HEALTH_EXAM_CONTENT =;
|
|||
|
|
|
|||
|
|
|
|||
|
|
//modelCombin.ENTITY_ORG_TPYE =;
|
|||
|
|
//modelCombin.FORM_ID =;
|
|||
|
|
//modelCombin.FLOW_STATUS =;
|
|||
|
|
//modelCombin.FLOW_SEND_STATUS =;
|
|||
|
|
//modelCombin.FLOW_ID =;
|
|||
|
|
//modelCombin.CREATE_TIME =;
|
|||
|
|
//modelCombin.MODIFY_TIME =;
|
|||
|
|
//modelCombin.CREATER_ID =;
|
|||
|
|
//modelCombin.MODIFIER_ID =;
|
|||
|
|
|
|||
|
|
//判断是否有 职业危害类型 体检项目 等
|
|||
|
|
////modelCombin.Nav_ListHazard = null;
|
|||
|
|
if (modelCombin.POST_ID.HasValue && User.DEPARTMENT_ID.HasValue)
|
|||
|
|
{
|
|||
|
|
var cycleDepPost = GetEntity<T_OH_HEALTH_EXAM_CYCLE_DEPARTMENTINFO_POST>(e => e.POST_ID == modelCombin.POST_ID.Value && !e.IS_DELETED && e.Nav_DepartmentInfo.DEPARTMENT_ID == User.DEPARTMENT_ID.Value && !e.Nav_DepartmentInfo.IS_DELETED && !e.Nav_DepartmentInfo.Nav_ExamCycle.IS_DELETED, "Nav_DepartmentInfo.Nav_ExamCycle");
|
|||
|
|
if (cycleDepPost != null && cycleDepPost.ID != Guid.Empty)
|
|||
|
|
{
|
|||
|
|
var listCycleHazard = GetEntities<T_OH_HEALTH_EAXM_CYCLE_OCC_HAZARD_MID>(e => e.RECORD_ID == cycleDepPost.Nav_DepartmentInfo.EXAM_CYCLE_ID, null, "Nav_Hazard");
|
|||
|
|
List<T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD> ListHazard = new List<T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD>();
|
|||
|
|
if (listCycleHazard != null && listCycleHazard.Any())
|
|||
|
|
{
|
|||
|
|
foreach (var item in listCycleHazard)
|
|||
|
|
{
|
|||
|
|
ListHazard.Add(new T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD()
|
|||
|
|
{
|
|||
|
|
ID = Guid.NewGuid(),
|
|||
|
|
ORG_ID = modelCombin.ORG_ID,
|
|||
|
|
REGISTER_ID = modelCombin.ID,
|
|||
|
|
HAZARD_ID = item.HAZARD_ID,
|
|||
|
|
Nav_Hazard = item.Nav_Hazard
|
|||
|
|
}); ;
|
|||
|
|
}
|
|||
|
|
modelCombin.HEALTH_EXAM_CONTENT = cycleDepPost.Nav_DepartmentInfo.Nav_ExamCycle.HEALTH_EXAM_CONTENT;
|
|||
|
|
modelCombin.Nav_ExamCycle = cycleDepPost.Nav_DepartmentInfo.Nav_ExamCycle;
|
|||
|
|
modelCombin.EXAM_CYCLE_ID = cycleDepPost.Nav_DepartmentInfo.EXAM_CYCLE_ID;
|
|||
|
|
}
|
|||
|
|
modelCombin.Nav_ListHazard = ListHazard;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return modelCombin;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
///// <summary>
|
|||
|
|
///// 体检计划添加体检人员
|
|||
|
|
///// </summary>
|
|||
|
|
///// <param name="pageFilter"></param>
|
|||
|
|
///// <returns></returns>
|
|||
|
|
//[HttpPost, Route("OrderPagedUseful")]
|
|||
|
|
//public PagedActionResult<T_FM_USER> OrderPagedUseful([FromBody] KeywordPageFilter pageFilter)
|
|||
|
|
//{
|
|||
|
|
// return SafeGetPagedData(delegate (PagedActionResult<T_FM_USER> result)
|
|||
|
|
// {
|
|||
|
|
// Guid PLAN_ID = Guid.Empty;
|
|||
|
|
// if (pageFilter.FilterGroup.Rules.Count > 0)
|
|||
|
|
// {
|
|||
|
|
// foreach (var item in pageFilter.FilterGroup.Rules)
|
|||
|
|
// {
|
|||
|
|
// if (item.Field == "PLAN_ID")
|
|||
|
|
// {
|
|||
|
|
// PLAN_ID = new Guid(item.Value.ToString());
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// pageFilter.FilterGroup.Rules.Clear();
|
|||
|
|
// }
|
|||
|
|
// //非 此次体检人员 linq不好筛选
|
|||
|
|
// PagedActionResult<T_FM_USER> pageEntities = GetPageEntities<T_FM_USER>(null, pageFilter, null);
|
|||
|
|
// result.Data = pageEntities.Data;
|
|||
|
|
// result.TotalCount = pageEntities.TotalCount;
|
|||
|
|
// });
|
|||
|
|
|
|||
|
|
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获得单条实体数据
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="filter">过滤实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("GetDep")]
|
|||
|
|
public JsonActionResult<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT> GetDep([FromBody] KeywordFilter filter)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
Guid PLAN_ID_DEP = Guid.Empty;
|
|||
|
|
if (filter.FilterGroup.Rules.Count > 0)
|
|||
|
|
{
|
|||
|
|
foreach (var item in filter.FilterGroup.Rules)
|
|||
|
|
{
|
|||
|
|
if (item.Field == "ID")
|
|||
|
|
{
|
|||
|
|
PLAN_ID_DEP = new Guid(item.Value.ToString());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var PlanDep = GetEntity<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT>(e => e.ID == PLAN_ID_DEP, new string[] { "Nav_Plan" });
|
|||
|
|
if (PlanDep == null)
|
|||
|
|
{
|
|||
|
|
throw new Exception("获取您所在部门体检计划上报信息失败!");
|
|||
|
|
}
|
|||
|
|
PlanDep.Nav_Plan.Nav_ListPlanRegister = GetEntities<T_OH_HEALTH_EXAM_PLAN_REGISTER>(e => e.PLAN_ID_DEP == PLAN_ID_DEP && e.PLAN_ID == PlanDep.Nav_Plan.ID, null, null).ToList();
|
|||
|
|
|
|||
|
|
if (PlanDep.Nav_Plan.Nav_ListPlanRegister == null || !PlanDep.Nav_Plan.Nav_ListPlanRegister.Any())
|
|||
|
|
{
|
|||
|
|
#region 这个部门 这次体检计划 所有的参加人员
|
|||
|
|
|
|||
|
|
//部门级 所有 有职业危害 的岗位 成员
|
|||
|
|
|
|||
|
|
var listDepPost = GetEntities<T_OH_HEALTH_EXAM_CYCLE_DEPARTMENTINFO>(e => !e.IS_DELETED && !e.Nav_ExamCycle.IS_DELETED, null, "Nav_ExamCycle", "Nav_ListDepartmentInfoPost.Nav_Post");
|
|||
|
|
if (listDepPost == null || !listDepPost.Any())
|
|||
|
|
{
|
|||
|
|
throw new Exception("请设置体检周期表!设置路径:系统管理 => 职业卫生设置 => 体检周期表");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var listCycle = GetEntities<T_OH_HEALTH_EXAM_CYCLE>(e => !e.IS_DELETED, null, "Nav_ListOccHazard.Nav_Hazard");
|
|||
|
|
|
|||
|
|
foreach (var item in listDepPost)
|
|||
|
|
{
|
|||
|
|
item.Nav_ExamCycle = listCycle.FirstOrDefault(e => e.ID == item.EXAM_CYCLE_ID);
|
|||
|
|
}
|
|||
|
|
listDepPost = listDepPost.Where(e => e.Nav_ExamCycle != null && !e.Nav_ExamCycle.IS_DELETED);
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
#region 旧方式
|
|||
|
|
|
|||
|
|
////责任制岗位
|
|||
|
|
////var listPost = GetEntities<T_SC_POST>(e => !e.IS_DELETED, null, new string[] { "Nav_Posts" });
|
|||
|
|
//var listPostT = GetEntities<T_SC_POST_DEPOST>(e => !e.IS_DELETED, null, new string[] { "Nav_Post" });
|
|||
|
|
|
|||
|
|
//if (listPostT == null || !listPostT.Any())
|
|||
|
|
//{
|
|||
|
|
// throw new Exception("请联系管理员设置【责任制岗位】");
|
|||
|
|
//}
|
|||
|
|
//List<T_SC_POST_DEPOST> listPost = listPostT.ToList();
|
|||
|
|
//List<Guid> listPostID = listPost.Select(e => e.DEPOST_ID).ToList();
|
|||
|
|
|
|||
|
|
////TODO
|
|||
|
|
////责任制岗位修改 0511
|
|||
|
|
//List<T_OH_HEALTH_EAXM_CYCLE_POST_MID> listSCPostCycleT = new List<T_OH_HEALTH_EAXM_CYCLE_POST_MID>();
|
|||
|
|
////var listSCPostCycleT = GetEntities<T_OH_HEALTH_EAXM_CYCLE_POST_MID>(e => !e.IS_DELETED && e.Nav_Record.DEPARTMENT_ID.HasValue && e.Nav_Record.DEPARTMENT_ID.Value == PlanDep.DEPARTMENT_ID, null, new string[] { "Nav_Record.Nav_ListOccHazard.Nav_Hazard", "Nav_SCPost" });
|
|||
|
|
|
|||
|
|
|
|||
|
|
//if (listSCPostCycleT == null || !listSCPostCycleT.Any())
|
|||
|
|
//{
|
|||
|
|
// throw new Exception("请联系管理员设置您所在部门的【体检周期表】");
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
//List<T_OH_HEALTH_EAXM_CYCLE_POST_MID> listSCPostCycle = listSCPostCycleT.ToList();
|
|||
|
|
|
|||
|
|
////var listExamT = GetEntities<T_OH_HEALTH_EXAM_CYCLE>(e => e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID == PlanDep.DEPARTMENT_ID, null, new string[] { "Nav_ListSCPost", "Nav_ListOccHazard.Nav_Hazard" });
|
|||
|
|
|
|||
|
|
////if (listExamT == null || !listExamT.Any())
|
|||
|
|
////{
|
|||
|
|
//// throw new Exception("请联系管理员设置您所在部门的【体检周期表】");
|
|||
|
|
////}
|
|||
|
|
////List<T_OH_HEALTH_EXAM_CYCLE> listExam = listExamT.ToList();
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
//加载人员
|
|||
|
|
List<T_FM_USER> listUser = new List<T_FM_USER>();
|
|||
|
|
if (PlanDep.ISCONTENTMASTER)
|
|||
|
|
{
|
|||
|
|
var listrUserCom = GetEntities<T_FM_USER>(e => e.ENABLE_STATUS == 0 && !e.IS_DELETED && e.CODE != "admin" && e.DEPARTMENT_ID.HasValue && e.Nav_Department.DEPARTMENT_TYPE == 3 && e.PERSON_ID.HasValue && e.Nav_Person.POST_ID.HasValue, null, new string[] { "Nav_Person.Nav_Post", "Nav_Department" }).OrderByDescending(e => e.APPROVE_ROLE_ID);//&& listPostID.Contains(e.Nav_Person.POST_ID.Value)
|
|||
|
|
if (listrUserCom != null && listrUserCom.Any())
|
|||
|
|
{
|
|||
|
|
listUser.AddRange(listrUserCom);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//部门
|
|||
|
|
var listrUserDep = GetEntities<T_FM_USER>(e => e.ENABLE_STATUS == 0 && !e.IS_DELETED && e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID == PlanDep.DEPARTMENT_ID && e.PERSON_ID.HasValue && e.Nav_Person.POST_ID.HasValue, null, new string[] { "Nav_Person.Nav_Post", "Nav_Department" }).OrderByDescending(e => e.APPROVE_ROLE_ID); //&& listPostID.Contains(e.Nav_Person.POST_ID.Value)
|
|||
|
|
|
|||
|
|
if (listrUserDep != null && listrUserDep.Any())
|
|||
|
|
{
|
|||
|
|
listUser.AddRange(listrUserDep);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//车间
|
|||
|
|
var listrUserWork = GetEntities<T_FM_USER>(e => e.ENABLE_STATUS == 0 && !e.IS_DELETED && e.DEPARTMENT_ID.HasValue && e.Nav_Department.PARENT_ID.HasValue && e.Nav_Department.PARENT_ID == PlanDep.DEPARTMENT_ID && e.PERSON_ID.HasValue && e.Nav_Person.POST_ID.HasValue, null, new string[] { "Nav_Person.Nav_Post", "Nav_Department.Nav_Parent" }).OrderByDescending(e => e.APPROVE_ROLE_ID);//&& listPostID.Contains(e.Nav_Person.POST_ID.Value)
|
|||
|
|
if (listrUserWork != null && listrUserWork.Any())
|
|||
|
|
{
|
|||
|
|
listUser.AddRange(listrUserWork);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//班组
|
|||
|
|
var listrUserClass = GetEntities<T_FM_USER>(e => e.ENABLE_STATUS == 0 && !e.IS_DELETED && e.DEPARTMENT_ID.HasValue && e.Nav_Department.PARENT_ID.HasValue && e.Nav_Department.Nav_Parent.PARENT_ID == PlanDep.DEPARTMENT_ID && e.PERSON_ID.HasValue && e.Nav_Person.POST_ID.HasValue, null, new string[] { "Nav_Person.Nav_Post", "Nav_Department.Nav_Parent.Nav_Parent" }).OrderByDescending(e => e.APPROVE_ROLE_ID);//&& listPostID.Contains(e.Nav_Person.POST_ID.Value)
|
|||
|
|
if (listrUserClass != null && listrUserClass.Any())
|
|||
|
|
{
|
|||
|
|
listUser.AddRange(listrUserClass);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
DateTime dtNow = DateTime.Now;
|
|||
|
|
Guid LoginID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
|
|||
|
|
var ListPlanRegister = new List<T_OH_HEALTH_EXAM_PLAN_REGISTER>();
|
|||
|
|
T_SC_POST_DEPOST UserDePost = null;
|
|||
|
|
List<T_SC_POST_DEPOST> ListUserDePost = null;
|
|||
|
|
List<T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD> Nav_ListHazard = null;
|
|||
|
|
List<T_OH_HEALTH_EAXM_CYCLE_POST_MID> listSCPostCycleCheck = null;
|
|||
|
|
List<T_OH_HEALTH_EXAM_CYCLE_DEPARTMENTINFO> listDepInfoCheck = null;
|
|||
|
|
foreach (var item in listUser)
|
|||
|
|
{
|
|||
|
|
listDepInfoCheck = listDepPost.Where(e => e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID == item.DEPARTMENT_ID && e.Nav_ListDepartmentInfoPost != null && e.Nav_ListDepartmentInfoPost.FirstOrDefault(ec => ec.POST_ID == item.Nav_Person.POST_ID) != null).ToList();
|
|||
|
|
if (listDepInfoCheck == null || !listDepInfoCheck.Any())
|
|||
|
|
{
|
|||
|
|
//没找到对应职位的职业危害设置 这个人不需要体检
|
|||
|
|
continue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
T_OH_HEALTH_EXAM_PLAN_REGISTER model = new T_OH_HEALTH_EXAM_PLAN_REGISTER();
|
|||
|
|
model.ID = Guid.NewGuid();
|
|||
|
|
model.PLAN_ID = PlanDep.PLAN_ID;
|
|||
|
|
model.Nav_Plan = PlanDep.Nav_Plan;
|
|||
|
|
|
|||
|
|
model.USER_ID = item.ID;
|
|||
|
|
model.Nav_User = item;
|
|||
|
|
|
|||
|
|
//获取 部门 车间
|
|||
|
|
#region 获取部门人员信息 旧
|
|||
|
|
|
|||
|
|
//if (item.Nav_Department.DEPARTMENT_TYPE == 3 || item.Nav_Department.DEPARTMENT_TYPE == 0)
|
|||
|
|
//{
|
|||
|
|
// // 公司 = 3 部门 = 0,
|
|||
|
|
// model.DEPARTMENT_ID = item.DEPARTMENT_ID;
|
|||
|
|
// model.DEPARTMENT_ID_WORKSHOP = null;
|
|||
|
|
|
|||
|
|
// model.Nav_Department = item.Nav_Department;
|
|||
|
|
//}
|
|||
|
|
//else if (item.Nav_Department.DEPARTMENT_TYPE == 1)
|
|||
|
|
//{
|
|||
|
|
// // 车间 = 1,
|
|||
|
|
// model.DEPARTMENT_ID = item.Nav_Department.PARENT_ID;
|
|||
|
|
// model.DEPARTMENT_ID_WORKSHOP = item.DEPARTMENT_ID;
|
|||
|
|
|
|||
|
|
// model.Nav_Department = item.Nav_Department.Nav_Parent;
|
|||
|
|
// model.Nav_DepartmentWorkshop = item.Nav_Department;
|
|||
|
|
//}
|
|||
|
|
//else
|
|||
|
|
//{
|
|||
|
|
// // 班组 = 2,
|
|||
|
|
// model.DEPARTMENT_ID = item.Nav_Department.Nav_Parent.PARENT_ID;
|
|||
|
|
// model.DEPARTMENT_ID_WORKSHOP = item.Nav_Department.PARENT_ID;
|
|||
|
|
|
|||
|
|
// model.Nav_Department = item.Nav_Department.Nav_Parent.Nav_Parent;
|
|||
|
|
// model.Nav_DepartmentWorkshop = item.Nav_Department.Nav_Parent;
|
|||
|
|
//}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 获取部门人员信息
|
|||
|
|
|
|||
|
|
model.DEPARTMENT_ID = item.DEPARTMENT_ID;
|
|||
|
|
model.Nav_Department = item.Nav_Department;
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
////如果匹配到多个 责任制岗位
|
|||
|
|
//ListUserDePost = listPost.FindAll(e => e.DEPOST_ID == item.Nav_Person.POST_ID.Value);
|
|||
|
|
//if (ListUserDePost == null || ListUserDePost.Count < 1)
|
|||
|
|
//{
|
|||
|
|
// continue;
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//var listSCPostID = ListUserDePost.Select(e => e.POST_ID);
|
|||
|
|
//listSCPostCycleCheck = listSCPostCycle.FindAll(e => listSCPostID.Contains(e.SC_POST_ID));
|
|||
|
|
//if (listSCPostCycleCheck == null)
|
|||
|
|
//{
|
|||
|
|
// continue;
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
foreach (var itemCycle in listDepInfoCheck)
|
|||
|
|
{
|
|||
|
|
//TODO
|
|||
|
|
//责任制岗位修改 0511
|
|||
|
|
|
|||
|
|
//model.SC_POST_ID = item.Nav_Person.POST_ID;// itemCycle.Nav_SCPost.ID;
|
|||
|
|
//model.Nav_SCPost = item.Nav_Person.Nav_Post;// itemCycle.Nav_SCPost;
|
|||
|
|
|
|||
|
|
model.EXAM_CYCLE_ID = itemCycle.Nav_ExamCycle.ID;
|
|||
|
|
model.Nav_ExamCycle = itemCycle.Nav_ExamCycle;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//foreach (var itemCycle in listSCPostCycleCheck)
|
|||
|
|
//{
|
|||
|
|
// //TODO
|
|||
|
|
// //责任制岗位修改 0511
|
|||
|
|
// //如果 体检周期 和
|
|||
|
|
// if (itemCycle.Nav_Record.DEPARTMENT_ID == model.DEPARTMENT_ID)
|
|||
|
|
// {
|
|||
|
|
// if (itemCycle.Nav_Record.DEPARTMENT_ID_WORKSHOP == null || itemCycle.Nav_Record.DEPARTMENT_ID_WORKSHOP == model.DEPARTMENT_ID_WORKSHOP)
|
|||
|
|
// {
|
|||
|
|
// model.SC_POST_ID = itemCycle.Nav_SCPost.ID;
|
|||
|
|
// model.Nav_SCPost = itemCycle.Nav_SCPost;
|
|||
|
|
|
|||
|
|
// model.EXAM_CYCLE_ID = itemCycle.Nav_Record.ID;
|
|||
|
|
// model.Nav_ExamCycle = itemCycle.Nav_Record;
|
|||
|
|
|
|||
|
|
// break;
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
////责任制岗位
|
|||
|
|
//UserDePost = listPost.FirstOrDefault(e => e.DEPOST_ID == item.Nav_Person.POST_ID.Value);
|
|||
|
|
//if (UserDePost == null)
|
|||
|
|
//{
|
|||
|
|
// continue;
|
|||
|
|
//}
|
|||
|
|
//model.SC_POST_ID = UserDePost.POST_ID;
|
|||
|
|
//model.Nav_SCPost = UserDePost.Nav_Post;
|
|||
|
|
|
|||
|
|
////获取体检周期信息(根据 部门 车间 责任制岗位)
|
|||
|
|
////model.EXAM_CYCLE_ID = "";
|
|||
|
|
//foreach (var itemExam in listExam)
|
|||
|
|
//{
|
|||
|
|
// foreach (var itemPost in itemExam.Nav_ListSCPost)
|
|||
|
|
// {
|
|||
|
|
// if (itemPost.SC_POST_ID == model.SC_POST_ID)
|
|||
|
|
// {
|
|||
|
|
// model.EXAM_CYCLE_ID = itemExam.ID;
|
|||
|
|
// model.Nav_ExamCycle = itemExam;
|
|||
|
|
// break;
|
|||
|
|
// }
|
|||
|
|
// }
|
|||
|
|
// if (model.EXAM_CYCLE_ID != null && model.EXAM_CYCLE_ID != Guid.Empty)
|
|||
|
|
// {
|
|||
|
|
// break;
|
|||
|
|
// }
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
if (model.EXAM_CYCLE_ID == null || model.EXAM_CYCLE_ID == Guid.Empty)
|
|||
|
|
{
|
|||
|
|
continue;
|
|||
|
|
}
|
|||
|
|
DateTime dt = item.DEPARTURETIME != null ? (DateTime)item.DEPARTURETIME : DateTime.Now;
|
|||
|
|
model.WORKYEAR = GetWorkYear(item.ENTRYTIME, dt, dtNow);
|
|||
|
|
model.TYPE = OHHealthExamType.Post;
|
|||
|
|
model.IS_DELETED = false;
|
|||
|
|
model.ORG_ID = PlanDep.ORG_ID;
|
|||
|
|
//model.ENTITY_ORG_TPYE = "";
|
|||
|
|
//model.FORM_ID = "";
|
|||
|
|
//model.FLOW_STATUS = "";
|
|||
|
|
//model.FLOW_SEND_STATUS = "";
|
|||
|
|
//model.FLOW_ID = "";
|
|||
|
|
model.CREATE_TIME = dtNow;
|
|||
|
|
model.MODIFY_TIME = dtNow;
|
|||
|
|
model.CREATER_ID = LoginID;
|
|||
|
|
model.MODIFIER_ID = LoginID;
|
|||
|
|
model.PLAN_ID_DEP = PlanDep.ID;
|
|||
|
|
model.Nav_PlanDEP = PlanDep;
|
|||
|
|
//item.Nav_Person.POST_ID
|
|||
|
|
|
|||
|
|
model.HEALTH_EXAM_CONTENT = model.Nav_ExamCycle.HEALTH_EXAM_CONTENT;
|
|||
|
|
Nav_ListHazard = new List<T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD>();
|
|||
|
|
foreach (var itemHaz in model.Nav_ExamCycle.Nav_ListOccHazard)
|
|||
|
|
{
|
|||
|
|
Nav_ListHazard.Add(new T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD()
|
|||
|
|
{
|
|||
|
|
REGISTER_ID = model.ID,
|
|||
|
|
HAZARD_ID = itemHaz.HAZARD_ID,
|
|||
|
|
Nav_Hazard = itemHaz.Nav_Hazard,
|
|||
|
|
ORG_ID = itemHaz.ORG_ID,
|
|||
|
|
ID = Guid.NewGuid(),
|
|||
|
|
IS_DELETED = false,
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
model.Nav_ListHazard = Nav_ListHazard;
|
|||
|
|
ListPlanRegister.Add(model);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
PlanDep.Nav_Plan.Nav_ListPlanRegister = ListPlanRegister;
|
|||
|
|
PlanDep.Nav_Plan.Nav_ListDepartment = GetEntities<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT>(e => e.PLAN_ID == PlanDep.PLAN_ID, null, new string[] { "Nav_Department" }).ToList();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
return PlanDep;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获取工龄(按365天 按小时算)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="ENTRYTIME"></param>
|
|||
|
|
/// <param name="DEPARTURETIME"></param>
|
|||
|
|
/// <param name="dtNow"></param>
|
|||
|
|
private int GetWorkYear(DateTime ENTRYTIME, DateTime DEPARTURETIME, DateTime dtNow)
|
|||
|
|
{
|
|||
|
|
int WorkYear = 0;
|
|||
|
|
if (ENTRYTIME == DateTime.MinValue || (ENTRYTIME.Year == dtNow.Year))
|
|||
|
|
{
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
else if (DEPARTURETIME == DateTime.MinValue)
|
|||
|
|
{
|
|||
|
|
WorkYear = (int)((dtNow - ENTRYTIME).TotalHours / 8760);// 365*24=8760.0
|
|||
|
|
//WorkYear = dtNow.Year - ENTRYTIME.Year + (dtNow.Month > ENTRYTIME.Month ? 1 : 0);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
//WorkYear = DEPARTURETIME.Year - ENTRYTIME.Year + (DEPARTURETIME.Month > ENTRYTIME.Month ? 1 : 0);
|
|||
|
|
WorkYear = (int)((DEPARTURETIME - ENTRYTIME).TotalHours / 8760);// 365*24=8760.0
|
|||
|
|
}
|
|||
|
|
return WorkYear;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 更新或新增数据
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="entity">对象实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("UpdateDep")]
|
|||
|
|
public JsonActionResult<bool> UpdateDep([FromBody] T_OH_HEALTH_EAXM_PLAN_DEPARTMENT entity)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
//UpdateEntity(entity);
|
|||
|
|
//如果是保存并发送
|
|||
|
|
//如果全部都 提交了 各部门填写完成后汇总到企管部人事专员,可增删人员,给企管部负责人审批
|
|||
|
|
//写一个 跑批 如果 报名截止(超过1天) 还有人没有提交 自动提交 到 人事专员
|
|||
|
|
|
|||
|
|
var ListPlanRegister = entity.Nav_Plan.Nav_ListPlanRegister;
|
|||
|
|
entity.Nav_Plan.Nav_ListPlanRegister = null;
|
|||
|
|
entity.Nav_Plan = null;
|
|||
|
|
List<T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD> ListRegHazard = new List<T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD>();
|
|||
|
|
foreach (var item in ListPlanRegister)
|
|||
|
|
{
|
|||
|
|
if (item.Nav_ListHazard != null && item.Nav_ListHazard.Any())
|
|||
|
|
{
|
|||
|
|
ListRegHazard.AddRange(item.Nav_ListHazard);
|
|||
|
|
item.Nav_ListHazard = null;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (entity.STATUS == PFStandardStatus.Draft)
|
|||
|
|
{
|
|||
|
|
this.UnifiedCommit(() =>
|
|||
|
|
{
|
|||
|
|
if (entity != null)
|
|||
|
|
UpdateEntityNoCommit(entity); //部门体检计划
|
|||
|
|
if (ListPlanRegister != null && ListPlanRegister.Any())//体检人员
|
|||
|
|
BantchSaveEntityNoCommit(ListPlanRegister);
|
|||
|
|
if (ListRegHazard != null && ListRegHazard.Any())//体检职业危害
|
|||
|
|
BantchSaveEntityNoCommit(ListRegHazard);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
else if (entity.STATUS == PFStandardStatus.Archived)
|
|||
|
|
{
|
|||
|
|
List<int> listRowIndex = new List<int>();
|
|||
|
|
int rowIndex = 1;
|
|||
|
|
T_OH_HEALTH_EAXM_PLAN_DEPARTMENT PlanDep = null;
|
|||
|
|
foreach (var item in ListPlanRegister)
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(item.HEALTH_EXAM_CONTENT))
|
|||
|
|
{
|
|||
|
|
listRowIndex.Add(rowIndex);
|
|||
|
|
}
|
|||
|
|
rowIndex++;
|
|||
|
|
|
|||
|
|
if (!item.PLAN_ID_DEP.HasValue)
|
|||
|
|
{
|
|||
|
|
if (PlanDep == null)
|
|||
|
|
{
|
|||
|
|
PlanDep = GetEntity<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT>(e => e.PLAN_ID == item.PLAN_ID && e.DEPARTMENT_ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID && !e.IS_DELETED);
|
|||
|
|
}
|
|||
|
|
if (PlanDep != null)
|
|||
|
|
{
|
|||
|
|
item.PLAN_ID_DEP = PlanDep.ID;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (listRowIndex.Count > 0)
|
|||
|
|
{
|
|||
|
|
throw new Exception("体检项目不能为空:行:" + string.Join(",", listRowIndex) + "!");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
bool isDepEnd = false;
|
|||
|
|
#region 判断是否 转入 人事专员
|
|||
|
|
|
|||
|
|
//保存并发送 需要发送
|
|||
|
|
var plan = GetEntity<T_OH_HEALTH_EXAM_PLAN>(entity.PLAN_ID);
|
|||
|
|
List<T_FM_NOTIFICATION_TASK> listTaskEnd = null;
|
|||
|
|
|
|||
|
|
if (plan.DUE_TIME.HasValue && DateTime.Now > plan.DUE_TIME.Value.AddDays(1))//人性化往后一天
|
|||
|
|
{
|
|||
|
|
isDepEnd = true;
|
|||
|
|
|
|||
|
|
#region
|
|||
|
|
|
|||
|
|
var listNotArchived = GetEntities<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT>(e => !e.IS_DELETED && e.ID != entity.ID && e.PLAN_ID == entity.PLAN_ID && e.STATUS != PFStandardStatus.Archived, null, null);
|
|||
|
|
if (listNotArchived != null && listNotArchived.Any())
|
|||
|
|
{
|
|||
|
|
var listDataID = listNotArchived.Select(e => e.ID).ToList();
|
|||
|
|
listTaskEnd = GetEntities<T_FM_NOTIFICATION_TASK>(e => e.SOURCE_FORMCODE == "OH005" && e.SOURCE_DATA_ID.HasValue && listDataID.Contains(e.SOURCE_DATA_ID.Value), null, null).ToList();
|
|||
|
|
if (listTaskEnd != null && listTaskEnd.Any())
|
|||
|
|
{
|
|||
|
|
foreach (var item in listTaskEnd)
|
|||
|
|
{
|
|||
|
|
item.TASK_DT = DateTime.Now;
|
|||
|
|
item.NOTICE_STATUS = 4;// FMNoticeStatusEnum.超时无需办理;
|
|||
|
|
item.SOURCE_FORMCODE = "OH005_SHOWPRINT";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
if (!isDepEnd)
|
|||
|
|
{
|
|||
|
|
var listNotArchived = GetEntities<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT>(e => !e.IS_DELETED && e.ID != entity.ID && e.PLAN_ID == entity.PLAN_ID && e.STATUS != PFStandardStatus.Archived, null, null);
|
|||
|
|
if (listNotArchived == null || !listNotArchived.Any() || listNotArchived.Count() < 1)
|
|||
|
|
{
|
|||
|
|
isDepEnd = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
if (!isDepEnd)
|
|||
|
|
{
|
|||
|
|
var taskEnd = NotificationTaskService.GetEntityTask(entity.TaskID, "OH005_SHOWPRINT");
|
|||
|
|
this.UnifiedCommit(() =>
|
|||
|
|
{
|
|||
|
|
if (entity != null)
|
|||
|
|
UpdateEntityNoCommit(entity); //部门体检计划
|
|||
|
|
if (taskEnd != null)
|
|||
|
|
UpdateEntityNoCommit(taskEnd); //结束待办
|
|||
|
|
//UpdateEntityNoCommit(plan);//体检计划状态修改
|
|||
|
|
if (ListPlanRegister != null && ListPlanRegister.Any())//体检人员
|
|||
|
|
BantchSaveEntityNoCommit(ListPlanRegister);
|
|||
|
|
if (ListRegHazard != null && ListRegHazard.Any())//体检职业危害
|
|||
|
|
BantchSaveEntityNoCommit(ListRegHazard);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
//给人事专员
|
|||
|
|
#region 获取人事专员
|
|||
|
|
|
|||
|
|
string Msg = string.Empty;
|
|||
|
|
var UserRS = UserService.GetPostUser(ref Msg, "人事专员");
|
|||
|
|
if (UserRS == null)
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(Msg))
|
|||
|
|
{
|
|||
|
|
throw new Exception("未获取到人事专员!");
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
throw new Exception(Msg);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
//plan.STATUS = PFStandardStatus.Sign;
|
|||
|
|
|
|||
|
|
NotificationTaskService.SendAndFinishNotificationTask("部门体检计划汇总", entity.PLAN_ID, entity.ORG_ID, UserRS.ID, UserRS.NAME, DateTime.Now, DateTime.Now.AddDays(1), (int)FMNoticeTypeEnum.消息, "OH006", entity.TaskID, () =>
|
|||
|
|
{
|
|||
|
|
if (entity != null)
|
|||
|
|
UpdateEntityNoCommit(entity); //部门体检计划
|
|||
|
|
//UpdateEntityNoCommit(plan);//体检计划状态修改
|
|||
|
|
if (ListPlanRegister != null && ListPlanRegister.Any())//体检人员
|
|||
|
|
BantchSaveEntityNoCommit(ListPlanRegister);
|
|||
|
|
if (ListRegHazard != null && ListRegHazard.Any())//体检职业危害
|
|||
|
|
BantchSaveEntityNoCommit(ListRegHazard);
|
|||
|
|
|
|||
|
|
if (listTaskEnd != null && listTaskEnd.Any())//代办未处理的 超时不办理
|
|||
|
|
BantchSaveEntityNoCommit(listTaskEnd);
|
|||
|
|
}, "OH005_SHOWPRINT");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 部门负责人(安全员) 选择 职业危害 获取信息
|
|||
|
|
/// 暂时不用
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="pageFilter"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("GetExamCycleByIdentifying")]
|
|||
|
|
public JsonActionResult<T_OH_HEALTH_EXAM_CYCLE> GetExamCycleByIdentifying([FromBody] KeywordPageFilter pageFilter)
|
|||
|
|
{
|
|||
|
|
return SafeExecute<T_OH_HEALTH_EXAM_CYCLE>(() =>
|
|||
|
|
{
|
|||
|
|
//根据 职业危害类型 车间 部门 适配 体检周期 显示 体检项目
|
|||
|
|
|
|||
|
|
T_OH_HEALTH_EXAM_CYCLE result = new T_OH_HEALTH_EXAM_CYCLE();
|
|||
|
|
Guid HazardID = Guid.Empty;
|
|||
|
|
|
|||
|
|
var listMin = GetEntities<T_OH_HEALTH_EAXM_CYCLE_OCC_HAZARD_MID>(e => e.HAZARD_ID == HazardID, null, null);
|
|||
|
|
|
|||
|
|
var listcycle = GetEntities<T_OH_HEALTH_EXAM_CYCLE>(e => e.Nav_ListOccHazard.FirstOrDefault(e => e.Nav_Hazard.ID == HazardID) != null, null, null);
|
|||
|
|
|
|||
|
|
|
|||
|
|
return result;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
#region 人事专员编辑
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获得单条实体数据 OH006
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="filter">过滤实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("GetOH006")]
|
|||
|
|
public JsonActionResult<T_OH_HEALTH_EXAM_PLAN> GetOH006([FromBody] KeywordFilter filter)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
Guid PlanID = Guid.Empty;
|
|||
|
|
if (filter.FilterGroup.Rules.Count > 0)
|
|||
|
|
{
|
|||
|
|
foreach (var item in filter.FilterGroup.Rules)
|
|||
|
|
{
|
|||
|
|
if (item.Field == "ID")
|
|||
|
|
{
|
|||
|
|
PlanID = new Guid(item.Value.ToString());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (filter.FilterGroup.Rules.Count == 1)
|
|||
|
|
{
|
|||
|
|
filter.FilterGroup.Rules.Clear();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
T_OH_HEALTH_EXAM_PLAN Plan = null;
|
|||
|
|
if (PlanID != Guid.Empty)
|
|||
|
|
{
|
|||
|
|
Plan = GetEntity<T_OH_HEALTH_EXAM_PLAN>(e => e.ID == PlanID);
|
|||
|
|
if (Plan != null)
|
|||
|
|
{
|
|||
|
|
//上报部门
|
|||
|
|
Plan.Nav_ListDepartment = GetEntities<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT>(e => e.PLAN_ID == PlanID, null, new string[] { "Nav_Department" }).ToList();
|
|||
|
|
//体检员工登记表
|
|||
|
|
//Plan.Nav_ListPlanRegister = GetEntities<T_OH_HEALTH_EXAM_PLAN_REGISTER>(e => e.PLAN_ID == PlanID, null, new string[] { "Nav_User", "Nav_Department", "Nav_DepartmentWorkshop", "Nav_ExamCycle", "Nav_SCPost", "Nav_ListHazard.Nav_Hazard" }).ToList();
|
|||
|
|
Plan.Nav_ListPlanRegister = GetEntities<T_OH_HEALTH_EXAM_PLAN_REGISTER>(e => e.PLAN_ID == PlanID, null, new string[] { "Nav_User.Nav_Person.Nav_Post", "Nav_Department", "Nav_DepartmentWorkshop", "Nav_ExamCycle", "Nav_ListHazard.Nav_Hazard" }).ToList();
|
|||
|
|
|
|||
|
|
if (Plan.Nav_ListPlanRegister != null && Plan.Nav_ListPlanRegister.Any())
|
|||
|
|
{
|
|||
|
|
//体检周期(职业危害类型)
|
|||
|
|
var listCycle = Plan.Nav_ListPlanRegister.Select(e => e.EXAM_CYCLE_ID);
|
|||
|
|
if (listCycle != null && listCycle.Any())
|
|||
|
|
{
|
|||
|
|
List<Guid?> listDisCycleID = listCycle.Distinct().ToList();
|
|||
|
|
var listModelCycle = GetEntities<T_OH_HEALTH_EXAM_CYCLE>(e => listDisCycleID.Contains(e.ID), null, new string[] { "Nav_ListOccHazard.Nav_Hazard" });
|
|||
|
|
if (listModelCycle != null && listModelCycle.Any())
|
|||
|
|
{
|
|||
|
|
foreach (var item in Plan.Nav_ListPlanRegister)
|
|||
|
|
{
|
|||
|
|
if (item.EXAM_CYCLE_ID.HasValue)
|
|||
|
|
{
|
|||
|
|
item.Nav_ExamCycle = listModelCycle.FirstOrDefault(e => e.ID == item.EXAM_CYCLE_ID);
|
|||
|
|
}
|
|||
|
|
item.Nav_ListHazard = item.Nav_ListHazard.OrderBy(e => e.HAZARD_ID).ToList();//职业危害排序
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
//排序
|
|||
|
|
Plan.Nav_ListPlanRegister = Plan.Nav_ListPlanRegister.OrderBy(e => e.DEPARTMENT_ID).ThenBy(e => e.DEPARTMENT_ID_WORKSHOP).ToList();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return Plan;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 人事专员汇总
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="entity">对象实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("UpdateSum")]
|
|||
|
|
public JsonActionResult<bool> UpdateSum([FromBody] T_OH_HEALTH_EXAM_PLAN entity)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
//保存并发送 发送给 人事部负责人
|
|||
|
|
var ListPlanRegister = entity.Nav_ListPlanRegister;
|
|||
|
|
entity.Nav_ListPlanRegister = null;
|
|||
|
|
|
|||
|
|
List<T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD> ListRegHazard = new List<T_OH_HEALTH_EXAM_PLAN_REGISTER_HAZARD>();
|
|||
|
|
foreach (var item in ListPlanRegister)
|
|||
|
|
{
|
|||
|
|
if (item.Nav_ListHazard != null && item.Nav_ListHazard.Any())
|
|||
|
|
{
|
|||
|
|
ListRegHazard.AddRange(item.Nav_ListHazard);
|
|||
|
|
item.Nav_ListHazard = null;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (entity.STATUS == PFStandardStatus.Sign)
|
|||
|
|
{
|
|||
|
|
//保存
|
|||
|
|
this.UnifiedCommit(() =>
|
|||
|
|
{
|
|||
|
|
if (entity != null)
|
|||
|
|
UpdateEntityNoCommit(entity); //部门体检计划
|
|||
|
|
if (ListPlanRegister != null && ListPlanRegister.Any())//体检人员
|
|||
|
|
BantchSaveEntityNoCommit(ListPlanRegister);
|
|||
|
|
if (ListRegHazard != null && ListRegHazard.Any())//体检人员
|
|||
|
|
BantchSaveEntityNoCommit(ListRegHazard);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
else if (entity.STATUS == PFStandardStatus.Approving)
|
|||
|
|
{
|
|||
|
|
//保存并发送
|
|||
|
|
|
|||
|
|
List<int> listRowIndex = new List<int>();
|
|||
|
|
int rowIndex = 1;
|
|||
|
|
T_OH_HEALTH_EAXM_PLAN_DEPARTMENT PlanDep = null;
|
|||
|
|
List<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT> listDep = new List<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT>();
|
|||
|
|
|
|||
|
|
foreach (var item in ListPlanRegister)
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(item.HEALTH_EXAM_CONTENT))
|
|||
|
|
{
|
|||
|
|
listRowIndex.Add(rowIndex);
|
|||
|
|
}
|
|||
|
|
rowIndex++;
|
|||
|
|
|
|||
|
|
if (!item.PLAN_ID_DEP.HasValue)
|
|||
|
|
{
|
|||
|
|
if (listDep.Count < 1)
|
|||
|
|
{
|
|||
|
|
listDep = GetEntities<T_OH_HEALTH_EAXM_PLAN_DEPARTMENT>(e => e.PLAN_ID == item.PLAN_ID && !e.IS_DELETED, null, null).ToList();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
PlanDep = listDep.FirstOrDefault(e => e.DEPARTMENT_ID == item.DEPARTMENT_ID);
|
|||
|
|
|
|||
|
|
if (PlanDep == null)
|
|||
|
|
{
|
|||
|
|
PlanDep = listDep.FirstOrDefault(e => e.ISCONTENTMASTER);
|
|||
|
|
}
|
|||
|
|
if (PlanDep != null)
|
|||
|
|
{
|
|||
|
|
item.PLAN_ID_DEP = PlanDep.ID;
|
|||
|
|
}
|
|||
|
|
else if (listDep.Count > 0)
|
|||
|
|
{
|
|||
|
|
item.PLAN_ID_DEP = listDep[0].ID;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if (listRowIndex.Count > 0)
|
|||
|
|
{
|
|||
|
|
throw new Exception("体检项目不能为空:行:" + string.Join(",", listRowIndex) + "!");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//给综合部负责人
|
|||
|
|
#region 获取综合部负责人
|
|||
|
|
T_FM_USER userMaster = null;
|
|||
|
|
//人事专员 所在部门的负责人
|
|||
|
|
var Depart = GetEntity<T_FM_DEPARTMENT>(e => e.ID == APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID, new string[] { "Nav_User" });
|
|||
|
|
if (Depart.Nav_User != null)
|
|||
|
|
{
|
|||
|
|
userMaster = Depart.Nav_User;
|
|||
|
|
}
|
|||
|
|
else if (userMaster == null)
|
|||
|
|
{
|
|||
|
|
//throw new Exception("未获取到" + RSDepName + "负责人!");
|
|||
|
|
string RSDepName = "企业管理部";
|
|||
|
|
var dep = DepartmentService.GetRSDep(RSDepName, new string[] { "Nav_User" });
|
|||
|
|
|
|||
|
|
if (dep == null || !dep.USER_ID.HasValue)
|
|||
|
|
{
|
|||
|
|
throw new Exception("未获取到" + RSDepName + "!");
|
|||
|
|
}
|
|||
|
|
else// if (dep.USER_ID.HasValue)
|
|||
|
|
{
|
|||
|
|
userMaster = dep.Nav_User;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
////人事部负责人审批待办
|
|||
|
|
//NotificationTaskService.SendAndFinishNotificationTask("部门体检计划汇总审批", entity.ID, entity.ORG_ID, userMaster.ID, userMaster.NAME, DateTime.Now, DateTime.Now.AddDays(1), (int)FMNoticeTypeEnum.消息, "OH006_SHOWPRINT", entity.TaskID, () =>
|
|||
|
|
//{
|
|||
|
|
// if (entity != null)
|
|||
|
|
// UpdateEntityNoCommit(entity); //部门体检计划
|
|||
|
|
// if (ListPlanRegister != null && ListPlanRegister.Any())//体检人员
|
|||
|
|
// BantchSaveEntityNoCommit(ListPlanRegister);
|
|||
|
|
//}, "OH006_SHOWPRINT");
|
|||
|
|
|
|||
|
|
Dictionary<int, T_FM_USER> dicApproveUser = new Dictionary<int, T_FM_USER>();
|
|||
|
|
dicApproveUser.Add(1, userMaster);
|
|||
|
|
|
|||
|
|
//人事部负责人审批待办
|
|||
|
|
entity.APPROVE_ID = Guid.NewGuid();
|
|||
|
|
MFlowPermitService.InsertApprove("TJ" + DateTime.Now.ToString("yyyyMMddHHmmss"), "OH006", null, entity.ID, "OH006_SHOWPRINT", entity.TaskID, true, () =>
|
|||
|
|
{
|
|||
|
|
if (entity != null)
|
|||
|
|
UpdateEntityNoCommit(entity); //部门体检计划
|
|||
|
|
if (ListPlanRegister != null && ListPlanRegister.Any())//体检人员
|
|||
|
|
BantchSaveEntityNoCommit(ListPlanRegister);
|
|||
|
|
if (ListRegHazard != null && ListRegHazard.Any())//体检人员
|
|||
|
|
BantchSaveEntityNoCommit(ListRegHazard);
|
|||
|
|
}, entity.APPROVE_ID, userMaster.ID, dicApproveUser, null, null, "OH006_SHOWPRINT");
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 职业危害类型(有设置体检周期 OH006)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="pageFilter">分页过滤实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("OrderPagedIdentifying")]
|
|||
|
|
public PagedActionResult<T_OH_HEALTH_EAXM_CYCLE_OCC_HAZARD_MID> OrderPagedIdentifying([FromBody] KeywordPageFilter pageFilter)
|
|||
|
|
{
|
|||
|
|
return SafeGetPagedData(delegate (PagedActionResult<T_OH_HEALTH_EAXM_CYCLE_OCC_HAZARD_MID> result)
|
|||
|
|
{
|
|||
|
|
PagedActionResult<T_OH_HEALTH_EAXM_CYCLE_OCC_HAZARD_MID> orderPageEntities = GetOrderPageEntities<T_OH_HEALTH_EAXM_CYCLE_OCC_HAZARD_MID>(null, pageFilter, null);
|
|||
|
|
result.Data = orderPageEntities.Data;
|
|||
|
|
result.TotalCount = orderPageEntities.TotalCount;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 人事部负责人审批回调
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="id"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpGet, Route("PlanMasterBack")]
|
|||
|
|
public JsonActionResult<bool> PlanMasterBack(string id)
|
|||
|
|
{
|
|||
|
|
return SafeExecute<bool>(() =>
|
|||
|
|
{
|
|||
|
|
return ApproveCallBackService.CallBack("OH/OHHealthExamPlan/PlanMasterBack", id);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
}
|
|||
|
|
}
|