edb_inspection.go 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. package data_manage
  2. import (
  3. "encoding/json"
  4. "eta/eta_api/controllers"
  5. "eta/eta_api/models"
  6. "eta/eta_api/models/data_manage/edb_inspection"
  7. "eta/eta_api/services/data"
  8. "eta/eta_api/utils"
  9. "github.com/rdlucklib/rdluck_tools/paging"
  10. )
  11. type EdbInspectionController struct {
  12. controllers.BaseAuthController
  13. }
  14. // InspectionSourceList
  15. // @Title 获取巡检配置的来源接口
  16. // @Description 获取巡检配置的来源接口
  17. // @Success Ret=200 获取成功
  18. // @router /edb_inspection/source_list [get]
  19. func (c *EdbInspectionController) InspectionSourceList() {
  20. br := new(models.BaseResponse).Init()
  21. defer func() {
  22. c.Data["json"] = br
  23. c.ServeJSON()
  24. }()
  25. // 这里可以添加获取巡检来源的逻辑
  26. // 目前暂时返回空列表
  27. list := make([]interface{}, 0)
  28. br.Ret = 200
  29. br.Success = true
  30. br.Msg = "获取成功"
  31. br.Data = list
  32. }
  33. // InspectionConfigList
  34. // @Title 获取巡检配置列表接口
  35. // @Description 获取巡检配置列表接口
  36. // @Param Source query int true "来源"
  37. // @Param TerminalCode query string false "终端编码"
  38. // @Success Ret=200 获取成功
  39. // @router /edb_inspection/config/list [get]
  40. func (c *EdbInspectionController) InspectionConfigList() {
  41. br := new(models.BaseResponse).Init()
  42. defer func() {
  43. c.Data["json"] = br
  44. c.ServeJSON()
  45. }()
  46. source, _ := c.GetInt("Source")
  47. terminalCode := c.GetString("TerminalCode")
  48. list, err, errMsg, isSendEmail := data.GetConfigList(source, terminalCode)
  49. if err != nil {
  50. br.Msg = errMsg
  51. br.ErrMsg = "获取失败,Err:" + err.Error()
  52. br.IsSendEmail = isSendEmail
  53. return
  54. }
  55. br.Ret = 200
  56. br.Success = true
  57. br.Msg = "获取成功"
  58. br.Data = list
  59. }
  60. // SaveInspectionConfig
  61. // @Title 设置巡检配置接口
  62. // @Description 设置巡检配置接口
  63. // @Param request body edb_inspection.EdbInspectionConfigAddReq true "type json string"
  64. // @Success Ret=200 保存成功
  65. // @router /edb_inspection/config/save [post]
  66. func (c *EdbInspectionController) SaveInspectionConfig() {
  67. br := new(models.BaseResponse).Init()
  68. defer func() {
  69. c.Data["json"] = br
  70. c.ServeJSON()
  71. }()
  72. var req edb_inspection.EdbInspectionConfigAddReq
  73. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  74. if err != nil {
  75. br.Msg = "参数解析异常!"
  76. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  77. return
  78. }
  79. // 保存
  80. err, errMsg, isSendEmail := data.SaveEdbInspectionConfig(&req)
  81. if err != nil {
  82. br.Msg = errMsg
  83. br.ErrMsg = "保存失败,Err:" + err.Error()
  84. br.IsSendEmail = isSendEmail
  85. return
  86. }
  87. br.Ret = 200
  88. br.Success = true
  89. br.Msg = "保存成功"
  90. }
  91. // UpdateInspectionConfigStatus
  92. // @Title 更新巡检配置状态接口
  93. // @Description 更新巡检配置状态接口
  94. // @Param ConfigId query int64 true "配置ID"
  95. // @Param Status query int8 true "状态"
  96. // @Success Ret=200 更新成功
  97. // @router /edb_inspection/config/status/update [post]
  98. func (c *EdbInspectionController) UpdateInspectionConfigStatus() {
  99. br := new(models.BaseResponse).Init()
  100. defer func() {
  101. c.Data["json"] = br
  102. c.ServeJSON()
  103. }()
  104. var req edb_inspection.EdbInspectionConfigStatusReq
  105. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  106. if err != nil {
  107. br.Msg = "参数解析异常!"
  108. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  109. return
  110. }
  111. configId := req.ConfigId
  112. status := req.Status
  113. if status != 1 && status != 0 {
  114. br.Msg = "状态错误"
  115. br.ErrMsg = "状态错误,请输入1或0"
  116. br.IsSendEmail = false
  117. return
  118. }
  119. if configId <= 0 {
  120. br.Msg = "配置ID不能为空"
  121. br.IsSendEmail = false
  122. return
  123. }
  124. config := &edb_inspection.EdbInspectionConfig{
  125. ConfigId: configId,
  126. }
  127. err = config.UpdateStatus(status)
  128. if err != nil {
  129. br.Msg = "更新失败"
  130. br.ErrMsg = "更新失败,Err:" + err.Error()
  131. return
  132. }
  133. br.Ret = 200
  134. br.Success = true
  135. br.Msg = "更新成功"
  136. }
  137. // DeleteInspectionConfig
  138. // @Title 删除巡检配置接口
  139. // @Description 删除巡检配置接口
  140. // @Param ConfigId query int64 true "配置ID"
  141. // @Success Ret=200 删除成功
  142. // @router /edb_inspection/config/delete [post]
  143. func (c *EdbInspectionController) DeleteInspectionConfig() {
  144. br := new(models.BaseResponse).Init()
  145. defer func() {
  146. c.Data["json"] = br
  147. c.ServeJSON()
  148. }()
  149. var req edb_inspection.EdbInspectionConfigDeleteReq
  150. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  151. if err != nil {
  152. br.Msg = "参数解析异常!"
  153. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  154. return
  155. }
  156. configId := req.ConfigId
  157. if configId <= 0 {
  158. br.Msg = "配置ID不能为空"
  159. br.IsSendEmail = false
  160. return
  161. }
  162. config := &edb_inspection.EdbInspectionConfig{
  163. ConfigId: configId,
  164. }
  165. err = config.Delete()
  166. if err != nil {
  167. br.Msg = "删除失败"
  168. br.ErrMsg = "删除失败,Err:" + err.Error()
  169. return
  170. }
  171. _ = edb_inspection.DeleteEdbInspectionDateConfigByConfigId(configId)
  172. br.Ret = 200
  173. br.Success = true
  174. br.Msg = "删除成功"
  175. }
  176. // GetInspectionConfigDetail
  177. // @Title 获取巡检配置详情接口
  178. // @Description 获取巡检配置详情接口
  179. // @Param ConfigId query int64 true "配置ID"
  180. // @Success Ret=200 获取成功
  181. // @router /edb_inspection/config/detail [get]
  182. func (c *EdbInspectionController) GetInspectionConfigDetail() {
  183. br := new(models.BaseResponse).Init()
  184. defer func() {
  185. c.Data["json"] = br
  186. c.ServeJSON()
  187. }()
  188. configId, _ := c.GetInt64("ConfigId")
  189. if configId <= 0 {
  190. br.Msg = "配置ID不能为空"
  191. br.IsSendEmail = false
  192. return
  193. }
  194. detail, err := data.GetConfigDetail(configId)
  195. if err != nil {
  196. br.Msg = "获取失败"
  197. br.ErrMsg = "获取失败,Err:" + err.Error()
  198. return
  199. }
  200. br.Ret = 200
  201. br.Success = true
  202. br.Msg = "获取成功"
  203. br.Data = detail
  204. }
  205. // 查询看板列表
  206. // @Title 查询看板列表接口
  207. // @Description 查询看板列表接口
  208. // @Success Ret=200 获取成功
  209. // @router /edb_inspection/dashboard [get]
  210. func (c *EdbInspectionController) GetDashboardList() {
  211. br := new(models.BaseResponse).Init()
  212. defer func() {
  213. c.Data["json"] = br
  214. c.ServeJSON()
  215. }()
  216. list, err := edb_inspection.GetDashboardList()
  217. if err != nil {
  218. br.Msg = "获取失败"
  219. br.ErrMsg = "获取失败,Err:" + err.Error()
  220. return
  221. }
  222. br.Ret = 200
  223. br.Success = true
  224. br.Msg = "获取成功"
  225. br.Data = list
  226. }
  227. // 查询看板详情
  228. // @Title 查询看板详情接口
  229. // @Description 查询看板详情接口
  230. // @Success Ret=200 获取成功
  231. // @router /edb_inspection/record [get]
  232. func (c *EdbInspectionController) GetInspectionRecordDetail() {
  233. br := new(models.BaseResponse).Init()
  234. defer func() {
  235. c.Data["json"] = br
  236. c.ServeJSON()
  237. }()
  238. // 根据source和terminalCode查询巡检记录
  239. source, _ := c.GetInt("Source")
  240. terminalCode := c.GetString("TerminalCode")
  241. inspectionTime := c.GetString("InspectionTime")
  242. pageSize, _ := c.GetInt("PageSize")
  243. currentIndex, _ := c.GetInt("CurrentIndex")
  244. if pageSize <= 0 {
  245. pageSize = utils.PageSize20
  246. }
  247. if currentIndex <= 0 {
  248. currentIndex = 1
  249. }
  250. condition := ``
  251. var pars []interface{}
  252. if source > 0 {
  253. condition += " AND r.source = ?"
  254. pars = append(pars, source)
  255. }
  256. if terminalCode != "" {
  257. condition += " AND r.terminal_code = ?"
  258. pars = append(pars, terminalCode)
  259. }
  260. if inspectionTime != "" {
  261. startTime := inspectionTime + " 00:00:00"
  262. endTime := inspectionTime + " 23:59:59"
  263. condition += " AND r.inspection_time >= ? AND r.inspection_time <= ?"
  264. pars = append(pars, startTime)
  265. pars = append(pars, endTime)
  266. }
  267. list, err := edb_inspection.GetInspectionRecordListByCondition(condition, pars, currentIndex, pageSize)
  268. if err != nil {
  269. br.Msg = "获取失败"
  270. br.ErrMsg = "获取失败,Err:" + err.Error()
  271. return
  272. }
  273. // 查询总数
  274. count, err := edb_inspection.GetInspectionRecordCountByCondition(condition, pars)
  275. if err != nil {
  276. br.Msg = "获取失败"
  277. br.ErrMsg = "获取失败,Err:" + err.Error()
  278. return
  279. }
  280. page := paging.GetPaging(currentIndex, pageSize, int(count))
  281. br.Ret = 200
  282. br.Success = true
  283. br.Msg = "获取成功"
  284. br.Data = map[string]interface{}{
  285. "List": list,
  286. "Paging": page,
  287. }
  288. }