From f28149d8183a62f87fa9c8df9ae589070d83f612 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Thu, 24 Dec 2020 13:47:50 +0800
Subject: [PATCH] 波动补偿

---
 src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java |  171 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 108 insertions(+), 63 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java
index 6c6bcea..b053761 100644
--- a/src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryDailyServiceImpl.java
@@ -23,72 +23,117 @@
 
 @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>();
+
+        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;
+    }
 
 }

--
Gitblit v1.8.0