From 62a2c2cff2978dfcfe2fc4ef3e4c1e2a89835dbf Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei@blit.7drlb.com>
Date: Thu, 26 Oct 2017 10:11:30 +0800
Subject: [PATCH] 区域全部平均值接口
---
src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java | 87 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 85 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java b/src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java
index 080d5ba..db35e29 100644
--- a/src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java
+++ b/src/main/java/com/moral/monitor/service/impl/ScreenServiceImpl.java
@@ -1,25 +1,108 @@
package com.moral.monitor.service.impl;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.apache.commons.collections.MapUtils;
+import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.moral.monitor.dao.AccountEntityMapper;
+import com.moral.monitor.dao.HistoryEntityMapper;
import com.moral.monitor.entity.AccountEntity;
import com.moral.monitor.entity.AccountEntityExample;
+import com.moral.monitor.service.OrganizationService;
import com.moral.monitor.service.ScreenService;
@Service
public class ScreenServiceImpl implements ScreenService {
@Autowired
- private AccountEntityMapper accountDao;
+ private AccountEntityMapper accountMapper;
+
+ @Autowired
+ private HistoryEntityMapper historyMapper;
+
+ @Autowired
+ private OrganizationService organizationService;
public List<AccountEntity> getAccountLists(String account, String password) {
AccountEntityExample example = new AccountEntityExample();
example.or().andAccountEqualTo(account).andPasswordEqualTo(password);
- return accountDao.selectByExample(example);
+ return accountMapper.selectByExample(example);
+ }
+
+ @SuppressWarnings("deprecation")
+ public Map<String, Object> getDataByEquipmentMac(Map<String, Object> parameters) {
+ Map<String, Object> resultMap = new HashMap<String, Object>();
+ Date date = new Date();
+
+ /** ������������ ������������������������ **/
+ date.setMonth(6);
+ int day = date.getDate();
+ if (day < 13) {
+ day = 31 - day;
+ }else if (day < 19) {
+ day += 10;
+ }else if (day > 29) {
+ day -= 10;
+ }
+ date.setDate(day);
+ /** ������������ ������ **/
+
+ parameters.put("end", DateUtils.truncate(date, Calendar.DATE));
+
+ //���������������������������������������
+ /*if (1 == Calendar.getInstance().get(Calendar.DAY_OF_MONTH)) {
+ date = DateUtils.setMonths(date, -1);
+ parameters.put("end", DateUtils.ceiling(date, Calendar.MONTH));
+ }*/
+ parameters.put("start", DateUtils.truncate(date, Calendar.MONTH));
+ parameters.put("mac", "898602b8191630065884");
+ parameters.put("macKey", "e1");
+ Map<String, Object> monthAverageBySensor = historyMapper.getMonthAverageBySensor(parameters);
+ if (MapUtils.isNotEmpty(monthAverageBySensor)) {
+ resultMap.putAll(monthAverageBySensor);
+ } else {
+ resultMap.put("monthAverage", 0);
+ }
+ return resultMap;
+ }
+
+ @SuppressWarnings("deprecation")
+ public Map<String, Object> getAverageByAll(Map<String, Object> parameters) {
+
+ AccountEntity account = accountMapper.selectByPrimaryKey((Integer.valueOf((String) parameters.get("accountId"))));
+ String organization = account.getOrganization();
+ //���������������������������������������������������������������
+ if (!("-1".equals(organization) || "5212b9dfb55448e699889e01fa0fa6a2".equals(organization))) {
+ Set<String> orgIds = organizationService.getChildOrganizationIds(account.getOrganization());
+ parameters.put("orgIds", orgIds);
+ }
+ Date date = new Date();
+
+ /** ������������ ������������������������ **/
+ date.setMonth(6);
+ int day = date.getDate();
+ if (day < 19 || day > 29) {
+ day = (int) Math.floor(Math.random() * (29 - 19 + 1) + 19);
+ date.setDate(day);
+ }
+ /** ������������ ������ **/
+
+ parameters.put("start", DateUtils.addMinutes(date, -10));
+ parameters.put("end", DateUtils.addMinutes(date, -5));
+ List<Map<String, Object>> averageByAll = historyMapper.getAverageByAll(parameters);
+ Map<String, Object> result = new HashMap<String, Object>();
+ for (Map<String, Object> map : averageByAll) {
+ result.put((String) map.get("mac_key"), map.get("avg"));
+ }
+ return result;
}
}
--
Gitblit v1.8.0