|
@@ -11,6 +11,8 @@
|
|
|
package controllers
|
|
|
|
|
|
import (
|
|
|
+ "encoding/json"
|
|
|
+ "fmt"
|
|
|
"scd_check_tools/models/bo"
|
|
|
"scd_check_tools/tools"
|
|
|
"strconv"
|
|
@@ -638,6 +640,7 @@ func (c *BusAdminController) GetFuncFcdaList() {
|
|
|
c.ServeJSON()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
obj := new(bo.SysCheckModelIedFuncMgr)
|
|
|
obj.SetUserInfo(c.GetCurrentUserInfo())
|
|
|
lst, err := obj.GetList(modelid, ied_type)
|
|
@@ -646,25 +649,22 @@ func (c *BusAdminController) GetFuncFcdaList() {
|
|
|
c.ServeJSON()
|
|
|
return
|
|
|
}
|
|
|
- fcdaList := []interface{}{}
|
|
|
+ funcids := []string{}
|
|
|
+ for _, row := range lst {
|
|
|
+ funcids = append(funcids, tools.IsEmpty(row["id"]))
|
|
|
+ }
|
|
|
fcdaMgr := new(bo.SysCheckModelIedFuncFcdaMgr)
|
|
|
fcdaMgr.Model = bo.T_data_model_func_fcda{}
|
|
|
fcdaMgr.Model.ModelId = modelid
|
|
|
fcdaMgr.Model.Svorgoose = strings.ToUpper(c.GetString("sv_or_goose"))
|
|
|
fcdaMgr.Model.Inorout = c.GetString("in_or_out")
|
|
|
- for _, row := range lst {
|
|
|
- fcdaMgr.Model.FuncId, _ = strconv.Atoi(tools.IsEmpty(row["id"]))
|
|
|
- tmpLst, err := fcdaMgr.GetList()
|
|
|
- if err != nil {
|
|
|
- c.Data["json"] = c.ResultError(err.Error())
|
|
|
- c.ServeJSON()
|
|
|
- return
|
|
|
- }
|
|
|
- for _, r := range tmpLst {
|
|
|
- fcdaList = append(fcdaList, r)
|
|
|
- }
|
|
|
+ fcdaList, err := fcdaMgr.GetList(funcids)
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = c.ResultError(err.Error())
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
}
|
|
|
- c.Data["json"] = c.ResultOK(fcdaList, 0)
|
|
|
+ c.Data["json"] = c.ResultOK(fcdaList, len(fcdaList))
|
|
|
c.ServeJSON()
|
|
|
}
|
|
|
|
|
@@ -765,9 +765,9 @@ func (c *BusAdminController) DelAllFuncFcda() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- fcdaMgr := new(bo.SysCheckModelIedFuncFcdaMgr)
|
|
|
+ fcdaMgr := new(bo.SysCheckModelIedFuncMgr)
|
|
|
fcdaMgr.SetUserInfo(c.GetCurrentUserInfo())
|
|
|
- fcdaMgr.Model = bo.T_data_model_func_fcda{}
|
|
|
+ fcdaMgr.Model = bo.T_data_model_func_def{}
|
|
|
fcdaMgr.Model.ModelId = modelid
|
|
|
err := fcdaMgr.Delete()
|
|
|
if err != nil {
|
|
@@ -868,8 +868,9 @@ func (c *BusAdminController) GetFuncFcdaRef() {
|
|
|
// @Param model_id formData int true "模型ID"
|
|
|
// @Param from_ied_type formData string true "输出装置类型"
|
|
|
// @Param to_ied_type formData string true "输入装置类型"
|
|
|
-// @Param from_fcda_id formData int true "输出装置端子ID"
|
|
|
-// @Param to_fcda_ids formData string true "输入装置端子ID列表。多个ID间使用逗号分隔"
|
|
|
+// @Param from_fcda_id formData int false "输出装置端子ID"
|
|
|
+// @Param to_fcda_ids formData string false "输入装置端子ID"
|
|
|
+// @Param batch_fcda_ids formData json-string true "批量保存端子关系。类型为序列化的二维数组字符串。数组元素为:[[fromfcdaid,tofcdaid],...]"
|
|
|
// @Param goosesv formData string true "信号类型。值范围:GOOSE|SV"
|
|
|
// @Success 200 {object} ResultOK 成功
|
|
|
// @Failure 500 {object} ResultError 失败
|
|
@@ -911,6 +912,45 @@ func (c *BusAdminController) SaveFuncFcdaRef() {
|
|
|
c.ServeJSON()
|
|
|
return
|
|
|
}
|
|
|
+ batch_fcda_ids := c.GetString("batch_fcda_ids")
|
|
|
+ if batch_fcda_ids != "" {
|
|
|
+ //批量保存
|
|
|
+ fcdalist := [][]int{}
|
|
|
+ err := json.Unmarshal([]byte(batch_fcda_ids), &fcdalist)
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = c.ResultError("无效的批量端子关系数据")
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ obj := new(bo.SysCheckModelIedFuncFcdaMgr)
|
|
|
+ for _, item := range fcdalist {
|
|
|
+ fcdainf, err := obj.One(item[0])
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = c.ResultError(fmt.Sprintf("无效的端子ID:%d", item[0]))
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fcdaMgr.Model.FromFuncId = fcdainf.FuncId
|
|
|
+ fcdaMgr.Model.FromFcdaId = item[0]
|
|
|
+ fcdainf, err = obj.One(item[1])
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = c.ResultError(fmt.Sprintf("无效的端子ID:%d", item[1]))
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fcdaMgr.Model.ToFcdaId = item[1]
|
|
|
+ fcdaMgr.Model.ToFuncId = fcdainf.FuncId
|
|
|
+ err = fcdaMgr.Save()
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = c.ResultError(err.Error())
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ c.Data["json"] = c.ResultOK("", 0)
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
obj := new(bo.SysCheckModelIedFuncFcdaMgr)
|
|
|
fcdainf, er := obj.One(fcdaMgr.Model.FromFcdaId)
|
|
|
if er != nil {
|
|
@@ -948,3 +988,47 @@ func (c *BusAdminController) SaveFuncFcdaRef() {
|
|
|
c.Data["json"] = c.ResultOK("", 0)
|
|
|
c.ServeJSON()
|
|
|
}
|
|
|
+
|
|
|
+// @Summary 删除端子之间的关联关系
|
|
|
+// @Description 删除端子之间的关联关系
|
|
|
+// @Tags 业务管理服务
|
|
|
+// @Accept x-www-form-urlencoded
|
|
|
+// @Produce json
|
|
|
+// @Param model_id formData int true "模型ID"
|
|
|
+// @Param from_fcda_id formData int true "输入端子ID"
|
|
|
+// @Param to_fcda_id formData int true "输出端子ID"
|
|
|
+// @Success 200 {object} ResultOK 成功
|
|
|
+// @Failure 500 {object} ResultError 失败
|
|
|
+// @router /admin/model/function/fcda-ref/del [post]
|
|
|
+func (c *BusAdminController) DelFuncFcdaRef() {
|
|
|
+ fcdaMgr := new(bo.SysCheckModelFcdaRalationMgr)
|
|
|
+ fcdaMgr.SetUserInfo(c.GetCurrentUserInfo())
|
|
|
+ fcdaMgr.Model = bo.T_data_model_fcda_ref{}
|
|
|
+ fcdaMgr.Model.ModelId, _ = c.GetInt("model_id", 0)
|
|
|
+ fcdaMgr.Model.FromFcdaId, _ = c.GetInt("from_fcda_id", 0)
|
|
|
+ fcdaMgr.Model.ToFcdaId, _ = c.GetInt("to_fcda_id")
|
|
|
+ if fcdaMgr.Model.ModelId == 0 {
|
|
|
+ c.Data["json"] = c.ResultError("模型ID不能为空!")
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if fcdaMgr.Model.FromFcdaId == 0 {
|
|
|
+ c.Data["json"] = c.ResultError("输入端子ID不能为空!")
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if fcdaMgr.Model.ToFcdaId == 0 {
|
|
|
+ c.Data["json"] = c.ResultError("接收端子ID不能为空")
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //清除原关系
|
|
|
+ err := fcdaMgr.Delete()
|
|
|
+ if err != nil {
|
|
|
+ c.Data["json"] = c.ResultError(err.Error())
|
|
|
+ c.ServeJSON()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ c.Data["json"] = c.ResultOK("", 0)
|
|
|
+ c.ServeJSON()
|
|
|
+}
|