This commit is contained in:
wyw 2026-02-02 16:19:38 +08:00
commit 7493821ba1
9 changed files with 939 additions and 56 deletions

View File

@ -324,6 +324,7 @@ namespace APT.BaseData.Services.Services.FM
T_FM_NOTIFICATION_TASK finishNotice = null; T_FM_NOTIFICATION_TASK finishNotice = null;
//发消息 //发消息
T_FM_NOTIFICATION_TASK notice = null; T_FM_NOTIFICATION_TASK notice = null;
T_FM_NOTIFICATION_TASK curentTask = null;
//细表 //细表
List<T_PF_APPROVE_DETAIL> appdetails = new List<T_PF_APPROVE_DETAIL>(); List<T_PF_APPROVE_DETAIL> appdetails = new List<T_PF_APPROVE_DETAIL>();
if (operaterID == null) if (operaterID == null)
@ -486,10 +487,11 @@ namespace APT.BaseData.Services.Services.FM
//当前节点 //当前节点
T_PF_APPROVE_DETAIL curentApprove = null; T_PF_APPROVE_DETAIL curentApprove = null;
string JsonApproveDetail = string.Empty; string JsonApproveDetail = string.Empty;
GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail); GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail);
DealOperateApproveDetail(ref sendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 wyw DealOperateApproveDetail(ref sendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove,ref curentTask);//整理操作者审批流相关信息 wyw
if (sendMessage) if (sendMessage)
{ {
@ -622,6 +624,8 @@ namespace APT.BaseData.Services.Services.FM
UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID"); UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
if (notice != null) if (notice != null)
AddEntityNoCommit(notice); AddEntityNoCommit(notice);
if (curentTask != null)
AddEntityNoCommit(curentTask);
if (listBSLog != null && listBSLog.Any()) if (listBSLog != null && listBSLog.Any())
BantchSaveEntityNoCommit(listBSLog);//有修改和新增 BantchSaveEntityNoCommit(listBSLog);//有修改和新增
}); });
@ -806,6 +810,7 @@ namespace APT.BaseData.Services.Services.FM
} }
List<T_PF_APPROVE_TEMP> listApproveTemp = approveTemplist.ToList(); List<T_PF_APPROVE_TEMP> listApproveTemp = approveTemplist.ToList();
T_FM_USER userTemp = null; T_FM_USER userTemp = null;
T_FM_NOTIFICATION_TASK curentTask = null;
if (listParam != null && listParam.Count > 0) if (listParam != null && listParam.Count > 0)
{ {
#region #region
@ -872,11 +877,12 @@ namespace APT.BaseData.Services.Services.FM
//当前节点 //当前节点
T_PF_APPROVE_DETAIL curentApprove = null; T_PF_APPROVE_DETAIL curentApprove = null;
string JsonApproveDetail = string.Empty; string JsonApproveDetail = string.Empty;
GetApproveNodes(appdetailsTemp, ref curentApprove, ref JsonApproveDetail);// GetApproveNodes(appdetails, ref curentApprove); GetApproveNodes(appdetailsTemp, ref curentApprove, ref JsonApproveDetail);// GetApproveNodes(appdetails, ref curentApprove);
bool isSendMessagePer = isSendMessage;//当前是否发送待办 bool isSendMessagePer = isSendMessage;//当前是否发送待办
DealOperateApproveDetail(ref isSendMessagePer, operaterID, ref appdetailsTemp, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 DealOperateApproveDetail(ref isSendMessagePer, operaterID, ref appdetailsTemp, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove, ref curentTask);//整理操作者审批流相关信息
if (isSendMessagePer) if (isSendMessagePer)
{ {
@ -1001,7 +1007,7 @@ namespace APT.BaseData.Services.Services.FM
string JsonApproveDetail = string.Empty; string JsonApproveDetail = string.Empty;
GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail); GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail);
DealOperateApproveDetail(ref isSendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 DealOperateApproveDetail(ref isSendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove,ref curentTask);//整理操作者审批流相关信息
if (isSendMessage) if (isSendMessage)
{ {
@ -1057,6 +1063,8 @@ namespace APT.BaseData.Services.Services.FM
UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID"); UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
if (listNotice.Count > 0) if (listNotice.Count > 0)
BantchAddEntityNoCommit(listNotice); BantchAddEntityNoCommit(listNotice);
if (curentTask!=null)
AddEntityNoCommit(curentTask);
}); });
//如果 审批流需要执行默认审批 调用 回调方法 //如果 审批流需要执行默认审批 调用 回调方法
@ -1136,6 +1144,7 @@ namespace APT.BaseData.Services.Services.FM
List<T_BS_OPERATE_LOG> listBSLog = new List<T_BS_OPERATE_LOG>(); List<T_BS_OPERATE_LOG> listBSLog = new List<T_BS_OPERATE_LOG>();
List<T_PF_APPROVE_DETAIL> appdetails = new List<T_PF_APPROVE_DETAIL>(); List<T_PF_APPROVE_DETAIL> appdetails = new List<T_PF_APPROVE_DETAIL>();
List<T_PF_APPROVE_DETAIL> appdetailsTemp = null; List<T_PF_APPROVE_DETAIL> appdetailsTemp = null;
T_FM_NOTIFICATION_TASK curentTask = null;
IEnumerable<T_PF_APPROVAL_ROLE> iEnumApprovalRole = null; IEnumerable<T_PF_APPROVAL_ROLE> iEnumApprovalRole = null;
//上个消息 //上个消息
T_FM_NOTIFICATION_TASK finishNotice = null; T_FM_NOTIFICATION_TASK finishNotice = null;
@ -1326,7 +1335,7 @@ namespace APT.BaseData.Services.Services.FM
GetApproveNodes(appdetailsTemp, ref curentApprove, ref JsonApproveDetail);// GetApproveNodes(appdetails, ref curentApprove); GetApproveNodes(appdetailsTemp, ref curentApprove, ref JsonApproveDetail);// GetApproveNodes(appdetails, ref curentApprove);
bool isSendMessagePer = isSendMessage;//当前是否发送待办 bool isSendMessagePer = isSendMessage;//当前是否发送待办
DealOperateApproveDetail(ref isSendMessagePer, operaterID, ref appdetailsTemp, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 DealOperateApproveDetail(ref isSendMessagePer, operaterID, ref appdetailsTemp, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove, ref curentTask);//整理操作者审批流相关信息
if (isSendMessagePer) if (isSendMessagePer)
{ {
@ -1469,7 +1478,7 @@ namespace APT.BaseData.Services.Services.FM
string JsonApproveDetail = string.Empty; string JsonApproveDetail = string.Empty;
GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail); GetApproveNodes(appdetails, ref curentApprove, ref JsonApproveDetail);
DealOperateApproveDetail(ref isSendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 DealOperateApproveDetail(ref isSendMessage, operaterID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove,ref curentTask);//整理操作者审批流相关信息
if (isSendMessage) if (isSendMessage)
{ {
@ -1544,6 +1553,8 @@ namespace APT.BaseData.Services.Services.FM
UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID"); UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
if (listNotice.Count > 0) if (listNotice.Count > 0)
BantchAddEntityNoCommit(listNotice); BantchAddEntityNoCommit(listNotice);
if (curentTask != null)
AddEntityNoCommit(curentTask);
}); });
//如果 审批流需要执行默认审批 调用 回调方法 //如果 审批流需要执行默认审批 调用 回调方法
@ -2075,7 +2086,7 @@ namespace APT.BaseData.Services.Services.FM
/// <param name="listDATA_ID"></param> /// <param name="listDATA_ID"></param>
/// <param name="approve"></param> /// <param name="approve"></param>
/// <param name="curentApprove"></param> /// <param name="curentApprove"></param>
private static void DealOperateApproveDetail(ref bool isSendMessage, Guid? operaterID, ref List<T_PF_APPROVE_DETAIL> appdetails, ref string CALLBACK_INTERFACE, List<string> listDATA_ID, T_PF_APPROVE approve, ref T_PF_APPROVE_DETAIL curentApprove) private static void DealOperateApproveDetail(ref bool isSendMessage, Guid? operaterID, ref List<T_PF_APPROVE_DETAIL> appdetails, ref string CALLBACK_INTERFACE, List<string> listDATA_ID, T_PF_APPROVE approve, ref T_PF_APPROVE_DETAIL curentApprove,ref T_FM_NOTIFICATION_TASK curentTask)
{ {
if (appdetails != null && appdetails.Count > 0) if (appdetails != null && appdetails.Count > 0)
{ {
@ -2083,6 +2094,20 @@ namespace APT.BaseData.Services.Services.FM
var approveOperater = appdetails.FirstOrDefault(e => e.APPROVE_USER_ID == operaterID); var approveOperater = appdetails.FirstOrDefault(e => e.APPROVE_USER_ID == operaterID);
if (approveOperater != null) if (approveOperater != null)
{ {
//本人默认审批,存入一条已办
curentTask = new T_FM_NOTIFICATION_TASK();
curentTask.CODE = DateTime.Now.ToString("yyyyMMddHHmmss");
curentTask.NOTICE_TITLE = approve.NAME + "审批";
curentTask.SOURCE_DATA_ID = approve.ID;
curentTask.ORG_ID = approve.ORG_ID;
curentTask.ID = Guid.NewGuid();
curentTask.TASK_STARTDT = DateTime.Now;
curentTask.TASK_ENDDT = DateTime.Now.AddHours(24);
curentTask.NOTICE_TYPE = (int)FMNoticeTypeEnum.;
curentTask.NOTICE_STATUS = (int)FMNoticeStatusEnum.;
curentTask.USER_ID = (Guid)operaterID;
curentTask.USER_NAME = approveOperater.Nav_ApproveUser?.NAME;
curentTask.SOURCE_FORMCODE = approve.APPROVE_CODE;
//设置为已审批 //设置为已审批
approveOperater.IS_CURRENT = false; approveOperater.IS_CURRENT = false;
approveOperater.NODE_APPROVE_STATUS = (int)NodeApproveStatus.Done; approveOperater.NODE_APPROVE_STATUS = (int)NodeApproveStatus.Done;
@ -2818,8 +2843,9 @@ namespace APT.BaseData.Services.Services.FM
} }
T_PF_APPROVE_DETAIL curentApprove = null; T_PF_APPROVE_DETAIL curentApprove = null;
T_FM_NOTIFICATION_TASK curentTask = null;
bool isMsg = false; bool isMsg = false;
DealOperateApproveDetail(ref isMsg, LoginID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove);//整理操作者审批流相关信息 wyw DealOperateApproveDetail(ref isMsg, LoginID, ref appdetails, ref CALLBACK_INTERFACE, listDATA_ID, approve, ref curentApprove,ref curentTask);//整理操作者审批流相关信息 wyw
if (curentApprove == null) if (curentApprove == null)
{ {
//Msg = "获取审批流当前节点信息失败"; //Msg = "获取审批流当前节点信息失败";

View File

@ -11424,6 +11424,21 @@ namespace APT.BaseData.Services.DomainServices
t.ISCHECK = true; t.ISCHECK = true;
t.CHECKTIME = DateTime.Now; t.CHECKTIME = DateTime.Now;
}); });
//存入一条已办
T_FM_NOTIFICATION_TASK notice = new T_FM_NOTIFICATION_TASK();
notice.CODE = DateTime.Now.ToString("yyyyMMddHHmmss");
notice.NOTICE_TITLE = entity.DEPARTMENT_TYPE.GetDescription() + "安全检查通知" + DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0') + entity.Nav_CheckType?.NAME + "-确认";
notice.SOURCE_DATA_ID = entity.ID;
notice.ORG_ID = entity.ORG_ID;
notice.ID = Guid.NewGuid();
notice.TASK_STARTDT = DateTime.Now;
notice.TASK_ENDDT = DateTime.Now.AddHours(24);
notice.NOTICE_TYPE = (int)FMNoticeTypeEnum.;
notice.NOTICE_STATUS = (int)FMNoticeStatusEnum.;
notice.USER_ID = (Guid)entity.APPLY_USER_ID;
notice.USER_NAME = entity.Nav_ApplyUser?.NAME;
notice.SOURCE_FORMCODE = "SK006_SHOWPRINT";
sendNotices.Add(notice);
} }
userIds = userIds.Distinct().ToList(); userIds = userIds.Distinct().ToList();
if (userIds != null && userIds.Any()) if (userIds != null && userIds.Any())
@ -11438,8 +11453,8 @@ namespace APT.BaseData.Services.DomainServices
} }
var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0'); var date = DateTime.Now.Year + DateTime.Now.Month.PadLeft(2, '0') + DateTime.Now.Day.PadLeft(2, '0');
//发消息 //发消息
sendNotices = NotificationTaskService.InsertUserNoticeTaskModels(entity.DEPARTMENT_TYPE.GetDescription() + "安全检查通知" + date + entity.Nav_CheckType?.NAME + "-确认", entity.ID, entity.ORG_ID, userIds, UserNames, DateTime.Now, sendNotices.AddRange(NotificationTaskService.InsertUserNoticeTaskModels(entity.DEPARTMENT_TYPE.GetDescription() + "安全检查通知" + date + entity.Nav_CheckType?.NAME + "-确认", entity.ID, entity.ORG_ID, userIds, UserNames, DateTime.Now,
DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum., "SK006_SHOWPRINT"); DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum., "SK006_SHOWPRINT"));
} }
else else
{ {

View File

@ -530,7 +530,7 @@ namespace APT.FM.WebApi.Controllers.Api.FM
{ {
return SafeExecute<bool>(() => return SafeExecute<bool>(() =>
{ {
//var allUsers = this.GetEntities<T_FM_USER>(t => t.IS_DELETED == false, null, "Nav_ApproveRole"); var allUsers = this.GetEntities<T_FM_USER>(t => t.IS_DELETED == false, null, "Nav_ApproveRole");
var isAdd = this.GetEntity<T_FM_USER>(entity.ID.ToString(), "Nav_ApproveRole", "Nav_BelongRoles"); var isAdd = this.GetEntity<T_FM_USER>(entity.ID.ToString(), "Nav_ApproveRole", "Nav_BelongRoles");
string dbRuleStr = string.Empty; string dbRuleStr = string.Empty;
var userList = new List<T_FM_USER>(); var userList = new List<T_FM_USER>();
@ -793,25 +793,28 @@ namespace APT.FM.WebApi.Controllers.Api.FM
if (isExist != null) if (isExist != null)
this.ThrowError("070001"); this.ThrowError("070001");
} }
//删除旧的排班,在新的排班里面加入 var oldUser = allUsers.FirstOrDefault(t => t.ID == entity.ID);
deleteDepartScheIds = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(t =>t.Nav_DepartmentScheduling!=null && t.Nav_DepartmentScheduling.DATE_TIME >= DateTime.Now.Date && t.Nav_DepartmentScheduling.START_TIME >= DateTime.Now && t.PERSON_ID == entity.PERSON_ID,new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList(); if (oldUser != null && oldUser.DEPARTMENT_ID != entity.DEPARTMENT_ID)
if (departScheIds != null && departScheIds.Any())
{ {
var departScheDetailTemps = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(t => departScheIds.Contains(t.DEPARTMENT_SCHEDULING_ID) && t.PERSON_ID == entity.PERSON_ID, new BaseFilter(entity.ORG_ID)).ToList(); //删除旧的排班,在新的排班里面加入
foreach (var id in departScheIds) deleteDepartScheIds = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(t => t.Nav_DepartmentScheduling != null && t.Nav_DepartmentScheduling.DATE_TIME >= DateTime.Now.Date && t.Nav_DepartmentScheduling.START_TIME >= DateTime.Now && t.PERSON_ID == entity.PERSON_ID, new BaseFilter(entity.ORG_ID)).Select(m => m.ID).ToList();
if (departScheIds != null && departScheIds.Any())
{ {
var detail = departScheDetailTemps.FirstOrDefault(t => t.DEPARTMENT_SCHEDULING_ID == id); var departScheDetailTemps = this.GetEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(t => departScheIds.Contains(t.DEPARTMENT_SCHEDULING_ID) && t.PERSON_ID == entity.PERSON_ID, new BaseFilter(entity.ORG_ID)).ToList();
if (detail == null) foreach (var id in departScheIds)
{ {
T_FM_DEPARTMENT_SCHEDULING_DETAIL de = new T_FM_DEPARTMENT_SCHEDULING_DETAIL(); var detail = departScheDetailTemps.FirstOrDefault(t => t.DEPARTMENT_SCHEDULING_ID == id);
de.ORG_ID = entity.ORG_ID; if (detail == null)
de.DEPARTMENT_SCHEDULING_ID = id; {
de.PERSON_ID = entity.PERSON_ID.Value; T_FM_DEPARTMENT_SCHEDULING_DETAIL de = new T_FM_DEPARTMENT_SCHEDULING_DETAIL();
departScheDetails.Add(de); de.ORG_ID = entity.ORG_ID;
de.DEPARTMENT_SCHEDULING_ID = id;
de.PERSON_ID = entity.PERSON_ID.Value;
departScheDetails.Add(de);
}
} }
} }
} }
//} //}
if (entity.APPROVE_ROLE_ID != null) if (entity.APPROVE_ROLE_ID != null)

View File

@ -75,6 +75,7 @@ namespace APT.PP.WebApi.Controllers.Api
} }
public class CheckListDetail public class CheckListDetail
{ {
public Guid? ID { get; set; }
public string RISK_NAME { get; set; } public string RISK_NAME { get; set; }
public Guid? RISK_AREA_ID { get; set; } public Guid? RISK_AREA_ID { get; set; }
@ -86,6 +87,9 @@ namespace APT.PP.WebApi.Controllers.Api
public string CHECKPROOF { get; set; } public string CHECKPROOF { get; set; }
public string CHECKSTANDARD { get; set; } public string CHECKSTANDARD { get; set; }
public Guid? ENTERPRISE_LIBRARY_DETAIL_ID { get; set; }
public Guid? ENTERPRISE_LIBRARY_ID { get; set; }
public string MEASURES_NAME { get; set; }
} }
[Route("api/PP/SKController")] [Route("api/PP/SKController")]
[TypeFilter(typeof(CustomActionFilterAttribute))] [TypeFilter(typeof(CustomActionFilterAttribute))]
@ -5939,5 +5943,259 @@ namespace APT.PP.WebApi.Controllers.Api
return true; return true;
}); });
} }
/// <summary>
/// 定时更新系统管理下面的检查清单
/// </summary>
/// <param name="pageFilter"></param>
/// <returns></returns>
[HttpPost, Route("UpdateCheckList")]
public JsonActionResult<bool> UpdateCheckList([FromBody] KeywordFilter filter)
{
return SafeExecute<bool>(() =>
{
try
{
var deleteHidIds = this.GetEntities<T_SK_CHECK_SET_CONTENTS_HIDDEN>(t => true, new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList();
var deleteConIds = this.GetEntities<T_SK_CHECK_SET_CONTENTS>(t => true, new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList();
var deleteSetIds = this.GetEntities<T_SK_CHECK_SET>(t => true, new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList();
List<T_SK_CHECK_SET> sets = new List<T_SK_CHECK_SET>();
List<T_SK_CHECK_SET_CONTENTS> setContents = new List<T_SK_CHECK_SET_CONTENTS>();
List<T_SK_CHECK_SET_CONTENTS_HIDDEN> setConHiddens = new List<T_SK_CHECK_SET_CONTENTS_HIDDEN>();
List<CheckListNew> list = new List<CheckListNew>();
List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART> conDepartlist = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>();
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 productions = this.GetEntities<T_FM_USER_PRODUCTION_UNIT_SET>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList();
//企业库
var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId), "Nav_Area").ToList();
var libIds = librarys.Select(t => t.ID).ToList();
//管控层级
var libraryDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DEPART>(t => !t.IS_DELETED && libIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId)).ToList();
//管控措施
var libraryDetails = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => !t.IS_DELETED && libIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId)).ToList();
var libDetailIds = libraryDetails.Select(t => t.ID).ToList();
//检查内容
var contents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => !t.IS_DELETED && libDetailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_Contents").ToList();
var libContentIds = libraryDetails.Select(t => t.ID).ToList();
//检查层级
var contentDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => !t.IS_DELETED && libContentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList();
//隐患描述
//var contentHiddens = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList();
//辨识岗位
var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => !t.IS_DELETED && libIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList();
//岗位排查
var checkTypeIds = this.GetEntities<T_SK_CHECK_TYPE>(t => t.NAME == "岗位排查", new BaseFilter(filter.OrgId)).Select(x => x.ID).ToList();
//检查清单(生产单元+检查层级+检查类型+检查周期+检查部门:取辨识部门+检查对象:取辨识岗位)
if (contentDeparts != null && contentDeparts.Any())
{
foreach (var item in contentDeparts)
{
var conFirst = contents.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID);
var detailFirst = libraryDetails.FirstOrDefault(t => t.ID == conFirst?.ENTERPRISE_LIBRARY_DETAIL_ID);
var libFirst = librarys.FirstOrDefault(t => t.ID == detailFirst?.ENTERPRISE_LIBRARY_ID);
if (item.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.CHECK_TYPE_ID))
{
var postFirst = posts.FirstOrDefault(t => t.ENTERPRISE_LIBRARY_ID == libFirst?.ID && t.DEPARTMENT_ID == item.DEPARTMENT_ID);
if (postFirst != null && postFirst.Nav_PostDetails != null && postFirst.Nav_PostDetails.Any())
{
foreach (var item2 in postFirst.Nav_PostDetails)
{
//去除有审批角色的人
var userCharge = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == item2.POST_ID && t.APPROVE_ROLE_ID != null);
if (userCharge == null)
{
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
de.MineType = libFirst != null ? libFirst.MineType : SKProductionUnit.All;
de.PRODUCTION_UNIT_ID = libFirst != null ? libFirst.PRODUCTION_UNIT_ID : null;
de.CHECK_TYPE_ID = item.CHECK_TYPE_ID;
de.TYPE_NAME = item.Nav_CheckType?.NAME;
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
de.CHECK_CYCLE = item.CHECK_CYCLE;
de.CHECK_TYPE = item.CHECK_TYPE;
de.DEPARTMENT_ID = item.DEPARTMENT_ID;
de.DEPART_NAME = item.Nav_Department?.NAME;
de.POST_ID = item2.POST_ID;
de.POST_NAME = item2.Nav_Post?.NAME;
conDepartlist.Add(de);
}
}
}
}
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 userInfo = users.FirstOrDefault(t => t.DEPARTMENT_ID == item.DEPARTMENT_ID && t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == item.POST_NAME);
if (userInfo == null)
{
var depart = departs.FirstOrDefault(t => t.ID == item.DEPARTMENT_ID);
if (depart != null && depart.USER_ID != null)
{
userInfo = users.FirstOrDefault(t => t.ID == depart.USER_ID);
}
}
T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
de.MineType = libFirst != null ? libFirst.MineType : SKProductionUnit.All;
de.PRODUCTION_UNIT_ID = libFirst != null ? libFirst.PRODUCTION_UNIT_ID : null;
de.CHECK_TYPE_ID = item.CHECK_TYPE_ID;
de.TYPE_NAME = item.Nav_CheckType?.NAME;
de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
de.CHECK_CYCLE = item.CHECK_CYCLE;
de.CHECK_TYPE = item.CHECK_TYPE;
de.DEPARTMENT_ID = item.DEPARTMENT_ID;
de.DEPART_NAME = item.Nav_Department?.NAME;
de.POST_ID = userInfo?.Nav_Person?.POST_ID;
de.POST_NAME = item.POST_NAME;
conDepartlist.Add(de);
}
}
}
if (conDepartlist != null && conDepartlist.Any())
{
var group = conDepartlist.GroupBy(t => new { t.PRODUCTION_UNIT_ID, 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 = productions.FirstOrDefault(t => t.ID == item.Key.PRODUCTION_UNIT_ID)?.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 = conDepartlist.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.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && 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 != null && temps.Any())
{
List<CheckListDetail> listDetail = new List<CheckListDetail>();
foreach (var tem in temps)
{
var detailFirst = libraryDetails.FirstOrDefault(t => t.ID == tem.ENTERPRISE_LIBRARY_DETAIL_ID);
var libFirst = librarys.FirstOrDefault(t => t.ID == detailFirst?.ENTERPRISE_LIBRARY_ID);
CheckListDetail checkListDetail = new CheckListDetail();
checkListDetail.ID = tem.ID;
checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID;
checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT;
checkListDetail.RISK_NAME = libFirst?.RISK_NAME;
checkListDetail.ENTERPRISE_LIBRARY_ID = libFirst?.ID;
checkListDetail.RISK_AREA_ID = libFirst?.AREA_ID;
checkListDetail.RISK_AREA_NAME = libFirst?.Nav_Area?.NAME;
checkListDetail.CHECKPROOF = tem.CHECK_BASIC;
checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD;
checkListDetail.ENTERPRISE_LIBRARY_DETAIL_ID = detailFirst?.ID;
checkListDetail.MEASURES_NAME = detailFirst?.MEASURES_NAME;
listDetail.Add(checkListDetail);
}
listNew.details = listDetail.GroupBy(n => new { n.RISK_AREA_ID, n.RISK_NAME, n.CHECK_CONTENTS_ID }).Select(g => g.FirstOrDefault()).OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList();
}
list.Add(listNew);
}
list = list.OrderBy(y => y.PRODUCTION_UNIT_ID).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
}
if (list != null && list.Any())
{
foreach (var item in list)
{
T_SK_CHECK_SET set = new T_SK_CHECK_SET();
set.ORG_ID = filter.OrgId;
set.DEPARTMENT_ID = item.CheckDepartId;
set.POST_ID = item.CheckPostId;
set.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
set.CHECK_TYPE_ID = item.CheckTypeId;
set.CHECK_CYCLE = item.Cycle;
set.CHECK_TYPE = item.DepartType;
set.POST_NAME = item.CheckPost;
sets.Add(set);
if (item.details != null && item.details.Any())
{
var i = 1;
foreach (var item2 in item.details)
{
if (item2 != null && item2.CHECK_CONTENTS_ID != null && item2.ID != null)
{
T_SK_CHECK_SET_CONTENTS detail = new T_SK_CHECK_SET_CONTENTS();
detail.ORG_ID = filter.OrgId;
detail.CHECK_SET_ID = set.ID;
detail.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
detail.CHECK_CONTENT = item2.CHECK_CONTENTS_NAME;
detail.CHECK_STANDARD = item2.CHECKSTANDARD;
detail.NUM = i;
detail.AREA_ID = item2.RISK_AREA_ID;
detail.RISK_NAME = item2.RISK_NAME;
detail.ENTERPRISE_LIBRARY_ID = item2.ENTERPRISE_LIBRARY_ID;
detail.ENTERPRISE_LIBRARY_DETAIL_ID = item2.ENTERPRISE_LIBRARY_DETAIL_ID;
detail.MEASURES_NAME = item2.MEASURES_NAME;
setContents.Add(detail);
i++;
//var hiddens = contentHiddens.Where(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID == item2.ID).ToList();
//if (hiddens != null && hiddens.Any())
//{
// foreach (var item3 in hiddens)
// {
// if (item3 != null && item3.CHECK_QUESTION_ID!=null && item3.HIDDEN_LEVEL !=null)
// {
// T_SK_CHECK_SET_CONTENTS_HIDDEN hid = new T_SK_CHECK_SET_CONTENTS_HIDDEN();
// hid.ORG_ID = filter.OrgId;
// hid.CHECK_CONTENTS_SET_ID = detail.ID;
// hid.CHECK_QUESTION_ID = item3.CHECK_QUESTION_ID;
// hid.NUM = item3.NUM;
// hid.HIDDEN_LEVEL = item3 != null ? (SKHiddenLevel)item3.HIDDEN_LEVEL : SKHiddenLevel.General;
// hid.RECTIFICATION_MEASURES = item3.RECTIFICATION_MEASURES;
// hid.HIDDEN_DESCRIPTION = item3.HIDDEN_DESCRIPTION;
// setConHiddens.Add(hid);
// }
// }
//}
}
}
}
}
}
UnifiedCommit(() =>
{
if (deleteHidIds != null && deleteHidIds.Any())
BantchDeleteEntityNoCommit<T_SK_CHECK_SET_CONTENTS_HIDDEN>(deleteHidIds);
if (deleteConIds != null && deleteConIds.Any())
BantchDeleteEntityNoCommit<T_SK_CHECK_SET_CONTENTS>(deleteConIds);
if (deleteSetIds != null && deleteSetIds.Any())
BantchDeleteEntityNoCommit<T_SK_CHECK_SET>(deleteSetIds);
if (sets != null && sets.Any())
BantchSaveEntityNoCommit(sets);
if (setContents != null && setContents.Any())
BantchSaveEntityNoCommit(setContents);
//if (setConHiddens != null && setConHiddens.Any())
// BantchSaveEntityNoCommit(setConHiddens);
});
}
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;
});
}
} }
} }

