| | |
| | | import com.ycl.api.CommonPage; |
| | | import com.ycl.api.CommonResult; |
| | | import com.ycl.controller.BaseController; |
| | | import com.ycl.dto.caseHandler.QueryForViolationParam; |
| | | import com.ycl.dto.smoker.InTimeCountDto; |
| | | import com.ycl.dto.smoker.QueryInTimeParam; |
| | | import com.ycl.entity.smoke.OdsCustomer; |
| | | import com.ycl.entity.smoke.OdsInTime; |
| | | import com.ycl.service.smoke.IOdsCustomerService; |
| | | import com.ycl.service.smoke.IOdsInTimeService; |
| | | import com.ycl.utils.EasyExcelUtils; |
| | | import com.ycl.vo.casePool.QueryForViolationVO; |
| | | import com.ycl.vo.smoke.OdsInTimeVo; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLEncoder; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | | @RequestMapping("/smoke") |
| | | @Api(tags = "油烟管理管理") |
| | | @Api(tags = "油烟管理管理-实时数据") |
| | | public class InTimeController extends BaseController { |
| | | |
| | | IOdsInTimeService inTimeService; |
| | |
| | | return CommonResult.success(CommonPage.restPage(inTimePage)); |
| | | } |
| | | |
| | | @ApiOperation("导出实时数据") |
| | | @PostMapping(value = "/inTime/export") |
| | | @LogSave(operationType = "油烟模块", contain = "查询实时数据") |
| | | public void exportInTimeList(HttpServletResponse response, QueryInTimeParam param) throws IOException { |
| | | Page<OdsInTime> inTimePage = inTimeService.findList(param.getOwner(), param.getOnlineStatus(), param.getStartTime(), |
| | | param.getEndTime(), param.getType(), param.getStatus(), 99999, 1); |
| | | |
| | | List<OdsInTimeVo> odsInTimeVos = new ArrayList<>(); |
| | | Dictionary<Integer, String> fanStatusDic = new Hashtable<>(); |
| | | fanStatusDic.put(1, "开"); |
| | | fanStatusDic.put(2, "关"); |
| | | fanStatusDic.put(3, "异常"); |
| | | fanStatusDic.put(0, "异常"); |
| | | |
| | | Dictionary<Integer, String> onlineStatusDic = new Hashtable<>(); |
| | | onlineStatusDic.put(1, "在线"); |
| | | onlineStatusDic.put(2, "离线"); |
| | | onlineStatusDic.put(3, "异常离线"); |
| | | onlineStatusDic.put(0, "异常离线"); |
| | | |
| | | Dictionary<String, String> statusDic = new Hashtable<>(); |
| | | statusDic.put("NORMAL", "正常"); |
| | | statusDic.put("ALARM", "预警"); |
| | | statusDic.put("EXCESS", "超标"); |
| | | statusDic.put("DOWN", "离线"); |
| | | statusDic.put("OFF", "异常离线"); |
| | | |
| | | inTimePage.getRecords().stream().forEach(o -> { |
| | | OdsInTimeVo vo = new OdsInTimeVo(); |
| | | BeanUtils.copyProperties(o, vo); |
| | | vo.setAcquitAtStr(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(o.getAcquitAt() * 1000))); |
| | | vo.setFanStatusStr(fanStatusDic.get(o.getFanStatus())); |
| | | vo.setFilterStatusStr(fanStatusDic.get(o.getFilterStatus())); |
| | | vo.setOnlineStatusStr(onlineStatusDic.get(o.getOnlineStatus())); |
| | | vo.setStatusStr(statusDic.get(o.getStatus())); |
| | | odsInTimeVos.add(vo); |
| | | }); |
| | | |
| | | String sheetName = "实时数据"; |
| | | |
| | | String fileName = URLEncoder.encode(sheetName + ".xlsx", "UTF-8"); |
| | | //设置响应字符集 |
| | | response.setCharacterEncoding("UTF-8"); |
| | | //设置响应媒体类型 |
| | | response.setContentType("application/vnd.ms-excel"); |
| | | response.setHeader("Content-Disposition", "attachment;filename=" + fileName); |
| | | |
| | | EasyExcelUtils.export(response, sheetName, OdsInTimeVo.class, odsInTimeVos); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("获取设备在线情况") |
| | | @RequestMapping(value = "/inTime/count", method = RequestMethod.GET) |
| | | @ResponseBody |