diff --git a/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs b/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs index 45cddcc..99ff692 100644 --- a/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs +++ b/APT.MicroApi/APT.HM.WebApi/Controllers/Api/OperationLinkController.cs @@ -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 stepList = new List(); + List typeList = new List(); List linkList = new List(); List linkPostList = new List(); List linkConList = new List(); @@ -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()) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs index d645e90..d61f949 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/BasicLibraryController.cs @@ -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 libDetTemp = new List(); if (!string.IsNullOrEmpty(mesList))