View File

@ -1,15 +1,18 @@
using APT.BaseData.Domain.Entities.FM; using APT.BaseData.Domain.ApiModel.Platform;
using APT.Infrastructure.Core; using APT.BaseData.Domain.Entities.FM;
using Microsoft.AspNetCore.Mvc;
using APT.Infrastructure.Api;
using System.Collections.Generic;
using System;
using System.Linq;
using APT.Utility;
using APT.MS.Domain.Entities.BI;
using APT.BaseData.Domain.IServices.BI; using APT.BaseData.Domain.IServices.BI;
using APT.BaseData.Domain.ApiModel.Platform; using APT.Infrastructure.Api;
using APT.Infrastructure.Api.Redis; using APT.Infrastructure.Api.Redis;
using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.BI;
using APT.MS.Domain.Entities.HM;
using APT.MS.Domain.Entities.SK;
using APT.Utility;
using log4net.Core;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
namespace APT.SC.WebApi.Controllers.Api.BI namespace APT.SC.WebApi.Controllers.Api.BI
{ {
@ -2116,6 +2119,36 @@ namespace APT.SC.WebApi.Controllers.Api.BI
return result; return result;
}); });
} }
/// <summary>
/// 风险等级占比
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("GetHomeRiskLevel")]
public JsonActionResult<List<T_FM_RISK_LEVEL_PROPORTION>> GetHomeRiskLevel([FromBody] KeywordFilter filter)
{
return SafeExecute(() =>
{
List<T_FM_RISK_LEVEL_PROPORTION> result = new List<T_FM_RISK_LEVEL_PROPORTION>();
BaseFilter baseFilter = new BaseFilter(filter.GetOrgId());
baseFilter.SelectField = new string[] { "EVALUATE_LEVEL" };
var evaluateRisks = GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => t.EVALUATE_LEVEL != null && t.ENABLE_STATUS == 0, baseFilter).OrderBy(i => i.EVALUATE_LEVEL).ToList();
var distinctLevelTypes = evaluateRisks.GroupBy(m => new { m.EVALUATE_LEVEL }).Select(group => new { group.Key.EVALUATE_LEVEL, count = group.Count() }).ToList();
int i = 1;
foreach (var item in distinctLevelTypes)
{
T_FM_RISK_LEVEL_PROPORTION riskLevelProportion = new T_FM_RISK_LEVEL_PROPORTION();
riskLevelProportion.COUNT = item.count;
riskLevelProportion.NUM = i;
riskLevelProportion.RISK_LEVEL = item.EVALUATE_LEVEL.GetDescription();
riskLevelProportion.ORG_ID = filter.GetOrgId();
result.Add(riskLevelProportion);
i++;
}
return result;
});
}
} }
/// <summary> /// <summary>

