xufenglei
2019-06-13 fb08f21f13a21cbbc84a4c2c5fdafc3168570049
src/main/java/com/moral/controller/ScreenController.java
@@ -12,13 +12,38 @@
import com.moral.common.util.ValidateUtil;
import com.moral.common.util.WebUtils;
import com.moral.common.xml.Version;
import com.moral.entity.*;
import com.moral.entity.Account;
import com.moral.entity.AreaNames;
import com.moral.entity.Device;
import com.moral.entity.DeviceVersion;
import com.moral.entity.MapBounds;
import com.moral.entity.MonitorPoint;
import com.moral.entity.Organization;
import com.moral.entity.Region;
import com.moral.entity.alarm.AlarmConfig;
import com.moral.entity.alarm.AlarmConfigValue;
import com.moral.entity.alarm.AlarmSensorLevel;
import com.moral.entity.charts.DataSortCondition;
import com.moral.entity.layout.RealTimeDeviceLayout;
import com.moral.service.*;
import com.moral.service.AccountService;
import com.moral.service.AlarmConfigService;
import com.moral.service.AlarmDailyService;
import com.moral.service.AreaService;
import com.moral.service.DeviceService;
import com.moral.service.DeviceVersionService;
import com.moral.service.DictionaryDataService;
import com.moral.service.HangzhouAqiService;
import com.moral.service.HistoryDailyService;
import com.moral.service.HistoryMinutelyService;
import com.moral.service.HistoryService;
import com.moral.service.MachineActivateService;
import com.moral.service.MonitorPointService;
import com.moral.service.OrganizationLayoutService;
import com.moral.service.OrganizationService;
import com.moral.service.QualityDailyService;
import com.moral.service.SensorService;
import com.moral.service.SensorUnitService;
import com.moral.service.WeatherService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -34,7 +59,15 @@
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import org.xml.sax.InputSource;
@@ -44,7 +77,14 @@
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import static com.moral.common.util.ResourceUtil.getValue;
@@ -906,7 +946,7 @@
      return new ResultBean<Map<String, Object>>(map);
   }*/
   
   @GetMapping("getSensorByMonitorPointId")
   /*@GetMapping("getSensorByMonitorPointId")
   @ApiOperation(value = "返回单位", notes = "返回单位")
   @ApiImplicitParams(value = {
         @ApiImplicitParam(name = "monitor_point_id", value = "监测站点id", required = true, paramType = "query", dataType = "String")
@@ -918,7 +958,7 @@
      Map<String, Object> map = sensorUnitService.getSensorsByMonitPointId(monitor_point_id);
      System.out.println("ScreenController-----getSensorByMonitorPointId-----map:"+map);
      return new ResultBean<Map<String, Object>>(map);
   }
   }*/
   
   @GetMapping("AIForecast")
   @ApiOperation(value = "AI预测", notes = "AI预测")
@@ -936,19 +976,38 @@
      Object sensorKey = parameters.remove("sensorKey");
      parameters.put("sensors", Arrays.asList(sensorKey));
      List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters);
      System.out.println("ScreenController-----AIForecast-----list:"+list);
      
      //获取单位信息
      Map<String, Object> sensorMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id);
      Map<String, Map<String, Object>> sensorMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id);
      
      for (Map<String, Object> map : list) {
         String time = map.get("time").toString();
         time = time.substring(time.length() - 2);
         map.put("time", Integer.valueOf(time));
         map.put("value", map.remove(sensorKey));
      if(sensorMap!=null && !sensorMap.isEmpty()) {
         for (Map<String, Object> map : list) {
            System.out.println("ScreenController-----AIForecast-----map:"+map);
            String time = map.get("time").toString();
            time = time.substring(time.length() - 2);
            map.put("time", Integer.valueOf(time));
            map.put("value", map.remove(sensorKey));
            System.out.println("ScreenController-----AIForecast-----map:"+map);
            System.out.println(sensorMap.get("unit"));
            //String sensor = map.get("sensorKey").toString();
            if(sensorMap.get(sensorKey)!=null) {
               map.put("unit", sensorMap.get(sensorKey).get("name"));
            }else {
               map.put("unit", "mg/m³");
            }
         }
      }else {
         for (Map<String, Object> map : list) {
            String time = map.get("time").toString();
            time = time.substring(time.length() - 2);
            map.put("time", Integer.valueOf(time));
            map.put("value", map.remove(sensorKey));
            map.put("unit", "mg/m³");
         }
      }
      return null;
      //return new ResultBean<List<Map<String, Object>>>(result);
      //return null;
      return new ResultBean<List<Map<String, Object>>>(list);
   }
}