| | |
| | |
|
| | | @Service
|
| | | public class HistoryDailyServiceImpl implements HistoryDailyService {
|
| | | @Resource
|
| | | private HistoryDailyMapper historyDailyMapper;
|
| | | |
| | | @Resource
|
| | | private OrganizationService organizationService;
|
| | | @Resource
|
| | | private HistoryDailyMapper historyDailyMapper;
|
| | |
|
| | | @Resource
|
| | | private DeviceService deviceService;
|
| | | @Resource
|
| | | private OrganizationService organizationService;
|
| | |
|
| | | @Override
|
| | | public List<Map<String, Object>> getEmissionsData(Map<String, Object> parameters) throws Exception {
|
| | | String sensorKey = parameters.get("sensorKey").toString();
|
| | | getAllchildrenOrg(parameters);
|
| | | ParameterUtils.getTimeType4Time(parameters);
|
| | | ParameterUtils.getElementByType(parameters);
|
| | | ParameterUtils.getStartAndEndByTime(parameters);
|
| | | ParameterUtils.getRegionType4RegionCode(parameters);
|
| | | List<Map<String, Object>> list = historyDailyMapper.getEmissionsData(parameters);
|
| | | |
| | | Map<String, Float> result = new HashMap<String, Float>();
|
| | | |
| | | for (Map<String, Object> map : list) {
|
| | | String mac = map.get("mac").toString();
|
| | | String name = map.get("name").toString();
|
| | | if (!ObjectUtils.isEmpty(map.get(sensorKey))) {
|
| | | Float thickness = Float.valueOf(map.get(sensorKey).toString());
|
| | | Device device = deviceService.getDeviceByMac(mac);
|
| | | DeviceProperty deviceProperty = device.getDeviceProperty();
|
| | | if (!ObjectUtils.isEmpty(deviceProperty)) {
|
| | | String extC = deviceProperty.getExtC();
|
| | | String extD = deviceProperty.getExtD();
|
| | | if (!(ObjectUtils.isEmpty(extC) || ObjectUtils.isEmpty(extD))) {
|
| | | Float acreage = Float.valueOf(extC);
|
| | | Float windSpeed = Float.valueOf(extD);
|
| | | Float emissions = thickness * acreage * windSpeed * 24 * 60 * 60 / 1000000;
|
| | | if (result.containsKey(name)) {
|
| | | result.put(name, emissions + result.get(name) );
|
| | | } else {
|
| | | result.put(name, emissions);
|
| | | }
|
| | | }
|
| | | }
|
| | | @Resource
|
| | | private DeviceService deviceService;
|
| | |
|
| | | }
|
| | | }
|
| | | List<Map<String, Object>> resultMap = new ArrayList<Map<String,Object>>();
|
| | | |
| | | for (Entry<String, Float> entry : result.entrySet()) {
|
| | | resultMap.add(new HashMap<String, Object>() {
|
| | | {
|
| | | put("name", entry.getKey());
|
| | | put("emissions", entry.getValue());
|
| | | }
|
| | | });
|
| | | }
|
| | | return resultMap;
|
| | | }
|
| | | @Override
|
| | | public List<Map<String, Object>> getEmissionsData(Map<String, Object> parameters) throws Exception {
|
| | | String sensorKey = parameters.get("sensorKey").toString();
|
| | | getAllchildrenOrg(parameters);
|
| | | ParameterUtils.getTimeType4Time(parameters);
|
| | | ParameterUtils.getElementByType(parameters);
|
| | | ParameterUtils.getStartAndEndByTime(parameters);
|
| | | ParameterUtils.getRegionType4RegionCode(parameters);
|
| | | List<Map<String, Object>> list = historyDailyMapper.getEmissionsData(parameters);
|
| | |
|
| | | private void getAllchildrenOrg(Map<String, Object> parameters) {
|
| | | if (parameters.containsKey("orgId")) {
|
| | | Integer orgId = Integer.valueOf(parameters.remove("orgId").toString());
|
| | | if (!(-1 == orgId || ResourceUtil.getValue("orgId").equals(orgId + ""))) {
|
| | | Set<Integer> orgIds = organizationService.getChildOrganizationIds(orgId);
|
| | | parameters.put("orgIds", orgIds);
|
| | | }
|
| | | }
|
| | | }
|
| | | Map<String, Float> result = new HashMap<String, Float>();
|
| | |
|
| | | @Override
|
| | | public Map getOverproofData(Map<String, Object> parameters) throws Exception {
|
| | | getAllchildrenOrg(parameters);
|
| | | ParameterUtils.getTimeType4Time(parameters);
|
| | | ParameterUtils.getElementByType(parameters);
|
| | | ParameterUtils.getStartAndEndByTime(parameters);
|
| | | ParameterUtils.getRegionType4RegionCode(parameters);
|
| | | List<Map<String, Object>> list = historyDailyMapper.getOverproofData(parameters);
|
| | | Map<String, Map<String, Object>[]> resultMap = new HashMap<String, Map<String, Object>[]>();
|
| | | for (Map<String, Object> map : list) {
|
| | | String name = map.get("name").toString();
|
| | | Integer deviceTech = Integer.valueOf(map.get("device_tech").toString());
|
| | | Map<String,Object>[] resultlist ;
|
| | | if (resultMap.containsKey(name)) {
|
| | | resultlist = resultMap.get(name);
|
| | | } else {
|
| | | resultlist = new HashMap[3];
|
| | | }
|
| | | resultlist[deviceTech-1] = new HashMap<String,Object>() {
|
| | | private static final long serialVersionUID = 1L;
|
| | | {
|
| | | put("avg", map.get("avg"));
|
| | | put("limit", map.get("limit"));
|
| | | }
|
| | | };
|
| | | resultMap.put(name, resultlist);
|
| | | }
|
| | | return resultMap;
|
| | | }
|
| | | for (Map<String, Object> map : list) {
|
| | | String mac = map.get("mac").toString();
|
| | | String name = map.get("name").toString();
|
| | | if (!ObjectUtils.isEmpty(map.get(sensorKey))) {
|
| | | Float thickness = Float.valueOf(map.get(sensorKey).toString());
|
| | | Device device = deviceService.getDeviceByMac(mac);
|
| | | DeviceProperty deviceProperty = device.getDeviceProperty();
|
| | | if (!ObjectUtils.isEmpty(deviceProperty)) {
|
| | | String extC = deviceProperty.getExtC();
|
| | | String extD = deviceProperty.getExtD();
|
| | | if (!(ObjectUtils.isEmpty(extC) || ObjectUtils.isEmpty(extD))) {
|
| | | Float acreage = Float.valueOf(extC);
|
| | | Float windSpeed = Float.valueOf(extD);
|
| | | Float emissions = thickness * acreage * windSpeed * 24 * 60 * 60 / 1000000;
|
| | | if (result.containsKey(name)) {
|
| | | result.put(name, emissions + result.get(name));
|
| | | } else {
|
| | | result.put(name, emissions);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | | }
|
| | | List<Map<String, Object>> resultMap = new ArrayList<Map<String, Object>>();
|
| | |
|
| | | for (Entry<String, Float> entry : result.entrySet()) {
|
| | | resultMap.add(new HashMap<String, Object>() {
|
| | | {
|
| | | put("name", entry.getKey());
|
| | | put("emissions", entry.getValue());
|
| | | }
|
| | | });
|
| | | }
|
| | | return resultMap;
|
| | | }
|
| | |
|
| | | private void getAllchildrenOrg(Map<String, Object> parameters) {
|
| | | if (parameters.containsKey("orgId")) {
|
| | | Integer orgId = Integer.valueOf(parameters.remove("orgId").toString());
|
| | | if (!(-1 == orgId || ResourceUtil.getValue("orgId").equals(orgId + ""))) {
|
| | | Set<Integer> orgIds = organizationService.getChildOrganizationIds(orgId);
|
| | | parameters.put("orgIds", orgIds);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Map getOverproofData(Map<String, Object> parameters) throws Exception {
|
| | | getAllchildrenOrg(parameters);
|
| | | ParameterUtils.getTimeType4Time(parameters);
|
| | | ParameterUtils.getElementByType(parameters);
|
| | | ParameterUtils.getStartAndEndByTime(parameters);
|
| | | ParameterUtils.getRegionType4RegionCode(parameters);
|
| | | List<Map<String, Object>> list = historyDailyMapper.getOverproofData(parameters);
|
| | | Map<String, Map<String, Object>[]> resultMap = new HashMap<String, Map<String, Object>[]>();
|
| | | for (Map<String, Object> map : list) {
|
| | | String name = map.get("name").toString();
|
| | | Integer deviceTech = Integer.valueOf(map.get("device_tech").toString());
|
| | | Map<String, Object>[] resultlist;
|
| | | if (resultMap.containsKey(name)) {
|
| | | resultlist = resultMap.get(name);
|
| | | } else {
|
| | | resultlist = new HashMap[3];
|
| | | }
|
| | | resultlist[deviceTech - 1] = new HashMap<String, Object>() {
|
| | | private static final long serialVersionUID = 1L;
|
| | | {
|
| | | put("avg", map.get("avg"));
|
| | | put("limit", map.get("limit"));
|
| | | }
|
| | | };
|
| | | resultMap.put(name, resultlist);
|
| | | }
|
| | | return resultMap;
|
| | | }
|
| | |
|
| | | // 通过选择的参数(设备mac,监测因子类型,查询时间)查询监测因子的数值
|
| | | @Override
|
| | | public Map<String, Double> getTraceabilityData(Map<String, Object> parameters) throws Exception {
|
| | | ParameterUtils.getElementByType(parameters);
|
| | | Map<String, Double> resultMap = historyDailyMapper.getTraceabilityData(parameters);
|
| | | return resultMap;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<Map<String, Object>> getDataByTimeSlot(String mac, String startTime, String endTime) throws Exception {
|
| | | List<Map<String, Object>> resultMap = historyDailyMapper.getDataByTimeSlot(mac,startTime,endTime);
|
| | | //System.out.println(resultMap);
|
| | | return resultMap;
|
| | | }
|
| | |
|
| | | }
|