View File

@ -415,7 +415,6 @@ namespace APT.SC.WebApi.Controllers.Api.BI
} }
if (result != null && result.Any()) if (result != null && result.Any())
{ {
var steps = this.GetEntities<T_HM_OPERATION_STEP>(t => !t.IS_DELETED, new BaseFilter(orgId));
foreach (var da in result) foreach (var da in result)
{ {
var temps = details.Where(t => t.company == da.company).ToList(); var temps = details.Where(t => t.company == da.company).ToList();
@ -426,7 +425,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
{ {
var JobTodayDetail = new JobTodayDetail(); var JobTodayDetail = new JobTodayDetail();
JobTodayDetail.qty = de.qty; JobTodayDetail.qty = de.qty;
JobTodayDetail.jobName = steps.FirstOrDefault(t => t.ID == Guid.Parse(de.jobName))?.NAME; JobTodayDetail.jobName = de.jobName;
JobTodayDetail.company = de.company; JobTodayDetail.company = de.company;
detailTemps.Add(JobTodayDetail); detailTemps.Add(JobTodayDetail);
} }

View File

@ -8,6 +8,7 @@ using APT.BaseData.Domain.IServices;
using APT.BaseData.Domain.IServices.FM; using APT.BaseData.Domain.IServices.FM;
using APT.BaseData.Services.DomainServices; using APT.BaseData.Services.DomainServices;
using APT.BaseData.Services.Services.FM; using APT.BaseData.Services.Services.FM;
using APT.Infrastructure.Api;
using APT.Infrastructure.Api.Redis; using APT.Infrastructure.Api.Redis;
using APT.Infrastructure.Core; using APT.Infrastructure.Core;
using APT.MS.Domain.Entities.BI; using APT.MS.Domain.Entities.BI;
@ -32,6 +33,7 @@ using InfluxData.Net.Kapacitor.Models;
using log4net.Filter; using log4net.Filter;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Data.SqlClient;
using MySqlX.XDevAPI.Common; using MySqlX.XDevAPI.Common;
using NPOI.SS.Formula.Functions; using NPOI.SS.Formula.Functions;
using Renci.SshNet.Common; using Renci.SshNet.Common;
@ -46,6 +48,7 @@ using System.Linq.Expressions;
using System.Net.NetworkInformation; using System.Net.NetworkInformation;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Threading.Tasks; using System.Threading.Tasks;
using static APT.SC.WebApi.Controllers.Api.BI.BIKanBanController;
namespace APT.SC.WebApi.Controllers.Api.BIController namespace APT.SC.WebApi.Controllers.Api.BIController
{ {
@ -140,6 +143,37 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
public int num { get; set; } public int num { get; set; }
public List<DepartmentInfo> deptInfos { get; set; } public List<DepartmentInfo> deptInfos { get; set; }
} }
public class TaskViewInfo
{
public string MOULD_NAME { get; set; }
public string FORM_NAME { get; set; }
public string COMPANY_NAME { get; set; }
public int TOTAL_QTY { get; set; }
public int NORMAL_FINISH { get; set; }
public int OVER_FINISH { get; set; }
public int DOING { get; set; }
public int UNFINISH { get; set; }
public int OVER_UNFINISH { get; set; }
public string FINISH_RATE { get; set; }
public string NORMAL_RATE { get; set; }
public List<TaskViewInfoDetail> details { get; set; }
}
public class TaskViewInfoDetail
{
public string MOULD_NAME { get; set; }
public string FORM_NAME { get; set; }
public string COMPANY_NAME { get; set; }
public string NOTICE_TITLE { get; set; }
public DateTime? TASK_STARTDT { get; set; }
public DateTime? TASK_ENDDT { get; set; }
public DateTime? TASK_DT { get; set; }
public string NOTICE_STATUS { get; set; }
public string USER_NAME { get; set; }
}
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -11141,5 +11175,98 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
/// </summary> /// </summary>
public List<T_FM_WORK_TICKET_COMPLETION> result { get; set; } public List<T_FM_WORK_TICKET_COMPLETION> result { get; set; }
} }
/// <summary>
/// 系统运行情况报表
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
[HttpPost, Route("GetTaskViewInfo")]
public JsonActionResult<List<TaskViewInfo>> GetTaskViewInfo([FromBody] KeywordFilter filter)
{
string connhead = ConfigurationManager.ConnectionStrings["head"];
JsonActionResult<List<TaskViewInfo>> result = new JsonActionResult<List<TaskViewInfo>>();
result.Data = new List<TaskViewInfo>();
DataTable Table = new DataTable();
using (SqlConnection connection = new SqlConnection(connhead))
{
try
{
connection.Open();
//各公司待办明细
string sql = "select * from vhome_task_data_form ";
SqlCommand com = new SqlCommand(sql, connection);
SqlDataAdapter Data = new SqlDataAdapter(com);
Data.Fill(Table);
connection.Close();
}
catch (Exception ex)
{
if (!string.IsNullOrEmpty(ex.StackTrace))
throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
else
throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
}
if (Table != null && Table.Rows.Count > 0)
{
List<TaskViewInfoDetail> listAddNew = new List<TaskViewInfoDetail>();
foreach (DataRow item in Table.Rows)
{
listAddNew.Add(new TaskViewInfoDetail()
{
COMPANY_NAME = item["db_name"] != null ? item["db_name"].ToString() : null,
MOULD_NAME = item["MODEL_NAME"] != null ? item["MODEL_NAME"].ToString() : null,
FORM_NAME = item["FORM_NAME"] != null ? item["FORM_NAME"].ToString() : null,
NOTICE_TITLE = item["NOTICE_TITLE"] != null ? item["NOTICE_TITLE"].ToString() : null,
NOTICE_STATUS = item["NOTICE_STATUS"] != null ? item["NOTICE_STATUS"].ToString() : null,
TASK_DT = item["TASK_DT"] != null ? Convert.ToDateTime(item["TASK_DT"].ToString()) : null,
TASK_STARTDT = item["TASK_STARTDT"] != null ? Convert.ToDateTime(item["TASK_STARTDT"].ToString()) : null,
TASK_ENDDT = item["TASK_ENDDT"] != null ? Convert.ToDateTime(item["TASK_ENDDT"].ToString()) : null,
USER_NAME = item["USER_NAME"] != null ? item["USER_NAME"].ToString() : null
});
}
var taskGroup = listAddNew.GroupBy(t => new { t.COMPANY_NAME, t.MOULD_NAME, t.FORM_NAME }).ToList();
if (taskGroup != null && taskGroup.Any())
{
foreach (var item in taskGroup)
{
var details = listAddNew.Where(t => t.COMPANY_NAME == item.Key.COMPANY_NAME && t.MOULD_NAME == item.Key.MOULD_NAME && t.FORM_NAME == item.Key.FORM_NAME).ToList();
TaskViewInfo info = new TaskViewInfo();
info.COMPANY_NAME = item.Key.COMPANY_NAME;
info.MOULD_NAME = item.Key.MOULD_NAME;
info.FORM_NAME = item.Key.FORM_NAME;
info.TOTAL_QTY = details.Count();
info.NORMAL_FINISH = details.Count(t => t.NOTICE_STATUS == "1");
info.OVER_FINISH = details.Count(t => t.NOTICE_STATUS == "2");
info.DOING = details.Count(t => t.NOTICE_STATUS == "0" && t.TASK_ENDDT >= DateTime.Now);
info.UNFINISH = details.Count(t => t.NOTICE_STATUS == "0");
info.OVER_UNFINISH = details.Count(t => t.NOTICE_STATUS == "0" && t.TASK_ENDDT < DateTime.Now);
info.FINISH_RATE = info.TOTAL_QTY == 0 ? "0" : ((double)(info.NORMAL_FINISH + info.OVER_FINISH) / info.TOTAL_QTY * 100).ToString("0.00");
info.NORMAL_RATE = info.TOTAL_QTY == 0 ? "0" : ((double)info.NORMAL_FINISH / info.TOTAL_QTY * 100).ToString("0.00");
if (details != null && details.Any())
{
info.details = new List<TaskViewInfoDetail>();
foreach (var de in details)
{
TaskViewInfoDetail dd = new TaskViewInfoDetail();
dd.COMPANY_NAME = de.COMPANY_NAME;
dd.MOULD_NAME = de.MOULD_NAME;
dd.FORM_NAME = de.FORM_NAME;
dd.NOTICE_TITLE = de.NOTICE_TITLE;
dd.NOTICE_STATUS = de.NOTICE_STATUS;
dd.TASK_DT = de.TASK_DT == DateTime.MinValue ? null : de.TASK_DT;
dd.TASK_STARTDT = de.TASK_STARTDT;
dd.TASK_ENDDT = de.TASK_ENDDT;
dd.USER_NAME = de.USER_NAME;
info.details.Add(dd);
}
}
result.Data.Add(info);
}
}
}
}
return result;
}
} }
} }

