liling před 1 rokem
rodič
revize
ed171b6e14

+ 10 - 0
service/controllers/busAdminController.go

@@ -405,6 +405,16 @@ func (c *BusAdminController) GetSysModelList() {
 		c.ServeJSON()
 		return
 	}
+	//如果是获取指定模型信息时,附加模型的标准装置类型信息
+	if obj.Model.Id > 0 {
+		//间隔类型id
+		codeinfo := new(bo.Global).GetCodeInfoByID(tools.IsEmpty(lst[0]["area_type"]))
+		if codeinfo != nil {
+			code := "area_type_" + tools.IsEmpty(codeinfo["code"])
+			codeinfo = new(bo.Global).GetCodeInfoByCode("area_ied_type", code)
+			lst[0]["ied_type"] = codeinfo["name"]
+		}
+	}
 	c.Data["json"] = c.ResultOK(lst, cnt)
 	c.ServeJSON()
 }

+ 2 - 2
service/models/bo/checktools_area.go

@@ -345,7 +345,7 @@ func (c *CheckAreaMgr) getAreaCheckInfo() (*node_attr.SCL, []orm.Params, string,
 	return scdXmlObj, arealist, area_ruleid, nil
 }
 
-//检测间隔装置关系正确性
+//检测装置端子分析:检测间隔装置关系正确性(已废弃)
 func (c *CheckAreaMgr) CheckAreaIedRelation() error {
 	// 获取当前scd中需要检查的间隔
 	scdXmlObj, arealist, area_ruleid, err := c.getAreaCheckInfo()
@@ -780,7 +780,7 @@ func (c *CheckAreaMgr) CheckIedFcda() error {
 	return nil
 }
 
-//解析模型间隔
+//解析模型间隔。根据模型定义解析出间隔中的装置
 func (c *CheckAreaMgr) ParseModelArea() {
 	c.Init(c.ScdId)
 	key := fmt.Sprintf("%d-checkinfo", c.ScdId)

+ 12 - 3
service/models/bo/global_code.go

@@ -1,13 +1,13 @@
 package bo
 
 import (
+	"errors"
+	"fmt"
+	"log"
 	"scd_check_tools/global"
 	"scd_check_tools/logger"
 	"scd_check_tools/models/enum"
 	"scd_check_tools/tools"
-	"errors"
-	"fmt"
-	"log"
 	"strconv"
 	"strings"
 
@@ -285,6 +285,15 @@ func (t *Global) GetCodeInfoByID(id string) orm.Params {
 	return nil
 }
 
+func (t *Global) GetCodeInfoByCode(pcode, code string) orm.Params {
+	key := "global_code_" + pcode + code
+	r, _ := global.GoCahce.Get(key)
+	if r != nil {
+		return r.(orm.Params)
+	}
+	return nil
+}
+
 //类别管理树
 func (t *Global) GetCategoryTree() ([]orm.Params, error) {
 	o := orm.NewOrm()

+ 4 - 18
service/models/bo/task.go

@@ -156,32 +156,18 @@ func (c *TaskMgr) start(task T_data_task) error {
 			}
 			if err != nil {
 				c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_model_parse.Code(), 3, err.Error())
-				c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_func_parse.Code(), 3, "终止")
 				c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_fcda_parse.Code(), 3, "终止")
 			} else {
 				c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_model_parse.Code(), 2)
-				//功能分析
-				err = checkAreaMgr.CheckAreaIedRelation()
+				c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_fcda_parse.Code(), 1)
+				err = checkAreaMgr.CheckIedFcda()
 				if isStop(task.Id) {
 					return
 				}
-				c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_func_parse.Code(), 1)
 				if err != nil {
-					c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_func_parse.Code(), 3, err.Error())
-					c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_fcda_parse.Code(), 3, "终止")
+					c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_fcda_parse.Code(), 3, err.Error())
 				} else {
-					c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_func_parse.Code(), 2)
-					//端子分析
-					c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_fcda_parse.Code(), 1)
-					err = checkAreaMgr.CheckIedFcda()
-					if isStop(task.Id) {
-						return
-					}
-					if err != nil {
-						c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_fcda_parse.Code(), 3, err.Error())
-					} else {
-						c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_fcda_parse.Code(), 2)
-					}
+					c.SetStep(tools.IsEmpty(task.ScdId), enum.TaskStep_SCD_fcda_parse.Code(), 2)
 				}
 			}
 		}

+ 1 - 3
service/models/enum/enum_task_step.go

@@ -16,7 +16,7 @@ const (
 	TaskStep_SCD_cid_extract
 	TaskStep_SCD_icd_extract
 	TaskStep_SCD_model_parse
-	TaskStep_SCD_func_parse
+	//TaskStep_SCD_func_parse
 	TaskStep_SCD_fcda_parse
 )
 
@@ -42,8 +42,6 @@ func (t TaskStep) Code() string {
 		return "scd_ied_fcda_parse"
 	case TaskStep_SCD_crc_extract:
 		return "scd_crc_extract"
-	case TaskStep_SCD_func_parse:
-		return "scd_ied_func_parse"
 	default:
 		return ""
 	}