From 2759eea24b4d6cd5e0e8f8c88eae69a59b48d299 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Tue, 03 Sep 2019 13:43:57 +0800 Subject: [PATCH] update 污染传播接口 --- src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java | 192 +++++++++++++++++++++++++----------------------- 1 files changed, 100 insertions(+), 92 deletions(-) diff --git a/src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java index 8517875..97cc3ad 100644 --- a/src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java @@ -23,102 +23,110 @@ @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; + } } -- Gitblit v1.8.0