package data_manage import ( "encoding/json" "eta/eta_api/controllers" "eta/eta_api/models" "eta/eta_api/models/data_manage/edb_inspection" "eta/eta_api/services/data" "eta/eta_api/utils" "time" "github.com/rdlucklib/rdluck_tools/paging" ) type EdbInspectionController struct { controllers.BaseAuthController } // InspectionSourceList // @Title 获取巡检配置的来源接口 // @Description 获取巡检配置的来源接口 // @Success Ret=200 获取成功 // @router /edb_inspection/source_list [get] func (c *EdbInspectionController) InspectionSourceList() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() // 这里可以添加获取巡检来源的逻辑 // 目前暂时返回空列表 list := make([]interface{}, 0) br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = list } // InspectionConfigList // @Title 获取巡检配置列表接口 // @Description 获取巡检配置列表接口 // @Param Source query int true "来源" // @Param TerminalCode query string false "终端编码" // @Success Ret=200 获取成功 // @router /edb_inspection/config/list [get] func (c *EdbInspectionController) InspectionConfigList() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() source, _ := c.GetInt("Source") terminalCode := c.GetString("TerminalCode") list, err, errMsg, isSendEmail := data.GetConfigList(source, terminalCode) if err != nil { br.Msg = errMsg br.ErrMsg = "获取失败,Err:" + err.Error() br.IsSendEmail = isSendEmail return } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = list } // SaveInspectionConfig // @Title 设置巡检配置接口 // @Description 设置巡检配置接口 // @Param request body edb_inspection.EdbInspectionConfigAddReq true "type json string" // @Success Ret=200 保存成功 // @router /edb_inspection/config/save [post] func (c *EdbInspectionController) SaveInspectionConfig() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() var req edb_inspection.EdbInspectionConfigAddReq err := json.Unmarshal(c.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } // 保存 err, errMsg, isSendEmail := data.SaveEdbInspectionConfig(&req) if err != nil { br.Msg = errMsg br.ErrMsg = "保存失败,Err:" + err.Error() br.IsSendEmail = isSendEmail return } br.Ret = 200 br.Success = true br.Msg = "保存成功" } // UpdateInspectionConfigStatus // @Title 更新巡检配置状态接口 // @Description 更新巡检配置状态接口 // @Param ConfigId query int64 true "配置ID" // @Param Status query int8 true "状态" // @Success Ret=200 更新成功 // @router /edb_inspection/config/status/update [post] func (c *EdbInspectionController) UpdateInspectionConfigStatus() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() var req edb_inspection.EdbInspectionConfigStatusReq err := json.Unmarshal(c.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } configId := req.ConfigId status := req.Status if status != 1 && status != 0 { br.Msg = "状态错误" br.ErrMsg = "状态错误,请输入1或0" br.IsSendEmail = false return } if configId <= 0 { br.Msg = "配置ID不能为空" br.IsSendEmail = false return } config := &edb_inspection.EdbInspectionConfig{ ConfigId: configId, } err = config.UpdateStatus(status) if err != nil { br.Msg = "更新失败" br.ErrMsg = "更新失败,Err:" + err.Error() return } br.Ret = 200 br.Success = true br.Msg = "更新成功" } // DeleteInspectionConfig // @Title 删除巡检配置接口 // @Description 删除巡检配置接口 // @Param ConfigId query int64 true "配置ID" // @Success Ret=200 删除成功 // @router /edb_inspection/config/delete [post] func (c *EdbInspectionController) DeleteInspectionConfig() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() var req edb_inspection.EdbInspectionConfigDeleteReq err := json.Unmarshal(c.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } configId := req.ConfigId if configId <= 0 { br.Msg = "配置ID不能为空" br.IsSendEmail = false return } config := &edb_inspection.EdbInspectionConfig{ ConfigId: configId, } err = config.Delete() if err != nil { br.Msg = "删除失败" br.ErrMsg = "删除失败,Err:" + err.Error() return } _ = edb_inspection.DeleteEdbInspectionDateConfigByConfigId(configId) br.Ret = 200 br.Success = true br.Msg = "删除成功" } // GetInspectionConfigDetail // @Title 获取巡检配置详情接口 // @Description 获取巡检配置详情接口 // @Param ConfigId query int64 true "配置ID" // @Success Ret=200 获取成功 // @router /edb_inspection/config/detail [get] func (c *EdbInspectionController) GetInspectionConfigDetail() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() configId, _ := c.GetInt64("ConfigId") if configId <= 0 { br.Msg = "配置ID不能为空" br.IsSendEmail = false return } detail, err := data.GetConfigDetail(configId) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取失败,Err:" + err.Error() return } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = detail } // 查询看板列表 // @Title 查询看板列表接口 // @Description 查询看板列表接口 // @Success Ret=200 获取成功 // @router /edb_inspection/dashboard [get] func (c *EdbInspectionController) GetDashboardList() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() list, err := edb_inspection.GetDashboardList() if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取失败,Err:" + err.Error() return } br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = list } // 查询看板详情 // @Title 查询看板详情接口 // @Description 查询看板详情接口 // @Success Ret=200 获取成功 // @router /edb_inspection/record [get] func (c *EdbInspectionController) GetInspectionRecordDetail() { br := new(models.BaseResponse).Init() defer func() { c.Data["json"] = br c.ServeJSON() }() // 根据source和terminalCode查询巡检记录 source, _ := c.GetInt("Source") terminalCode := c.GetString("TerminalCode") startDate := c.GetString("StartDate") endDate := c.GetString("EndDate") pageSize, _ := c.GetInt("PageSize") currentIndex, _ := c.GetInt("CurrentIndex") if pageSize <= 0 { pageSize = utils.PageSize20 } if currentIndex <= 0 { currentIndex = 1 } startSize := utils.StartIndex(currentIndex, pageSize) condition := `` var pars []interface{} if source > 0 { condition += " AND r.source = ?" pars = append(pars, source) } if terminalCode != "" { condition += " AND r.terminal_code = ?" pars = append(pars, terminalCode) } if startDate != "" { // 检查是否是时间格式 _, err := time.Parse(utils.FormatDate, startDate) if err != nil { br.Msg = "开始时间格式错误" br.ErrMsg = "开始时间格式错误,请输入正确的时间格式" return } condition += " AND r.inspection_time >= ?" pars = append(pars, startDate) } if endDate != "" { // 检查是否是时间格式 _, err := time.Parse(utils.FormatDate, endDate) if err != nil { br.Msg = "结束时间格式错误" br.ErrMsg = "结束时间格式错误,请输入正确的时间格式" return } endTime := endDate + " 23:59:59" condition += " AND r.inspection_time <= ?" pars = append(pars, endTime) } list, err := edb_inspection.GetInspectionRecordListByCondition(condition, pars, startSize, pageSize) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取失败,Err:" + err.Error() return } // 查询总数 count, err := edb_inspection.GetInspectionRecordCountByCondition(condition, pars) if err != nil { br.Msg = "获取失败" br.ErrMsg = "获取失败,Err:" + err.Error() return } page := paging.GetPaging(currentIndex, pageSize, int(count)) br.Ret = 200 br.Success = true br.Msg = "获取成功" br.Data = map[string]interface{}{ "List": list, "Paging": page, } }