|
|
@@ -7,13 +7,17 @@ import (
|
|
|
"strings"
|
|
|
"time"
|
|
|
|
|
|
+ "xorm.io/xorm"
|
|
|
+
|
|
|
"dashoo.cn/alertorapp/business/trigger"
|
|
|
"dashoo.cn/alertorapp/business/triggerhistory"
|
|
|
"dashoo.cn/alertorapp/business/userchannels"
|
|
|
- "dashoo.cn/labsop"
|
|
|
- "dashoo.cn/utils"
|
|
|
+ "dashoo.cn/base_common/labsop"
|
|
|
+ "dashoo.cn/base_common/utils"
|
|
|
)
|
|
|
|
|
|
+var MCS_DBE *xorm.Engine
|
|
|
+
|
|
|
type HomeController struct {
|
|
|
BaseController
|
|
|
}
|
|
|
@@ -28,10 +32,13 @@ type ChannelModel struct {
|
|
|
MinValue float64
|
|
|
Name string
|
|
|
Code string
|
|
|
- Levelv int
|
|
|
- LevelSignal int
|
|
|
- DataItem int
|
|
|
+ Levelv int // 电量
|
|
|
+ LevelSignal int // 信号强度
|
|
|
+ DataItem int // 传感器类型
|
|
|
Online int
|
|
|
+ EModelType int // 存储设备类型
|
|
|
+ Voltage int
|
|
|
+ Power int
|
|
|
}
|
|
|
type ChannelModelState struct {
|
|
|
Temperature float32 `json:"temperature"`
|
|
|
@@ -45,6 +52,8 @@ type ChannelModelState struct {
|
|
|
LevelSignal int
|
|
|
DataItem int
|
|
|
IState int `json:"istate"`
|
|
|
+ Voltage int
|
|
|
+ Power int
|
|
|
}
|
|
|
|
|
|
func (this *HomeController) Index() {
|
|
|
@@ -72,8 +81,8 @@ func (this *HomeController) Main() {
|
|
|
svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
channellist := svc.GetCnameByCode(codes)
|
|
|
for _, v := range channellist {
|
|
|
- t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
- cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1})
|
|
|
+ t, h, o2, co2, cjtime, lv, ls, voltage, power := GetTH(v.Code)
|
|
|
+ cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1, v.EModelType, voltage, power})
|
|
|
}
|
|
|
}
|
|
|
this.Data["list"] = cmodels
|
|
|
@@ -83,96 +92,96 @@ func (this *HomeController) Main() {
|
|
|
}
|
|
|
|
|
|
func (this *HomeController) MainGrid9() {
|
|
|
- ccode := this.Ctx.Input.Param(":ccode")
|
|
|
- alertorstrs := GetAlertor(ccode)
|
|
|
- cmodelouts := make([][]ChannelModel, 0, 0)
|
|
|
- if alertorstrs != "" {
|
|
|
- codes := strings.Replace(alertorstrs, ",", "','", -1)
|
|
|
- svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
- channellist := svc.GetCnameByCode(codes)
|
|
|
- for i := 0; i <= len(channellist)/9; i++ {
|
|
|
- cmodels := make([]ChannelModel, 0)
|
|
|
- for k, v := range channellist {
|
|
|
- if k >= 9*i && k < 9*(i+1) {
|
|
|
- t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
- cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1})
|
|
|
- }
|
|
|
- }
|
|
|
- fmt.Println("----cmodels---------", cmodels)
|
|
|
- if len(cmodels) > 0 {
|
|
|
- fmt.Println("----cmodels--11-------", cmodels)
|
|
|
- cmodelouts = append(cmodelouts, cmodels)
|
|
|
- }
|
|
|
- }
|
|
|
+ // ccode := this.Ctx.Input.Param(":ccode")
|
|
|
+ // alertorstrs := GetAlertor(ccode)
|
|
|
+ // cmodelouts := make([][]ChannelModel, 0, 0)
|
|
|
+ // if alertorstrs != "" {
|
|
|
+ // codes := strings.Replace(alertorstrs, ",", "','", -1)
|
|
|
+ // svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
+ // channellist := svc.GetCnameByCode(codes)
|
|
|
+ // for i := 0; i <= len(channellist)/9; i++ {
|
|
|
+ // cmodels := make([]ChannelModel, 0)
|
|
|
+ // for k, v := range channellist {
|
|
|
+ // if k >= 9*i && k < 9*(i+1) {
|
|
|
+ // t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
+ // cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1, v.EModelType})
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // fmt.Println("----cmodels---------", cmodels)
|
|
|
+ // if len(cmodels) > 0 {
|
|
|
+ // fmt.Println("----cmodels--11-------", cmodels)
|
|
|
+ // cmodelouts = append(cmodelouts, cmodels)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
- }
|
|
|
- this.Data["list"] = cmodelouts
|
|
|
- this.Data["total"] = len(cmodelouts)
|
|
|
- this.Data["ccode"] = ccode
|
|
|
- this.TplName = "homecontroller/maingrid9.tpl"
|
|
|
+ // }
|
|
|
+ // this.Data["list"] = cmodelouts
|
|
|
+ // this.Data["total"] = len(cmodelouts)
|
|
|
+ // this.Data["ccode"] = ccode
|
|
|
+ // this.TplName = "homecontroller/maingrid9.tpl"
|
|
|
}
|
|
|
func (this *HomeController) MainGrid12() {
|
|
|
- ccode := this.Ctx.Input.Param(":ccode")
|
|
|
- alertorstrs := GetAlertor(ccode)
|
|
|
- cmodelouts := make([][]ChannelModel, 0, 0)
|
|
|
- if alertorstrs != "" {
|
|
|
- codes := strings.Replace(alertorstrs, ",", "','", -1)
|
|
|
- svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
- channellist := svc.GetCnameByCode(codes)
|
|
|
- for i := 0; i <= len(channellist)/12; i++ {
|
|
|
- cmodels := make([]ChannelModel, 0)
|
|
|
- for k, v := range channellist {
|
|
|
- if k >= 12*i && k < 12*(i+1) {
|
|
|
- t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
- cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1})
|
|
|
- }
|
|
|
- }
|
|
|
- if len(cmodels) > 0 {
|
|
|
- cmodelouts = append(cmodelouts, cmodels)
|
|
|
- }
|
|
|
- }
|
|
|
+ // ccode := this.Ctx.Input.Param(":ccode")
|
|
|
+ // alertorstrs := GetAlertor(ccode)
|
|
|
+ // cmodelouts := make([][]ChannelModel, 0, 0)
|
|
|
+ // if alertorstrs != "" {
|
|
|
+ // codes := strings.Replace(alertorstrs, ",", "','", -1)
|
|
|
+ // svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
+ // channellist := svc.GetCnameByCode(codes)
|
|
|
+ // for i := 0; i <= len(channellist)/12; i++ {
|
|
|
+ // cmodels := make([]ChannelModel, 0)
|
|
|
+ // for k, v := range channellist {
|
|
|
+ // if k >= 12*i && k < 12*(i+1) {
|
|
|
+ // t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
+ // cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1, v.EModelType})
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if len(cmodels) > 0 {
|
|
|
+ // cmodelouts = append(cmodelouts, cmodels)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
- }
|
|
|
- this.Data["list"] = cmodelouts
|
|
|
- this.Data["total"] = len(cmodelouts)
|
|
|
- this.Data["ccode"] = ccode
|
|
|
- this.TplName = "homecontroller/maingrid9.tpl"
|
|
|
+ // }
|
|
|
+ // this.Data["list"] = cmodelouts
|
|
|
+ // this.Data["total"] = len(cmodelouts)
|
|
|
+ // this.Data["ccode"] = ccode
|
|
|
+ // this.TplName = "homecontroller/maingrid9.tpl"
|
|
|
}
|
|
|
|
|
|
func (this *HomeController) MainGrid6() {
|
|
|
- ccode := this.Ctx.Input.Param(":ccode")
|
|
|
- alertorstrs := GetAlertor(ccode)
|
|
|
- cmodelouts := make([][]ChannelModel, 0, 0)
|
|
|
- if alertorstrs != "" {
|
|
|
- codes := strings.Replace(alertorstrs, ",", "','", -1)
|
|
|
- svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
- channellist := svc.GetCnameByCode(codes)
|
|
|
- channelnews := make([]triggerhistory.Channels, len(channellist))
|
|
|
- channels_arr := strings.Split(alertorstrs, ",")
|
|
|
- for _, v := range channellist {
|
|
|
- indexa := utils.SliceIndexOf(channels_arr, v.Code)
|
|
|
- if indexa >= 0 {
|
|
|
- channelnews[indexa] = v
|
|
|
- }
|
|
|
- }
|
|
|
- for i := 0; i <= len(channelnews)/6; i++ {
|
|
|
- cmodels := make([]ChannelModel, 0)
|
|
|
- for k, v := range channelnews {
|
|
|
- if k >= 6*i && k < 6*(i+1) {
|
|
|
- t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
- cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1})
|
|
|
- }
|
|
|
- }
|
|
|
- if len(cmodels) > 0 {
|
|
|
- cmodelouts = append(cmodelouts, cmodels)
|
|
|
- }
|
|
|
- }
|
|
|
+ // ccode := this.Ctx.Input.Param(":ccode")
|
|
|
+ // alertorstrs := GetAlertor(ccode)
|
|
|
+ // cmodelouts := make([][]ChannelModel, 0, 0)
|
|
|
+ // if alertorstrs != "" {
|
|
|
+ // codes := strings.Replace(alertorstrs, ",", "','", -1)
|
|
|
+ // svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
+ // channellist := svc.GetCnameByCode(codes)
|
|
|
+ // channelnews := make([]triggerhistory.Channels, len(channellist))
|
|
|
+ // channels_arr := strings.Split(alertorstrs, ",")
|
|
|
+ // for _, v := range channellist {
|
|
|
+ // indexa := utils.SliceIndexOf(channels_arr, v.Code)
|
|
|
+ // if indexa >= 0 {
|
|
|
+ // channelnews[indexa] = v
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // for i := 0; i <= len(channelnews)/6; i++ {
|
|
|
+ // cmodels := make([]ChannelModel, 0)
|
|
|
+ // for k, v := range channelnews {
|
|
|
+ // if k >= 6*i && k < 6*(i+1) {
|
|
|
+ // t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
+ // cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1, v.EModelType})
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if len(cmodels) > 0 {
|
|
|
+ // cmodelouts = append(cmodelouts, cmodels)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
- }
|
|
|
- this.Data["list"] = cmodelouts
|
|
|
- this.Data["total"] = len(cmodelouts)
|
|
|
- this.Data["ccode"] = ccode
|
|
|
- this.TplName = "homecontroller/maingrid6.tpl"
|
|
|
+ // }
|
|
|
+ // this.Data["list"] = cmodelouts
|
|
|
+ // this.Data["total"] = len(cmodelouts)
|
|
|
+ // this.Data["ccode"] = ccode
|
|
|
+ // this.TplName = "homecontroller/maingrid6.tpl"
|
|
|
}
|
|
|
|
|
|
func (this *HomeController) TriggerPost() {
|
|
|
@@ -197,16 +206,16 @@ func (this *HomeController) ChannelPost() {
|
|
|
ccode := this.Ctx.Input.Param(":ccode")
|
|
|
alertorstrs := GetAlertor(ccode)
|
|
|
cmodels := make([]ChannelModel, 0)
|
|
|
- where := "1=1 "
|
|
|
- var list []triggerhistory.Channels
|
|
|
+
|
|
|
+ var list []userchannels.Channels
|
|
|
var total int64 = 0
|
|
|
if alertorstrs != "" {
|
|
|
codes := strings.Replace(alertorstrs, ",", "','", -1)
|
|
|
- svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
- where = where + " and Code in ('" + codes + "')"
|
|
|
+ svc := userchannels.GetChannelService(MCS_DBE)
|
|
|
+ where := "c.Code in ('" + codes + "')"
|
|
|
total, list = svc.GetCnameByCodePage(currentPage, size, "Id", false, where)
|
|
|
for _, v := range list {
|
|
|
- t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
+ t, h, o2, co2, cjtime, lv, ls, voltage, power := GetTH(v.Code)
|
|
|
//字符串分割
|
|
|
codde := strings.Replace(v.Code, "c", "", 1)
|
|
|
cdss := timeshijian(cjtime.Format("2006-01-02 15:04:05"))
|
|
|
@@ -216,7 +225,7 @@ func (this *HomeController) ChannelPost() {
|
|
|
} else {
|
|
|
online = 0
|
|
|
}
|
|
|
- cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, codde, lv, ls, v.DataItem, online})
|
|
|
+ cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, codde, lv, ls, v.DataItem, online, v.EModelType, voltage, power})
|
|
|
}
|
|
|
}
|
|
|
var datainfo DataInfo
|
|
|
@@ -235,8 +244,8 @@ func (this *HomeController) ChannelPost5() {
|
|
|
svc := triggerhistory.GetTriggerHistoryService(utils.DBE)
|
|
|
channellist := svc.GetCnameByCode(codes)
|
|
|
for _, v := range channellist {
|
|
|
- t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
- cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1})
|
|
|
+ t, h, o2, co2, cjtime, lv, ls, voltage, power := GetTH(v.Code)
|
|
|
+ cmodels = append(cmodels, ChannelModel{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.MaxValue, v.MinValue, v.Title, v.Code, lv, ls, v.DataItem, 1, v.EModelType, voltage, power})
|
|
|
}
|
|
|
}
|
|
|
this.Data["json"] = cmodels
|
|
|
@@ -264,7 +273,7 @@ func GetAlertor(bbmac string) string {
|
|
|
return selectstr
|
|
|
}
|
|
|
|
|
|
-func GetTH(code string) (t, h, o2, co2 float32, cjtime time.Time, levelv, levelsignal int) {
|
|
|
+func GetTH(code string) (t, h, o2, co2 float32, cjtime time.Time, levelv, levelsignal, v, p int) {
|
|
|
lastdata, err := GetChannelLast(code)
|
|
|
if err == nil && lastdata.Time.Unix() > 0 {
|
|
|
t1 := lastdata.Temperature
|
|
|
@@ -275,6 +284,8 @@ func GetTH(code string) (t, h, o2, co2 float32, cjtime time.Time, levelv, levels
|
|
|
h = float32((int)(h1*10)) / 10.0
|
|
|
o2 = float32((int)(lastdata.O2*100)) / 100.0
|
|
|
co2 = float32((int)(lastdata.Co2*100)) / 100.0
|
|
|
+ v = int(lastdata.ElectricalSupply)
|
|
|
+ p = int(lastdata.ElectricalPower)
|
|
|
cjtime = lastdata.Time
|
|
|
switch {
|
|
|
case v1 < 2.7:
|
|
|
@@ -325,7 +336,7 @@ func (this *HomeController) MainGridAuto() {
|
|
|
channellist := svc.Getchannelbyuser(where, UserId)
|
|
|
//获取的数据,传入两值
|
|
|
for _, v := range channellist {
|
|
|
- t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
+ t, h, o2, co2, cjtime, lv, ls, voltage, power := GetTH(v.Code)
|
|
|
//0代表正常,1代表低温报警,2代表超温报警,3代表温度为0值
|
|
|
state := 0
|
|
|
//确认state值
|
|
|
@@ -337,7 +348,7 @@ func (this *HomeController) MainGridAuto() {
|
|
|
state = this.GetTemState(v.Code, "temperature", tem)
|
|
|
}
|
|
|
|
|
|
- cmodels = append(cmodels, ChannelModelState{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.Title, v.Code, lv, ls, v.DataItem, state})
|
|
|
+ cmodels = append(cmodels, ChannelModelState{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.Title, v.Code, lv, ls, v.DataItem, state, voltage, power})
|
|
|
}
|
|
|
this.Data["UserId"] = UserId
|
|
|
this.Data["list"] = cmodels
|
|
|
@@ -409,7 +420,7 @@ func (this *HomeController) MainGridRefershAjaxAuto() {
|
|
|
channellist := svc.Getchannelbyuser(where, UserId)
|
|
|
//获取的数据,传入两值
|
|
|
for _, v := range channellist {
|
|
|
- t, h, o2, co2, cjtime, lv, ls := GetTH(v.Code)
|
|
|
+ t, h, o2, co2, cjtime, lv, ls, voltage, power := GetTH(v.Code)
|
|
|
//0代表正常,1代表低温报警,2代表超温报警,3代表温度为0值
|
|
|
state := 0
|
|
|
//确认state值
|
|
|
@@ -421,7 +432,7 @@ func (this *HomeController) MainGridRefershAjaxAuto() {
|
|
|
state = this.GetTemState(v.Code, "temperature", tem)
|
|
|
}
|
|
|
|
|
|
- cmodels = append(cmodels, ChannelModelState{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.Title, v.Code, lv, ls, v.DataItem, state})
|
|
|
+ cmodels = append(cmodels, ChannelModelState{t, h, o2, co2, cjtime.Format("2006-01-02 15:04:05"), v.Title, v.Code, lv, ls, v.DataItem, state, voltage, power})
|
|
|
}
|
|
|
|
|
|
this.Data["json"] = cmodels
|