소스 검색

修复一些bUG

liling 1 년 전
부모
커밋
c9365a33d3

+ 2 - 1
service/controllers/busAdminController.go

@@ -654,7 +654,7 @@ func (c *BusAdminController) GetFuncFcdaList() {
 //	@Param 	func_id 	formData   int  	false 	"功能ID。编辑时必传。"
 //	@Param 	func_id 	formData   int  	false 	"功能ID。编辑时必传。"
 //	@Param 	func_name 	formData   string  	true 	"功能名称。必传。"
 //	@Param 	func_name 	formData   string  	true 	"功能名称。必传。"
 //	@Param 	fcda_id 	formData   int  	false 	"端子ID。编辑时必传。"
 //	@Param 	fcda_id 	formData   int  	false 	"端子ID。编辑时必传。"
-//	@Param 	fcda_name 	formData   string  	true 	"功能名称。必传。"
+//	@Param 	fcda_name 	formData   string  	true 	"端子名称。必传。"
 //	@Param 	fcda_match_exp 	formData   string  	true 	"端子匹配表达式。必传。"
 //	@Param 	fcda_match_exp 	formData   string  	true 	"端子匹配表达式。必传。"
 // 	@Success     200    {object} ResultOK 成功
 // 	@Success     200    {object} ResultOK 成功
 // 	@Failure 	 500 	{object} ResultError  失败
 // 	@Failure 	 500 	{object} ResultError  失败
@@ -697,6 +697,7 @@ func (c *BusAdminController) SaveFuncFcda() {
 	mod.FcdaMatchExp = fcda_match_exp
 	mod.FcdaMatchExp = fcda_match_exp
 	mgr := new(bo.SysCheckModelIedFuncMgr)
 	mgr := new(bo.SysCheckModelIedFuncMgr)
 	mgr.SetUserInfo(c.GetCurrentUserInfo())
 	mgr.SetUserInfo(c.GetCurrentUserInfo())
+	mgr.Model = mod
 	err := mgr.Save()
 	err := mgr.Save()
 	if err != nil {
 	if err != nil {
 		c.Data["json"] = c.ResultError(err.Error())
 		c.Data["json"] = c.ResultError(err.Error())

+ 3 - 0
service/models/bo/check_sys_model.go

@@ -273,6 +273,9 @@ func (c *SysCheckModelMgr) Delete() (err error) {
 		m2.SetUserInfo(c.GetUserInfo())
 		m2.SetUserInfo(c.GetUserInfo())
 		m2.Model.ModelId = c.Model.Id
 		m2.Model.ModelId = c.Model.Id
 		m2.Delete()
 		m2.Delete()
+		m3 := new(SysCheckModelIedFuncMgr)
+		m3.Model = T_data_model_func_def{ModelId: c.Model.Id}
+		m3.Delete()
 		dblog.Description = fmt.Sprintf("删除%s%s成功", sysCheckModelDesc, c.Model.ModelName)
 		dblog.Description = fmt.Sprintf("删除%s%s成功", sysCheckModelDesc, c.Model.ModelName)
 		dblog.Success2()
 		dblog.Success2()
 	}
 	}

+ 9 - 9
service/models/bo/check_sysmodel_ied_fcda_relation.go

@@ -75,21 +75,21 @@ func (c *SysCheckModelFcdaRalationMgr) Delete() (err error) {
 	dblog.Eventlevel = enum.OptEventLevel_Hight
 	dblog.Eventlevel = enum.OptEventLevel_Hight
 	db := orm.NewOrm()
 	db := orm.NewOrm()
 	if c.Model.FromFuncId > 0 {
 	if c.Model.FromFuncId > 0 {
-		_, err = db.Raw("delete from t_data_model_func_fcda where model_id=? and from_func_id=?", c.Model.ModelId, c.Model.FromFuncId).Exec()
+		_, err = db.Raw("delete from t_data_model_fcda_ref where model_id=? and from_func_id=?", c.Model.ModelId, c.Model.FromFuncId).Exec()
 	} else if c.Model.FromIedCode != "" {
 	} else if c.Model.FromIedCode != "" {
-		_, err = db.Raw("delete from t_data_model_func_fcda where model_id=? and (from_ied_code=? or to_ied_code=?)", c.Model.ModelId, c.Model.FromIedCode, c.Model.FromIedCode).Exec()
+		_, err = db.Raw("delete from t_data_model_fcda_ref where model_id=? and (from_ied_code=? or to_ied_code=?)", c.Model.ModelId, c.Model.FromIedCode, c.Model.FromIedCode).Exec()
 	} else if c.Model.ToIedCode != "" {
 	} else if c.Model.ToIedCode != "" {
-		_, err = db.Raw("delete from t_data_model_func_fcda where model_id=? and (from_ied_code=? or to_ied_code=?)", c.Model.ModelId, c.Model.ToIedCode, c.Model.ToIedCode).Exec()
+		_, err = db.Raw("delete from t_data_model_fcda_ref where model_id=? and (from_ied_code=? or to_ied_code=?)", c.Model.ModelId, c.Model.ToIedCode, c.Model.ToIedCode).Exec()
 	} else if c.Model.FromFuncId > 0 {
 	} else if c.Model.FromFuncId > 0 {
-		_, err = db.Raw("delete from t_data_model_func_fcda where model_id=? and (from_func_id=? or to_func_id=?)", c.Model.ModelId, c.Model.FromFuncId, c.Model.FromFuncId).Exec()
+		_, err = db.Raw("delete from t_data_model_fcda_ref where model_id=? and (from_func_id=? or to_func_id=?)", c.Model.ModelId, c.Model.FromFuncId, c.Model.FromFuncId).Exec()
 	} else if c.Model.ToFuncId > 0 {
 	} else if c.Model.ToFuncId > 0 {
-		_, err = db.Raw("delete from t_data_model_func_fcda where model_id=? and (from_func_id=? or to_func_id=?)", c.Model.ModelId, c.Model.ToFuncId, c.Model.ToFuncId).Exec()
+		_, err = db.Raw("delete from t_data_model_fcda_ref where model_id=? and (from_func_id=? or to_func_id=?)", c.Model.ModelId, c.Model.ToFuncId, c.Model.ToFuncId).Exec()
 	} else if c.Model.FromFcdaId > 0 {
 	} else if c.Model.FromFcdaId > 0 {
-		_, err = db.Raw("delete from t_data_model_func_fcda where model_id=? and (from_fcda_id=? or to_fcda_id=?)", c.Model.ModelId, c.Model.FromFcdaId, c.Model.FromFcdaId).Exec()
+		_, err = db.Raw("delete from t_data_model_fcda_ref where model_id=? and (from_fcda_id=? or to_fcda_id=?)", c.Model.ModelId, c.Model.FromFcdaId, c.Model.FromFcdaId).Exec()
 	} else if c.Model.ToFcdaId > 0 {
 	} else if c.Model.ToFcdaId > 0 {
-		_, err = db.Raw("delete from t_data_model_func_fcda where model_id=? and (from_fcda_id=? or to_fcda_id=?)", c.Model.ModelId, c.Model.ToFcdaId, c.Model.ToFcdaId).Exec()
+		_, err = db.Raw("delete from t_data_model_fcda_ref where model_id=? and (from_fcda_id=? or to_fcda_id=?)", c.Model.ModelId, c.Model.ToFcdaId, c.Model.ToFcdaId).Exec()
 	} else {
 	} else {
-		_, err = db.Raw("delete from t_data_model_func_fcda where model_id=? ", c.Model.ModelId).Exec()
+		_, err = db.Raw("delete from t_data_model_fcda_ref where model_id=? ", c.Model.ModelId).Exec()
 	}
 	}
 	if err != nil {
 	if err != nil {
 		logger.Logger.Error(err)
 		logger.Logger.Error(err)
@@ -105,7 +105,7 @@ func (c *SysCheckModelFcdaRalationMgr) Delete() (err error) {
 func (c *SysCheckModelFcdaRalationMgr) GetList() ([]orm.Params, error) {
 func (c *SysCheckModelFcdaRalationMgr) GetList() ([]orm.Params, error) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
 	sqlParamters := []interface{}{c.Model.ModelId, c.Model.FromFcdaId}
 	sqlParamters := []interface{}{c.Model.ModelId, c.Model.FromFcdaId}
-	sql := "select t.* from t_data_model_func_fcda t where t.model_id=? and t.from_fcda_id=?"
+	sql := "select t.* from t_data_model_fcda_ref t where t.model_id=? and t.from_fcda_id=?"
 	rowset := []orm.Params{}
 	rowset := []orm.Params{}
 	_, err := o.Raw(sql, sqlParamters).Values(&rowset)
 	_, err := o.Raw(sql, sqlParamters).Values(&rowset)
 	if err != nil {
 	if err != nil {

+ 4 - 1
service/models/bo/check_sysmodel_ied_func.go

@@ -60,7 +60,9 @@ func (c *SysCheckModelIedFuncMgr) Save() (err error) {
 		_, err = db.Update(&c.Model)
 		_, err = db.Update(&c.Model)
 	} else {
 	} else {
 		//新增
 		//新增
-		_, err = db.Insert(&c.Model)
+		newid, err2 := db.Insert(&c.Model)
+		err = err2
+		c.Model.Id = int(newid)
 	}
 	}
 	if err != nil {
 	if err != nil {
 		logger.Logger.Error(err)
 		logger.Logger.Error(err)
@@ -73,6 +75,7 @@ func (c *SysCheckModelIedFuncMgr) Save() (err error) {
 		fcdaMgr.Model.Id = c.Model.FuncFcdaId
 		fcdaMgr.Model.Id = c.Model.FuncFcdaId
 		fcdaMgr.Model.FcdaMatchExp = c.Model.FcdaMatchExp
 		fcdaMgr.Model.FcdaMatchExp = c.Model.FcdaMatchExp
 		fcdaMgr.Model.FcdaName = c.Model.FcdaName
 		fcdaMgr.Model.FcdaName = c.Model.FcdaName
+		fcdaMgr.Model.FuncId = c.Model.Id
 		err = fcdaMgr.Save()
 		err = fcdaMgr.Save()
 		if err != nil {
 		if err != nil {
 			db.Rollback()
 			db.Rollback()

+ 19 - 0
service/models/bo/check_sysmodel_ied_relation.go

@@ -54,6 +54,8 @@ func (c *SysCheckModelIedRelationMgr) Save(nodes map[string]interface{}) (err er
 	dblog.Eventtype = enum.OptEventType_Bus
 	dblog.Eventtype = enum.OptEventType_Bus
 	dblog.Eventlevel = enum.OptEventLevel_Hight
 	dblog.Eventlevel = enum.OptEventLevel_Hight
 	db := orm.NewOrm()
 	db := orm.NewOrm()
+	oldIedTypes := []orm.Params{} //原有的装置类型
+	db.Raw("select from_ied_code c from t_data_model_relation_def where model_id=? UNION select to_ied_code c from t_data_model_relation_def where model_id=?", c.Model.ModelId, c.Model.ModelId).Values(&oldIedTypes)
 	_, err = db.Raw("delete from t_data_model_relation_def where model_id=?", c.Model.ModelId).Exec()
 	_, err = db.Raw("delete from t_data_model_relation_def where model_id=?", c.Model.ModelId).Exec()
 	if err != nil {
 	if err != nil {
 		logger.Logger.Error(err)
 		logger.Logger.Error(err)
@@ -65,6 +67,7 @@ func (c *SysCheckModelIedRelationMgr) Save(nodes map[string]interface{}) (err er
 			item := item2.(map[string]interface{})
 			item := item2.(map[string]interface{})
 			tmpMap[tools.IsEmpty(item["id"])] = item
 			tmpMap[tools.IsEmpty(item["id"])] = item
 		}
 		}
+		newIedTypes := map[string]string{}
 		for _, line2 := range nodes["edges"].([]interface{}) {
 		for _, line2 := range nodes["edges"].([]interface{}) {
 			line := line2.(map[string]interface{})
 			line := line2.(map[string]interface{})
 			sourceied := tools.IsEmpty(line["sourceNodeId"])
 			sourceied := tools.IsEmpty(line["sourceNodeId"])
@@ -78,6 +81,7 @@ func (c *SysCheckModelIedRelationMgr) Save(nodes map[string]interface{}) (err er
 			newm.Cr, _ = strconv.Atoi(c.GetUserId())
 			newm.Cr, _ = strconv.Atoi(c.GetUserId())
 			item := tmpMap[sourceied].(map[string]interface{})
 			item := tmpMap[sourceied].(map[string]interface{})
 			newm.FromIedCode = tools.IsEmpty(item["properties"].(map[string]interface{})["ied_type"])
 			newm.FromIedCode = tools.IsEmpty(item["properties"].(map[string]interface{})["ied_type"])
+			newIedTypes[newm.FromIedCode] = newm.FromIedCode
 			newm.FromIedName = tools.IsEmpty(item["text"].(map[string]interface{})["value"])
 			newm.FromIedName = tools.IsEmpty(item["text"].(map[string]interface{})["value"])
 			if isSv == "" {
 			if isSv == "" {
 				newm.InType = "GOOSE"
 				newm.InType = "GOOSE"
@@ -86,6 +90,7 @@ func (c *SysCheckModelIedRelationMgr) Save(nodes map[string]interface{}) (err er
 			}
 			}
 			item = tmpMap[targetied].(map[string]interface{})
 			item = tmpMap[targetied].(map[string]interface{})
 			newm.ToIedCode = tools.IsEmpty(item["properties"].(map[string]interface{})["ied_type"])
 			newm.ToIedCode = tools.IsEmpty(item["properties"].(map[string]interface{})["ied_type"])
+			newIedTypes[newm.ToIedCode] = newm.ToIedCode
 			newm.ToIedName = tools.IsEmpty(item["text"].(map[string]interface{})["value"])
 			newm.ToIedName = tools.IsEmpty(item["text"].(map[string]interface{})["value"])
 			_, err = db.Insert(&newm)
 			_, err = db.Insert(&newm)
 			if err != nil {
 			if err != nil {
@@ -94,6 +99,20 @@ func (c *SysCheckModelIedRelationMgr) Save(nodes map[string]interface{}) (err er
 			}
 			}
 		}
 		}
 		SysModelRelationList.Delete(c.Model.ModelId)
 		SysModelRelationList.Delete(c.Model.ModelId)
+		if len(oldIedTypes) > 0 {
+			s1 := new(SysCheckModelIedFuncMgr)
+			s1.SetUserInfo(c.GetUserInfo())
+			s1.Model = T_data_model_func_def{ModelId: c.Model.ModelId}
+			//找出其中进行了删除的装置类型
+			for _, item := range oldIedTypes {
+				t := tools.IsEmpty(item["c"])
+				if newIedTypes[t] == "" {
+					//删除当前装置类型数据
+					s1.Model.IedType = t
+					s1.Delete()
+				}
+			}
+		}
 		dblog.Description = fmt.Sprintf("保存%s信息成功,操作数据:%+v", sysCheckModel_iedRelationDesc, c.Model)
 		dblog.Description = fmt.Sprintf("保存%s信息成功,操作数据:%+v", sysCheckModel_iedRelationDesc, c.Model)
 		dblog.Success2()
 		dblog.Success2()
 	}
 	}

+ 9 - 0
service/routers/commentsRouter_____________ME_GoProject_src_scd_check_tools_controllers.go

@@ -612,6 +612,15 @@ func init() {
 
 
     beego.GlobalControllerRouter["scd_check_tools/controllers:BusAdminController"] = append(beego.GlobalControllerRouter["scd_check_tools/controllers:BusAdminController"],
     beego.GlobalControllerRouter["scd_check_tools/controllers:BusAdminController"] = append(beego.GlobalControllerRouter["scd_check_tools/controllers:BusAdminController"],
         beego.ControllerComments{
         beego.ControllerComments{
+            Method: "GetFuncFcdaRef",
+            Router: "/admin/model/function/fcda-ref/list",
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["scd_check_tools/controllers:BusAdminController"] = append(beego.GlobalControllerRouter["scd_check_tools/controllers:BusAdminController"],
+        beego.ControllerComments{
             Method: "SaveFuncFcdaRef",
             Method: "SaveFuncFcdaRef",
             Router: "/admin/model/function/fcda-ref/save",
             Router: "/admin/model/function/fcda-ref/save",
             AllowHTTPMethods: []string{"post"},
             AllowHTTPMethods: []string{"post"},

+ 1 - 1
service/static/swagger/swagger.json

@@ -591,7 +591,7 @@
                     {
                     {
                         "in": "formData",
                         "in": "formData",
                         "name": "fcda_name",
                         "name": "fcda_name",
-                        "description": "功能名称。必传。",
+                        "description": "端子名称。必传。",
                         "required": true,
                         "required": true,
                         "type": "string"
                         "type": "string"
                     },
                     },

+ 1 - 1
service/static/swagger/swagger.yml

@@ -409,7 +409,7 @@ paths:
         format: int64
         format: int64
       - in: formData
       - in: formData
         name: fcda_name
         name: fcda_name
-        description: 功能名称。必传。
+        description: 端子名称。必传。
         required: true
         required: true
         type: string
         type: string
       - in: formData
       - in: formData

+ 1 - 1
service/swagger/swagger.json

@@ -591,7 +591,7 @@
                     {
                     {
                         "in": "formData",
                         "in": "formData",
                         "name": "fcda_name",
                         "name": "fcda_name",
-                        "description": "功能名称。必传。",
+                        "description": "端子名称。必传。",
                         "required": true,
                         "required": true,
                         "type": "string"
                         "type": "string"
                     },
                     },

+ 1 - 1
service/swagger/swagger.yml

@@ -409,7 +409,7 @@ paths:
         format: int64
         format: int64
       - in: formData
       - in: formData
         name: fcda_name
         name: fcda_name
-        description: 功能名称。必传。
+        description: 端子名称。必传。
         required: true
         required: true
         type: string
         type: string
       - in: formData
       - in: formData