From d6747b2f8c31d2e879d4d59e19c9410c13c35228 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Wed, 05 Jun 2019 10:55:11 +0800
Subject: [PATCH] 增加溯源查询后返回页面

---
 src/main/java/com/moral/service/impl/DeviceServiceImpl.java |   62 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index 8e9366c..ee1e59e 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -432,12 +432,18 @@
 		}
 		return  deviceMapper.countByTimes(start, end, format);
 	}
+	
 	@Override
 	public List<Device> getDevicesByMonitorPointId(Integer monitorPointId) {
 		Device device = new Device();
 		device.setMonitorPointId(monitorPointId);
 		device.setIsDelete(Constants.IS_DELETE_FALSE);
-		return deviceMapper.select(device);
+		List<Device> devices = deviceMapper.select(device);
+		for (Device device2 : devices) {
+			DeviceProperty deviceProperty = devicePropertyMapper.selectByPrimaryKey(device2.getId());
+			device2.setDeviceProperty(deviceProperty);
+		}
+		return devices;
 	}
 
 	/**
@@ -526,6 +532,7 @@
 	@Override
 	@Transactional
 	public void saveOrUpdate(Device device, DeviceProperty deviceProperty) {
+		device.setMac(device.getMac().toLowerCase());
 		if (ObjectUtils.isEmpty(device.getId())) {
 			device.setState(Constants.DEVICE_STATE_OFFLINE);
 			device.setIsDelete(Constants.IS_DELETE_FALSE);
@@ -550,4 +557,57 @@
 		return new PageBean(deviceList);
 	}
 
+	@Override
+	public void offLinToMaintenance(Map<String, Object> parameters) {
+		ValidateUtil.notNull(parameters.get("id"), "param.is.null");
+		ValidateUtil.notNull(parameters.get("old_state"), "param.is.null");
+		ValidateUtil.notNull(parameters.get("new_state"), "param.is.null");
+		int count = 0;
+		if (Constants.DEVICE_STATE_OFFLINE.equals(parameters.get("old_state")) && Constants.DEVICE_STATE_MAINTENANCE.equals(parameters.get("new_state"))) {
+			Device device = new Device();
+			Example example = new Example(ENTITY_CLASS);
+			example.and().andEqualTo("id", new Integer(parameters.get("id").toString())).andEqualTo("state", Constants.DEVICE_STATE_OFFLINE);
+			device.setState(Constants.DEVICE_STATE_MAINTENANCE);
+			count = deviceMapper.updateByExampleSelective(device, example);
+		} 
+		if (count == 0) {
+			throw new BusinessException("������������������");
+		}
+	}
+
+	@Override
+	public void saveOrUpdate4Mobile(Device device, DeviceProperty deviceProperty) {
+		device.setMac(device.getMac().toLowerCase());
+		Device selectDevice = new Device();
+		selectDevice.setMac(device.getMac());
+		selectDevice = deviceMapper.selectOne(selectDevice);
+		if (ObjectUtils.isEmpty(selectDevice)) {
+			device.setState(Constants.DEVICE_STATE_OFFLINE);
+			device.setIsDelete(Constants.IS_DELETE_FALSE);
+			deviceMapper.insertSelective(device);
+			deviceProperty.setId(device.getId());
+			devicePropertyMapper.insertSelective(deviceProperty);
+		} else {
+			device.setId(selectDevice.getId());
+			deviceMapper.updateByPrimaryKeySelective(device);
+			deviceProperty.setId(selectDevice.getId());
+			devicePropertyMapper.selectByPrimaryKey(selectDevice.getId());
+			if (ObjectUtils.isEmpty(devicePropertyMapper.selectByPrimaryKey(deviceProperty.getId()))) {
+				devicePropertyMapper.insertSelective(deviceProperty);
+			} else {
+				devicePropertyMapper.updateByPrimaryKeySelective(deviceProperty);
+			}
+			
+		}
+		refreshDeviceInRedis(device.getMac());
+
+		
+	}
+
+	@Override
+	public String getLimitDataByDevice(Map<String, Object> parameters) {
+		// TODO Auto-generated method stub
+		return deviceMapper.getLimitDataByDevice(parameters);
+	}
+
 }

--
Gitblit v1.8.0