隐患待上报修改
安全检查数据库导出 安全绩效报表
This commit is contained in:
parent
38abfc114c
commit
5b67f0dac6
@ -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(() =>
|
||||
{
|
||||
|
||||
@ -51,7 +51,9 @@ namespace APT.MS.Domain.Enums
|
||||
/// </summary>
|
||||
public enum BSSeriousRiskEnum
|
||||
{
|
||||
[Description("否")]
|
||||
否 = 0,
|
||||
[Description("是")]
|
||||
是 = 1,
|
||||
}
|
||||
/// <summary>
|
||||
|
||||
@ -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; }
|
||||
}
|
||||
}
|
||||
@ -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>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user