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