From 9437c74510c25be9d2413821c65fcf6ca4e6d21a Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Fri, 31 Aug 2018 08:35:26 +0800 Subject: [PATCH] 获取优良天数 --- src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 65 +++++++++++++++++++++++++------- 1 files changed, 50 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index e2873c2..345dceb 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -4,6 +4,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.Page; @@ -13,8 +14,8 @@ import com.moral.common.exception.BusinessException; import com.moral.common.util.ExampleUtil; import com.moral.common.util.RedisUtils; -import com.moral.mapper.MonitorPointMapper; -import com.moral.mapper.OrganizationMapper; +import com.moral.entity.DeviceVersion; +import com.moral.mapper.*; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; @@ -26,7 +27,6 @@ import com.github.pagehelper.PageHelper; import com.moral.common.util.ValidateUtil; import com.moral.entity.Device; -import com.moral.mapper.DeviceMapper; import com.moral.service.AccountService; import com.moral.service.DeviceService; import tk.mybatis.mapper.entity.Example; @@ -58,8 +58,14 @@ private Class ENTITY_CLASS = Device.class; @Resource OrganizationMapper orgMapper; + @Resource + DeviceVersionMapper deviceVersionMapper; @Resource RedisUtils redisUtils; + @Resource + OrganizationMapper organizationMapper; + @Resource + DictionaryDataMapper dictionaryDataMapper; @Override public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) { ValidateUtil.notNull(parameters.get("accountId"), "param.is.null"); @@ -173,6 +179,7 @@ simpleDevice.setMac(device.getMac()); // mac simpleDevice.setMonitorPointId(device.getMonitorPointId());// ���������id simpleDevice.setOrganizationIds(device.getOrganizationIds());// ������������ + simpleDevice.setDeviceVersion(device.getDeviceVersion()); redisUtils.set(key,simpleDevice); } private Device getDeviceFromRedis(String mac) { @@ -310,15 +317,8 @@ */ private void refreshDeviceInRedis(String mac){ if(!StringUtils.isBlank(mac)){ - Device devQuery = new Device(); - devQuery.setMac(mac); - Device device = deviceMapper.selectOne(devQuery); - if(device.getMonitorPointId()!=null){ - List<Integer> orgIds = monitorPointMapper.selectOrganizationIds(device.getMonitorPointId()); - device.setOrganizationIds(orgIds); - } - String key = "device_"+mac; - redisUtils.set(key,device); + Device device = deviceMapper.selectWithOrgIdsByMac(mac); + setDeviceToRedis(mac,device); }else { log.warn("param mac is null in method [refreshDeviceInRedis]"); @@ -348,12 +348,12 @@ @Override public PageBean queryByPageBean(PageBean pageBean) { Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean); - addDeletesToExample(example); +// addDeletesToExample(example); if(pageBean.getPageSize()>0){ PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize()); } - List<Device> organizationList = deviceMapper.selectWithRelationData(example); - return new PageBean(organizationList); + List<Device> deviceList = deviceMapper.selectWithRelationData(example); + return new PageBean(deviceList); } @Override @@ -476,4 +476,39 @@ return deviceMapper.getDevicesByProfession(parameters); } + @Override + public List<Device> getDevicesByOrganizationId(Map<String, Object> parameters) { + ValidateUtil.notNull(parameters.get("organizationId"), "param.is.null"); + return deviceMapper.getDevicesByOrganizationId(parameters); + } + @Override + public Map<String,Long> queryDeviceStateSummary(@NotNull Integer orgId){ + Map<String,Object> params = new HashMap<>(); + if(!dictionaryDataMapper.isSupperOrgId(orgId)){ + List<Integer> orgIds = organizationMapper.selectLowerOrgIds(orgId); + params.put("orgIds",orgIds); + } + List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(params); + Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L; + for (Map<String, Object> map : list) { + Long count = (Long) map.get("count"); + all += count; + switch (Integer.valueOf((String) map.get("state"))) { + case 0: + normal = count; + break; + case 4: + stop = count; + break; + default: + abnormal += count; + } + } + Map<String,Long> result = new HashMap<>(); + result.put("all", all); + result.put("normal", normal); + result.put("abnormal", abnormal); + result.put("stop", stop); + return result; + } } -- Gitblit v1.8.0