attrsMgr.go 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951
  1. package node_attr
  2. import (
  3. "scd_check_tools/logger"
  4. "encoding/json"
  5. "errors"
  6. "fmt"
  7. "log"
  8. "reflect"
  9. "runtime"
  10. "strings"
  11. "github.com/astaxie/beego/orm"
  12. )
  13. type AttrsMgr struct {
  14. ScdId int64
  15. objlist map[string][]string
  16. }
  17. func (c *AttrsMgr) Ready() {
  18. c.objlist = map[string][]string{}
  19. }
  20. func (c *AttrsMgr) Flush() {
  21. if len(c.objlist) > 0 {
  22. db := orm.NewOrm()
  23. //db.Begin()
  24. var err error
  25. for k, lst := range c.objlist {
  26. length := len(lst)
  27. //log.Println(fmt.Sprintf("%s 节点属性记录数:%d", k, length))
  28. if length <= 5000 {
  29. //fmt.Println(fmt.Sprintf("%+v", lst))
  30. _, err = db.Raw("insert into " + k + "values" + strings.Join(lst, ",")).Exec()
  31. if err != nil {
  32. log.Println(k)
  33. log.Println(err)
  34. }
  35. } else {
  36. i := 5000
  37. i2 := 0
  38. for {
  39. if i2 > length {
  40. break
  41. }
  42. vls := strings.Join(lst[i2:i2+i], ",")
  43. if vls == "" {
  44. break
  45. }
  46. _, err = db.Raw("insert into " + k + "values" + vls).Exec()
  47. if err != nil {
  48. log.Println(k)
  49. log.Println(err)
  50. }
  51. i2 = i2 + i
  52. if length-i2 < i {
  53. i = length - i2
  54. }
  55. }
  56. }
  57. c.objlist[k] = nil
  58. }
  59. //db.Commit()
  60. c.objlist = nil
  61. runtime.GC()
  62. }
  63. }
  64. func (c *AttrsMgr) UpdateAttrs(attrObj map[string]interface{}) error {
  65. nodeid := attrObj["nodeid"].(int64)
  66. nodename := attrObj["nodename"].(string)
  67. atts := attrObj["attrs"].(map[string]interface{})
  68. v := reflect.ValueOf(c)
  69. inparam := make([]reflect.Value, 0)
  70. inparam = append(inparam, reflect.ValueOf(nodeid))
  71. inparam = append(inparam, reflect.ValueOf(atts))
  72. //smv节点需要单独处理。整个文件中有2个smv节点,其中一个为connectedap下的;另一个在IED的Services节点下
  73. if nodename == "SMV" {
  74. parentNodeName := attrObj["parentNodeName"].(string)
  75. if parentNodeName == "ConnectedAP" {
  76. nodename = "connectedap_smv"
  77. }
  78. }
  79. method := "Make_attr_" + strings.ToLower(nodename)
  80. mv := v.MethodByName(method)
  81. if !mv.IsValid() {
  82. log.Println("未指定节点的" + nodename + "属性模型对象")
  83. //通用处理
  84. return errors.New("NO-NODE")
  85. }
  86. resultObj := mv.Call(inparam)
  87. err, _ := resultObj[2].Interface().(error)
  88. if err != nil {
  89. logger.Logger.Error(err)
  90. return err
  91. }
  92. cols := resultObj[0].Interface().(string)
  93. value := resultObj[1].Interface().(string)
  94. lst := c.objlist[cols]
  95. if lst != nil {
  96. c.objlist[cols] = append(lst, value)
  97. } else {
  98. c.objlist[cols] = []string{value}
  99. }
  100. return nil
  101. }
  102. //将节点属性转换为指定的对象
  103. //需要在定义对象时标识对应的json属性名
  104. //目标对象需要以传址方式传递
  105. func (c *AttrsMgr) attr_trans(atts map[string]interface{}, obj interface{}) error {
  106. jsonstr, err := json.Marshal(atts)
  107. if err != nil {
  108. log.Println(err)
  109. return err
  110. }
  111. err = json.Unmarshal(jsonstr, &obj)
  112. if err != nil {
  113. log.Println(err)
  114. return err
  115. }
  116. return nil
  117. }
  118. func (c *AttrsMgr) Make_attr_scl(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  119. obj := T_scd_scl_attrs{}
  120. obj.NodeId = nodeid
  121. //obj.AttrXmlns = tools.IsEmpty(atts["xmlns"])
  122. //obj.AttrXmlnsExt = atts["ext"].(string)
  123. //obj.AttrXsiSchemaLocation = atts["schemaLocation"].(string)
  124. //obj.AttrXmlnsXsi = atts["xsi"].(string)
  125. err := c.attr_trans(attrs, &obj)
  126. sqlTableCols := "t_scd_scl_attrs(scd_id,node_id,attr_xmlns,attr_xmlns_ext,attr_xmlns_xsi,attr_xsi_schema_location)"
  127. if err == nil {
  128. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrXmlns, obj.AttrXmlnsExt, obj.AttrXmlnsXsi, obj.AttrXsiSchemaLocation}
  129. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  130. }
  131. return "", "", err
  132. }
  133. func (c *AttrsMgr) Make_attr_private(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  134. obj := T_scd_private_attrs{}
  135. obj.NodeId = nodeid
  136. err := c.attr_trans(attrs, &obj)
  137. sqlTableCols := "t_scd_private_attrs(scd_id,node_id,attr_type)"
  138. if err == nil {
  139. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrType}
  140. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  141. }
  142. return "", "", err
  143. }
  144. func (c *AttrsMgr) Make_attr_voltage(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  145. obj := T_scd_voltage_attrs{}
  146. obj.NodeId = nodeid
  147. err := c.attr_trans(attrs, &obj)
  148. sqlTableCols := "t_scd_voltage_attrs(scd_id,node_id,attr_name)"
  149. if err == nil {
  150. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrName}
  151. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  152. }
  153. return "", "", err
  154. }
  155. func (c *AttrsMgr) Make_attr_bay(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  156. obj := T_scd_bay_attrs{}
  157. obj.NodeId = nodeid
  158. err := c.attr_trans(attrs, &obj)
  159. sqlTableCols := "t_scd_bay_attrs(scd_id,node_id,attr_name)"
  160. if err == nil {
  161. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrName}
  162. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  163. }
  164. return "", "", err
  165. }
  166. func (c *AttrsMgr) Make_attr_header(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  167. obj := T_scd_header_attrs{}
  168. obj.NodeId = nodeid
  169. err := c.attr_trans(attrs, &obj)
  170. sqlTableCols := "t_scd_header_attrs(scd_id,node_id,attr_id,attr_namestructure,attr_reversion,attr_toolid,attr_version)"
  171. if err == nil {
  172. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrId, obj.AttrNamestructure, obj.AttrReversion, obj.AttrToolid, obj.AttrVersion}
  173. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  174. }
  175. return "", "", err
  176. }
  177. func (c *AttrsMgr) Make_attr_substation(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  178. obj := T_scd_substation_attrs{}
  179. obj.NodeId = nodeid
  180. err := c.attr_trans(attrs, &obj)
  181. sqlTableCols := "t_scd_substation_attrs(scd_id,node_id,attr_name,attr_desc)"
  182. if err == nil {
  183. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrName, obj.AttrDesc}
  184. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  185. }
  186. return "", "", err
  187. }
  188. func (c *AttrsMgr) Make_attr_hitem(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  189. obj := T_scd_hitem_attrs{}
  190. obj.NodeId = nodeid
  191. err := c.attr_trans(attrs, &obj)
  192. sqlTableCols := "t_scd_hitem_attrs(scd_id,node_id,attr_version,attr_revision,attr_what,attr_when,attr_who,attr_why)"
  193. if err == nil {
  194. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrVersion, obj.AttrReversion, obj.AttrWhat, obj.AttrWhen, obj.AttrWho, obj.AttrWhy}
  195. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  196. }
  197. return "", "", err
  198. }
  199. func (c *AttrsMgr) Make_attr_communication(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  200. obj := T_scd_communication_attrs{}
  201. obj.NodeId = nodeid
  202. err := c.attr_trans(attrs, &obj)
  203. sqlTableCols := "t_scd_communication_attrs(scd_id,node_id,attr_desc)"
  204. if err == nil {
  205. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc}
  206. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  207. }
  208. return "", "", err
  209. }
  210. func (c *AttrsMgr) Make_attr_subnetwork(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  211. obj := T_scd_subnetwork_attrs{}
  212. obj.NodeId = nodeid
  213. err := c.attr_trans(attrs, &obj)
  214. sqlTableCols := "t_scd_subnetwork_attrs(scd_id,node_id,attr_desc,attr_name,attr_type)"
  215. if err == nil {
  216. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrName, obj.AttrType}
  217. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  218. }
  219. return "", "", err
  220. }
  221. func (c *AttrsMgr) Make_attr_bitrate(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  222. obj := T_scd_bitrate_attrs{}
  223. obj.NodeId = nodeid
  224. err := c.attr_trans(attrs, &obj)
  225. sqlTableCols := "t_scd_bitrate_attrs(scd_id,node_id,attr_multiplier,attr_unit)"
  226. if err == nil {
  227. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMultiplier, obj.AttrUnit}
  228. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  229. }
  230. return "", "", err
  231. }
  232. func (c *AttrsMgr) Make_attr_connectedap(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  233. obj := T_scd_connectedap_attrs{}
  234. obj.NodeId = nodeid
  235. err := c.attr_trans(attrs, &obj)
  236. sqlTableCols := "t_scd_connectedap_attrs(scd_id,node_id,attr_ap_name,attr_desc,attr_ied_name)"
  237. if err == nil {
  238. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrApName, obj.AttrDesc, obj.AttrIedName}
  239. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  240. }
  241. return "", "", err
  242. }
  243. func (c *AttrsMgr) Make_attr_p(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  244. obj := T_scd_p_attrs{}
  245. obj.NodeId = nodeid
  246. err := c.attr_trans(attrs, &obj)
  247. sqlTableCols := "t_scd_p_attrs(scd_id,node_id,attr_type)"
  248. if err == nil {
  249. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrType}
  250. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  251. }
  252. return "", "", err
  253. }
  254. func (c *AttrsMgr) Make_attr_physconn(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  255. obj := T_scd_physconn_attrs{}
  256. obj.NodeId = nodeid
  257. err := c.attr_trans(attrs, &obj)
  258. sqlTableCols := "t_scd_physconn_attrs(scd_id,node_id,attr_type)"
  259. if err == nil {
  260. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrType}
  261. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  262. }
  263. return "", "", err
  264. }
  265. func (c *AttrsMgr) Make_attr_gse(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  266. obj := T_scd_gse_attrs{}
  267. obj.NodeId = nodeid
  268. err := c.attr_trans(attrs, &obj)
  269. sqlTableCols := "t_scd_gse_attrs(scd_id,node_id,attr_cb_name,attr_ld_inst,attr_desc)"
  270. if err == nil {
  271. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrCbName, obj.AttrLdInst, obj.AttrDesc}
  272. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  273. }
  274. return "", "", err
  275. }
  276. func (c *AttrsMgr) Make_attr_mintime(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  277. obj := T_scd_mintime_attrs{}
  278. obj.NodeId = nodeid
  279. err := c.attr_trans(attrs, &obj)
  280. sqlTableCols := "t_scd_mintime_attrs(scd_id,node_id,attr_unit,attr_multiplier)"
  281. if err == nil {
  282. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrUnit, obj.AttrMultiplier}
  283. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  284. }
  285. return "", "", err
  286. }
  287. func (c *AttrsMgr) Make_attr_maxtime(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  288. obj := T_scd_maxtime_attrs{}
  289. obj.NodeId = nodeid
  290. err := c.attr_trans(attrs, &obj)
  291. sqlTableCols := "t_scd_maxtime_attrs(scd_id,node_id,attr_unit,attr_multiplier)"
  292. if err == nil {
  293. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrUnit, obj.AttrMultiplier}
  294. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  295. }
  296. return "", "", err
  297. }
  298. func (c *AttrsMgr) Make_attr_ied(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  299. obj := T_scd_ied_attrs{}
  300. obj.NodeId = nodeid
  301. err := c.attr_trans(attrs, &obj)
  302. sqlTableCols := "t_scd_ied_attrs(scd_id,node_id,attr_config_version,attr_desc,attr_eng_right,attr_manufacturer,attr_name,attr_original_scl_revision,attr_original_scl_version,attr_owner,attr_type)"
  303. if err == nil {
  304. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrConfigVersion, obj.AttrDesc, obj.AttrEngRight, obj.AttrManufacturer, obj.AttrName, obj.AttrOriginalSclRevision, obj.AttrOriginalSclVersion, obj.AttrOwner, obj.AttrType}
  305. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  306. }
  307. return "", "", err
  308. }
  309. func (c *AttrsMgr) Make_attr_dynassociation(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  310. obj := T_scd_dynassociation_attrs{}
  311. obj.NodeId = nodeid
  312. err := c.attr_trans(attrs, &obj)
  313. sqlTableCols := "t_scd_dynassociation_attrs(scd_id,node_id,attr_max)"
  314. if err == nil {
  315. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMax}
  316. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  317. }
  318. return "", "", err
  319. }
  320. func (c *AttrsMgr) Make_attr_confdataset(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  321. obj := T_scd_confdataset_attrs{}
  322. obj.NodeId = nodeid
  323. err := c.attr_trans(attrs, &obj)
  324. sqlTableCols := "t_scd_confdataset_attrs(scd_id,node_id,attr_max,attr_fccb,attr_max_attributes,attr_modify)"
  325. if err == nil {
  326. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMax, obj.AttrFccb, obj.AttrMaxAttributes, obj.AttrModify}
  327. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  328. }
  329. return "", "", err
  330. }
  331. func (c *AttrsMgr) Make_attr_dyndataset(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  332. obj := T_scd_dyndataset_attrs{}
  333. obj.NodeId = nodeid
  334. err := c.attr_trans(attrs, &obj)
  335. sqlTableCols := "t_scd_dyndataset_attrs(scd_id,node_id,attr_max,attr_max_attributes)"
  336. if err == nil {
  337. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMax, obj.AttrMaxAttributes}
  338. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  339. }
  340. return "", "", err
  341. }
  342. func (c *AttrsMgr) Make_attr_confreportcontrol(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  343. obj := T_scd_confreportcontrol_attrs{}
  344. obj.NodeId = nodeid
  345. err := c.attr_trans(attrs, &obj)
  346. sqlTableCols := "t_scd_confreportcontrol_attrs(scd_id,node_id,attr_max,attr_buf_conf,attr_buf_mode)"
  347. if err == nil {
  348. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMax, obj.AttrBufConf, obj.AttrBufMode}
  349. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  350. }
  351. return "", "", err
  352. }
  353. func (c *AttrsMgr) Make_attr_conflogcontrol(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  354. obj := T_scd_conflogcontrol_attrs{}
  355. obj.NodeId = nodeid
  356. err := c.attr_trans(attrs, &obj)
  357. sqlTableCols := "t_scd_conflogcontrol_attrs(scd_id,node_id,attr_max)"
  358. if err == nil {
  359. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMax}
  360. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  361. }
  362. return "", "", err
  363. }
  364. func (c *AttrsMgr) Make_attr_reportsettings(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  365. obj := T_scd_reportsettings_attrs{}
  366. obj.NodeId = nodeid
  367. err := c.attr_trans(attrs, &obj)
  368. sqlTableCols := "t_scd_reportsettings_attrs(scd_id,node_id,attr_cb_name,attr_buf_time,attr_dat_set,attr_intg_pd,attr_opt_fields,attr_rpt_id,attr_trg_ops)"
  369. if err == nil {
  370. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrCbName, obj.AttrBufTime, obj.AttrDatSet, obj.AttrIntgPd, obj.AttrOptFields, obj.AttrRptId, obj.AttrTrgOps}
  371. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  372. }
  373. return "", "", err
  374. }
  375. func (c *AttrsMgr) Make_attr_logsettings(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  376. obj := T_scd_logsettings_attrs{}
  377. obj.NodeId = nodeid
  378. err := c.attr_trans(attrs, &obj)
  379. sqlTableCols := "t_scd_logsettings_attrs(scd_id,node_id,attr_cb_name,attr_dat_set,attr_intg_pd,attr_log_ena,attr_trg_ops)"
  380. if err == nil {
  381. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrCbName, obj.AttrDatSet, obj.AttrIntgPd, obj.AttrLogEna, obj.AttrTrgOps}
  382. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  383. }
  384. return "", "", err
  385. }
  386. func (c *AttrsMgr) Make_attr_gsesettings(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  387. obj := T_scd_gsesettings_attrs{}
  388. obj.NodeId = nodeid
  389. err := c.attr_trans(attrs, &obj)
  390. sqlTableCols := "t_scd_gsesettings_attrs(scd_id,node_id,attr_app_id,attr_cb_name,attr_data_label,attr_dat_set)"
  391. if err == nil {
  392. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrAppId, obj.AttrCbName, obj.AttrDataLabel, obj.AttrDatSet}
  393. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  394. }
  395. return "", "", err
  396. }
  397. func (c *AttrsMgr) Make_attr_smvsettings(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  398. obj := T_scd_smvsettings_attrs{}
  399. obj.NodeId = nodeid
  400. err := c.attr_trans(attrs, &obj)
  401. sqlTableCols := "t_scd_smvsettings_attrs(scd_id,node_id,attr_sv_id,attr_smp_rate,attr_cb_name,attr_opt_fields,attr_dat_set)"
  402. if err == nil {
  403. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrSvId, obj.AttrSmpRate, obj.AttrCbName, obj.AttrOptFields, obj.AttrDatSet}
  404. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  405. }
  406. return "", "", err
  407. }
  408. func (c *AttrsMgr) Make_attr_goose(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  409. obj := T_scd_goose_attrs{}
  410. obj.NodeId = nodeid
  411. err := c.attr_trans(attrs, &obj)
  412. sqlTableCols := "t_scd_goose_attrs(scd_id,node_id,attr_max)"
  413. if err == nil {
  414. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMax}
  415. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  416. }
  417. return "", "", err
  418. }
  419. func (c *AttrsMgr) Make_attr_gsse(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  420. obj := T_scd_gsse_attrs{}
  421. obj.NodeId = nodeid
  422. err := c.attr_trans(attrs, &obj)
  423. sqlTableCols := "Make_attr_gsse(node_id,attr_max)"
  424. if err == nil {
  425. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMax}
  426. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  427. }
  428. return "", "", err
  429. }
  430. func (c *AttrsMgr) Make_attr_conflns(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  431. obj := T_scd_conflns_attrs{}
  432. obj.NodeId = nodeid
  433. err := c.attr_trans(attrs, &obj)
  434. sqlTableCols := "t_scd_conflns_attrs(scd_id,node_id,attr_fix_ln_inst,attr_fix_prefix)"
  435. if err == nil {
  436. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrFixLnInst, obj.AttrFixPrefix}
  437. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  438. }
  439. return "", "", err
  440. }
  441. func (c *AttrsMgr) Make_attr_clientservices(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  442. obj := T_scd_clientservices_attrs{}
  443. obj.NodeId = nodeid
  444. err := c.attr_trans(attrs, &obj)
  445. sqlTableCols := "t_scd_clientservices_attrs(scd_id,node_id,attr_buf_report,attr_fccb,attr_goose,attr_gsse,attr_read_log,attr_sv,attr_unbuf_report)"
  446. if err == nil {
  447. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrBufReport, obj.AttrFccb, obj.AttrGoose, obj.AttrGsse, obj.AttrReadLog, obj.AttrSv, obj.AttrUnbufReport}
  448. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  449. }
  450. return "", "", err
  451. }
  452. func (c *AttrsMgr) Make_attr_accesspoint(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  453. obj := T_scd_accesspoint_attrs{}
  454. obj.NodeId = nodeid
  455. err := c.attr_trans(attrs, &obj)
  456. sqlTableCols := "t_scd_accesspoint_attrs(scd_id,node_id,attr_clock,attr_desc,attr_name,attr_router)"
  457. if err == nil {
  458. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrClock, obj.AttrDesc, obj.AttrName, obj.AttrRouter}
  459. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  460. }
  461. return "", "", err
  462. }
  463. func (c *AttrsMgr) Make_attr_server(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  464. obj := T_scd_server_attrs{}
  465. obj.NodeId = nodeid
  466. err := c.attr_trans(attrs, &obj)
  467. sqlTableCols := "t_scd_server_attrs(scd_id,node_id,attr_name,attr_timeout)"
  468. if err == nil {
  469. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrName, obj.AttrTimeout}
  470. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  471. }
  472. return "", "", err
  473. }
  474. func (c *AttrsMgr) Make_attr_authentication(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  475. obj := T_scd_authentication_attrs{}
  476. obj.NodeId = nodeid
  477. err := c.attr_trans(attrs, &obj)
  478. sqlTableCols := "t_scd_authentication_attrs(scd_id,node_id,attr_certificate,attr_none,attr_password,attr_strong,attr_weak)"
  479. if err == nil {
  480. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrCertificate, obj.AttrNone, obj.AttrPassword, obj.AttrStrong, obj.AttrWeak}
  481. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  482. }
  483. return "", "", err
  484. }
  485. func (c *AttrsMgr) Make_attr_ldevice(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  486. obj := T_scd_ldevice_attrs{}
  487. obj.NodeId = nodeid
  488. err := c.attr_trans(attrs, &obj)
  489. sqlTableCols := "t_scd_ldevice_attrs(scd_id,node_id,attr_desc,attr_inst,attr_ld_name)"
  490. if err == nil {
  491. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrInst, obj.AttrLdName}
  492. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  493. }
  494. return "", "", err
  495. }
  496. func (c *AttrsMgr) Make_attr_ln0(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  497. obj := T_scd_ln0_attrs{}
  498. obj.NodeId = nodeid
  499. err := c.attr_trans(attrs, &obj)
  500. sqlTableCols := "t_scd_ln0_attrs(scd_id,node_id,attr_desc,attr_inst,attr_ln_class,attr_ln_type)"
  501. if err == nil {
  502. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrInst, obj.AttrLnClass, obj.AttrLnType}
  503. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  504. }
  505. return "", "", err
  506. }
  507. func (c *AttrsMgr) Make_attr_dataset(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  508. obj := T_scd_dataset_attrs{}
  509. obj.NodeId = nodeid
  510. err := c.attr_trans(attrs, &obj)
  511. sqlTableCols := "t_scd_dataset_attrs(scd_id,node_id,attr_desc,attr_name)"
  512. if err == nil {
  513. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrName}
  514. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  515. }
  516. return "", "", err
  517. }
  518. func (c *AttrsMgr) Make_attr_fcda(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  519. obj := T_scd_fcda_attrs{}
  520. obj.NodeId = nodeid
  521. err := c.attr_trans(attrs, &obj)
  522. sqlTableCols := "t_scd_fcda_attrs(scd_id,node_id,attr_da_name,attr_do_name,attr_fc,attr_ix,attr_ld_inst,attr_ln_class,attr_ln_inst,attr_prefix)"
  523. if err == nil {
  524. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDaName, obj.AttrDoName, obj.AttrFc, obj.AttrIx, obj.AttrLdInst, obj.AttrLnClass, obj.AttrLnInst, obj.AttrPrefix}
  525. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  526. }
  527. return "", "", err
  528. }
  529. func (c *AttrsMgr) Make_attr_fccb(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  530. obj := T_scd_fccb_attrs{}
  531. obj.NodeId = nodeid
  532. err := c.attr_trans(attrs, &obj)
  533. sqlTableCols := "t_scd_fccb_attrs(scd_id,node_id,attr_cb_name,attr_da_name,attr_fc,attr_ld_inst,attr_ln_class,attr_ln_inst,attr_must_understand,attr_prefix)"
  534. if err == nil {
  535. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrCbName, obj.AttrDaName, obj.AttrFc, obj.AttrLdInst, obj.AttrLnClass, obj.AttrLnInst, obj.AttrMustUnderstand, obj.AttrPrefix}
  536. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  537. }
  538. return "", "", err
  539. }
  540. func (c *AttrsMgr) Make_attr_reportcontrol(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  541. obj := T_scd_reportcontrol_attrs{}
  542. obj.NodeId = nodeid
  543. err := c.attr_trans(attrs, &obj)
  544. sqlTableCols := "t_scd_reportcontrol_attrs(scd_id,node_id,attr_buffered,attr_buf_time,attr_conf_rev,attr_dat_set,attr_desc,attr_indexed,attr_intg_pd,attr_name,attr_rpt_id)"
  545. if err == nil {
  546. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrBuffered, obj.AttrBufTime, obj.AttrConfRev, obj.AttrDatSet, obj.AttrDesc, obj.AttrIndexed, obj.AttrIntgPd, obj.AttrName, obj.AttrRptId}
  547. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  548. }
  549. return "", "", err
  550. }
  551. func (c *AttrsMgr) Make_attr_trgops(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  552. obj := T_scd_trgops_attrs{}
  553. obj.NodeId = nodeid
  554. err := c.attr_trans(attrs, &obj)
  555. sqlTableCols := "t_scd_trgops_attrs(scd_id,node_id,attr_dchg,attr_dupd,attr_gi,attr_include_all,attr_period,attr_qchg)"
  556. if err == nil {
  557. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDchg, obj.AttrDupd, obj.AttrGi, obj.AttrIncludeAll, obj.AttrPeriod, obj.AttrQchg}
  558. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  559. }
  560. return "", "", err
  561. }
  562. func (c *AttrsMgr) Make_attr_optfields(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  563. obj := T_scd_optfields_attrs{}
  564. obj.NodeId = nodeid
  565. err := c.attr_trans(attrs, &obj)
  566. sqlTableCols := "t_scd_optfields_attrs(scd_id,node_id,attr_buf_ovfl,attr_config_ref,attr_data_ref,attr_data_set,attr_entry_id,attr_reason_code,attr_seq_num,attr_time_stamp)"
  567. if err == nil {
  568. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrBufOvfl, obj.AttrConfigRef, obj.AttrDataRef, obj.AttrDataSet, obj.AttrEntryID, obj.AttrReasonCode, obj.AttrSeqNum, obj.AttrTimeStamp}
  569. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  570. }
  571. return "", "", err
  572. }
  573. func (c *AttrsMgr) Make_attr_rptenabled(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  574. obj := T_scd_rptenabled_attrs{}
  575. obj.NodeId = nodeid
  576. err := c.attr_trans(attrs, &obj)
  577. sqlTableCols := "t_scd_rptenabled_attrs(scd_id,node_id,attr_desc,attr_max)"
  578. if err == nil {
  579. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrMax}
  580. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  581. }
  582. return "", "", err
  583. }
  584. func (c *AttrsMgr) Make_attr_clientln(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  585. obj := T_scd_clientln_attrs{}
  586. obj.NodeId = nodeid
  587. err := c.attr_trans(attrs, &obj)
  588. sqlTableCols := "t_scd_clientln_attrs(scd_id,node_id,attr_desc,attr_ied_name,attr_ld_inst,attr_ln_class,attr_ln_inst,attr_prefix)"
  589. if err == nil {
  590. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrIedName, obj.AttrLdInst, obj.AttrLnClass, obj.AttrLnInst, obj.AttrPrefix}
  591. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  592. }
  593. return "", "", err
  594. }
  595. func (c *AttrsMgr) Make_attr_logcontrol(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  596. obj := T_scd_logcontrol_attrs{}
  597. obj.NodeId = nodeid
  598. err := c.attr_trans(attrs, &obj)
  599. sqlTableCols := "t_scd_logcontrol_attrs(scd_id,node_id,attr_dat_set,attr_desc,attr_intg_pd,attr_ld_inst,attr_ln_class,attr_ln_inst,attr_log_ena,attr_log_name,attr_name,attr_prefix,attr_reason_code)"
  600. if err == nil {
  601. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDatSet, obj.AttrDesc, obj.AttrIntgPd, obj.AttrLdInst, obj.AttrLnClass, obj.AttrLnInst, obj.AttrLogEna, obj.AttrLogName, obj.AttrName, obj.AttrPrefix, obj.AttrReasonCode}
  602. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  603. }
  604. return "", "", err
  605. }
  606. func (c *AttrsMgr) Make_attr_doi(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  607. obj := T_scd_doi_attrs{}
  608. obj.NodeId = nodeid
  609. err := c.attr_trans(attrs, &obj)
  610. sqlTableCols := "t_scd_doi_attrs(scd_id,node_id,attr_access_control,attr_desc,attr_ix,attr_name)"
  611. if err == nil {
  612. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrAccessControl, obj.AttrDesc, obj.AttrIx, obj.AttrName}
  613. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  614. }
  615. return "", "", err
  616. }
  617. func (c *AttrsMgr) Make_attr_sdi(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  618. obj := T_scd_sdi_attrs{}
  619. obj.NodeId = nodeid
  620. err := c.attr_trans(attrs, &obj)
  621. sqlTableCols := "t_scd_sdi_attrs(scd_id,node_id,attr_desc,attr_ix,attr_name)"
  622. if err == nil {
  623. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrIx, obj.AttrName}
  624. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  625. }
  626. return "", "", err
  627. }
  628. func (c *AttrsMgr) Make_attr_dai(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  629. obj := T_scd_dai_attrs{}
  630. obj.NodeId = nodeid
  631. err := c.attr_trans(attrs, &obj)
  632. sqlTableCols := "t_scd_dai_attrs(scd_id,node_id,attr_desc,attr_ix,attr_name,attr_saddr,attr_val_kind)"
  633. if err == nil {
  634. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrIx, obj.AttrName, obj.AttrSaddr, obj.AttrValKind}
  635. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  636. }
  637. return "", "", err
  638. }
  639. func (c *AttrsMgr) Make_attr_val(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  640. obj := T_scd_val_attrs{}
  641. obj.NodeId = nodeid
  642. err := c.attr_trans(attrs, &obj)
  643. sqlTableCols := "t_scd_val_attrs(scd_id,node_id,attr_sgroup)"
  644. if err == nil {
  645. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrSgroup}
  646. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  647. }
  648. return "", "", err
  649. }
  650. func (c *AttrsMgr) Make_attr_inputs(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  651. obj := T_scd_inputs_attrs{}
  652. obj.NodeId = nodeid
  653. err := c.attr_trans(attrs, &obj)
  654. sqlTableCols := "t_scd_inputs_attrs(scd_id,node_id,attr_desc)"
  655. if err == nil {
  656. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc}
  657. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  658. }
  659. return "", "", err
  660. }
  661. func (c *AttrsMgr) Make_attr_extref(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  662. obj := T_scd_extref_attrs{}
  663. obj.NodeId = nodeid
  664. err := c.attr_trans(attrs, &obj)
  665. sqlTableCols := "t_scd_extref_attrs(scd_id,node_id,attr_da_name,attr_desc,attr_do_name,attr_ied_name,attr_int_addr,attr_ld_inst,attr_ln_class,attr_ln_inst,attr_prefix)"
  666. if err == nil {
  667. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDaName, obj.AttrDesc, obj.AttrDoName, obj.AttrIedName, obj.AttrIntAddr, obj.AttrLdInst, obj.AttrLnClass, obj.AttrLnInst, obj.AttrPrefix}
  668. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  669. }
  670. return "", "", err
  671. }
  672. func (c *AttrsMgr) Make_attr_log(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  673. obj := T_scd_log_attrs{}
  674. obj.NodeId = nodeid
  675. err := c.attr_trans(attrs, &obj)
  676. sqlTableCols := "t_scd_log_attrs(scd_id,node_id,attr_name)"
  677. if err == nil {
  678. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrName}
  679. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  680. }
  681. return "", "", err
  682. }
  683. func (c *AttrsMgr) Make_attr_gsecontrol(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  684. obj := T_scd_gsecontrol_attrs{}
  685. obj.NodeId = nodeid
  686. err := c.attr_trans(attrs, &obj)
  687. sqlTableCols := "t_scd_gsecontrol_attrs(scd_id,node_id,attr_appid,attr_conf_rev,attr_dat_set,attr_desc,attr_name,attr_type)"
  688. if err == nil {
  689. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrAppid, obj.AttrConfRev, obj.AttrDatSet, obj.AttrDesc, obj.AttrName, obj.AttrType}
  690. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  691. }
  692. return "", "", err
  693. }
  694. func (c *AttrsMgr) Make_attr_sampledvaluecontrol(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  695. obj := T_scd_sampledvaluecontrol_attrs{}
  696. obj.NodeId = nodeid
  697. err := c.attr_trans(attrs, &obj)
  698. sqlTableCols := "t_scd_sampledvaluecontrol_attrs(scd_id,node_id,attr_smv_id,attr_conf_rev,attr_dat_set,attr_desc,attr_name,attr_multicast,attr_smp_rate,attr_nof_asdu)"
  699. if err == nil {
  700. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrSmvId, obj.AttrConfRev, obj.AttrDatSet, obj.AttrDesc, obj.AttrName, obj.AttrMulticast, obj.AttrSmpRate, obj.AttrNofAsdu}
  701. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  702. }
  703. return "", "", err
  704. }
  705. func (c *AttrsMgr) Make_attr_smvopts(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  706. obj := T_scd_smvopts_attrs{}
  707. obj.NodeId = nodeid
  708. err := c.attr_trans(attrs, &obj)
  709. sqlTableCols := "t_scd_smvopts_attrs(scd_id,node_id,attr_data_ref,attr_refresh_time,attr_sample_rate,attr_sample_synchronized,attr_security)"
  710. if err == nil {
  711. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDataRef, obj.AttrRefreshTime, obj.AttrSampleRate, obj.AttrSampleSynchronized, obj.AttrSecurity}
  712. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  713. }
  714. return "", "", err
  715. }
  716. func (c *AttrsMgr) Make_attr_settingcontrol(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  717. obj := T_scd_settingcontrol_attrs{}
  718. obj.NodeId = nodeid
  719. err := c.attr_trans(attrs, &obj)
  720. sqlTableCols := "t_scd_settingcontrol_attrs(scd_id,node_id,attr_act_sg,attr_desc,attr_num_of_sgs)"
  721. if err == nil {
  722. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrActSg, obj.AttrDesc, obj.AttrNumOfSgs}
  723. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  724. }
  725. return "", "", err
  726. }
  727. func (c *AttrsMgr) Make_attr_sclcontrol(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  728. obj := T_scd_sclcontrol_attrs{}
  729. obj.NodeId = nodeid
  730. err := c.attr_trans(attrs, &obj)
  731. sqlTableCols := "t_scd_sclcontrol_attrs(scd_id,node_id,attr_desc)"
  732. if err == nil {
  733. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc}
  734. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  735. }
  736. return "", "", err
  737. }
  738. func (c *AttrsMgr) Make_attr_ln(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  739. obj := T_scd_ln_attrs{}
  740. obj.NodeId = nodeid
  741. err := c.attr_trans(attrs, &obj)
  742. sqlTableCols := "t_scd_ln_attrs(scd_id,node_id,attr_desc,attr_inst,attr_ln_class,attr_ln_type,attr_prefix,join_str)"
  743. if err == nil {
  744. joinStr := obj.AttrPrefix + obj.AttrLnClass + obj.AttrInst
  745. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrInst, obj.AttrLnClass, obj.AttrLnType, obj.AttrPrefix, joinStr}
  746. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  747. }
  748. return "", "", err
  749. }
  750. func (c *AttrsMgr) Make_attr_association(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  751. obj := T_scd_association_attrs{}
  752. obj.NodeId = nodeid
  753. err := c.attr_trans(attrs, &obj)
  754. sqlTableCols := "t_scd_association_attrs(scd_id,node_id,attr_association_id,attr_desc,attr_ied_name,attr_kind,attr_ld_inst,attr_ln_class,attr_ln_inst,attr_prefix)"
  755. if err == nil {
  756. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrAssociationId, obj.AttrDesc, obj.AttrIedName, obj.AttrKind, obj.AttrLdInst, obj.AttrLnClass, obj.AttrLnInst, obj.AttrPrefix}
  757. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  758. }
  759. return "", "", err
  760. }
  761. func (c *AttrsMgr) Make_attr_serverat(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  762. obj := T_scd_serverat_attrs{}
  763. obj.NodeId = nodeid
  764. err := c.attr_trans(attrs, &obj)
  765. sqlTableCols := "t_scd_serverat_attrs(scd_id,node_id,attr_desc,attr_ap_name)"
  766. if err == nil {
  767. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrApName}
  768. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  769. }
  770. return "", "", err
  771. }
  772. func (c *AttrsMgr) Make_attr_goosesecurity(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  773. obj := T_scd_goosesecurity_attrs{}
  774. obj.NodeId = nodeid
  775. err := c.attr_trans(attrs, &obj)
  776. sqlTableCols := "t_scd_goosesecurity_attrs(scd_id,node_id,attr_desc,attr_name,attr_serial_number,attr_xfer_nmber)"
  777. if err == nil {
  778. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrName, obj.AttrSerialNumber, obj.AttrXferNumber}
  779. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  780. }
  781. return "", "", err
  782. }
  783. func (c *AttrsMgr) Make_attr_sunject(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  784. obj := T_scd_sunject_attrs{}
  785. obj.NodeId = nodeid
  786. err := c.attr_trans(attrs, &obj)
  787. sqlTableCols := "t_scd_sunject_attrs(scd_id,node_id,attr_common_name,attr_id_hierarchy)"
  788. if err == nil {
  789. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrCommonName, obj.AttrIdHierarchy}
  790. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  791. }
  792. return "", "", err
  793. }
  794. func (c *AttrsMgr) Make_attr_issuername(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  795. obj := T_scd_issuername_attrs{}
  796. obj.NodeId = nodeid
  797. err := c.attr_trans(attrs, &obj)
  798. sqlTableCols := "t_scd_issuername_attrs(scd_id,node_id,attr_common_name,attr_id_hierarchy)"
  799. if err == nil {
  800. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrCommonName, obj.AttrIdHierarchy}
  801. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  802. }
  803. return "", "", err
  804. }
  805. func (c *AttrsMgr) Make_attr_smvsecurity(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  806. obj := T_scd_smvsecurity_attrs{}
  807. obj.NodeId = nodeid
  808. err := c.attr_trans(attrs, &obj)
  809. sqlTableCols := "t_scd_smvsecurity_attrs(scd_id,node_id,attr_desc,attr_name,attr_serial_number,attr_xfer_number)"
  810. if err == nil {
  811. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrName, obj.AttrSerialNumber, obj.AttrXferNumber}
  812. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  813. }
  814. return "", "", err
  815. }
  816. func (c *AttrsMgr) Make_attr_lnodetype(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  817. obj := T_scd_lnodetype_attrs{}
  818. obj.NodeId = nodeid
  819. err := c.attr_trans(attrs, &obj)
  820. sqlTableCols := "t_scd_lnodetype_attrs(scd_id,node_id,attr_desc,attr_id,attr_ied_type,attr_ln_class)"
  821. if err == nil {
  822. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrId, obj.AttrIedType, obj.AttrLnClass}
  823. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  824. }
  825. return "", "", err
  826. }
  827. func (c *AttrsMgr) Make_attr_do(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  828. obj := T_scd_do_attrs{}
  829. obj.NodeId = nodeid
  830. err := c.attr_trans(attrs, &obj)
  831. sqlTableCols := "t_scd_do_attrs(scd_id,node_id,attr_desc,attr_name,attr_transient,attr_type,attr_access_control)"
  832. if err == nil {
  833. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrName, obj.AttrTransient, obj.AttrType, obj.AttrAccessControl}
  834. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  835. }
  836. return "", "", err
  837. }
  838. func (c *AttrsMgr) Make_attr_dotype(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  839. obj := T_scd_dotype_attrs{}
  840. obj.NodeId = nodeid
  841. err := c.attr_trans(attrs, &obj)
  842. sqlTableCols := "t_scd_dotype_attrs(scd_id,node_id,attr_desc,attr_id,attr_cdc,attr_ied_type)"
  843. if err == nil {
  844. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrId, obj.AttrCdc, obj.AttrIedType}
  845. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  846. }
  847. return "", "", err
  848. }
  849. func (c *AttrsMgr) Make_attr_sdo(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  850. obj := T_scd_sdo_attrs{}
  851. obj.NodeId = nodeid
  852. err := c.attr_trans(attrs, &obj)
  853. sqlTableCols := "t_scd_sdo_attrs(scd_id,node_id,attr_desc,attr_name,attr_type)"
  854. if err == nil {
  855. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrName, obj.AttrType}
  856. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  857. }
  858. return "", "", err
  859. }
  860. func (c *AttrsMgr) Make_attr_da(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  861. obj := T_scd_da_attrs{}
  862. obj.NodeId = nodeid
  863. err := c.attr_trans(attrs, &obj)
  864. sqlTableCols := "t_scd_da_attrs(scd_id,node_id,attr_desc,attr_name,attr_count,attr_dchg,attr_dupd,attr_fc,attr_qchg,attr_saddr,attr_type,attr_val_kind,attr_btype)"
  865. if err == nil {
  866. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrName, obj.AttrCount, obj.AttrDchg, obj.AttrDupd, obj.AttrFc, obj.AttrQchg, obj.AttrSaddr, obj.AttrType, obj.AttrValKind, obj.AttrBtype}
  867. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  868. }
  869. return "", "", err
  870. }
  871. func (c *AttrsMgr) Make_attr_datype(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  872. obj := T_scd_datype_attrs{}
  873. obj.NodeId = nodeid
  874. err := c.attr_trans(attrs, &obj)
  875. sqlTableCols := "t_scd_datype_attrs(scd_id,node_id,attr_desc,attr_id,attr_ied_type)"
  876. if err == nil {
  877. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrId, obj.AttrIedType}
  878. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  879. }
  880. return "", "", err
  881. }
  882. func (c *AttrsMgr) Make_attr_bda(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  883. obj := T_scd_bda_attrs{}
  884. obj.NodeId = nodeid
  885. err := c.attr_trans(attrs, &obj)
  886. sqlTableCols := "t_scd_bda_attrs(scd_id,node_id,attr_desc,attr_name,attr_count,attr_saddr,attr_type,attr_val_kind,attr_btype)"
  887. if err == nil {
  888. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrName, obj.AttrCount, obj.AttrSaddr, obj.AttrType, obj.AttrValKind, obj.AttrBtype}
  889. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  890. }
  891. return "", "", err
  892. }
  893. func (c *AttrsMgr) Make_attr_enumtype(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  894. obj := T_scd_enumtype_attrs{}
  895. obj.NodeId = nodeid
  896. err := c.attr_trans(attrs, &obj)
  897. sqlTableCols := "t_scd_enumtype_attrs(scd_id,node_id,attr_desc,attr_id)"
  898. if err == nil {
  899. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrId}
  900. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  901. }
  902. return "", "", err
  903. }
  904. func (c *AttrsMgr) Make_attr_enumval(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  905. obj := T_scd_enumval_attrs{}
  906. obj.NodeId = nodeid
  907. err := c.attr_trans(attrs, &obj)
  908. sqlTableCols := "t_scd_enumval_attrs(scd_id,node_id,attr_desc,attr_ord)"
  909. if err == nil {
  910. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrOrd}
  911. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  912. }
  913. return "", "", err
  914. }
  915. //smv节点需要单独处理。整个文件中有2个smv节点,其中一个为connectedap下的;另一个在IED的Services节点下
  916. func (c *AttrsMgr) Make_attr_connectedap_smv(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  917. obj := T_scd_connectedap_smv_attrs{}
  918. obj.NodeId = nodeid
  919. err := c.attr_trans(attrs, &obj)
  920. sqlTableCols := "t_scd_connectedap_smv_attrs(scd_id,node_id,attr_desc,attr_cb_name,attr_ld_inst)"
  921. if err == nil {
  922. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrDesc, obj.AttrCbName, obj.AttrLdInst}
  923. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  924. }
  925. return "", "", err
  926. }
  927. func (c *AttrsMgr) Make_attr_smv(nodeid int64, attrs map[string]interface{}) (string, string, error) {
  928. obj := T_scd_smv_attrs{}
  929. obj.NodeId = nodeid
  930. err := c.attr_trans(attrs, &obj)
  931. sqlTableCols := "t_scd_smv_attrs(scd_id,node_id,attr_max)"
  932. if err == nil {
  933. sqlValue := []string{fmt.Sprintf("%d", c.ScdId), fmt.Sprintf("%d", nodeid), obj.AttrMax}
  934. return sqlTableCols, "('" + strings.Join(sqlValue, "','") + "')", nil
  935. }
  936. return "", "", err
  937. }