View File

@ -1610,7 +1610,7 @@ namespace APT.SK.WebApi.Controllers.Api
//throw new Exception("生产单元,检查层级,检查类型,检查周期都不能为空"); //throw new Exception("生产单元,检查层级,检查类型,检查周期都不能为空");
} }
var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID; var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
var checkSet = this.GetEntity<T_SK_CHECK_SET>(t => t.PRODUCTION_UNIT_ID == entity.PRODUCTION_UNIT_ID && t.CHECK_CYCLE == entity.PLANCHECKFREQUENCY && t.CHECK_TYPE == entity.DEPARTMENT_TYPE && t.DEPARTMENT_ID == Guid.Parse(departId.ToString())); var checkSet = this.GetEntity<T_SK_CHECK_SET>(t => t.PRODUCTION_UNIT_ID == entity.PRODUCTION_UNIT_ID && t.CHECK_CYCLE == entity.PLANCHECKFREQUENCY && t.CHECK_TYPE == entity.DEPARTMENT_TYPE && t.DEPARTMENT_ID == Guid.Parse(departId.ToString()) && t.CHECK_TYPE_ID == entity.CHECK_TYPE_ID);
if (checkSet == null) if (checkSet == null)
{ {
result.ErrorMessage = "未找到对应的检查清单,请手动添加检查内容"; result.ErrorMessage = "未找到对应的检查清单,请手动添加检查内容";
@ -1676,7 +1676,11 @@ namespace APT.SK.WebApi.Controllers.Api
T_SK_HIDDEN_DANGER_REPORT dangerReport = null; T_SK_HIDDEN_DANGER_REPORT dangerReport = null;
T_SK_HIDDEN_DANGER_HAND_REPORT hand = null; T_SK_HIDDEN_DANGER_HAND_REPORT hand = null;
T_SK_HIDDEN_DANGER_CONFIRM confirm= null; T_SK_HIDDEN_DANGER_CONFIRM confirm= null;
T_SK_SECURITY_INSPECTION_RECORD_SUMMARY recordSum = null;
List<T_SK_SECURITY_INSPECTION_RECORD> safeRecords = new List<T_SK_SECURITY_INSPECTION_RECORD>();
List<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE> rectifyNotices = new List<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE>();
List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> rectifyRecords = new List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(); List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> rectifyRecords = new List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>();
Guid Keyword = new Guid(filter.Keyword); Guid Keyword = new Guid(filter.Keyword);
//检查通知 //检查通知
var check = GetEntity<T_SK_SECURITY_INSPECTION_NOTICE>(Keyword); var check = GetEntity<T_SK_SECURITY_INSPECTION_NOTICE>(Keyword);
@ -1695,7 +1699,8 @@ namespace APT.SK.WebApi.Controllers.Api
{ {
confirmId = confirm.ID; confirmId = confirm.ID;
sourceIds.Add(confirm.ID); sourceIds.Add(confirm.ID);
rectifyNoticeIds = GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE>(e => e.HIDDEN_DANGER_CONFIRM_ID != null && e.HIDDEN_DANGER_CONFIRM_ID == confirm.ID, filter).Select(t => t.ID).ToList(); rectifyNotices = GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE>(e => e.HIDDEN_DANGER_CONFIRM_ID != null && e.HIDDEN_DANGER_CONFIRM_ID == confirm.ID, filter).ToList();
rectifyNoticeIds = rectifyNotices.Select(t => t.ID).ToList();
if (rectifyNoticeIds != null && rectifyNoticeIds.Any()) if (rectifyNoticeIds != null && rectifyNoticeIds.Any())
{ {
sourceIds.AddRange(rectifyNoticeIds); sourceIds.AddRange(rectifyNoticeIds);
@ -1710,16 +1715,17 @@ namespace APT.SK.WebApi.Controllers.Api
sourceIds.AddRange(rectifyRecordIds); sourceIds.AddRange(rectifyRecordIds);
} }
} }
GetAutoNext(sourceIds, check, safeNoticeId, hand, handId,confirm, confirmId, safeRecordIds, safeRecordSumId, dangerReportId, dangerReport, rectifyNoticeIds, rectifyRecordIds, rectifyRecords, ref result); GetAutoNext(sourceIds, check, safeNoticeId, hand, handId, confirm, confirmId, safeRecordIds, safeRecords, safeRecordSumId, recordSum, dangerReportId, dangerReport, rectifyNoticeIds, rectifyNotices, rectifyRecordIds, rectifyRecords, ref result);
} }
} }
else else
{ {
safeNoticeId = check.ID; safeNoticeId = check.ID;
sourceIds.Add(check.ID); sourceIds.Add(check.ID);
safeRecordIds = GetEntities<T_SK_SECURITY_INSPECTION_RECORD>(e => e.SECURITY_INSPECTION_NOTICE_ID != null && e.SECURITY_INSPECTION_NOTICE_ID == check.ID, filter).Select(m=>m.ID).ToList(); safeRecords = GetEntities<T_SK_SECURITY_INSPECTION_RECORD>(e => e.SECURITY_INSPECTION_NOTICE_ID != null && e.SECURITY_INSPECTION_NOTICE_ID == check.ID, filter).ToList();
safeRecordIds = safeRecords.Select(m => m.ID).ToList();
sourceIds.AddRange(safeRecordIds); sourceIds.AddRange(safeRecordIds);
var recordSum= GetEntity<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(e => e.SECURITY_INSPECTION_NOTICE_ID != null && e.SECURITY_INSPECTION_NOTICE_ID == check.ID); recordSum= GetEntity<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(e => e.SECURITY_INSPECTION_NOTICE_ID != null && e.SECURITY_INSPECTION_NOTICE_ID == check.ID);
if (recordSum != null) if (recordSum != null)
{ {
safeRecordSumId = recordSum.ID; safeRecordSumId = recordSum.ID;
@ -1729,7 +1735,8 @@ namespace APT.SK.WebApi.Controllers.Api
{ {
dangerReportId = dangerReport.ID; dangerReportId = dangerReport.ID;
sourceIds.Add(dangerReport.ID); sourceIds.Add(dangerReport.ID);
rectifyNoticeIds = GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE>(e => e.HIDDEN_DANGER_REPORT_ID != null && e.HIDDEN_DANGER_REPORT_ID == dangerReport.ID,filter).Select(t=>t.ID).ToList(); rectifyNotices = GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE>(e => e.HIDDEN_DANGER_REPORT_ID != null && e.HIDDEN_DANGER_REPORT_ID == dangerReport.ID,filter).ToList();
rectifyNoticeIds = rectifyNotices.Select(t => t.ID).ToList();
if (rectifyNoticeIds != null && rectifyNoticeIds.Any()) if (rectifyNoticeIds != null && rectifyNoticeIds.Any())
{ {
sourceIds.AddRange(rectifyNoticeIds); sourceIds.AddRange(rectifyNoticeIds);
@ -1745,13 +1752,13 @@ namespace APT.SK.WebApi.Controllers.Api
} }
} }
} }
GetAutoNext(sourceIds,check, safeNoticeId,hand, handId, confirm,confirmId, safeRecordIds, safeRecordSumId, dangerReportId, dangerReport, rectifyNoticeIds, rectifyRecordIds, rectifyRecords, ref result); GetAutoNext(sourceIds,check, safeNoticeId,hand, handId, confirm,confirmId, safeRecordIds, safeRecords,safeRecordSumId, recordSum,dangerReportId, dangerReport, rectifyNoticeIds, rectifyNotices, rectifyRecordIds, rectifyRecords, ref result);
} }
return result; return result;
} }
}); });
} }
private void GetAutoNext(List<Guid> sourceIds, T_SK_SECURITY_INSPECTION_NOTICE check, Guid? safeNoticeId, T_SK_HIDDEN_DANGER_HAND_REPORT hand,Guid? handId, T_SK_HIDDEN_DANGER_CONFIRM confirm,Guid? confirmId, List<Guid> safeRecordIds, Guid? safeRecordSumId, Guid? dangerReportId, T_SK_HIDDEN_DANGER_REPORT dangerReport, List<Guid> rectifyNoticeIds, List<Guid> rectifyRecordIds, List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> rectifyRecords, ref List<OperateLog> result) private void GetAutoNext(List<Guid> sourceIds, T_SK_SECURITY_INSPECTION_NOTICE check, Guid? safeNoticeId, T_SK_HIDDEN_DANGER_HAND_REPORT hand,Guid? handId, T_SK_HIDDEN_DANGER_CONFIRM confirm,Guid? confirmId, List<Guid> safeRecordIds, List<T_SK_SECURITY_INSPECTION_RECORD> safeRecords, Guid? safeRecordSumId, T_SK_SECURITY_INSPECTION_RECORD_SUMMARY recordSum, Guid? dangerReportId, T_SK_HIDDEN_DANGER_REPORT dangerReport, List<Guid> rectifyNoticeIds, List<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE> rectifyNotices,List<Guid> rectifyRecordIds, List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> rectifyRecords, ref List<OperateLog> result)
{ {
var approveIds = new List<Guid>(); var approveIds = new List<Guid>();
var approves = new List<T_PF_APPROVE>(); var approves = new List<T_PF_APPROVE>();
@ -1908,6 +1915,33 @@ namespace APT.SK.WebApi.Controllers.Api
start1.STATUS = 0; start1.STATUS = 0;
noticeLog.logList.Add(start1); noticeLog.logList.Add(start1);
} }
//归档
if (check.STATUS == PFStandardStatus.Archived || check.STATUS == PFStandardStatus.Close)
{
OperateLogList start = new OperateLogList();
start.ID = safeNoticeId;
start.CODE = "SK006_SHOWPRINT";
start.USER_NAME = temp1.USER_NAME;
start.NAME = "安全检查通知归档";
start.DEAL_DATE = check.MODIFY_TIME;
start.CREATE_TIME = check.CREATE_TIME;
start.STATUS = 5 ;
noticeLog.logList.Add(start);
}
else
{
//手动发起的检查通知
OperateLogList start = new OperateLogList();
start.ID = check.ID;
start.CODE = "SK006_SHOWPRINT";
start.USER_NAME = checkUser.NAME;
start.NAME = "安全检查通知归档";
start.DEAL_DATE = check.MODIFY_TIME;
start.CREATE_TIME = check.CREATE_TIME;
start.STATUS = 0;
noticeLog.logList.Add(start);
}
} }
result.Add(noticeLog); result.Add(noticeLog);
#endregion #endregion
@ -1935,6 +1969,36 @@ namespace APT.SK.WebApi.Controllers.Api
start.CREATE_TIME = temp1.CREATE_TIME; start.CREATE_TIME = temp1.CREATE_TIME;
start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : (temp1.NOTICE_STATUS == 0 && temp1.TASK_ENDDT >= DateTime.Now) ? 16 : (temp1.TASK_ENDDT < DateTime.Now && temp1.NOTICE_STATUS == 0) ? 20 : 0; start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : (temp1.NOTICE_STATUS == 0 && temp1.TASK_ENDDT >= DateTime.Now) ? 16 : (temp1.TASK_ENDDT < DateTime.Now && temp1.NOTICE_STATUS == 0) ? 20 : 0;
recordLog.logList.Add(start); recordLog.logList.Add(start);
var record = safeRecords.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID);
if (record != null)
{
//归档
if (record.STATUS == PFStandardStatus.Archived || record.STATUS == PFStandardStatus.Close)
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK010_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.NAME = "安全检查记录归档";
start1.DEAL_DATE = record.MODIFY_TIME;
start1.CREATE_TIME = record.CREATE_TIME;
start1.STATUS = 5;
recordLog.logList.Add(start1);
}
else
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK010_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.NAME = "安全检查记录归档";
start1.DEAL_DATE = record.MODIFY_TIME;
start1.CREATE_TIME = record.CREATE_TIME;
start1.STATUS = 0;
recordLog.logList.Add(start1);
}
}
} }
} }
var temp3 = itemps.Where(t => t.NOTICE_STATUS != 1).OrderByDescending(n => n.NOTICE_STATUS).ThenBy(m => m.MODIFY_TIME).ToList(); var temp3 = itemps.Where(t => t.NOTICE_STATUS != 1).OrderByDescending(n => n.NOTICE_STATUS).ThenBy(m => m.MODIFY_TIME).ToList();
@ -1951,8 +2015,39 @@ namespace APT.SK.WebApi.Controllers.Api
start.CREATE_TIME = temp1.CREATE_TIME; start.CREATE_TIME = temp1.CREATE_TIME;
start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : (temp1.NOTICE_STATUS == 0 && temp1.TASK_ENDDT >= DateTime.Now) ? 16 : (temp1.TASK_ENDDT < DateTime.Now && temp1.NOTICE_STATUS == 0) ? 20 : 0; start.STATUS = temp1.NOTICE_STATUS == 1 ? 5 : temp1.NOTICE_STATUS == 2 ? 10 : temp1.NOTICE_STATUS == 4 ? 15 : (temp1.NOTICE_STATUS == 0 && temp1.TASK_ENDDT >= DateTime.Now) ? 16 : (temp1.TASK_ENDDT < DateTime.Now && temp1.NOTICE_STATUS == 0) ? 20 : 0;
recordLog.logList.Add(start); recordLog.logList.Add(start);
var record = safeRecords.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID);
if (record != null)
{
//归档
if (record.STATUS == PFStandardStatus.Archived || record.STATUS == PFStandardStatus.Close)
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK010_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.NAME = "安全检查记录归档";
start1.DEAL_DATE = record.MODIFY_TIME;
start1.CREATE_TIME = record.CREATE_TIME;
start1.STATUS = 5;
recordLog.logList.Add(start1);
}
else
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK010_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.NAME = "安全检查记录归档";
start1.DEAL_DATE = record.MODIFY_TIME;
start1.CREATE_TIME = record.CREATE_TIME;
start1.STATUS = 0;
recordLog.logList.Add(start1);
}
}
} }
} }
} }
else else
{ {
@ -1965,6 +2060,15 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = null; start1.CREATE_TIME = null;
start1.STATUS = 0; start1.STATUS = 0;
recordLog.logList.Add(start1); recordLog.logList.Add(start1);
OperateLogList start2 = new OperateLogList();
start2.ID = null;
start2.CODE = "SK010_SHOWPRINT";
start2.USER_NAME = "检查人";
start2.NAME = "安全检查记录归档";
start2.DEAL_DATE = null;
start2.CREATE_TIME = null;
start2.STATUS = 0;
recordLog.logList.Add(start2);
} }
} }
else else
@ -1978,6 +2082,15 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = null; start1.CREATE_TIME = null;
start1.STATUS = 0; start1.STATUS = 0;
recordLog.logList.Add(start1); recordLog.logList.Add(start1);
OperateLogList start2 = new OperateLogList();
start2.ID = null;
start2.CODE = "SK010_SHOWPRINT";
start2.USER_NAME = "检查人";
start2.NAME = "安全检查记录归档";
start2.DEAL_DATE = null;
start2.CREATE_TIME = null;
start2.STATUS = 0;
recordLog.logList.Add(start2);
} }
result.Add(recordLog); result.Add(recordLog);
#endregion #endregion
@ -2016,6 +2129,32 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = item.CREATE_TIME; start1.CREATE_TIME = item.CREATE_TIME;
start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0; start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0;
recordSumLog.logList.Add(start1); recordSumLog.logList.Add(start1);
//归档
if (recordSum.STATUS == PFStandardStatus.Archived)
{
OperateLogList start2 = new OperateLogList();
start2.ID = safeRecordSumId;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = item.USER_NAME;
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = recordSum.MODIFY_TIME;
start2.CREATE_TIME = recordSum.CREATE_TIME;
start2.STATUS = 5;
recordSumLog.logList.Add(start2);
}
else
{
OperateLogList start2 = new OperateLogList();
start2.ID = safeRecordSumId;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = item.USER_NAME;
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = recordSum.MODIFY_TIME;
start2.CREATE_TIME = recordSum.CREATE_TIME;
start2.STATUS = 0;
recordSumLog.logList.Add(start2);
}
} }
} }
var temp4 = temp2.Where(t => t.NOTICE_STATUS != 1).OrderByDescending(n => n.NOTICE_STATUS).ThenBy(m => m.MODIFY_TIME).ToList(); var temp4 = temp2.Where(t => t.NOTICE_STATUS != 1).OrderByDescending(n => n.NOTICE_STATUS).ThenBy(m => m.MODIFY_TIME).ToList();
@ -2032,6 +2171,31 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = item.CREATE_TIME; start1.CREATE_TIME = item.CREATE_TIME;
start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0; start1.STATUS = item.NOTICE_STATUS == 1 ? 5 : item.NOTICE_STATUS == 2 ? 10 : item.NOTICE_STATUS == 4 ? 15 : (item.NOTICE_STATUS == 0 && item.TASK_ENDDT >= DateTime.Now) ? 16 : (item.TASK_ENDDT < DateTime.Now && item.NOTICE_STATUS == 0) ? 20 : 0;
recordSumLog.logList.Add(start1); recordSumLog.logList.Add(start1);
//归档
if (recordSum.STATUS == PFStandardStatus.Archived)
{
OperateLogList start2 = new OperateLogList();
start2.ID = safeRecordSumId;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = item.USER_NAME;
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = recordSum.MODIFY_TIME;
start2.CREATE_TIME = recordSum.CREATE_TIME;
start2.STATUS = 5;
recordSumLog.logList.Add(start2);
}
else
{
OperateLogList start2 = new OperateLogList();
start2.ID = safeRecordSumId;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = item.USER_NAME;
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = recordSum.MODIFY_TIME;
start2.CREATE_TIME = recordSum.CREATE_TIME;
start2.STATUS = 0;
recordSumLog.logList.Add(start2);
}
} }
} }
} }
@ -2046,6 +2210,15 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = null; start1.CREATE_TIME = null;
start1.STATUS = 0; start1.STATUS = 0;
recordSumLog.logList.Add(start1); recordSumLog.logList.Add(start1);
OperateLogList start2 = new OperateLogList();
start2.ID = null;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = "检查人";
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = null;
start2.CREATE_TIME = null;
start2.STATUS = 0;
recordSumLog.logList.Add(start2);
} }
} }
else else
@ -2068,6 +2241,15 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = null; start1.CREATE_TIME = null;
start1.STATUS = 0; start1.STATUS = 0;
recordSumLog.logList.Add(start1); recordSumLog.logList.Add(start1);
OperateLogList start2 = new OperateLogList();
start2.ID = null;
start2.CODE = "SK012_SHOWPRINT";
start2.USER_NAME = "检查人";
start2.NAME = "安全检查记录汇总归档";
start2.DEAL_DATE = null;
start2.CREATE_TIME = null;
start2.STATUS = 0;
recordSumLog.logList.Add(start2);
} }
result.Add(recordSumLog); result.Add(recordSumLog);
#endregion #endregion
@ -2211,6 +2393,40 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = null; start1.CREATE_TIME = null;
start1.STATUS = 0; start1.STATUS = 0;
hiddenReportLog.logList.Add(start1); hiddenReportLog.logList.Add(start1);
OperateLogList start3 = new OperateLogList();
start3.ID = null;
start3.CODE = "SK014_SHOWPRINT";
start3.USER_NAME = "整改责任人";
start3.NAME = "隐患上报归档";
start3.DEAL_DATE = null;
start3.CREATE_TIME = null;
start3.STATUS = 0;
hiddenReportLog.logList.Add(start3);
}
//归档
if (dangerReport.STATUS == PFStandardStatus.Archived)
{
OperateLogList start3 = new OperateLogList();
start3.ID = null;
start3.CODE = "SK014_SHOWPRINT";
start3.USER_NAME = "整改责任人";
start3.NAME = "隐患上报归档";
start3.DEAL_DATE = dangerReport.MODIFY_TIME;
start3.CREATE_TIME = dangerReport.CREATE_TIME;
start3.STATUS = 5;
hiddenReportLog.logList.Add(start3);
}
else
{
OperateLogList start3 = new OperateLogList();
start3.ID = null;
start3.CODE = "SK014_SHOWPRINT";
start3.USER_NAME = "整改责任人";
start3.NAME = "隐患上报归档";
start3.DEAL_DATE = dangerReport.MODIFY_TIME;
start3.CREATE_TIME = dangerReport.CREATE_TIME;
start3.STATUS = 0;
hiddenReportLog.logList.Add(start3);
} }
} }
else else
@ -2242,6 +2458,15 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = null; start1.CREATE_TIME = null;
start1.STATUS = 0; start1.STATUS = 0;
hiddenReportLog.logList.Add(start1); hiddenReportLog.logList.Add(start1);
OperateLogList start3 = new OperateLogList();
start3.ID = null;
start3.CODE = "SK014_SHOWPRINT";
start3.USER_NAME = "整改责任人";
start3.NAME = "隐患上报归档";
start3.DEAL_DATE = null;
start3.CREATE_TIME = null;
start3.STATUS = 0;
hiddenReportLog.logList.Add(start3);
} }
result.Add(hiddenReportLog); result.Add(hiddenReportLog);
#endregion #endregion
@ -2259,9 +2484,19 @@ namespace APT.SK.WebApi.Controllers.Api
start.USER_NAME = handUser.NAME; start.USER_NAME = handUser.NAME;
start.NAME = "手动隐患上报"; start.NAME = "手动隐患上报";
start.DEAL_DATE = hand.STATUS == PFStandardStatus.Draft ? null : hand.MODIFY_TIME; start.DEAL_DATE = hand.STATUS == PFStandardStatus.Draft ? null : hand.MODIFY_TIME;
start.CREATE_TIME = check.CREATE_TIME; start.CREATE_TIME = hand.CREATE_TIME;
start.STATUS = hand.STATUS == PFStandardStatus.Draft ? 16 : 5; start.STATUS = hand.STATUS == PFStandardStatus.Draft ? 16 : 5;
handLog.logList.Add(start); handLog.logList.Add(start);
//归档
OperateLogList startA = new OperateLogList();
startA.ID = handId;
startA.CODE = "SK016_SHOWPRINT";
startA.USER_NAME = handUser.NAME;
startA.NAME = "手动隐患上报归档";
startA.DEAL_DATE = hand.STATUS == PFStandardStatus.Draft ? null : hand.MODIFY_TIME;
startA.CREATE_TIME = hand.CREATE_TIME;
startA.STATUS = hand.STATUS == PFStandardStatus.Archived ? 5 : 0;
handLog.logList.Add(startA);
#endregion #endregion
#region #region
OperateLog confirmLog = new OperateLog(); OperateLog confirmLog = new OperateLog();
@ -2382,6 +2617,16 @@ namespace APT.SK.WebApi.Controllers.Api
start2.STATUS = 0; start2.STATUS = 0;
confirmLog.logList.Add(start2); confirmLog.logList.Add(start2);
} }
//归档
OperateLogList start4 = new OperateLogList();
start4.ID = null;
start4.CODE = "SK018_SHOWPRINT";
start4.USER_NAME = "整改责任人";
start4.NAME = "隐患确认单归档";
start4.DEAL_DATE = confirm.MODIFY_TIME;
start4.CREATE_TIME = confirm.CREATE_TIME;
start4.STATUS = confirm.STATUS == PFStandardStatus.Archived ? 5:0;
confirmLog.logList.Add(start4);
} }
else else
{ {
@ -2412,6 +2657,15 @@ namespace APT.SK.WebApi.Controllers.Api
start3.CREATE_TIME = null; start3.CREATE_TIME = null;
start3.STATUS = 0; start3.STATUS = 0;
confirmLog.logList.Add(start3); confirmLog.logList.Add(start3);
OperateLogList start4 = new OperateLogList();
start4.ID = null;
start4.CODE = "SK018_SHOWPRINT";
start4.USER_NAME = "整改责任人";
start4.NAME = "隐患确认单归档";
start4.DEAL_DATE = null;
start4.CREATE_TIME = null;
start4.STATUS = 0;
confirmLog.logList.Add(start4);
} }
#endregion #endregion
} }
@ -2486,6 +2740,32 @@ namespace APT.SK.WebApi.Controllers.Api
start1.STATUS = 0; start1.STATUS = 0;
rectifyNoticeLog.logList.Add(start1); rectifyNoticeLog.logList.Add(start1);
} }
//归档
var rectifyNotice = rectifyNotices.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID);
if (rectifyNotice != null && rectifyNotice.STATUS == PFStandardStatus.Archived)
{
OperateLogList start2 = new OperateLogList();
start2.ID = temp1.SOURCE_DATA_ID;
start2.CODE = "SK020_SHOWPRINT";
start2.USER_NAME = temp1.USER_NAME;
start2.NAME = "隐患整改通知归档";
start2.DEAL_DATE = rectifyNotice.MODIFY_TIME;
start2.CREATE_TIME = rectifyNotice.CREATE_TIME;
start2.STATUS = 5;
rectifyNoticeLog.logList.Add(start2);
}
else
{
OperateLogList start2 = new OperateLogList();
start2.ID = temp1.SOURCE_DATA_ID;
start2.CODE = "SK020_SHOWPRINT";
start2.USER_NAME = temp1.USER_NAME;
start2.NAME = "隐患整改通知归档";
start2.DEAL_DATE = rectifyNotice.MODIFY_TIME;
start2.CREATE_TIME = rectifyNotice.CREATE_TIME;
start2.STATUS = 0;
rectifyNoticeLog.logList.Add(start2);
}
result.Add(rectifyNoticeLog); result.Add(rectifyNoticeLog);
} }
} }
@ -2512,6 +2792,15 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = null; start1.CREATE_TIME = null;
start1.STATUS = 0; start1.STATUS = 0;
rectifyNoticeLog.logList.Add(start1); rectifyNoticeLog.logList.Add(start1);
OperateLogList start2 = new OperateLogList();
start2.ID = null;
start2.CODE = "SK020_SHOWPRINT";
start2.USER_NAME = "整改责任人";
start2.NAME = "隐患整改通知归档";
start2.DEAL_DATE = null;
start2.CREATE_TIME = null;
start2.STATUS = 0;
rectifyNoticeLog.logList.Add(start2);
result.Add(rectifyNoticeLog); result.Add(rectifyNoticeLog);
} }
} }
@ -2538,6 +2827,15 @@ namespace APT.SK.WebApi.Controllers.Api
start1.CREATE_TIME = null; start1.CREATE_TIME = null;
start1.STATUS = 0; start1.STATUS = 0;
rectifyNoticeLog.logList.Add(start1); rectifyNoticeLog.logList.Add(start1);
OperateLogList start2 = new OperateLogList();
start2.ID = null;
start2.CODE = "SK020_SHOWPRINT";
start2.USER_NAME = "整改责任人";
start2.NAME = "隐患整改通知归档";
start2.DEAL_DATE = null;
start2.CREATE_TIME = null;
start2.STATUS = 0;
rectifyNoticeLog.logList.Add(start2);
result.Add(rectifyNoticeLog); result.Add(rectifyNoticeLog);
} }
#endregion #endregion
@ -2644,13 +2942,39 @@ namespace APT.SK.WebApi.Controllers.Api
} }
} }
} }
//归档
var rectifyRecord= rectifyRecords.FirstOrDefault(t => t.ID == temp1.SOURCE_DATA_ID);
if (rectifyRecord != null && rectifyRecord.STATUS == PFStandardStatus.Archived)
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK022_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.NAME = "隐患整改记录归档";
start1.DEAL_DATE = rectifyRecord.MODIFY_TIME;
start1.CREATE_TIME = rectifyRecord.CREATE_TIME;
start1.STATUS = 5;
refRecordLog.logList.Add(start1);
}
else
{
OperateLogList start1 = new OperateLogList();
start1.ID = temp1.SOURCE_DATA_ID;
start1.CODE = "SK022_SHOWPRINT";
start1.USER_NAME = temp1.USER_NAME;
start1.NAME = "隐患整改记录归档";
start1.DEAL_DATE = rectifyRecord.MODIFY_TIME;
start1.CREATE_TIME = rectifyRecord.CREATE_TIME;
start1.STATUS = 0;
refRecordLog.logList.Add(start1);
}
result.Add(refRecordLog); result.Add(refRecordLog);
} }
} }
else else
{ {
OperateLog refRecordLog = new OperateLog(); OperateLog refRecordLog = new OperateLog();
refRecordLog.FORM_NAME = "隐患整改通知"; refRecordLog.FORM_NAME = "隐患整改记录";
refRecordLog.logList = new List<OperateLogList>(); refRecordLog.logList = new List<OperateLogList>();
OperateLogList start = new OperateLogList(); OperateLogList start = new OperateLogList();
start.ID = null; start.ID = null;
@ -2679,6 +3003,15 @@ namespace APT.SK.WebApi.Controllers.Api
start2.CREATE_TIME = null; start2.CREATE_TIME = null;
start2.STATUS = 0; start2.STATUS = 0;
refRecordLog.logList.Add(start2); refRecordLog.logList.Add(start2);
OperateLogList start3 = new OperateLogList();
start3.ID = null;
start3.CODE = "SK022_SHOWPRINT";
start3.USER_NAME = "审批人";
start3.NAME = "隐患整改记录归档";
start3.DEAL_DATE = null;
start3.CREATE_TIME = null;
start3.STATUS = 0;
refRecordLog.logList.Add(start3);
result.Add(refRecordLog); result.Add(refRecordLog);
} }
} }
@ -2714,6 +3047,15 @@ namespace APT.SK.WebApi.Controllers.Api
start2.CREATE_TIME = null; start2.CREATE_TIME = null;
start2.STATUS = 0; start2.STATUS = 0;
refRecordLog.logList.Add(start2); refRecordLog.logList.Add(start2);
OperateLogList start3 = new OperateLogList();
start3.ID = null;
start3.CODE = "SK022_SHOWPRINT";
start3.USER_NAME = "审批人";
start3.NAME = "隐患整改记录归档";
start3.DEAL_DATE = null;
start3.CREATE_TIME = null;
start3.STATUS = 0;
refRecordLog.logList.Add(start3);
result.Add(refRecordLog); result.Add(refRecordLog);
} }
#endregion #endregion

