From 1bd6a5e7678477f5b1fab449c6d618aae9041611 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Wed, 13 Feb 2019 11:13:19 +0800
Subject: [PATCH] 设备 相关更新
---
src/main/java/com/moral/controller/DeviceController.java | 36 +++
src/main/resources/mapper/DensityMapper.xml | 17 ++
src/main/resources/mapper/DeviceMapper.xml | 129 +++++++++------
src/main/java/com/moral/entity/DeviceProperty.java | 32 ++++
src/main/java/com/moral/controller/MobileController.java | 9 +
src/main/java/com/moral/entity/Profession.java | 8
src/main/resources/mapper/ProfessionMapper.xml | 19 +-
src/main/java/com/moral/mapper/DensityMapper.java | 8 +
src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 64 ++++++-
src/main/java/com/moral/entity/Density.java | 30 +++
src/main/java/com/moral/entity/Device.java | 4
src/main/java/com/moral/service/impl/ProfessionServiceImpl.java | 29 +++
src/main/java/com/moral/service/DeviceService.java | 7
src/main/resources/mapper/DevicePropertyMapper.xml | 18 ++
src/main/java/com/moral/service/impl/HistoryServiceImpl.java | 7
src/main/java/com/moral/mapper/DeviceMapper.java | 3
src/main/java/com/moral/service/ProfessionService.java | 7
src/main/java/com/moral/mapper/DevicePropertyMapper.java | 8 +
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 8
19 files changed, 349 insertions(+), 94 deletions(-)
diff --git a/src/main/java/com/moral/controller/DeviceController.java b/src/main/java/com/moral/controller/DeviceController.java
index 1fad118..5febfa5 100644
--- a/src/main/java/com/moral/controller/DeviceController.java
+++ b/src/main/java/com/moral/controller/DeviceController.java
@@ -1,11 +1,5 @@
package com.moral.controller;
-import com.moral.common.bean.PageBean;
-import com.moral.common.bean.ResultBean;
-import com.moral.entity.Device;
-import com.moral.service.DeviceService;
-import org.springframework.web.bind.annotation.*;
-
import static com.moral.common.util.WebUtils.getParametersStartingWith;
import java.util.Date;
@@ -14,6 +8,21 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.alibaba.fastjson.JSONObject;
+import com.moral.common.bean.PageBean;
+import com.moral.common.bean.ResultBean;
+import com.moral.entity.Device;
+import com.moral.entity.DeviceProperty;
+import com.moral.service.DeviceService;
@RestController
@RequestMapping("device")
@@ -59,4 +68,19 @@
List<Device> devices = deviceService.getDevicesByProfessionId(parameters);
return new ResultBean<List<Device>>(devices);
}
+
+ @PostMapping("save-or-update")
+ public ResultBean saveOrUpdate(@RequestBody String jsonString){
+ Device device = JSONObject.parseObject(jsonString, Device.class);
+ DeviceProperty deviceProperty = JSONObject.parseObject(jsonString, DeviceProperty.class);
+ deviceService.saveOrUpdate(device,deviceProperty);
+ ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
+ return resultBean;
+ }
+
+ @GetMapping("device-list")
+ public PageBean getDeviceList(PageBean pageBean) {
+ return deviceService.getDeviceList(pageBean);
+ }
+
}
diff --git a/src/main/java/com/moral/controller/MobileController.java b/src/main/java/com/moral/controller/MobileController.java
index a15ddaf..de362b3 100644
--- a/src/main/java/com/moral/controller/MobileController.java
+++ b/src/main/java/com/moral/controller/MobileController.java
@@ -20,6 +20,7 @@
import com.moral.common.bean.AppData;
import com.moral.common.bean.ResultBean;
import com.moral.common.util.Crypto;
+import com.moral.common.util.WebUtils;
import com.moral.entity.Account;
import com.moral.entity.Device;
import com.moral.entity.MonitorPoint;
@@ -327,4 +328,12 @@
List<Map<String, Object>> sensors = historyService.getSensorDataBySensorKey(parameters);
return new ResultBean<List<Map<String, Object>>>(sensors);
}
+
+ @RequestMapping("profession-provincecode")
+ public ResultBean<List<Profession>> getProfessionByProvinceCode(HttpServletRequest request){
+ Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+ List<Profession> professions = professionService.getProfessiontList(parameters);
+ return new ResultBean<List<Profession>>(professions);
+ }
+
}
diff --git a/src/main/java/com/moral/entity/Density.java b/src/main/java/com/moral/entity/Density.java
new file mode 100644
index 0000000..360e724
--- /dev/null
+++ b/src/main/java/com/moral/entity/Density.java
@@ -0,0 +1,30 @@
+package com.moral.entity;
+
+import java.io.Serializable;
+
+import javax.persistence.Id;
+
+import lombok.Data;
+@Data
+public class Density implements Serializable {
+
+ @Id
+ private Integer id;
+
+ private Integer provinceCode;
+
+ private Integer professionId;
+
+ private Byte tech;
+
+ private String limitVal;
+
+ private String valUnit;
+
+ private String extA;
+
+ private Integer extB;
+
+ private static final long serialVersionUID = 1L;
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/entity/Device.java b/src/main/java/com/moral/entity/Device.java
index dae7f3d..1c01911 100644
--- a/src/main/java/com/moral/entity/Device.java
+++ b/src/main/java/com/moral/entity/Device.java
@@ -3,6 +3,7 @@
import java.util.Date;
import java.util.List;
+import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Transient;
@@ -19,6 +20,7 @@
* @mbggenerated Wed Nov 29 16:17:59 CST 2017
*/
@Id
+ @GeneratedValue(generator = "JDBC")
private Integer id;
/**
* This field was generated by MyBatis Generator. This field corresponds to the database column device.name
@@ -115,4 +117,6 @@
private List<Integer> organizationIds;
@Transient
private Profession profession;
+ @Transient
+ private DeviceProperty deviceProperty;
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/entity/DeviceProperty.java b/src/main/java/com/moral/entity/DeviceProperty.java
new file mode 100644
index 0000000..d66d904
--- /dev/null
+++ b/src/main/java/com/moral/entity/DeviceProperty.java
@@ -0,0 +1,32 @@
+package com.moral.entity;
+
+import java.io.Serializable;
+
+import javax.persistence.Id;
+
+import lombok.Data;
+@Data
+public class DeviceProperty implements Serializable {
+
+ @Id
+ private Integer id;
+
+ private Byte deviceTech;
+
+ private Byte deviceCat;
+
+ private String deviceSource;
+
+ private Integer extA;
+
+ private Integer extB;
+
+ private String extC;
+
+ private String extD;
+
+ private String extE;
+
+ private static final long serialVersionUID = 1L;
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/entity/Profession.java b/src/main/java/com/moral/entity/Profession.java
index 624a1ad..f49b325 100644
--- a/src/main/java/com/moral/entity/Profession.java
+++ b/src/main/java/com/moral/entity/Profession.java
@@ -3,10 +3,14 @@
import lombok.Data;
import javax.persistence.Id;
+import java.io.Serializable;
@Data
-public class Profession {
- @Id
+public class Profession implements Serializable {
+ private String provinceCode;
+
+ private static final long serialVersionUID = 1L;
+ @Id
private Integer id;
private String name;
diff --git a/src/main/java/com/moral/mapper/DensityMapper.java b/src/main/java/com/moral/mapper/DensityMapper.java
new file mode 100644
index 0000000..1379702
--- /dev/null
+++ b/src/main/java/com/moral/mapper/DensityMapper.java
@@ -0,0 +1,8 @@
+package com.moral.mapper;
+
+import com.moral.common.mapper.BaseMapper;
+import com.moral.entity.Density;
+
+public interface DensityMapper extends BaseMapper<Density>{
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/DeviceMapper.java b/src/main/java/com/moral/mapper/DeviceMapper.java
index 8dd670a..70c23aa 100644
--- a/src/main/java/com/moral/mapper/DeviceMapper.java
+++ b/src/main/java/com/moral/mapper/DeviceMapper.java
@@ -8,6 +8,7 @@
import com.moral.common.mapper.BaseMapper;
import com.moral.entity.Device;
+
import tk.mybatis.mapper.entity.Example;
public interface DeviceMapper extends BaseMapper<Device>{
@@ -38,4 +39,6 @@
List<Device> getDevicesByOrganizationId(Map<String, Object> parameters);
List<Map<String, Object>> getDevicesStateByRegion(Map<String, Object> parameters);
+
+ List<Device> getDeviceList(Example example);
}
\ No newline at end of file
diff --git a/src/main/java/com/moral/mapper/DevicePropertyMapper.java b/src/main/java/com/moral/mapper/DevicePropertyMapper.java
new file mode 100644
index 0000000..6eed6f6
--- /dev/null
+++ b/src/main/java/com/moral/mapper/DevicePropertyMapper.java
@@ -0,0 +1,8 @@
+package com.moral.mapper;
+
+import com.moral.common.mapper.BaseMapper;
+import com.moral.entity.DeviceProperty;
+
+public interface DevicePropertyMapper extends BaseMapper<DeviceProperty>{
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/DeviceService.java b/src/main/java/com/moral/service/DeviceService.java
index 9f29d35..cf06d71 100644
--- a/src/main/java/com/moral/service/DeviceService.java
+++ b/src/main/java/com/moral/service/DeviceService.java
@@ -3,10 +3,11 @@
import java.util.Date;
import java.util.List;
import java.util.Map;
+
import com.moral.common.bean.PageBean;
import com.moral.common.bean.PageResult;
-import com.moral.common.bean.ResultBean;
import com.moral.entity.Device;
+import com.moral.entity.DeviceProperty;
public interface DeviceService {
@@ -46,4 +47,8 @@
List<Device> getDevicesByOrganizationId(Map<String, Object> parameters);
Map<String,Long> queryDeviceStateSummary(Integer orgId);
+
+ void saveOrUpdate(Device device, DeviceProperty deviceProperty);
+
+ PageBean getDeviceList(PageBean pageBean);
}
diff --git a/src/main/java/com/moral/service/ProfessionService.java b/src/main/java/com/moral/service/ProfessionService.java
index 289dbc9..d57105c 100644
--- a/src/main/java/com/moral/service/ProfessionService.java
+++ b/src/main/java/com/moral/service/ProfessionService.java
@@ -1,12 +1,15 @@
package com.moral.service;
-import com.moral.entity.Profession;
-
import java.util.List;
+import java.util.Map;
+
+import com.moral.entity.Profession;
public interface ProfessionService {
List<Profession> queryByName(String nameLike);
public List<Profession> getProfessiontList();
+
+ public List<Profession> getProfessiontList(Map<String, Object> parameters);
}
diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
index f24a2b9..8e9366c 100644
--- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java
@@ -1,21 +1,16 @@
package com.moral.service.impl;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
-import com.alibaba.fastjson.TypeReference;
-import com.github.pagehelper.Page;
-import com.moral.common.bean.Constants;
-import com.moral.common.bean.PageBean;
-import com.moral.common.bean.PageResult;
-import com.moral.common.exception.BusinessException;
-import com.moral.common.util.ExampleUtil;
-import com.moral.common.util.RedisUtils;
-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;
@@ -24,11 +19,27 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
+import com.alibaba.fastjson.TypeReference;
+import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
+import com.moral.common.bean.Constants;
+import com.moral.common.bean.PageBean;
+import com.moral.common.bean.PageResult;
+import com.moral.common.exception.BusinessException;
+import com.moral.common.util.ExampleUtil;
+import com.moral.common.util.RedisUtils;
import com.moral.common.util.ValidateUtil;
import com.moral.entity.Device;
+import com.moral.entity.DeviceProperty;
+import com.moral.mapper.DeviceMapper;
+import com.moral.mapper.DevicePropertyMapper;
+import com.moral.mapper.DeviceVersionMapper;
+import com.moral.mapper.DictionaryDataMapper;
+import com.moral.mapper.MonitorPointMapper;
+import com.moral.mapper.OrganizationMapper;
import com.moral.service.AccountService;
import com.moral.service.DeviceService;
+
import tk.mybatis.mapper.entity.Example;
@Service
@@ -508,4 +519,35 @@
result.put("stop", stop);
return result;
}
+
+ @Resource
+ private DevicePropertyMapper devicePropertyMapper;
+
+ @Override
+ @Transactional
+ public void saveOrUpdate(Device device, DeviceProperty deviceProperty) {
+ if (ObjectUtils.isEmpty(device.getId())) {
+ device.setState(Constants.DEVICE_STATE_OFFLINE);
+ device.setIsDelete(Constants.IS_DELETE_FALSE);
+ deviceMapper.insertSelective(device);
+ deviceProperty.setId(device.getId());
+ } else {
+ deviceMapper.updateByPrimaryKeySelective(device);
+ devicePropertyMapper.deleteByPrimaryKey(deviceProperty);
+ }
+ devicePropertyMapper.insertSelective(deviceProperty);
+ refreshDeviceInRedis(device.getMac());
+
+ }
+
+ @Override
+ public PageBean getDeviceList(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean);
+ if(pageBean.getPageSize()>0){
+ PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize());
+ }
+ List<Device> deviceList = deviceMapper.getDeviceList(example);
+ return new PageBean(deviceList);
+ }
+
}
diff --git a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
index 37b4d81..dfb1c44 100644
--- a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
@@ -30,10 +30,10 @@
import com.moral.entity.Sensor;
import com.moral.mapper.DeviceMapper;
import com.moral.mapper.HistoryMapper;
-import com.moral.mapper.ProfessionMapper;
import com.moral.mapper.SensorMapper;
import com.moral.service.AccountService;
import com.moral.service.HistoryService;
+import com.moral.service.ProfessionService;
@Service
public class HistoryServiceImpl implements HistoryService {
@@ -51,7 +51,7 @@
private SensorMapper sensorMapper;
@Resource
- private ProfessionMapper professionMapper;
+ private ProfessionService professionService;
@Override
public Map<String, Object> getAllSensorAverageByDevice(Map<String, Object> parameters) throws Exception {
@@ -111,6 +111,7 @@
ValidateUtil.notNull(parameters.get("accountId"), "param.is.null");
String regionCode = parameters.get("regionCode").toString();
+ parameters.put("provinceCode", regionCode.substring(0,2).concat("0000"));
String regionType = "village";
String nextLevel = "";
if (regionCode.length() == 6) {
@@ -168,7 +169,7 @@
}
}
if ("profession".equals(parameters.get("dimension"))) {
- List<Profession> professions = professionMapper.selectAll();
+ List<Profession> professions = professionService.getProfessiontList(parameters);
for (Map<String, Object> map : result) {
for (Profession profession : professions) {
if (map.get("name").equals(profession.getName())) {
diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
index ffd22cb..0dfde57 100644
--- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -73,10 +73,10 @@
List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId);
params.put("orgIds",orgIds);
monitorPointList = monitorPointMapper.selectByMap(params);
- for(MonitorPoint monitorPoint:monitorPointList){
- Integer state = getStateFromRedis(monitorPoint.getId());
- monitorPoint.setState(state);
- }
+// for(MonitorPoint monitorPoint:monitorPointList){
+// Integer state = getStateFromRedis(monitorPoint.getId());
+// monitorPoint.setState(state);
+// }
}
return monitorPointList == null ? new ArrayList<>() : monitorPointList;
}
diff --git a/src/main/java/com/moral/service/impl/ProfessionServiceImpl.java b/src/main/java/com/moral/service/impl/ProfessionServiceImpl.java
index c46fadd..ed049f6 100644
--- a/src/main/java/com/moral/service/impl/ProfessionServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/ProfessionServiceImpl.java
@@ -1,14 +1,19 @@
package com.moral.service.impl;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
import com.moral.common.util.StringUtils;
import com.moral.entity.Profession;
import com.moral.mapper.ProfessionMapper;
import com.moral.service.ProfessionService;
-import org.springframework.stereotype.Service;
-import tk.mybatis.mapper.entity.Example;
-import javax.annotation.Resource;
-import java.util.List;
+import tk.mybatis.mapper.entity.Example;
@Service
public class ProfessionServiceImpl implements ProfessionService {
@@ -28,4 +33,20 @@
return professionMapper.selectAll();
}
+
+ @Override
+ public List<Profession> getProfessiontList(Map<String, Object> parameters) {
+ List<Profession> professions = null;
+ if (parameters.containsKey("provinceCode")) {
+ Profession profession = new Profession();
+ profession.setProvinceCode(parameters.get("provinceCode").toString());
+ professions = professionMapper.select(profession);
+ }
+ if (ObjectUtils.isEmpty(professions)) {
+ Example example = new Example(Profession.class);
+ example.and().andIsNull("provinceCode");
+ professions = professionMapper.selectByExample(example);
+ }
+ return professions;
+ }
}
diff --git a/src/main/resources/mapper/DensityMapper.xml b/src/main/resources/mapper/DensityMapper.xml
new file mode 100644
index 0000000..e8b7505
--- /dev/null
+++ b/src/main/resources/mapper/DensityMapper.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.DensityMapper">
+ <resultMap id="BaseResultMap" type="com.moral.entity.Density">
+ <id column="id" jdbcType="INTEGER" property="id" />
+ <result column="province_code" jdbcType="INTEGER" property="provinceCode" />
+ <result column="profession_id" jdbcType="INTEGER" property="professionId" />
+ <result column="tech" jdbcType="TINYINT" property="tech" />
+ <result column="limit_val" jdbcType="CHAR" property="limitVal" />
+ <result column="val_unit" jdbcType="VARCHAR" property="valUnit" />
+ <result column="ext_a" jdbcType="VARCHAR" property="extA" />
+ <result column="ext_b" jdbcType="INTEGER" property="extB" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ id, province_code, profession_id, tech, limit_val, val_unit, ext_a, ext_b
+ </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index 4b05ca1..5680b8d 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -1,39 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.moral.mapper.DeviceMapper">
- <resultMap id="BaseResultMap" type="com.moral.entity.Device">
- <id column="id" jdbcType="INTEGER" property="id" />
- <result column="name" jdbcType="VARCHAR" property="name" />
- <result column="address" jdbcType="VARCHAR" property="address" />
- <result column="longitude" jdbcType="REAL" property="longitude" />
- <result column="latitude" jdbcType="REAL" property="latitude" />
- <result column="mac" jdbcType="VARCHAR" property="mac" />
- <result column="operate_user_id" jdbcType="INTEGER" property="operateUserId" />
- <result column="state" jdbcType="CHAR" property="state" />
- <result column="is_delete" jdbcType="CHAR" property="isDelete" />
- <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
- <result column="install_time" jdbcType="TIMESTAMP" property="installTime" />
- <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" />
- <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" />
- <result column="profession_id" jdbcType="INTEGER" property="professionId" />
- <association property="operateUser" javaType="com.moral.entity.OperateUser">
- <result column="operate_user_id" property="id" jdbcType="INTEGER" />
- <result column="operate_user_name" property="name" jdbcType="VARCHAR" />
- </association>
- <association property="deviceVersion" javaType="com.moral.entity.DeviceVersion">
- <result column="device_version_id" property="id" jdbcType="INTEGER" />
- <result column="device_version_value" property="version" jdbcType="INTEGER" />
- <result column="device_version_name" property="name" jdbcType="VARCHAR" />
- </association>
- <association property="monitorPoint" javaType="com.moral.entity.MonitorPoint">
- <result column="monitor_point_id" property="id" jdbcType="INTEGER" />
- <result column="monitor_point_name" property="name" jdbcType="VARCHAR" />
- </association>
- <association property="profession" javaType="com.moral.entity.Profession">
- <result column="profession_id" property="id" jdbcType="INTEGER" />
- <result column="profession_name" property="name" jdbcType="VARCHAR" />
- </association>
- </resultMap>
+ <resultMap id="ResultMap" type="com.moral.entity.Device">
+ <id column="id" jdbcType="INTEGER" property="id" />
+ <result column="name" jdbcType="VARCHAR" property="name" />
+ <result column="address" jdbcType="VARCHAR" property="address" />
+ <result column="longitude" jdbcType="DOUBLE" property="longitude" />
+ <result column="latitude" jdbcType="DOUBLE" property="latitude" />
+ <result column="mac" jdbcType="VARCHAR" property="mac" />
+ <result column="operate_user_id" jdbcType="INTEGER" property="operateUserId" />
+ <result column="state" jdbcType="CHAR" property="state" />
+ <result column="is_delete" jdbcType="CHAR" property="isDelete" />
+ <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+ <result column="install_time" jdbcType="TIMESTAMP" property="installTime" />
+ <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" />
+ <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" />
+ <result column="profession_id" jdbcType="INTEGER" property="professionId" />
+ </resultMap>
+
+ <resultMap id="BaseResultMap" type="com.moral.entity.Device" extends="ResultMap">
+ <association property="operateUser" javaType="com.moral.entity.OperateUser">
+ <result column="operate_user_id" property="id" jdbcType="INTEGER" />
+ <result column="operate_user_name" property="name" jdbcType="VARCHAR" />
+ </association>
+ <association property="deviceVersion" javaType="com.moral.entity.DeviceVersion">
+ <result column="device_version_id" property="id" jdbcType="INTEGER" />
+ <result column="device_version_value" property="version" jdbcType="INTEGER" />
+ <result column="device_version_name" property="name" jdbcType="VARCHAR" />
+ </association>
+ <association property="monitorPoint" javaType="com.moral.entity.MonitorPoint">
+ <result column="monitor_point_id" property="id" jdbcType="INTEGER" />
+ <result column="monitor_point_name" property="name" jdbcType="VARCHAR" />
+ <result column="province_code" property="provinceCode" jdbcType="VARCHAR" />
+ </association>
+ <association property="profession" javaType="com.moral.entity.Profession">
+ <result column="profession_id" property="id" jdbcType="INTEGER" />
+ <result column="profession_name" property="name" jdbcType="VARCHAR" />
+ </association>
+ </resultMap>
+
+ <resultMap id="PropertyResultMap" type="com.moral.entity.Device" extends="BaseResultMap">
+ <association property="deviceProperty" javaType="com.moral.entity.DeviceProperty">
+ <result column="id" property="id" jdbcType="INTEGER" />
+ <result column="device_tech" property="deviceTech" jdbcType="TINYINT" />
+ <result column="device_cat" property="deviceCat" jdbcType="TINYINT" />
+ <result column="device_source" property="deviceSource" jdbcType="VARCHAR" />
+ </association>
+ </resultMap>
+
+ <resultMap id="BaseResultWithOrgIdsMap" type="com.moral.entity.Device" extends="BaseResultMap">
+ <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection>
+ </resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
@@ -244,9 +261,6 @@
AND dev.is_delete =0
</where>
</select>
- <resultMap id="BaseResultWithOrgIdsMap" type="com.moral.entity.Device" extends="BaseResultMap">
- <collection property="organizationIds" column="id" select="selectOrganizationIds"></collection>
- </resultMap>
<!-- resultMap������ -->
<select id="selectOrganizationIds" resultType="java.lang.Integer">
call proc_organizationIds_GetByDeviceId(#{id,jdbcType=INTEGER});
@@ -336,23 +350,6 @@
</if>
</select>
- <resultMap id="ResultMap" type="com.moral.entity.Device">
- <id column="id" jdbcType="INTEGER" property="id" />
- <result column="name" jdbcType="VARCHAR" property="name" />
- <result column="address" jdbcType="VARCHAR" property="address" />
- <result column="longitude" jdbcType="DOUBLE" property="longitude" />
- <result column="latitude" jdbcType="DOUBLE" property="latitude" />
- <result column="mac" jdbcType="VARCHAR" property="mac" />
- <result column="operate_user_id" jdbcType="INTEGER" property="operateUserId" />
- <result column="state" jdbcType="CHAR" property="state" />
- <result column="is_delete" jdbcType="CHAR" property="isDelete" />
- <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
- <result column="install_time" jdbcType="TIMESTAMP" property="installTime" />
- <result column="monitor_point_id" jdbcType="INTEGER" property="monitorPointId" />
- <result column="device_version_id" jdbcType="INTEGER" property="deviceVersionId" />
- <result column="profession_id" jdbcType="INTEGER" property="professionId" />
- </resultMap>
-
<select id="getDevicesByOrganizationId" resultMap="ResultMap">
SELECT
d.*
@@ -387,4 +384,30 @@
</if>
</where>
</select>
+
+ <select id="getDeviceList" resultMap="PropertyResultMap">
+ select
+ dev.*,
+ ouser.name as operate_user_name,
+ dvn.name as device_version_name,
+ mpt.name as monitor_point_name,
+ mpt.province_code,
+ dp.device_tech,
+ dp.device_cat,
+ dp.device_source
+ from device dev
+ left join operate_user ouser on dev.operate_user_id = ouser.id
+ left join device_version dvn on dev.device_version_id = dvn.id
+ left join monitor_point mpt on dev.monitor_point_id = mpt.id
+ left join device_property dp on dev.id = dp.id
+ where dev.id in (
+ select id from device
+ <if test="_parameter != null">
+ <include refid="Example_Where_Clause" />
+ </if>
+ <if test="orderByClause != null">
+ order by ${orderByClause}
+ </if>
+ )
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/DevicePropertyMapper.xml b/src/main/resources/mapper/DevicePropertyMapper.xml
new file mode 100644
index 0000000..2760fef
--- /dev/null
+++ b/src/main/resources/mapper/DevicePropertyMapper.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.DevicePropertyMapper">
+ <resultMap id="BaseResultMap" type="com.moral.entity.DeviceProperty">
+ <id column="id" jdbcType="INTEGER" property="id" />
+ <result column="device_tech" jdbcType="TINYINT" property="deviceTech" />
+ <result column="device_cat" jdbcType="TINYINT" property="deviceCat" />
+ <result column="device_source" jdbcType="VARCHAR" property="deviceSource" />
+ <result column="ext_a" jdbcType="INTEGER" property="extA" />
+ <result column="ext_b" jdbcType="INTEGER" property="extB" />
+ <result column="ext_c" jdbcType="VARCHAR" property="extC" />
+ <result column="ext_d" jdbcType="VARCHAR" property="extD" />
+ <result column="ext_e" jdbcType="VARCHAR" property="extE" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ id, device_tech, device_cat, device_source, ext_a, ext_b, ext_c, ext_d, ext_e
+ </sql>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ProfessionMapper.xml b/src/main/resources/mapper/ProfessionMapper.xml
index 2b6902b..a1e7a3a 100644
--- a/src/main/resources/mapper/ProfessionMapper.xml
+++ b/src/main/resources/mapper/ProfessionMapper.xml
@@ -1,9 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-
-<mapper namespace="com.moral.mapper.ProfessionMapper" >
- <resultMap id="BaseResultMap" type="com.moral.entity.Profession" >
- <id column="id" property="id" jdbcType="INTEGER" />
- <result column="name" property="name" jdbcType="VARCHAR" />
- </resultMap>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.ProfessionMapper">
+ <resultMap id="BaseResultMap" type="com.moral.entity.Profession">
+ <id column="id" jdbcType="INTEGER" property="id" />
+ <result column="name" jdbcType="VARCHAR" property="name" />
+ <result column="province_code" jdbcType="VARCHAR" property="provinceCode" />
+ </resultMap>
+ <sql id="Base_Column_List">
+ id, name, province_code
+ </sql>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0