532 lines
27 KiB
C#
532 lines
27 KiB
C#
|
|
using APT.BaseData.Domain.Entities;
|
|||
|
|
using APT.BaseData.Domain.Entities.FM;
|
|||
|
|
using APT.BaseData.Domain.Enums;
|
|||
|
|
using APT.BaseData.Domain.Enums.PF;
|
|||
|
|
using APT.BaseData.Domain.IServices.FM;
|
|||
|
|
using APT.BaseData.Domain.IServices;
|
|||
|
|
using APT.Infrastructure.Core;
|
|||
|
|
using APT.MS.Domain.Entities.SC.PE;
|
|||
|
|
using APT.Utility;
|
|||
|
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using APT.MS.Domain.Enums;
|
|||
|
|
using APT.MS.Domain.Entities.PC;
|
|||
|
|
using APT.MS.Domain.Entities.HM;
|
|||
|
|
using APT.MS.Domain.Enums.SK;
|
|||
|
|
using APT.MS.Domain.Entities.SK;
|
|||
|
|
using APT.MS.Domain.Entities.FO;
|
|||
|
|
|
|||
|
|
namespace APT.SC.WebApi.Controllers.Api.PCController
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 纠正与预防措施通知单
|
|||
|
|
/// </summary>
|
|||
|
|
[Route("api/PC/PCInfo")]
|
|||
|
|
public partial class PCInfoController : AuthorizeApiController<T_PC_INFO>
|
|||
|
|
{
|
|||
|
|
IPFCodeRuleService CodeRuleService { get; set; }
|
|||
|
|
IFMNotificationTaskService NotificationTaskService { get; set; }
|
|||
|
|
IFMFlowPermitService MFlowPermitService { get; set; }
|
|||
|
|
IPFApproveCallBackService ApproveCallBackService { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="notificationTaskService"></param>
|
|||
|
|
public PCInfoController(IPFCodeRuleService codeRuleService, IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFApproveCallBackService approveCallBackService)
|
|||
|
|
{
|
|||
|
|
CodeRuleService = codeRuleService;
|
|||
|
|
NotificationTaskService = notificationTaskService;
|
|||
|
|
MFlowPermitService = mFlowPermitService;
|
|||
|
|
ApproveCallBackService = approveCallBackService;
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 新增/编辑
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="entity"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("FullUpdate")]
|
|||
|
|
public JsonActionResult<bool> FullUpdate([FromBody] T_PC_INFO entity)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
if (entity.Nav_Files == null || !entity.Nav_Files.Any() || entity.Nav_Files.Count() < 1)
|
|||
|
|
{
|
|||
|
|
throw new Exception("请选择背景图");
|
|||
|
|
}
|
|||
|
|
else if (entity.Nav_Files.Count() > 1)
|
|||
|
|
{
|
|||
|
|
var FilesCheck = entity.Nav_Files.Where(e => !e.IS_DELETED);
|
|||
|
|
if (FilesCheck != null && FilesCheck.Any() && FilesCheck.Count() > 1)
|
|||
|
|
{
|
|||
|
|
throw new Exception("背景图只能设置一张");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var Files = entity.Nav_Files.ToList();
|
|||
|
|
if (string.IsNullOrEmpty(entity.FILE_PATH))
|
|||
|
|
{
|
|||
|
|
entity.FILE_PATH = Files[0].Nav_ImgFile?.FILE_PATH;
|
|||
|
|
}
|
|||
|
|
if (string.IsNullOrEmpty(entity.FILE_PATH))
|
|||
|
|
{
|
|||
|
|
var img = GetEntity<T_PF_IMG_FILE>(Files[0].IMG_FILE_ID, "Nav_File");
|
|||
|
|
entity.FILE_PATH = img.Nav_File.FILE_PATH;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
entity.Nav_Files = null;
|
|||
|
|
var Colors = entity.Nav_Colors;
|
|||
|
|
entity.Nav_Colors = null;
|
|||
|
|
List<T_PC_INFO_COLOR_POINT> listPoint = new List<T_PC_INFO_COLOR_POINT>();
|
|||
|
|
List<T_PC_INFO_COLOR_AREA> listArea = new List<T_PC_INFO_COLOR_AREA>();
|
|||
|
|
int index = 0;
|
|||
|
|
foreach (var item in Colors)
|
|||
|
|
{
|
|||
|
|
var ColorPoints = item.Nav_ColorPoints;
|
|||
|
|
item.Nav_ColorPoints = null;
|
|||
|
|
if (item.IS_DELETED)
|
|||
|
|
{
|
|||
|
|
foreach (var itemP in ColorPoints)
|
|||
|
|
{
|
|||
|
|
itemP.IS_DELETED = true;
|
|||
|
|
}
|
|||
|
|
listPoint.AddRange(ColorPoints);
|
|||
|
|
continue;
|
|||
|
|
}
|
|||
|
|
index++;
|
|||
|
|
if (item.ISDIY && string.IsNullOrEmpty(item.RGBCOLOR))
|
|||
|
|
{
|
|||
|
|
throw new Exception("手动数据必须选择填充色");
|
|||
|
|
}
|
|||
|
|
var Areas = item.Nav_Areas;//区域 不一定都会绑定 可以直接描点 按手动的来取色
|
|||
|
|
|
|||
|
|
if (Areas != null && Areas.Any() && Areas.Count() > 0)
|
|||
|
|
{
|
|||
|
|
item.Nav_Areas = null;
|
|||
|
|
foreach (var itemA in Areas)
|
|||
|
|
{
|
|||
|
|
itemA.INFO_ID = entity.ID;
|
|||
|
|
}
|
|||
|
|
listArea.AddRange(Areas);
|
|||
|
|
}
|
|||
|
|
else if (!item.ISDIY)
|
|||
|
|
{
|
|||
|
|
throw new Exception("非自定数据必须选择区域!");//根据区域判断等级与颜色
|
|||
|
|
}
|
|||
|
|
//点位必须要有 且坐标顺序 必须连续 不重复
|
|||
|
|
//if (ColorPoints == null || !ColorPoints.Any() || ColorPoints.Count() < 3)
|
|||
|
|
//{
|
|||
|
|
// 升级后别的地方添加
|
|||
|
|
// throw new Exception("坐标点位必须大于2,点击最左边[+]进行坐标添点加");
|
|||
|
|
//}
|
|||
|
|
if (ColorPoints != null && ColorPoints.Any() && ColorPoints.Count > 0)
|
|||
|
|
{
|
|||
|
|
if (ColorPoints.Where(e => !e.IS_DELETED).Max(e => e.NUM) != ColorPoints.Where(e => !e.IS_DELETED).Count())
|
|||
|
|
{
|
|||
|
|
throw new Exception("请检查坐标顺序[色块:" + index + "]:有序正整数(1、2、3...)!");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
foreach (var itemP in ColorPoints)
|
|||
|
|
{
|
|||
|
|
itemP.INFO_ID = entity.ID;
|
|||
|
|
}
|
|||
|
|
listPoint.AddRange(ColorPoints);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
UnifiedCommit(() =>
|
|||
|
|
{
|
|||
|
|
if (entity != null)
|
|||
|
|
this.UpdateEntityNoCommit(entity);
|
|||
|
|
if (Files != null && Files.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(Files);
|
|||
|
|
if (Colors != null && Colors.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(Colors);
|
|||
|
|
if (listArea != null && listArea.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(listArea);
|
|||
|
|
if (listPoint != null && listPoint.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(listPoint);
|
|||
|
|
});
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获得单条实体数据 坐标排序
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="filter">过滤实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("Get")]
|
|||
|
|
public JsonActionResult<T_PC_INFO> Get([FromBody] KeywordFilter filter)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
var result = GetEntity<T_PC_INFO>(null, filter, null);
|
|||
|
|
if (result.Nav_Colors != null && result.Nav_Colors.Any())
|
|||
|
|
{
|
|||
|
|
foreach (var item in result.Nav_Colors)
|
|||
|
|
{
|
|||
|
|
if (item.Nav_ColorPoints != null && item.Nav_ColorPoints.Any())
|
|||
|
|
{
|
|||
|
|
item.Nav_ColorPoints = item.Nav_ColorPoints.OrderBy(e => e.NUM).ToList();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return result;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 显示信息
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="filter">过滤实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("EntitiesShow")]
|
|||
|
|
public JsonActionResult<IEnumerable<T_PC_INFO>> EntitiesShow([FromBody] KeywordFilter filter)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
var result = GetEntities<T_PC_INFO>(null, filter, null);
|
|||
|
|
if (result != null && result.Any())
|
|||
|
|
{
|
|||
|
|
var colors = GetEntities<T_PC_COLORSET>(e => !e.IS_DELETED && e.ENABLE_STATUS == FMEnableStatusEnum.启用, null, null).OrderBy(e => e.LEVEL);
|
|||
|
|
if (colors == null || colors.Count() < 1)
|
|||
|
|
{
|
|||
|
|
throw new Exception("请配置四色图颜色信息");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
List<Guid> listAreaID = new List<Guid>();
|
|||
|
|
foreach (var rp in result)
|
|||
|
|
{
|
|||
|
|
if (rp.Nav_Colors != null && rp.Nav_Colors.Any())
|
|||
|
|
{
|
|||
|
|
rp.Nav_Colors = rp.Nav_Colors.OrderBy(e => e.ZNDEX).ToList();
|
|||
|
|
foreach (var item in rp.Nav_Colors)
|
|||
|
|
{
|
|||
|
|
item.DESCRIBE_TITLE = item.DESCRIBE;
|
|||
|
|
//排序
|
|||
|
|
if (item.Nav_ColorPoints != null && item.Nav_ColorPoints.Any())
|
|||
|
|
{
|
|||
|
|
item.Nav_ColorPoints = item.Nav_ColorPoints.OrderBy(e => e.NUM).ToList();
|
|||
|
|
}
|
|||
|
|
//如果非DIY数据 根据区域去查找隐患 根据隐患信息 判断等级 给颜色赋值 1为高级
|
|||
|
|
//收集区域ID
|
|||
|
|
if (!item.ISDIY && item.Nav_Areas.Any())
|
|||
|
|
{
|
|||
|
|
listAreaID.AddRange(item.Nav_Areas.Select(e => e.AREA_ID));
|
|||
|
|
//colorLevel = 4;
|
|||
|
|
//item.DESCRIBE = "信息描述";
|
|||
|
|
////T_HM_EVALUATE_RISK
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
listAreaID = listAreaID.Distinct().ToList();
|
|||
|
|
|
|||
|
|
//风险等级匹配
|
|||
|
|
if (listAreaID != null && listAreaID.Any() && listAreaID.Count > 0)
|
|||
|
|
{
|
|||
|
|
//--企业库:T_SK_ENTERPRISE_LIBRARY 区域 等级 取最高的
|
|||
|
|
//--工作票:T_FO_CRUCIAL_LICENSE_JOB 区域 等级 取最高的
|
|||
|
|
//--隐患整改记录:T_SK_HIDDEN_DANGER_RECTIFY_RECORD STATUS<30 查数量
|
|||
|
|
#region 获取数据源 企业库 工作票 隐患待整改记录
|
|||
|
|
|
|||
|
|
BaseFilter filterLib = new BaseFilter(filter.OrgId);
|
|||
|
|
filterLib.SelectField = new string[] { "AREA_ID", "EVALUATE_LEVEL", "IS_DELETED" };
|
|||
|
|
|
|||
|
|
//区域 固有风险
|
|||
|
|
var listLib = GetEntities<T_SK_ENTERPRISE_LIBRARY>(e => !e.IS_DELETED && e.AREA_ID.HasValue && listAreaID.Contains(e.AREA_ID.Value), filterLib, null).GroupBy(e => new { e.AREA_ID, e.EVALUATE_LEVEL }).OrderBy(e => e.Key.AREA_ID).ThenBy(e => e.Key.EVALUATE_LEVEL).ToList();
|
|||
|
|
|
|||
|
|
//工作票 未归档 正在作业 //FOPreMeetingStatusEnum IS_PUBLISH
|
|||
|
|
int PUBLISH = (int)FOPreMeetingStatusEnum.归档;
|
|||
|
|
DateTime dtNow = DateTime.Now;
|
|||
|
|
BaseFilter filterJob = new BaseFilter(filter.OrgId);
|
|||
|
|
filterJob.SelectField = new string[] { "AREA_ID", "JOB_DATE", "IS_DELETED", "JOB_END_DATE", "IS_PUBLISH", "EVALUATE_LEVEL" };
|
|||
|
|
var JobsNow = GetEntities<T_FO_CRUCIAL_LICENSE_JOB>(e => !e.IS_DELETED && e.AREA_ID.HasValue && listAreaID.Contains(e.AREA_ID.Value) && e.JOB_DATE.HasValue && e.JOB_END_DATE.HasValue && (int)e.IS_PUBLISH < PUBLISH && e.JOB_DATE.Value <= dtNow && dtNow <= e.JOB_END_DATE.Value, filterJob, null);
|
|||
|
|
|
|||
|
|
//隐患整改记录
|
|||
|
|
int STATUSMax = (int)PFStandardStatus.Archived;
|
|||
|
|
BaseFilter filterRec = new BaseFilter(filter.OrgId);
|
|||
|
|
filterRec.SelectField = new string[] { "RISK_AREA_ID", "STATUS", "IS_DELETED", "HIDDEN_LEVEL" };
|
|||
|
|
var listDangerRecord = GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(e => !e.IS_DELETED && e.RISK_AREA_ID.HasValue && ((int)e.STATUS) < STATUSMax, null, null);
|
|||
|
|
//区域 供显示
|
|||
|
|
var listArea = GetEntities<T_SK_RISK_AREA>(e => listAreaID.Contains(e.ID), null, null);
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
IEnumerable<Guid> listAreaIDItem = null;
|
|||
|
|
T_PC_COLORSET colorPer = null;
|
|||
|
|
|
|||
|
|
SKEvaluateLevelEnum? LevelResultEst = null;//高风险等级结果
|
|||
|
|
SKEvaluateLevelEnum? LevelAreaEst = null;//区域固有最高风险等级
|
|||
|
|
SKEvaluateLevelEnum? LevelJobEst = null;//实施工作票最高风险等级
|
|||
|
|
SKEvaluateLevelEnum? LevelDanjerEst = null;//隐患待整改最高风险等级
|
|||
|
|
int CountHightLevel = 0;//重大隐患未整改数量
|
|||
|
|
int CountNotHightLevel = 0;//一般隐患未整改数量
|
|||
|
|
|
|||
|
|
int disIndex = 0;
|
|||
|
|
foreach (var rp in result)
|
|||
|
|
{
|
|||
|
|
if (rp.Nav_Colors == null && !rp.Nav_Colors.Any())
|
|||
|
|
continue;
|
|||
|
|
foreach (var item in rp.Nav_Colors)
|
|||
|
|
{
|
|||
|
|
if (item.ISDIY || !item.Nav_Areas.Any() || item.Nav_Areas.Count < 1)
|
|||
|
|
continue;
|
|||
|
|
|
|||
|
|
LevelResultEst = null;//高风险等级结果
|
|||
|
|
LevelAreaEst = null;//区域固有最高风险等级
|
|||
|
|
LevelJobEst = null;//实施工作票最高风险等级
|
|||
|
|
LevelDanjerEst = null;//隐患待整改最高风险等级
|
|||
|
|
CountHightLevel = 0;//重大隐患未整改数量
|
|||
|
|
CountNotHightLevel = 0;//一般隐患未整改数量
|
|||
|
|
|
|||
|
|
//绑定区域 按实际数据显示信息
|
|||
|
|
listAreaIDItem = item.Nav_Areas.Select(e => e.AREA_ID);
|
|||
|
|
var listAreaItem = listArea.Where(e => listAreaIDItem.Contains(e.ID));
|
|||
|
|
if (listAreaItem.Any() && listAreaItem.Count() > 0)
|
|||
|
|
{
|
|||
|
|
item.DESCRIBE = "区域:" + String.Join('、', listAreaItem.Select(e => e.NAME)) + "<br/>";
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
item.DESCRIBE = "";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#region 区域固有风险等级 LevelAreaEst 赋值
|
|||
|
|
if (listLib != null && listLib.Any() && listLib.Count() > 0)
|
|||
|
|
{
|
|||
|
|
var ListAreaLib = listLib.Where(e => listAreaIDItem.Contains(e.Key.AREA_ID.Value));
|
|||
|
|
if (ListAreaLib != null && ListAreaLib.Any() && ListAreaLib.Count() > 0)
|
|||
|
|
{
|
|||
|
|
LevelAreaEst = ListAreaLib.OrderBy(e => e.Key.EVALUATE_LEVEL).ToList()[0].Key.EVALUATE_LEVEL;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
#region 区域实时工作票 LevelJobEst 赋值
|
|||
|
|
if (JobsNow != null && JobsNow.Any() && JobsNow.Count() > 0)
|
|||
|
|
{
|
|||
|
|
var listJobsArea = JobsNow.Where(e => listAreaIDItem.Contains(e.AREA_ID.Value)).OrderBy(e => e.EVALUATE_LEVEL);
|
|||
|
|
if (listJobsArea != null && listJobsArea.Any() && listJobsArea.Count() > 0)
|
|||
|
|
{
|
|||
|
|
LevelJobEst = listJobsArea.OrderBy(e => e.EVALUATE_LEVEL).ToList()[0].EVALUATE_LEVEL;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
#region 待整改隐患 CountHightLevel CountNotHightLevel 赋值
|
|||
|
|
CountHightLevel = listDangerRecord.Count(e => e.HIDDEN_LEVEL == SKHiddenLevel.Major && listAreaIDItem.Contains(e.RISK_AREA_ID.Value));
|
|||
|
|
CountNotHightLevel = listDangerRecord.Count(e => e.HIDDEN_LEVEL == SKHiddenLevel.General && listAreaIDItem.Contains(e.RISK_AREA_ID.Value));
|
|||
|
|
#endregion
|
|||
|
|
#region 获取最终等级 LevelResultEst
|
|||
|
|
|
|||
|
|
foreach (var itemCL in colors)
|
|||
|
|
{
|
|||
|
|
if (LevelAreaEst != null && itemCL.LEVEL == LevelAreaEst)
|
|||
|
|
{
|
|||
|
|
if (LevelResultEst == null)
|
|||
|
|
{
|
|||
|
|
LevelResultEst = itemCL.LEVEL;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (LevelJobEst != null && itemCL.LEVEL == LevelJobEst)
|
|||
|
|
{
|
|||
|
|
if (LevelResultEst == null)
|
|||
|
|
{
|
|||
|
|
LevelResultEst = itemCL.LEVEL;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if ((CountHightLevel > 0 || CountNotHightLevel > 0) && LevelDanjerEst == null)
|
|||
|
|
{
|
|||
|
|
//区域内有待整改隐患 并且 此项未赋值
|
|||
|
|
//有设置 最小值 并且不为0 数量大于/等于 最小值 就是对应数据
|
|||
|
|
if (CountHightLevel > 0 && LevelDanjerEst == null && itemCL.COUNTMIN_HIGH.HasValue && itemCL.COUNTMIN_HIGH.Value != 0 && CountHightLevel >= itemCL.COUNTMIN_HIGH.Value)
|
|||
|
|
{
|
|||
|
|
LevelDanjerEst = itemCL.LEVEL;
|
|||
|
|
}
|
|||
|
|
if (CountNotHightLevel > 0 && LevelDanjerEst == null && itemCL.COUNTMIN_LOW.HasValue && itemCL.COUNTMIN_LOW.Value != 0 && CountNotHightLevel >= itemCL.COUNTMIN_LOW.Value)
|
|||
|
|
{
|
|||
|
|
LevelDanjerEst = itemCL.LEVEL;
|
|||
|
|
}
|
|||
|
|
if (LevelDanjerEst != null && LevelResultEst == null)
|
|||
|
|
{
|
|||
|
|
LevelResultEst = itemCL.LEVEL;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
#region 根据计算信息 组装 文本描述
|
|||
|
|
|
|||
|
|
if (!LevelResultEst.HasValue)
|
|||
|
|
{
|
|||
|
|
item.RGBCOLOR = "";
|
|||
|
|
item.DESCRIBE += "按四色取值规则未匹配到对应信息";
|
|||
|
|
continue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
colorPer = colors.FirstOrDefault(e => e.LEVEL == LevelResultEst);
|
|||
|
|
if (colorPer != null)
|
|||
|
|
{
|
|||
|
|
item.DESCRIBE += colorPer.NAME + "预警依据:<br/>";
|
|||
|
|
item.RGBCOLOR = colorPer.CODE;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
item.RGBCOLOR = "";
|
|||
|
|
|
|||
|
|
disIndex = 0;
|
|||
|
|
//LevelAreaEst = null;//区域固有最高风险等级
|
|||
|
|
//LevelJobEst = null;//实施工作票最高风险等级
|
|||
|
|
//LevelDanjerEst = null;//隐患待整改最高风险等级
|
|||
|
|
//CountHightLevel = 0;//重大隐患未整改数量
|
|||
|
|
//CountNotHightLevel = 0;//一般隐患未整改数量
|
|||
|
|
if (LevelAreaEst != null)
|
|||
|
|
{
|
|||
|
|
disIndex++;
|
|||
|
|
item.DESCRIBE += (disIndex + "、区域固有最高风险等级:" + LevelAreaEst.Value.GetDescription() + "<br/>");
|
|||
|
|
}
|
|||
|
|
if (LevelJobEst != null)
|
|||
|
|
{
|
|||
|
|
disIndex++;
|
|||
|
|
item.DESCRIBE += (disIndex + "、工作票风险等级:" + LevelJobEst.Value.GetDescription() + "<br/>");
|
|||
|
|
}
|
|||
|
|
if (LevelDanjerEst != null)
|
|||
|
|
{
|
|||
|
|
disIndex++;
|
|||
|
|
item.DESCRIBE += (disIndex + "、待整改隐患风险等级:" + LevelJobEst.Value.GetDescription() + (CountHightLevel > 0 ? ("重大隐患" + CountHightLevel + "条") : "") + (CountNotHightLevel > 0 ? "一般隐患" + CountNotHightLevel + "条" : "") + "<br/>");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (!string.IsNullOrEmpty(item.DESCRIBE))
|
|||
|
|
{
|
|||
|
|
item.DESCRIBE_TITLE = item.DESCRIBE.Replace("<br/>", "\n");
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return result;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 更新色块区域
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="listPoint">对象实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("UpdateColorPoint")]
|
|||
|
|
public JsonActionResult<bool> UpdateColorPoint([FromBody] List<T_PC_INFO_COLOR_POINT> listPoint)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
//List<T_PC_INFO_COLOR_POINT> listPoint = new List<T_PC_INFO_COLOR_POINT>();
|
|||
|
|
if (listPoint == null || listPoint.Count() < 1)
|
|||
|
|
{
|
|||
|
|
throw new Exception("未获取到坐标序列!");
|
|||
|
|
}
|
|||
|
|
var pointCheck = listPoint.Find(e => e.INFO_COLOR_ID == Guid.Empty || e.INFO_ID == Guid.Empty);
|
|||
|
|
if (pointCheck != null || pointCheck.ID == Guid.Empty)
|
|||
|
|
{
|
|||
|
|
throw new Exception("未获取到坐标序列!");
|
|||
|
|
}
|
|||
|
|
Guid INFO_COLOR_ID = listPoint.ToList()[0].INFO_COLOR_ID;
|
|||
|
|
var check = listPoint.Find(e => e.INFO_COLOR_ID != INFO_COLOR_ID);
|
|||
|
|
if (check != null || check.ID != Guid.Empty)
|
|||
|
|
{
|
|||
|
|
throw new Exception("数据有误,每次只能操作一个配置区域!");
|
|||
|
|
}
|
|||
|
|
//删除原有数据 增加新数据
|
|||
|
|
UnifiedCommit(() =>
|
|||
|
|
{
|
|||
|
|
DeleteEntityNoCommit<T_PC_INFO_COLOR_POINT>(e => e.INFO_COLOR_ID == INFO_COLOR_ID);
|
|||
|
|
if (listPoint != null && listPoint.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(listPoint);
|
|||
|
|
});
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 更新色块区域
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="PointInfo">对象实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("UpdateColorPointInfo")]
|
|||
|
|
public JsonActionResult<bool> UpdateColorPoint([FromBody] T_PC_INFO_COLOR PointInfo)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
if (PointInfo.Nav_ColorPoints == null || !PointInfo.Nav_ColorPoints.Any())
|
|||
|
|
{
|
|||
|
|
throw new Exception("未获取到坐标序列!");
|
|||
|
|
}
|
|||
|
|
List<T_PC_INFO_COLOR_POINT> listPoint = PointInfo.Nav_ColorPoints.ToList();
|
|||
|
|
//List<T_PC_INFO_COLOR_POINT> listPoint = new List<T_PC_INFO_COLOR_POINT>();
|
|||
|
|
if (listPoint == null || listPoint.Count() < 1)
|
|||
|
|
{
|
|||
|
|
throw new Exception("未获取到坐标序列!");
|
|||
|
|
}
|
|||
|
|
var pointCheck = listPoint.Find(e => e.INFO_COLOR_ID == Guid.Empty || e.INFO_ID == Guid.Empty);
|
|||
|
|
if (pointCheck != null)
|
|||
|
|
{
|
|||
|
|
throw new Exception("未获取到坐标序列!");
|
|||
|
|
}
|
|||
|
|
Guid INFO_COLOR_ID = listPoint.ToList()[0].INFO_COLOR_ID;
|
|||
|
|
var check = listPoint.Find(e => e.INFO_COLOR_ID != INFO_COLOR_ID);
|
|||
|
|
if (check != null)
|
|||
|
|
{
|
|||
|
|
throw new Exception("数据有误,每次只能操作一个配置区域!");
|
|||
|
|
}
|
|||
|
|
//删除原有数据 增加新数据
|
|||
|
|
UnifiedCommit(() =>
|
|||
|
|
{
|
|||
|
|
DeleteEntityNoCommit<T_PC_INFO_COLOR_POINT>(e => e.INFO_COLOR_ID == INFO_COLOR_ID);
|
|||
|
|
if (listPoint != null && listPoint.Any())
|
|||
|
|
this.BantchSaveEntityNoCommit(listPoint);
|
|||
|
|
});
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 更新色块区域
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="listPoint">对象实体</param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("UpdateColor")]
|
|||
|
|
public JsonActionResult<bool> UpdateColorPoint([FromBody] T_PC_INFO_COLOR_POINT Point)
|
|||
|
|
{
|
|||
|
|
return SafeExecute(() =>
|
|||
|
|
{
|
|||
|
|
////List<T_PC_INFO_COLOR_POINT> listPoint = new List<T_PC_INFO_COLOR_POINT>();
|
|||
|
|
//if (listPoint == null || listPoint.Count() < 1)
|
|||
|
|
//{
|
|||
|
|
// throw new Exception("未获取到坐标序列!");
|
|||
|
|
//}
|
|||
|
|
//var pointCheck = listPoint.Find(e => e.INFO_COLOR_ID == Guid.Empty || e.INFO_ID == Guid.Empty);
|
|||
|
|
//if (pointCheck != null || pointCheck.ID == Guid.Empty)
|
|||
|
|
//{
|
|||
|
|
// throw new Exception("未获取到坐标序列!");
|
|||
|
|
//}
|
|||
|
|
//Guid INFO_COLOR_ID = listPoint.ToList()[0].INFO_COLOR_ID;
|
|||
|
|
//var check = listPoint.Find(e => e.INFO_COLOR_ID != INFO_COLOR_ID);
|
|||
|
|
//if (check != null || check.ID != Guid.Empty)
|
|||
|
|
//{
|
|||
|
|
// throw new Exception("数据有误,每次只能操作一个配置区域!");
|
|||
|
|
//}
|
|||
|
|
////删除原有数据 增加新数据
|
|||
|
|
//UnifiedCommit(() =>
|
|||
|
|
//{
|
|||
|
|
// DeleteEntityNoCommit<T_PC_INFO_COLOR_POINT>(e => e.INFO_COLOR_ID == INFO_COLOR_ID);
|
|||
|
|
// if (listPoint != null && listPoint.Any())
|
|||
|
|
// this.BantchSaveEntityNoCommit(listPoint);
|
|||
|
|
//});
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|