作业任务库、双控基础库导入

This commit is contained in:
何美荣 2026-03-25 11:16:57 +08:00
parent 2ba01d1f3b
commit a249ebb4dc
2 changed files with 103 additions and 43 deletions

View File

@ -321,9 +321,9 @@ namespace APT.HM.WebApi.Controllers.Api
if (string.IsNullOrEmpty(dtSource.Rows[i][0].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][1].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][2].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][3].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][4].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][5].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][6].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][7].ToString().Trim()))
|| string.IsNullOrEmpty(dtSource.Rows[i][7].ToString().Trim()))
{
Msg = Msg + "第" + (i + 3) + "行生产单元,作业环节,任务类型,是否关键作业,作业周期,作业许可审批层级,作业许可类别,作业等级存在空数据,请先检查所有字段内容;";
Msg = Msg + "第" + (i + 3) + "行生产单元,作业环节,任务类型,是否关键作业,作业周期,作业许可审批层级,作业等级存在空数据,请先检查所有字段内容;";
}
}
if (!string.IsNullOrEmpty(Msg))
@ -343,7 +343,7 @@ namespace APT.HM.WebApi.Controllers.Api
var stepFirst = steps.FirstOrDefault(t => t.NAME == step);
if (stepFirst == null)
{
Msg = Msg + "第" + (i + 3) + "行作业环节" + step + "不存在,请先到系统管理维护;";
//Msg = Msg + "第" + (i + 3) + "行作业环节" + step + "不存在,请先到系统管理维护;";
}
else
{
@ -374,12 +374,12 @@ namespace APT.HM.WebApi.Controllers.Api
{
Msg = Msg + "第" + (i + 3) + "行作业审批层级只能填写无审批层级、一级审批、二级审批、三级审批、四级审批、特级审批、临时用电,请修改" + approveLevel + "";
}
var workType = dtSource.Rows[i][6].ToString().Trim();
var workTypeFirst = workTypes.FirstOrDefault(t => t.NAME == workType);
if (workTypeFirst == null)
{
Msg = Msg + "第" + (i + 3) + "行作业许可类别"+ workType + "不存在,请先到系统管理维护;";
}
//var workType = dtSource.Rows[i][6].ToString().Trim();
//var workTypeFirst = workTypes.FirstOrDefault(t => t.NAME == workType);
//if (workTypeFirst == null)
//{
// Msg = Msg + "第" + (i + 3) + "行作业许可类别"+ workType + "不存在,请先到系统管理维护;";
//}
var workLevel = dtSource.Rows[i][7].ToString().Trim();
if (workLevel != "重大风险" && workLevel != "较大风险" && workLevel != "一般风险" && workLevel != "低风险")
{
@ -415,6 +415,8 @@ namespace APT.HM.WebApi.Controllers.Api
throw new Exception(Msg);
}
//导入
List<T_HM_OPERATION_STEP> stepList = new List<T_HM_OPERATION_STEP>();
List<T_HM_WORK_PERMIT_TYPE> typeList = new List<T_HM_WORK_PERMIT_TYPE>();
List<T_HM_OPERATION_LINK> linkList = new List<T_HM_OPERATION_LINK>();
List<T_HM_OPERATION_LINK_POST> linkPostList = new List<T_HM_OPERATION_LINK_POST>();
List<T_HM_OPERATION_TASK_SAFE_CONFIRM> linkConList = new List<T_HM_OPERATION_TASK_SAFE_CONFIRM>();
@ -426,23 +428,59 @@ namespace APT.HM.WebApi.Controllers.Api
var proUnitFirst = proUnits.FirstOrDefault(t => t.NAME == proUnit);
var step = dtSource.Rows[i][1].ToString().Trim();
var stepFirst = steps.FirstOrDefault(t => t.NAME == step);
var stepTemp = stepFirst;
var taskType = dtSource.Rows[i][2].ToString().Trim();
var isNeed = dtSource.Rows[i][3].ToString().Trim();
var workCycle = dtSource.Rows[i][4].ToString().Trim();
var approveLevel = dtSource.Rows[i][5].ToString().Trim();
var workType = dtSource.Rows[i][6].ToString().Trim();
var workTypeFirst = workTypes.FirstOrDefault(t => t.NAME == workType);
var typeTemp = workTypeFirst;
var workLevel = dtSource.Rows[i][7].ToString().Trim();
var status = dtSource.Rows[i][8].ToString().Trim();
var postList = dtSource.Rows[i][9].ToString().Trim();
var conList = dtSource.Rows[i][10].ToString().Trim();
var mesList = dtSource.Rows[i][11].ToString().Trim();
var delList = dtSource.Rows[i][12].ToString().Trim();
if (stepFirst == null)
{
var steList = stepList.FirstOrDefault(t => t.NAME == step);
if (steList == null)
{
T_HM_OPERATION_STEP stepNew = new T_HM_OPERATION_STEP();
stepNew.ORG_ID = orgId;
stepNew.CODE = step;
stepNew.NAME = step;
stepList.Add(stepNew);
stepTemp = stepNew;
}
else
{
stepTemp = steList;
}
}
if (!string.IsNullOrEmpty(workType) && workTypeFirst == null)
{
var steList = typeList.FirstOrDefault(t => t.NAME == workType);
if (steList == null)
{
T_HM_WORK_PERMIT_TYPE typeNew = new T_HM_WORK_PERMIT_TYPE();
typeNew.ORG_ID = orgId;
typeNew.CODE = workType;
typeNew.NAME = workType;
typeList.Add(typeNew);
typeTemp = typeNew;
}
else
{
typeTemp = steList;
}
}
T_HM_OPERATION_LINK link = new T_HM_OPERATION_LINK();
link.ORG_ID = orgId;
link.UNIT_ID = proUnitFirst.ID;
link.OPERATION_STEP_ID = stepFirst.ID;
link.WORK_PERMIT_TYPE_ID = workTypeFirst.ID;
link.OPERATION_STEP_ID = stepTemp.ID;
link.WORK_PERMIT_TYPE_ID = typeTemp?.ID;
link.CODE = DateTime.Now.ToString("yyyyMMddHH") + i.ToString().PadLeft(4, '0');
link.NAME = stepFirst.NAME;
link.MODIFY_TYPE = HMModifyEnum.;
@ -649,7 +687,11 @@ namespace APT.HM.WebApi.Controllers.Api
}
}
UnifiedCommit(() =>
{
{
if (stepList != null && stepList.Any())
BantchAddEntityNoCommit(stepList);
if (typeList != null && typeList.Any())
BantchAddEntityNoCommit(typeList);
if (linkList != null && linkList.Any())
BantchAddEntityNoCommit(linkList);
if (linkPostList != null && linkPostList.Any())

View File

@ -2184,10 +2184,9 @@ namespace APT.SK.WebApi.Controllers
{
if (string.IsNullOrEmpty(dtSource.Rows[i][0].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][1].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][2].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][3].ToString().Trim())
|| string.IsNullOrEmpty(dtSource.Rows[i][7].ToString().Trim()) || string.IsNullOrEmpty(dtSource.Rows[i][8].ToString().Trim())
)
{
Msg = Msg + "第" + (i + 3) + "行生产单元,风险名称风险描述风险类别风险评价L风险评价E风险评价C,风险等级,管控层级不能为空,请先检查所有字段内容;";
Msg = Msg + "第" + (i + 3) + "行生产单元,风险名称风险描述风险类别风险评价L风险评价E风险评价C不能为空,请先检查所有字段内容;";
}
}
if (!string.IsNullOrEmpty(Msg))
@ -2246,18 +2245,18 @@ namespace APT.SK.WebApi.Controllers
Msg = Msg + "第" + (i + 3) + "行风险评价C" + libC + "不存在,请先到系统管理维护;";
}
}
var riskLevel = dtSource.Rows[i][7].ToString().Trim();
if (riskLevel != "重大风险" && riskLevel != "较大风险" && riskLevel != "一般风险" && riskLevel != "低风险")
{
Msg = Msg + "第" + (i + 3) + "行风险等级只能填写重大风险、较大风险、一般风险、低风险,请修改" + riskLevel + "";
}
var controlLevel = dtSource.Rows[i][8].ToString().Trim();
if (controlLevel != "_5_" && controlLevel != "_10_" && controlLevel != "_15_" && controlLevel != "_20_"
&& controlLevel != "_5_10_" && controlLevel != "_10_15_" && controlLevel != "_15_20_" && controlLevel != "_5_10_15_"
&& controlLevel != "_10_15_20_" && controlLevel != "_5_10_15_20_")
{
Msg = Msg + "第" + (i + 3) + "行管控层级格式不确,请修改" + controlLevel + "";
}
//var riskLevel = dtSource.Rows[i][7].ToString().Trim();
//if (riskLevel != "重大风险" && riskLevel != "较大风险" && riskLevel != "一般风险" && riskLevel != "低风险")
//{
// Msg = Msg + "第" + (i + 3) + "行风险等级只能填写重大风险、较大风险、一般风险、低风险,请修改" + riskLevel + "";
//}
//var controlLevel = dtSource.Rows[i][8].ToString().Trim();
//if (controlLevel != "_5_" && controlLevel != "_10_" && controlLevel != "_15_" && controlLevel != "_20_"
// && controlLevel != "_5_10_" && controlLevel != "_10_15_" && controlLevel != "_15_20_" && controlLevel != "_5_10_15_"
// && controlLevel != "_10_15_20_" && controlLevel != "_5_10_15_20_")
//{
// Msg = Msg + "第" + (i + 3) + "行管控层级格式不确,请修改" + controlLevel + "";
//}
if (!string.IsNullOrEmpty(dtSource.Rows[i][10].ToString().Trim()))
{
var lists = dtSource.Rows[i][10].ToString().Trim().Split("。").ToList();
@ -2337,8 +2336,8 @@ namespace APT.SK.WebApi.Controllers
var libEFirst = string.IsNullOrEmpty(libE) ? null:libEs.FirstOrDefault(t => t.SCORE == decimal.Parse(libE));
var libC = dtSource.Rows[i][6].ToString().Trim();
var libCFirst = string.IsNullOrEmpty(libC) ? null : libCs.FirstOrDefault(t => t.SCORE == decimal.Parse(libC));
var riskLevel = dtSource.Rows[i][7].ToString().Trim();
var controlLevel = dtSource.Rows[i][8].ToString().Trim();
//var riskLevel = dtSource.Rows[i][7].ToString().Trim();
//var controlLevel = dtSource.Rows[i][8].ToString().Trim();
var emerg = dtSource.Rows[i][9].ToString().Trim();
var mesList = dtSource.Rows[i][10].ToString().Trim();
var conList = dtSource.Rows[i][11].ToString().Trim();
@ -2352,26 +2351,45 @@ namespace APT.SK.WebApi.Controllers
lib.SCOREE_ID = libEFirst?.ID;
lib.SCOREC_ID = libCFirst?.ID;
lib.EVALUATE_SCORE = (lib.SCOREL_ID!=null && lib.SCOREE_ID!=null && lib.SCOREC_ID!=null)? Math.Round(libLFirst.SCORE * libEFirst.SCORE* libCFirst.SCORE,2):0;
lib.DEPARTMENT_TYPE = controlLevel;
lib.CODE = DateTime.Now.ToString("yyyyMMddHH") + i.ToString().PadLeft(4, '0');
lib.EMERGENCY = emerg;
lib.ENABLE_STATUS = FMEnableStatusEnum.;
switch (riskLevel)
if (lib.EVALUATE_SCORE > 320)
{
case "重大风险":
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
break;
case "较大风险":
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
break;
case "一般风险":
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
break;
case "低风险":
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
break;
default: break;
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
lib.DEPARTMENT_TYPE = "_5_10_15_20_";
}
else if (lib.EVALUATE_SCORE >= 160 && lib.EVALUATE_SCORE < 320)
{
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
lib.DEPARTMENT_TYPE = "_10_15_20_";
}
else if (lib.EVALUATE_SCORE >= 70 && lib.EVALUATE_SCORE < 160)
{
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
lib.DEPARTMENT_TYPE = "_15_20_";
}
else
{
lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.;
lib.DEPARTMENT_TYPE = "_20_";
}
//switch (riskLevel)
//{
// case "重大风险":
// lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.重大风险;
// break;
// case "较大风险":
// lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.较大风险;
// break;
// case "一般风险":
// lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.一般风险;
// break;
// case "低风险":
// lib.EVALUATE_LEVEL = SKEvaluateLevelEnum.低风险;
// break;
// default: break;
//}
libList.Add(lib);
List<T_SK_BASIC_LIBRARY_DETAIL> libDetTemp = new List<T_SK_BASIC_LIBRARY_DETAIL>();
if (!string.IsNullOrEmpty(mesList))