From 97333bd4d1bfa72f98fc32a6ac459cff4c225f3c Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Wed, 05 Jun 2019 10:48:37 +0800
Subject: [PATCH] 增加溯源service实现
---
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