View File

@ -18,6 +18,13 @@ using System.Threading.Tasks;
namespace APT.SK.WebApi.Controllers.Api namespace APT.SK.WebApi.Controllers.Api
{ {
public class GetAll
{
public T_SK_SECURITY_INSPECTION_RECORD_SUMMARY data1 { get; set; }
public T_SK_HIDDEN_DANGER_REPORT data2 { get; set; }
public List<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE> data3 { get; set; }
public List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> data4 { get; set; }
}
[Route("api/SK/SKSecurityInspectionRecordSummary")] [Route("api/SK/SKSecurityInspectionRecordSummary")]
public partial class SecurityInspectionRecordSummaryController : AuthorizeApiController<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY> public partial class SecurityInspectionRecordSummaryController : AuthorizeApiController<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>
{ {
@ -950,6 +957,79 @@ namespace APT.SK.WebApi.Controllers.Api
return result; return result;
}); });
} }
/// <summary>
/// 获得检查汇总,隐患上报,整改通知,整改记录
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("SKGetAll")]
public JsonActionResult<GetAll> SKGetAll([FromBody] KeywordFilter filter)
{
var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
if (string.IsNullOrEmpty(id))
this.ThrowError("060010");
filter.IgnoreDataRule = true;
var newfilter = new BaseFilter(filter.OrgId);
newfilter.IgnoreDataRule = true;
var result = new JsonActionResult<GetAll>();
result.Data = new GetAll();
var ids = new List<Guid>();
result.Data.data1 = this.GetEntity<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(id, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType","Nav_ProductionUnit",
"Nav_CheckRecordFiles.Nav_ImgFile"});
if (result.Data.data1 != null)
{
var details = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL>(t => t.SECURITY_INSPECTION_RECORD_SUMMARY_ID == Guid.Parse(id), new BaseFilter(filter.OrgId), "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_CheckRecordDetailBasics.Nav_Law", "Nav_CheckRecordDetailFiles.Nav_ImgFile");
if (details.Any())
{
var detailIds = details.Select(t => t.ID).ToList();
var users = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_USER>(t => detailIds.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_User.Nav_UserSignFiles.Nav_ImgFile");
foreach (var detail in details)
{
var userTemps = users.Where(t => t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID == detail.ID).ToList();
detail.Nav_CheckRecordDetailUsers = userTemps.OrderByDescending(t => t.ISMAINCHECK).ToList();
}
}
//有隐患的排前面
var tempsYes = details.Where(t => t.CHECK_RESULT == SKCheckResultEnum.Yes).OrderBy(m => m.RISK_AREA_ID).ToList();
var tempsNo = details.Where(t => t.CHECK_RESULT != SKCheckResultEnum.Yes).OrderBy(m => m.RISK_AREA_ID).ToList();
tempsYes.AddRange(tempsNo);
result.Data.data1.Nav_CheckRecordDetails = tempsYes.OrderByDescending(n => (int)n.MARK).ToList();
//隐患上报
result.Data.data2 = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(t => t.SECURITY_INSPECTION_RECORD_SUMMARY_ID == Guid.Parse(id), new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType","Nav_ProductionUnit",
"Nav_ReportFiles.Nav_ImgFile"});
if (result.Data.data2 != null)
{
result.Data.data4 = new List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>();
var detail2s = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(t => t.HIDDEN_DANGER_REPORT_ID == result.Data.data2.ID, new BaseFilter(filter.OrgId), "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_RecitifyUser.Nav_UserSignFiles", "Nav_ReportDetailBasics.Nav_Law", "Nav_ReportDetailFiles.Nav_ImgFile");
result.Data.data2.Nav_ReportDetails = detail2s.OrderBy(m => m.RISK_AREA_ID).ToList();
//整改通知
result.Data.data3 = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE>(t => t.HIDDEN_DANGER_REPORT_ID == result.Data.data2.ID, newfilter, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType","Nav_ProductionUnit",
"Nav_RectifyFiles.Nav_ImgFile"}).ToList();
if (result.Data.data3 != null && result.Data.data3.Any())
{
var data3Ids = result.Data.data3.Select(t => t.ID).ToList();
ids.AddRange(data3Ids);
var detail3s = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL>(t => data3Ids.Contains(t.HIDDEN_DANGER_RECTIFY_NOTICE_ID), new BaseFilter(filter.OrgId), "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_RecitifyUser", "Nav_ImplementUser", "Nav_AcceptUser", "Nav_RectifyDetailFiles.Nav_ImgFile", "Nav_RectifyDetailBasics.Nav_Law");
foreach (var de in result.Data.data3)
{
de.Nav_RectifyDetails = detail3s.Where(t => t.HIDDEN_DANGER_RECTIFY_NOTICE_ID == de.ID).OrderBy(m => m.RISK_AREA_ID).ToList();
}
if (ids.Any())
{
var data4 = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(t => ids.Contains((Guid)t.HIDDEN_DANGER_RECTIFY_NOTICE_ID) && t.HIDDEN_DANGER_RECTIFY_NOTICE_ID != null, newfilter, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType","Nav_RiskArea","Nav_Contents","Nav_Question","Nav_ProductionUnit",
"Nav_RecitifyUser.Nav_Department","Nav_RecitifyUser.Nav_UserSignFiles.Nav_ImgFile","Nav_ImplementUser.Nav_UserSignFiles.Nav_ImgFile","Nav_AcceptUser.Nav_UserSignFiles","Nav_AcceptUser","Nav_RectifyPhotoas.Nav_ImgFile","Nav_RectifyPhotobs.Nav_ImgFile","Nav_RectifyFiles.Nav_ImgFile","Nav_RectifyBasics.Nav_Law"}).ToList();
result.Data.data4.AddRange(data4);
}
}
var data4Temp = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(t => t.HIDDEN_DANGER_REPORT_ID == result.Data.data2.ID, newfilter, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType","Nav_RiskArea","Nav_Contents","Nav_Question","Nav_ProductionUnit",
"Nav_RecitifyUser.Nav_Department","Nav_RecitifyUser.Nav_UserSignFiles.Nav_ImgFile","Nav_ImplementUser.Nav_UserSignFiles.Nav_ImgFile","Nav_AcceptUser.Nav_UserSignFiles","Nav_AcceptUser","Nav_RectifyPhotoas.Nav_ImgFile","Nav_RectifyPhotobs.Nav_ImgFile","Nav_RectifyFiles.Nav_ImgFile","Nav_RectifyBasics.Nav_Law"}).ToList();
result.Data.data4.AddRange(data4Temp);
}
}
return result;
}
} }
} }