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;
|
||
});
|
||
}
|
||
|
||
}
|
||
}
|