controllers.go 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. package controllers
  2. import (
  3. "Cold_Data/lib"
  4. "Cold_Data/models/Account"
  5. "Cold_Data/models/Device"
  6. "fmt"
  7. beego "github.com/beego/beego/v2/server/web"
  8. "strings"
  9. )
  10. type MainController struct {
  11. beego.Controller
  12. }
  13. func (c *MainController) Get() {
  14. T_key := c.GetString("T_key")
  15. T_mode, _ := c.GetInt("T_mode", 1)
  16. T_key_s := strings.Split(T_key, ",")
  17. Company_r, err := Account.Read_Company_T_key(T_key_s[len(T_key_s)-1])
  18. if err != nil {
  19. c.Data["json"] = lib.JSONS{Code: 201, Msg: "T_key!"}
  20. c.ServeJSON()
  21. return
  22. }
  23. //if !strings.Contains(Company_r.T_data, "_") {
  24. // c.TplName = "error.html"
  25. // return
  26. //}
  27. Company_R, ok := lib.Company_Map[Company_r.Id]
  28. if !ok {
  29. c.TplName = "error.html"
  30. return
  31. }
  32. Company_R.Company_name = Company_r.T_name
  33. Company_R.Company_key = Company_r.T_key
  34. Company_R.Company_plan = Company_r.T_plan
  35. Company_R.Company_data = Company_r.T_data
  36. Company_R.Company_v3d = Company_r.T_v3d
  37. switch T_mode {
  38. case 1: // 智慧大屏
  39. fmt.Println("智慧大屏:", Company_r.T_data)
  40. LOOPnum := 0
  41. LOOP:
  42. if len(Company_r.T_data) == 0 {
  43. // 复用上一级
  44. err, Company_r = Account.Read_Company_id(Company_r.T_mid)
  45. if err != nil {
  46. c.TplName = "error.html"
  47. return
  48. }
  49. if LOOPnum < 10 {
  50. LOOPnum += 1
  51. goto LOOP
  52. } else {
  53. c.TplName = "error.html"
  54. return
  55. }
  56. }
  57. c.Data["C_keys"] = T_key
  58. c.TplName = Company_r.T_data + ".html"
  59. // 全国
  60. if strings.Contains(Company_R.Company_name, "主") || strings.Contains(Company_R.Company_name, "全国") {
  61. c.Data["map"] = "china"
  62. c.TplName = "B_Mode1.html"
  63. return
  64. }
  65. return
  66. case 2: // 3D大屏
  67. fmt.Println("3D大屏:", Company_r.T_v3d) // C_Mode_v3D_精简版|5QIRTWYLG6NE7OC349JP8M02UKBZHV1S
  68. T_v3d_list := strings.Split(Company_r.T_v3d, "|")
  69. if len(T_v3d_list) != 2 {
  70. c.TplName = "error.html"
  71. return
  72. }
  73. c.Data["C_keys"] = T_key
  74. c.TplName = T_v3d_list[0] + ".html"
  75. return
  76. }
  77. c.TplName = "error.html"
  78. return
  79. }
  80. // 列表 - 接口
  81. func (c *MainController) Company_Data() {
  82. T_key := c.GetString("T_key")
  83. Company_r, err := Account.Read_Company_T_key(T_key)
  84. if err != nil {
  85. c.Data["json"] = lib.JSONS{Code: 201, Msg: "T_key!"}
  86. c.ServeJSON()
  87. return
  88. }
  89. Company_map := lib.Company_Map[Company_r.Id]
  90. Company_map.Company_name = Company_r.T_name
  91. Company_map.Company_key = Company_r.T_key
  92. Company_map.Company_plan = Company_r.T_plan
  93. Company_map.Company_data = Company_r.T_data
  94. Company_map.Company_v3d = Company_r.T_v3d
  95. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Company_map}
  96. c.ServeJSON()
  97. return
  98. }
  99. //func (c *MainController) Company_Device_Sensor_List() {
  100. //
  101. // T_key := c.GetString("T_key")
  102. // Company_r,err := Account.Read_Company_T_key(T_key)
  103. // if err != nil {
  104. // c.Data["json"] = lib.JSONS{Code: 201, Msg: "T_key!"}
  105. // c.ServeJSON()
  106. // return
  107. // }
  108. //
  109. // // 查询公司下面所有子公司id
  110. // T_pids := Account.ReadCompanyIds_T_path(Company_r.T_path)
  111. //
  112. // //Account.Read_Company_All_Maps()
  113. // Sensor_List := Device.Read_CompanyDeviceSensor_List_For_Data(T_pids)
  114. //
  115. // c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Sensor_List}
  116. // c.ServeJSON()
  117. // return
  118. //
  119. //}
  120. // 列表 - 接口
  121. func (c *MainController) DeviceTask_List() {
  122. //// 验证登录
  123. //b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  124. //if !b_ {
  125. // c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  126. // c.ServeJSON()
  127. // return
  128. //}
  129. T_sn := c.GetString("T_sn")
  130. DeviceTask_list := Device.Read_DeviceTask_List(T_sn)
  131. DeviceTask_r := []Device.DeviceTask_R{}
  132. for _, v := range DeviceTask_list {
  133. x := Device.DeviceTask_R{}
  134. x.T_Ut_start = v.T_Ut_start.Format("2006-01-02 15:04:05")
  135. x.T_Ut_end = v.T_Ut_end.Format("2006-01-02 15:04:05")
  136. x.T_State = v.T_State
  137. DeviceTask_r = append(DeviceTask_r, x)
  138. }
  139. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: DeviceTask_r}
  140. c.ServeJSON()
  141. return
  142. }
  143. // 列表 - 接口
  144. func (c *MainController) DeviceData_List() {
  145. T_sn := c.GetString("T_sn")
  146. //T_id, _ := c.GetInt("T_id")
  147. T_id := 1
  148. Time_start := c.GetString("Time_start")
  149. Time_end := c.GetString("Time_end")
  150. r_Device, err := Device.Read_Device_ByT_sn(T_sn)
  151. if err != nil {
  152. c.Data["json"] = lib.JSONS{Code: 201, Msg: "T_sn!"}
  153. c.ServeJSON()
  154. return
  155. }
  156. DeviceData_list := Device.Read_DeviceData_List(T_sn, T_id, Time_start, Time_end)
  157. DeviceData_r := []Device.DeviceData_RR{}
  158. for _, v := range DeviceData_list {
  159. x := Device.DeviceData_RR{}
  160. x.T_t = v.T_t
  161. x.T_rh = v.T_rh
  162. x.T_site = v.T_site
  163. x.T_time = v.T_time.Format("2006-01-02 15:04:05")
  164. x.T_ist = r_Device.T_ist
  165. x.T_ist = r_Device.T_ist
  166. if dsp, is := Device.Read_DeviceSensorParameter(T_sn, T_id); is {
  167. x.T_name = dsp.T_name
  168. x.T_Tlower = dsp.T_Tlower
  169. x.T_Tupper = dsp.T_Tupper
  170. x.T_RHlower = dsp.T_RHlower
  171. x.T_RHupper = dsp.T_RHupper
  172. }
  173. DeviceData_r = append(DeviceData_r, x)
  174. }
  175. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: DeviceData_r}
  176. c.ServeJSON()
  177. return
  178. }