controllers.go 5.2 KB

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