隐患待上报修改

安全检查数据库导出
安全绩效报表
This commit is contained in:
wyw 2024-04-30 17:22:03 +08:00
parent 38abfc114c
commit 5b67f0dac6
5 changed files with 1936 additions and 2 deletions

View File

@ -6421,7 +6421,7 @@ namespace APT.BaseData.Services.DomainServices
else
{
//如果是最后一个审批
var entity = GetEntity<T_BS_SAFE_CHECK>(modelApp.DATA_ID, new string[] { "Nav_ListSafeCheckDetail" });
var entity = GetEntity<T_BS_SAFE_CHECK>(modelApp.DATA_ID, new string[] { "Nav_ListSafeCheckDetail", "Nav_User", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums" });
if (!entity.PLAN_SET_ID.HasValue || !entity.CHECKTIME.HasValue || entity.CHECKTIME.Value.Date == DateTime.Now.Date) //同一天
{
entity.ISFINISHINTTIME = true;
@ -6690,6 +6690,87 @@ namespace APT.BaseData.Services.DomainServices
//给制表人发送待办
if (entity.RISKSTATE == 10 && entity.USERID_DOPLAN.HasValue)
{
#region
T_BS_RISK_SUBMIT modelSub = new T_BS_RISK_SUBMIT();
modelSub = new T_BS_RISK_SUBMIT();
modelSub.ID = Guid.NewGuid();
modelSub.CODE = entity.CODE;//替换成同一个
modelSub.NAME = entity.Nav_CheckTypeLevel.Nav_Enums.NAME + entity.Nav_CheckType.NAME;
modelSub.Nav_Check = entity;
modelSub.Nav_CheckType = entity.Nav_CheckType;
modelSub.Nav_CheckTypeLevel = entity.Nav_CheckTypeLevel;
modelSub.CREATER_ID = entity.USERID_DOPLAN;
modelSub.CREATE_TIME = DateTime.Now;//绩效报表 取当前时间
modelSub.CHECK_ID = entity.ID;
modelSub.CHECKTIME = entity.CHECKTIME;
modelSub.SUBMIT_STATUS = (int)BSSubmitStatusEnum.WaiteStart;
modelSub.USER_ID = modelSub.CREATER_ID;
modelSub.DEPARTMENT_ID = entity.Nav_User.DEPARTMENT_ID;
modelSub.SUBMIT_TYPE = (int)SUBMIT_TYPE.Check;
modelSub.ISORDEREND = false;
modelSub.CHECK_TYPE_ID = entity.CHECK_TYPE_ID;
modelSub.CHECK_TYPE_LEVEL_ID = entity.CHECK_TYPE_LEVEL_ID;
modelSub.ORG_ID = entity.ORG_ID;
List<T_BS_RISK_SUBMIT_FILE> Nav_Files = null;
var files = GetEntities<T_BS_SAFE_CHECK_FILE>(e => e.SAFE_CHECK_ID == entity.ID, false, null);
if (files != null && files.Any())
{
Nav_Files = new List<T_BS_RISK_SUBMIT_FILE>();
foreach (var item in files)
{
Nav_Files.Add(new T_BS_RISK_SUBMIT_FILE()
{
ID = Guid.NewGuid(),
ORG_ID = modelSub.ORG_ID,
RISK_SUBMIT_ID = modelSub.ID,
IMG_FILE_ID = item.IMG_FILE_ID
});
}
}
List<T_BS_RISK_SUBMIT_CONTENT> ListRiskSubmitContent = new List<T_BS_RISK_SUBMIT_CONTENT>();
entity.Nav_ListSafeCheckDetail = entity.Nav_ListSafeCheckDetail.OrderBy(e => e.ROW_NO).ToList();
int ROW_NO = 0;
foreach (var item in entity.Nav_ListSafeCheckDetail)
{
if (!item.CHECKRESULT.HasValue || item.CHECKRESULT.Value !=20) // CHECKRESULTEnum.Same
{
continue;
}
ROW_NO++;
ListRiskSubmitContent.Add(new T_BS_RISK_SUBMIT_CONTENT()
{
ID = Guid.NewGuid(),
ORG_ID = modelSub.ORG_ID,
RISK_SUBMIT_ID = modelSub.ID,
SAFE_CHECK_DETAIL_ID = item.ID,
NAME = null,
CODE = null,
//QUESTION_LEVEL = 0,
//RiskContentState= RiskContentState.
ROW_NO = ROW_NO,
CHECK_MAIN_ID = item.CHECK_MAIN_ID,
DEPARTMENT_ID = item.DEPARTMENT_ID,
SERIOUS_RISK = item.SERIOUS_RISK,
//CHECKCONTENT = item.CHECKCONTENT,
RISK_AREA_ID = item.RISK_AREA_ID,
CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID,
//这两个字段作为是否操作过的标签
//CHECK_PROJECT_ID = item.CHECK_PROJECT_ID,
//CHECK_PROJECT_CATEGORY_ID = item.CHECK_PROJECT_CATEGORY_ID,
ADDRESS = item.ADDRESS
});
}
#endregion
entity.ISNEEDTOUP = false;
//检查发现问题问题 走隐患上报
//最后时间是今天
//DateTime dtTimeOut = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
@ -6704,7 +6785,9 @@ namespace APT.BaseData.Services.DomainServices
// UpdateEntityNoCommit(entity);//修改隐患
// UpdateEntity(modelSub);//添加隐患上报
// });
NotificationTaskService.SendNotificationTask("隐患待上报:" + entity.NAME.Replace("安全检查:", ""), entity.ID, entity.ORG_ID, entity.USERID_DOPLAN.Value, entity.Nav_User.NAME, DateTime.Now, dtTimeOut, 0, "BS006", () =>
// entity.ID 被 modelSub.ID 替换
NotificationTaskService.SendNotificationTask("隐患待上报:" + entity.NAME.Replace("安全检查:", ""), modelSub.ID, entity.ORG_ID, entity.USERID_DOPLAN.Value, entity.Nav_User.NAME, DateTime.Now, dtTimeOut, 0, "BS006", () =>
{
if (modelApp != null)
UpdateEntityNoCommit(modelApp); //保存主表
@ -6724,10 +6807,18 @@ namespace APT.BaseData.Services.DomainServices
BantchUpdateEntityNoCommit(listCheckDetail);
if (listUpdateMain != null && listUpdateMain.Any())//安全检查库修改不可用
BantchUpdateEntityNoCommit(listUpdateMain);
UpdateEntityNoCommit(modelSub);
if (Nav_Files != null && Nav_Files.Any())//附件
BantchSaveEntityNoCommit(Nav_Files);
if (ListRiskSubmitContent != null && ListRiskSubmitContent.Any())
BantchSaveEntityNoCommit(ListRiskSubmitContent);
});
}
else
{
entity.ISNEEDTOUP = true;
//检查没问题 直接结束 安全检查
this.UnifiedCommit(() =>
{

View File

@ -51,7 +51,9 @@ namespace APT.MS.Domain.Enums
/// </summary>
public enum BSSeriousRiskEnum
{
[Description("否")]
= 0,
[Description("是")]
= 1,
}
/// <summary>

View File

@ -14,6 +14,7 @@ using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
namespace APT.BS.WebApi.Controllers.Api
{
@ -850,5 +851,319 @@ namespace APT.BS.WebApi.Controllers.Api
return true;
});
}
/// <summary>
/// 获取导出数据
/// </summary>
/// <returns></returns>
[HttpPost, Route("GetOutPutData")]
public PagedActionResult<OutPutInfo> GetOutPutData([FromBody] KeywordPageFilter pageFilter)
{
return SafeGetPagedData(delegate (PagedActionResult<OutPutInfo> result)
{
pageFilter.SelectField = null;
pageFilter.Include = null;
#region
List<string> listPath = new List<string>();
//Groups => Rules
Guid? CHECK_TYPE_ID = null;//CHECK_TYPE_ID
Guid? RISK_AREA_ID = null;//RISK_AREA_ID
////Rules
//BSMineTypeEnum? CHECKOBJECT = null;//CHECKOBJECT
BSQuestionLevelEnum? QUESTION_LEVEL = null; //QUESTION_LEVEL
BSSeriousRiskEnum? SERIOUS_RISK = null; //SERIOUS_RISK
string CHECKCONTENT = string.Empty;
//string CHECKPROOF = string.Empty;
string CheckTypeLevelName = string.Empty; //Nav_CheckTypeLevel.Nav_Enums.NAME
string CheckProjectNAME = string.Empty; //Nav_CheckProject.NAME
string CheckProjectCategoryNAME = string.Empty;//Nav_CheckProjectCategory.NAME
if (pageFilter.FilterGroup.Groups != null && pageFilter.FilterGroup.Groups.Any())
{
foreach (var item in pageFilter.FilterGroup.Groups)
{
if (item.Rules != null && item.Rules.Any())
{
foreach (var itemRule in item.Rules)
{
if (itemRule.Field == "CHECK_TYPE_ID" && itemRule.Value != null)
{
CHECK_TYPE_ID = new Guid(itemRule.Value.ToString());
listPath.Add("Nav_CheckType");
}
else if (itemRule.Field == "RISK_AREA_ID" && itemRule.Value != null)
{
RISK_AREA_ID = new Guid(itemRule.Value.ToString());
listPath.Add("Nav_RiskArea");
}
}
}
}
}
if (pageFilter.FilterGroup.Rules != null && pageFilter.FilterGroup.Rules.Any())
{
foreach (var item in pageFilter.FilterGroup.Rules)
{
switch (item.Field)
{
case "Nav_CheckProjectCategory.NAME":
CheckProjectCategoryNAME = item.Value.ToString();
listPath.Add("Nav_CheckProjectCategory");
break;
case "Nav_CheckProject.NAME":
CheckProjectNAME = item.Value.ToString();
listPath.Add("Nav_CheckProject");
break;
case "Nav_CheckTypeLevel.Nav_Enums.NAME":
CheckTypeLevelName = item.Value.ToString();
listPath.Add("Nav_CheckTypeLevel.Nav_Enums");
break;
case "CHECKCONTENT":
CHECKCONTENT = item.Value.ToString();
break;
case "QUESTION_LEVEL":
QUESTION_LEVEL = (BSQuestionLevelEnum)int.Parse(item.Value.ToString());
break;
case "SERIOUS_RISK":
SERIOUS_RISK = (BSSeriousRiskEnum)int.Parse(item.Value.ToString());
break;
default:
break;
}
}
}
//检查范围 "检查区域(辨识区域)" 检查类型 检查项目分类 检查层级 责任单位 检查周期 "检查项目(辨识对象)" "检查内容(风险对象 + 是否 + 管控措施)" 检查依据 "检查问题描述(失效后的所有现象,逐条填写)" 检查问题等级 重大隐患类别 整改建议与措施 责任人
#endregion
//检查库
var IListCheckMain = GetEntities<T_BS_CHECK_MAIN>(e => !e.IS_DELETED && e.RISK_AREA_ID.HasValue && e.CHECK_QUESTION_ID.HasValue && e.CHECK_TYPE_ID.HasValue && e.CHECK_PROJECT_ID.HasValue && e.CHECK_TYPE_LEVEL_ID.HasValue, pageFilter, null).OrderByDescending(e => e.CREATE_TIME);//&& e.Nav_ListMainDep.Any()&& e.CHECK_CONTENTS_ID.HasValue
if (IListCheckMain == null || !IListCheckMain.Any())
return;
//检查类型
Expression<Func<T_BS_CHECK_TYPE, bool>> expressionCheckType = e => !e.IS_DELETED;
if (CHECK_TYPE_ID.HasValue)
expressionCheckType = expressionCheckType.And(e => e.ID == CHECK_TYPE_ID.Value);
if (!string.IsNullOrEmpty(CheckTypeLevelName))
expressionCheckType = expressionCheckType.And(e => e.Nav_ListCheckTypeLevel.Where(ee => ee.Nav_Enums.NAME.Contains(CheckTypeLevelName)).Any());
var IListCheckType = GetEntities<T_BS_CHECK_TYPE>(expressionCheckType, null, "Nav_ListCheckTypeLevel.Nav_Enums");
if (IListCheckType == null || !IListCheckType.Any())
return;
//检查区域
Expression<Func<T_HM_RISK_AREA, bool>> expressionArea = e => !e.IS_DELETED;
if (RISK_AREA_ID.HasValue)
expressionArea = expressionArea.And(e => e.ID == RISK_AREA_ID.Value);
var IListArea = GetEntities<T_HM_RISK_AREA>(expressionArea, null, null);
if (IListArea == null || !IListArea.Any())
return;
//检查项目
Expression<Func<T_BS_CHECK_PROJECT, bool>> expressionProject = e => !e.IS_DELETED;
if (!string.IsNullOrEmpty(CheckProjectNAME))
expressionProject = expressionProject.And(e => e.NAME.Contains(CheckProjectNAME));
var IListProject = GetEntities<T_BS_CHECK_PROJECT>(expressionProject, null, null);
if (IListProject == null || !IListProject.Any())
return;
//检查项目分类
Expression<Func<T_BS_CHECK_PROJECT_CATEGORY, bool>> expressionProjectCategory = e => !e.IS_DELETED;
if (!string.IsNullOrEmpty(CheckProjectCategoryNAME))
expressionProjectCategory = expressionProjectCategory.And(e => e.NAME.Contains(CheckProjectCategoryNAME));
var IiListProjectCategory = GetEntities<T_BS_CHECK_PROJECT_CATEGORY>(expressionProjectCategory, null, null);
if (IiListProjectCategory == null || !IiListProjectCategory.Any())
return;
//检查内容
Expression<Func<T_BS_CHECK_CONTENTS, bool>> expressionContents = e => !e.IS_DELETED;
if (!string.IsNullOrEmpty(CHECKCONTENT))
expressionContents = expressionContents.And(e => e.CHECKCONTENT.Contains(CHECKCONTENT));
if (QUESTION_LEVEL.HasValue)
expressionContents = expressionContents.And(e => e.Nav_ListCheckQuestion.Where(ee => ee.QUESTION_LEVEL == QUESTION_LEVEL.Value).Any());
var IListContents = GetEntities<T_BS_CHECK_CONTENTS>(expressionContents, null, null);
if (IListContents == null || !IListContents.Any())
return;
//检查问题
Expression<Func<T_BS_CHECK_QUESTION, bool>> expressionQuestopn = e => !e.IS_DELETED;
if (QUESTION_LEVEL.HasValue)
expressionQuestopn = expressionQuestopn.And(e => e.QUESTION_LEVEL == QUESTION_LEVEL.Value);
if (SERIOUS_RISK.HasValue)
expressionQuestopn = expressionQuestopn.And(e => e.SERIOUS_RISK == (int)SERIOUS_RISK.Value);
var IListQuestion = GetEntities<T_BS_CHECK_QUESTION>(e => !e.IS_DELETED, null, null);
if (IListQuestion == null || !IListQuestion.Any())
return;
var listMainDep = GetEntities<T_BS_CHECK_CONTENT_MAIN_DEPARTMENT>(e => !e.IS_DELETED && e.MAIN_ID.HasValue, null, null);
//责任部门 Main Nav_ListMainDep
var IListDep = GetEntities<T_FM_DEPARTMENT>(e => !e.IS_DELETED, null, null);
string split = "、";//char[] charSplit = new char[] { '、', '' };
List<OutPutData> listDataResult = new List<OutPutData>();
OutPutData model = null;
List<string> listDep = null;
T_BS_CHECK_QUESTION mainQuestion = null;
BSPLANCHECKOBJECTEnum? RESPONOBJECT = null;
T_BS_CHECK_TYPE modelCheckType = null;
foreach (var item in IListCheckMain)
{
listDep = new List<string>();
RESPONOBJECT = null;
item.Nav_ListMainDep = listMainDep.Where(e => e.MAIN_ID.Value == item.ID).ToList();
if (item.Nav_ListMainDep != null && item.Nav_ListMainDep.Any())
{
foreach (var itemDep in item.Nav_ListMainDep)
{
if (!itemDep.IS_DELETED && itemDep.DEPARTMENT_ID.HasValue)
{
listDep.Add(IListDep.FirstOrDefault(e => e.ID == itemDep.DEPARTMENT_ID.Value)?.NAME);
RESPONOBJECT = itemDep.RESPONOBJECT;
}
}
}
else
{
RESPONOBJECT = null;
}
if (!listDep.Any())
continue;
mainQuestion = IListQuestion.FirstOrDefault(e => e.ID == item.CHECK_QUESTION_ID.Value);
if (mainQuestion == null)
continue;
modelCheckType = IListCheckType.FirstOrDefault(e => e.ID == item.CHECK_TYPE_ID.Value);
if (mainQuestion == null)
continue;
//责任单位 合并为一个单元
model = new OutPutData();
model.CHECKOBJECT = ((BSMineTypeEnum)item.CHECKOBJECT).GetDescription();
model.AREA_NAME = (IListArea.FirstOrDefault(e => e.ID == item.RISK_AREA_ID.Value))?.NAME;
model.CHECK_TYPE_NAME = modelCheckType.NAME;
model.CHECK_PROJECT_CATEGORY_NAME = (IiListProjectCategory.FirstOrDefault(e => e.ID == item.CHECK_PROJECT_CATEGORY_ID.Value))?.NAME;
model.CHECK_TYPE_LEVEL_NAME = modelCheckType.Nav_ListCheckTypeLevel.FirstOrDefault(e => e.ID == item.CHECK_TYPE_LEVEL_ID)?.Nav_Enums?.NAME;
model.List_DEPARTMENT_NAME = string.Join(split, listDep);
model.JCZQ = "";
model.CHECK_PROJECT_NAME = (IListProject.FirstOrDefault(e => e.ID == item.CHECK_PROJECT_ID.Value))?.NAME;
model.CHECKCONTENT = item.CHECKCONTENT;
model.CHECKPROOF = item.CHECKPROOF;
model.DESCREPTION = mainQuestion.DESCREPTION;
model.QUESTION_LEVEL = ((BSQuestionLevelEnum)item.QUESTION_LEVEL).GetDescription();
if (item.SERIOUS_RISK == (int)BSSeriousRiskEnum.)
model.SERIOUS_RISK = "是";
model.DEMAND = mainQuestion.DEMAND;
model.RESPONOBJECT = RESPONOBJECT.HasValue ? RESPONOBJECT.GetDescription() : "";
listDataResult.Add(model);
}
OutPutInfo outPutInfo = new OutPutInfo();
outPutInfo.listData = listDataResult;
outPutInfo.listColDataTitle = new List<string>() { "检查范围", "检查区域", "检查类型", "检查项目分类", "检查层级", "责任单位", "检查周期", "检查项目", "检查内容", "检查依据", "检查问题描述", "检查问题等级", "重大隐患类别", "整改建议与措施", "责任人" };
outPutInfo.listColDataIndex = new List<string>() { "CHECKOBJECT", "AREA_NAME", "CHECK_TYPE_NAME", "CHECK_PROJECT_CATEGORY_NAME", "CHECK_TYPE_LEVEL_NAME", "List_DEPARTMENT_NAME", "JCZQ", "CHECK_PROJECT_NAME", "CHECKCONTENT", "CHECKPROOF", "DESCREPTION", "QUESTION_LEVEL", "SERIOUS_RISK", "DEMAND", "RESPONOBJECT" };
result.Data = new List<OutPutInfo>() { outPutInfo };
result.TotalCount = listDataResult.Count;
});
}
}
public class OutPutData
{
/// <summary>
/// 检查范围
/// </summary>
public string CHECKOBJECT { get; set; }
/// <summary>
/// 检查区域
/// </summary>
public string AREA_NAME { get; set; }
/// <summary>
/// 检查类型
/// </summary>
public string CHECK_TYPE_NAME { get; set; }
/// <summary>
/// 检查项目分类
/// </summary>
public string CHECK_PROJECT_CATEGORY_NAME { get; set; }
/// <summary>
/// 检查层级
/// </summary>
public string CHECK_TYPE_LEVEL_NAME { get; set; }
/// <summary>
/// 责任单位
/// </summary>
public string List_DEPARTMENT_NAME { get; set; }
/// <summary>
/// 检查周期--空
/// </summary>
public string JCZQ { get; set; }
/// <summary>
/// 检查项目
/// </summary>
public string CHECK_PROJECT_NAME { get; set; }
/// <summary>
/// 检查内容
/// </summary>
public string CHECKCONTENT { get; set; }
/// <summary>
/// 检查依据
/// </summary>
public string CHECKPROOF { get; set; }
/// <summary>
/// 检查问题描述
/// </summary>
public string DESCREPTION { get; set; }
/// <summary>
/// 问题等级 BSQuestionLevelEnum 检查问题等级
/// </summary>
public string QUESTION_LEVEL { get; set; }
/// <summary>
/// 是否重大隐患 重大隐患类别
/// </summary>
public string SERIOUS_RISK { get; set; } = BSSeriousRiskEnum..GetDescription();
/// <summary>
/// 整改建议与措施
/// </summary>
public string DEMAND { get; set; }
/// <summary>
/// 责任对象 string 责任人
/// </summary>
public string RESPONOBJECT { get; set; } = BSPLANCHECKOBJECTEnum.Head.GetDescription();
}
/// <summary>
/// 自定义导出数据结构
/// </summary>
public class OutPutInfo
{
public List<OutPutData> listData { get; set; }
public List<string> listColDataIndex { get; set; }
public List<string> listColDataTitle { get; set; }
}
}

View File

@ -197,6 +197,302 @@ namespace APT.BS.WebApi.Controllers.Api
}
/// <summary>
/// 隐患待上报 改版 获取信息
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("GetBS006")]
public JsonActionResult<T_BS_RISK_SUBMIT> GetBS006([FromBody] KeywordFilter filter)
{
return SafeExecute<T_BS_RISK_SUBMIT>(() =>
{
List<FilterRule> filterRules = filter.FilterGroup.Rules.ToList();
var guid = new Guid(filterRules[0].Value.ToString());
var modelSub = GetEntity<T_BS_RISK_SUBMIT>(e => e.ID == guid, new string[] { "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums", "Nav_Files.Nav_ImgFile.Nav_File", "Nav_User" });
//上报明细 是不完整的 明细信息重新 整理
//这两个字段作为是否操作过的标签
//CHECK_PROJECT_ID = item.CHECK_PROJECT_ID,
//CHECK_PROJECT_CATEGORY_ID = item.CHECK_PROJECT_CATEGORY_ID,
//CHECKCONTENT = item.CHECKCONTENT,
var isFirst = GetCount<T_BS_RISK_SUBMIT_CONTENT>(e => e.RISK_SUBMIT_ID == guid && (e.CHECK_PROJECT_ID.HasValue || e.CHECK_PROJECT_CATEGORY_ID.HasValue), null) == 0;
if (isFirst)
{
var listSubContents = GetEntities<T_BS_RISK_SUBMIT_CONTENT>(e => e.RISK_SUBMIT_ID == guid, null, null).ToList();
#region GetSubmitContent
Expression<Func<T_BS_SAFE_CHECK_DETAIL, bool>> expression = e => e.SAFE_CHECK_ID == modelSub.CHECK_ID && !e.IS_DELETED && e.CHECKRESULT.HasValue && e.CHECKRESULT != (int)CHECKRESULTEnum.None;
var info = this.GetEntities(expression, null, new string[] { "Nav_ListCheckDetailQuestion.Nav_Question", "Nav_CheckArea", "Nav_CheckMain", "Nav_ListCheckDetailReason.Nav_RiskReason", "Nav_Files.Nav_ImgFile.Nav_File" });
List<Guid> listArearId = new List<Guid>();
foreach (var item in info)
{
if (!listArearId.Contains(item.RISK_AREA_ID.Value))
{
listArearId.Add(item.RISK_AREA_ID.Value);
}
}
List<Guid> listQID = new List<Guid>() { new Guid("55555555-5555-5555-5555-555555555555") };
//责任部门
List<T_FM_DEPARTMENT> listDep = new List<T_FM_DEPARTMENT>();
T_FM_DEPARTMENT depCheck = null;
Dictionary<Guid, T_FM_USER> dicDepSafer = new Dictionary<Guid, T_FM_USER>();
if (info.Any() && info.Count() > 0)
{
foreach (var item in info)
{
if (!item.DEPARTMENT_ID.HasValue)
{
continue;
}
depCheck = listDep.Find(e => e.ID == item.DEPARTMENT_ID);
if (depCheck == null)
{
depCheck = GetEntity<T_FM_DEPARTMENT>(item.DEPARTMENT_ID.Value, "Nav_User");
listDep.Add(depCheck);
}
if (depCheck == null)
{
continue;
}
foreach (var itemQ in item.Nav_ListCheckDetailQuestion)
{
if (listQID.Contains(itemQ.Nav_Question.ID))
{
continue;
}
T_BS_RISK_SUBMIT_CONTENT model = listSubContents.FirstOrDefault(e => e.SAFE_CHECK_DETAIL_ID == item.ID);// new T_BS_RISK_SUBMIT_CONTENT();
if (model == null)
{
model = new T_BS_RISK_SUBMIT_CONTENT();
listSubContents.Add(model);
}
model.NAME = string.Empty;
model.CODE = string.Empty;
model.RISK_SUBMIT_ID = modelSub.ID;
model.CHECK_MAIN_ID = item.CHECK_MAIN_ID;
model.Nav_CheckMain = item.Nav_CheckMain;
model.DEPARTMENT_ID = item.DEPARTMENT_ID;
model.Nav_Department = depCheck;
if (item.Nav_Files != null && item.Nav_Files.Any())
{
List<T_BS_RISK_SUBMIT_CONTENT_FILE> listFiles = new List<T_BS_RISK_SUBMIT_CONTENT_FILE>();
foreach (var itemF in item.Nav_Files)
{
listFiles.Add(new T_BS_RISK_SUBMIT_CONTENT_FILE()
{
ID = Guid.NewGuid(),
RISK_SUBMIT_ID = modelSub.ID,
RISK_SUBMIT_CONTENT_ID = model.ID,
IMG_FILE_ID = itemF.IMG_FILE_ID,
Nav_ImgFile = itemF.Nav_ImgFile,
IS_DELETED = false,
ORG_ID = itemF.ORG_ID,
//ENTITY_ORG_TPYE=itemF.ENTITY_ORG_TPYE,
//FORM_ID=null,
//FLOW_STATUS= itemF.FLOW_STATUS,
//FLOW_SEND_STATUS=itemF.FLOW_SEND_STATUS,
//FLOW_ID=itemF.FLOW_ID,
//CREATE_TIME=DateTime.Now,
//MODIFY_TIME=DateTime.Now,
//CREATER_ID=
//MODIFIER_ID
//T_BS_RISK_SUBMIT_CONTENT_BACKID
});
}
model.Nav_Files = listFiles;
}
//wyw1114-1
if (!item.CHECK_MAIN_ID.HasValue || item.CHECK_MAIN_ID.Value == Guid.Empty)
{
//检查库信息为空(手动添加组合 添加的人是谁,对应责任人就是对应隐患上报的人)
model.USER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
model.Nav_User = GetEntity<T_FM_USER>(model.USER_ID.Value);
}
else
{
//if (item.Nav_CheckMain.RESPONOBJECT == BSPLANCHECKOBJECTEnum.Head || item.Nav_CheckMain.RESPONOBJECT == BSPLANCHECKOBJECTEnum.ClassMonitor)
if (depCheck.USER_ID == depCheck.USER_ID)
{
model.USER_ID = depCheck.USER_ID;
model.Nav_User = depCheck.Nav_User;
}
else
{
//对应的安全员
if (!dicDepSafer.ContainsKey(model.DEPARTMENT_ID.Value))
{
var depSafer = GetEntity<T_FM_USER>(e => e.DEPARTMENT_ID == model.DEPARTMENT_ID && e.APPROVE_ROLE_ID.HasValue && e.Nav_ApproveRole.NAME.Contains("安全"), "Nav_ApproveRole");
if (depSafer == null)
{
continue;
}
dicDepSafer.Add(model.DEPARTMENT_ID.Value, depSafer);
}
model.Nav_User = dicDepSafer[model.DEPARTMENT_ID.Value];
model.USER_ID = model.Nav_User.ID;
}
}
//整改责任人 默认 通知责任人
if (model.USER_ID.HasValue)
{
model.Nav_UserDeal = model.Nav_User;
model.DEAL_USER_ID = model.USER_ID.Value;
model.DEAL_DEPARTMENT_ID = model.DEPARTMENT_ID.Value;
model.Nav_DepartmentDeal = model.Nav_Department;
}
//if (item.RISK_AREA_ID.HasValue && dicRiskUser.ContainsKey(item.RISK_AREA_ID.Value) && dicRiskUser[item.RISK_AREA_ID.Value] != null)
//{
// model.USER_ID = dicRiskUser[item.RISK_AREA_ID.Value].ID;
// model.DEPARTMENT_ID = dicRiskUser[item.RISK_AREA_ID.Value].DEPARTMENT_ID;
// model.Nav_User = dicRiskUser[item.RISK_AREA_ID.Value];
// model.Nav_Department = dicRiskUser[item.RISK_AREA_ID.Value].Nav_Department;
//}
//else
//{
// model.USER_ID = null;
// model.DEPARTMENT_ID = null;
//}
model.Nav_SafeCheckDetail = item;
model.CHECK_MAIN_ID = item.CHECK_MAIN_ID;
model.SAFE_CHECK_ID = item.SAFE_CHECK_ID;
model.CHECK_PROJECT_ID = item.CHECK_PROJECT_ID;
//model.Nav_CheckProject = item.Nav_CheckProject;
model.CHECK_PROJECT_PROJECT_CATEGORY_ID = item.CHECK_PROJECT_PROJECT_CATEGORY_ID;
//model.Nav_CheckProjectProjectCategory = item.Nav_CheckProjectProjectCategory;
model.CHECK_PROJECT_CATEGORY_ID = item.CHECK_PROJECT_CATEGORY_ID;//0927
model.SERIOUS_RISK = item.SERIOUS_RISK;
model.CHECKCONTENT = item.CHECKCONTENT;
model.SAFE_CHECK_DETAIL_ID = model.Nav_SafeCheckDetail.ID;
model.QUESTION_LEVEL = item.QUESTION_LEVEL.HasValue ? item.QUESTION_LEVEL.Value : item.Nav_CheckMain.QUESTION_LEVEL;//默认等级和原来一致
model.QUESTION_LEVEL_SHOW = model.QUESTION_LEVEL > 0 ? ((BSQuestionLevelEnum)(model.QUESTION_LEVEL)).GetDescription() : "";//默认等级和原来一致
model.RISK_AREA_ID = item.RISK_AREA_ID;
//model.CHECK_QUESTION_ID = item.Nav_CheckMain.Nav_CheckQuestion.ID;
if (item.CHECKRESULT.HasValue && item.CHECKRESULT == (int)CHECKRESULTEnum.Same)
{
model.Nav_SafeCheckDetail.REMARK_RESULT = itemQ.Nav_Question.DESCREPTION;
model.Nav_Question = itemQ.Nav_Question;// item.Nav_CheckQuestion;
model.DESCREPTION = itemQ.Nav_Question.DESCREPTION;// item.Nav_CheckQuestion.DESCREPTION;//取检查问题的 描述
model.DEMAND = itemQ.Nav_Question.DEMAND;// item.Nav_CheckQuestion.DEMAND;
model.CHECK_QUESTION_ID = itemQ.Nav_Question.ID;// item.Nav_CheckQuestion.ID;
model.PROOF = item.CHECKPROOF;
}
else
{
model.Nav_SafeCheckDetail.REMARK_RESULT = item.REMARK_RESULT;
model.DESCREPTION = item.REMARK_RESULT;//其他 取安全检查的 备注
model.DEMAND = "";
model.CHECK_QUESTION_ID = null;
model.PROOF = null;
}
model.CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID;
model.ADDRESS = item.ADDRESS;//隐患地点
int delayDays = GetDealyDays(model.QUESTION_LEVEL);
model.LastDateSystem = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 23:59:59")).AddDays(delayDays);
//item.Nav_ListCheckDetailReason
//model.Nav_ListRiskQuestionReason=
if (item.Nav_ListCheckDetailReason != null && item.Nav_ListCheckDetailReason.Any())
{
model.Nav_ListRiskQuestionReason = new List<T_BS_RISK_SUBMIT_CONTENT_REASON>();
foreach (var itemR in item.Nav_ListCheckDetailReason)
{
model.Nav_ListRiskQuestionReason.Add(new T_BS_RISK_SUBMIT_CONTENT_REASON()
{
ID = Guid.NewGuid(),
RISK_SUBMIT_CONTENT_ID = model.ID,
Nav_RiskSubmitContent = model,
Nav_RiskReason = itemR.Nav_RiskReason,
RISK_REASON_ID = itemR.RISK_REASON_ID,
IS_DELETED = false,
ORG_ID = itemR.ORG_ID,
//ENTITY_ORG_TPYE = ,
//FORM_ID = ,
//FLOW_STATUS = ,
//FLOW_SEND_STATUS = ,
//FLOW_ID = ,
CREATE_TIME = DateTime.Now,
MODIFY_TIME = DateTime.Now,
//CREATER_ID = ,
//MODIFIER_ID = ,
//T_BS_RISK_SUBMIT_CONTENT_BACKID = ,
});
}
}
}
}
#region
var listDepID = listSubContents.Where(e => e.DEPARTMENT_ID.HasValue).Select(e => e.DEPARTMENT_ID.Value).Distinct();
if (listDepID != null && listDepID.Any())
{
var listDeps = GetEntities<T_FM_DEPARTMENT>(e => listDepID.Contains(e.ID), null);
listDepID = listDeps.Where(e => e.PARENT_ID.HasValue).Select(e => e.PARENT_ID.Value).Distinct();
var listRole = GetEntities<T_PF_APPROVAL_ROLE>(e => e.NAME.Contains("安全员"), null, null);
if (listRole != null && listRole.Any())
{
var listRoleID = listRole.Select(e => e.ID);
var listHeader = GetEntities<T_FM_USER>(e => listDepID.Contains(e.DEPARTMENT_ID.Value) && e.APPROVE_ROLE_ID.HasValue && listRoleID.Contains(e.APPROVE_ROLE_ID.Value), null, null);
if (listHeader != null && listHeader.Any())
{
foreach (var item in listSubContents)
{
if (item.DEPARTMENT_ID.HasValue)
{
var depThis = listDeps.FirstOrDefault(e => e.ID == item.DEPARTMENT_ID.Value);
if (depThis != null && depThis.PARENT_ID.HasValue)
{
T_FM_USER userTemp = listHeader.FirstOrDefault(x => x.DEPARTMENT_ID == depThis.PARENT_ID.Value);
if (userTemp != null)
{
item.CHECK_USER_ID = userTemp.ID;
item.Nav_UserCheck = userTemp;
}
}
}
}
}
}
}
#endregion
}
modelSub.Nav_ListRiskSubmitContent = listSubContents;
#endregion
}
else
{
modelSub.Nav_ListRiskSubmitContent = GetEntities<T_BS_RISK_SUBMIT_CONTENT>(e => e.RISK_SUBMIT_ID == guid, null, "Nav_CheckMain", "Nav_ImgFile.Nav_File", "Nav_User", "Nav_UserDeal", "Nav_DepartmentDeal", "Nav_ListCheckDetailReason.Nav_RiskReason").ToList();
}
return modelSub;
});
}
/// <summary>
/// 获得单条实体数据
/// </summary>