From e05adb8da62b72798fe273454d51bb36b2ee72de Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Thu, 13 May 2021 15:56:16 +0800
Subject: [PATCH] Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into dev

---
 screen-api/src/main/java/com/moral/api/entity/GroupMenu.java                        |    5 
 screen-manage/src/main/java/com/moral/api/entity/MonitorPoint.java                  |  100 +++++
 screen-manage/src/main/java/com/moral/api/controller/DeviceController.java          |   96 +++++
 screen-api/src/main/java/com/moral/api/controller/GroupController.java              |    2 
 screen-api/src/main/java/com/moral/api/controller/LogController.java                |    2 
 screen-manage/src/main/java/com/moral/api/entity/Group.java                         |    5 
 screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java |  227 +++++++++++
 screen-manage/src/main/java/com/moral/api/controller/MonitorPointController.java    |   82 ++++
 screen-manage/src/main/java/com/moral/api/entity/Device.java                        |  137 +++++++
 screen-api/src/main/java/com/moral/api/entity/User.java                             |    7 
 screen-api/src/main/java/com/moral/api/entity/UserGroup.java                        |    1 
 screen-common/src/main/java/com/moral/constant/Constants.java                       |    2 
 screen-api/src/main/resources/mapper/GroupMenuMapper.xml                            |    2 
 screen-api/src/main/resources/mapper/MenuMapper.xml                                 |    8 
 screen-api/src/main/java/com/moral/api/controller/MenuController.java               |    2 
 screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java                |    4 
 screen-manage/src/main/java/com/moral/api/service/DeviceService.java                |   30 +
 screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java          |   31 +
 screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java       |    4 
 screen-manage/src/main/java/com/moral/api/entity/UserLog.java                       |    3 
 screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java       |   75 +++
 screen-api/src/main/java/com/moral/api/controller/UserController.java               |    2 
 screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java       |   14 
 screen-manage/src/main/java/com/moral/api/entity/User.java                          |    8 
 screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java                  |   27 +
 screen-manage/src/main/resources/mapper/GroupMenuMapper.xml                         |   22 
 screen-manage/src/main/java/com/moral/api/mapper/MonitorPointMapper.java            |   20 +
 screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java              |   33 +
 screen-manage/src/main/resources/mapper/DeviceMapper.xml                            |   81 ++++
 screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java                     |    7 
 screen-manage/src/main/java/com/moral/api/entity/UserGroup.java                     |    2 
 screen-manage/src/main/resources/mapper/MonitorPointMapper.xml                      |   63 +++
 32 files changed, 1,063 insertions(+), 41 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/GroupController.java b/screen-api/src/main/java/com/moral/api/controller/GroupController.java
index 938b016..3223ef9 100644
--- a/screen-api/src/main/java/com/moral/api/controller/GroupController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/GroupController.java
@@ -27,7 +27,7 @@
 import com.moral.util.PageResult;
 
 @Slf4j
-@Api(tags = {"���"})
+@Api(tags = {"���������"})
 @RestController
 @RequestMapping("/group")
 public class GroupController {
diff --git a/screen-api/src/main/java/com/moral/api/controller/LogController.java b/screen-api/src/main/java/com/moral/api/controller/LogController.java
index 8df7d1a..7ff9fa8 100644
--- a/screen-api/src/main/java/com/moral/api/controller/LogController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/LogController.java
@@ -22,7 +22,7 @@
 @Slf4j
 @RestController
 @RequestMapping("/log")
-@Api(tags = "������")
+@Api(tags = "������������")
 public class LogController {
 
     @Autowired
diff --git a/screen-api/src/main/java/com/moral/api/controller/MenuController.java b/screen-api/src/main/java/com/moral/api/controller/MenuController.java
index 0a9fd19..f8b69ba 100644
--- a/screen-api/src/main/java/com/moral/api/controller/MenuController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/MenuController.java
@@ -25,7 +25,7 @@
 import com.moral.util.TokenUtils;
 
 @Slf4j
-@Api(tags = {"������"})
+@Api(tags = {"������������"})
 @RestController
 @RequestMapping("/menu")
 public class MenuController {
diff --git a/screen-api/src/main/java/com/moral/api/controller/UserController.java b/screen-api/src/main/java/com/moral/api/controller/UserController.java
index a9dfc17..ba6d30a 100644
--- a/screen-api/src/main/java/com/moral/api/controller/UserController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/UserController.java
@@ -26,7 +26,7 @@
 import com.moral.util.PageResult;
 
 @Slf4j
-@Api(tags = {"������"})
+@Api(tags = {"������������"})
 @RestController
 @RequestMapping("/user")
 public class UserController {
diff --git a/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java b/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
index 942572f..b91ca86 100644
--- a/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
+++ b/screen-api/src/main/java/com/moral/api/entity/GroupMenu.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -43,7 +44,7 @@
     /**
      * ������
      */
-    private Integer channel;
+    private String channelKey;
 
     /**
      * ������Id
@@ -53,11 +54,13 @@
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
 
     /**
diff --git a/screen-api/src/main/java/com/moral/api/entity/User.java b/screen-api/src/main/java/com/moral/api/entity/User.java
index ebc1066..678ff19 100644
--- a/screen-api/src/main/java/com/moral/api/entity/User.java
+++ b/screen-api/src/main/java/com/moral/api/entity/User.java
@@ -1,18 +1,15 @@
 package com.moral.api.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 import java.io.Serializable;
 import java.util.Date;
-import java.util.List;
-import java.util.Set;
+
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
diff --git a/screen-api/src/main/java/com/moral/api/entity/UserGroup.java b/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
index 96b99bb..05d4e2f 100644
--- a/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
+++ b/screen-api/src/main/java/com/moral/api/entity/UserGroup.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
+
 import java.io.Serializable;
 import java.util.Date;
 
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
index 45bdefd..18cecf2 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/GroupMenuServiceImpl.java
@@ -56,7 +56,7 @@
         Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token);
         Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization");
         UpdateWrapper<GroupMenu> deleteWrapper = new UpdateWrapper<>();
-        deleteWrapper.eq("group_id", groupId).eq("channel", Constants.WEB_CHANNEL);
+        deleteWrapper.eq("group_id", groupId).eq("channel_key", Constants.WEB_CHANNEL);
         groupMenuMapper.delete(deleteWrapper);
         List<String> menus = new ArrayList<>();
         if (menuIds != null && !menuIds.isEmpty()) {
@@ -65,7 +65,7 @@
                 GroupMenu groupMenu = new GroupMenu();
                 groupMenu.setGroupId(groupId);
                 groupMenu.setMenuId(menuId);
-                groupMenu.setChannel(Constants.WEB_CHANNEL);
+                groupMenu.setChannelKey(Constants.WEB_CHANNEL);
                 groupMenu.setOrganizationId((Integer) orgInfo.get("id"));
                 groupMenuMapper.insert(groupMenu);
             });
diff --git a/screen-api/src/main/resources/mapper/GroupMenuMapper.xml b/screen-api/src/main/resources/mapper/GroupMenuMapper.xml
index bdb2457..5930463 100644
--- a/screen-api/src/main/resources/mapper/GroupMenuMapper.xml
+++ b/screen-api/src/main/resources/mapper/GroupMenuMapper.xml
@@ -7,7 +7,7 @@
                     <id column="id" property="id" />
                     <result column="group_id" property="groupId" />
                     <result column="menu_id" property="menuId" />
-                    <result column="channel" property="channel" />
+                    <result column="channel_key" property="channelKey" />
                     <result column="organization_id" property="organizationId" />
                     <result column="create_time" property="createTime" />
                     <result column="update_time" property="updateTime" />
diff --git a/screen-api/src/main/resources/mapper/MenuMapper.xml b/screen-api/src/main/resources/mapper/MenuMapper.xml
index 28df161..abfa655 100644
--- a/screen-api/src/main/resources/mapper/MenuMapper.xml
+++ b/screen-api/src/main/resources/mapper/MenuMapper.xml
@@ -21,24 +21,24 @@
 
     <select id="selectUserMenu" resultMap="BaseResultMap">
         select
-        <include refid="Base_Column_List"></include>
+        <include refid="Base_Column_List"/>
         FROM `user_group` ug,`group_menu` gm,`menu` m
         WHERE ug.user_id = #{userId}
         AND ug.group_id = gm.group_id
         AND gm.menu_id = m.id
         AND ug.is_delete = 0
         AND gm.is_delete = 0
-        AND gm.channel = 1
+        AND gm.channel_key = 1
         AND m.is_delete = 0
     </select>
 
     <select id="selectOrganizationMenu" resultMap="BaseResultMap">
         select
-        <include refid="Base_Column_List"></include>
+        <include refid="Base_Column_List"/>
         FROM `menu` m, `organization_menu` om
         WHERE om.organization_id = #{orgId}
         AND m.id = om.menu_id
-        AND om.channel = 1
+        AND om.channel_key = 1
         AND om.menu_id = m.id
         AND om.is_delete = 0
         AND m.is_delete = 0
diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java
index e538e66..1703fcc 100644
--- a/screen-common/src/main/java/com/moral/constant/Constants.java
+++ b/screen-common/src/main/java/com/moral/constant/Constants.java
@@ -62,7 +62,7 @@
     /*
      * ���������������
      * */
-    public static final Integer WEB_CHANNEL = 1;
+    public static final String WEB_CHANNEL = "1";
 
     /*
      * ������������������
diff --git a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
index a78ed51..5c6b8d6 100644
--- a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
+++ b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
@@ -49,7 +49,9 @@
     SENSOR_KEY_IS_USED(-35, "������������������������"),
     ORGANIZATION_USER_NOT_EXIST(-36,"���������������������"),
     SENSOR_IS_NOT_EXIST(-37, "���������������"),
-    UNIT_CONVERSION_EXIST(-38,"������������������������")
+    UNIT_CONVERSION_EXIST(-38,"������������������������"),
+    MONITOR_POINT_IS_EXIST(-39,"���������������"),
+    MONITOR_POINT_IS_NOT_EXIST(-40,"���������������")
     ;
     private final Integer code;
     private final String  msg;
diff --git a/screen-manage/src/main/java/com/moral/api/controller/DeviceController.java b/screen-manage/src/main/java/com/moral/api/controller/DeviceController.java
new file mode 100644
index 0000000..16691cf
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/DeviceController.java
@@ -0,0 +1,96 @@
+package com.moral.api.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.entity.Organization;
+import com.moral.api.entity.User;
+import com.moral.api.pojo.vo.device.DeviceVO;
+import com.moral.api.service.DeviceService;
+import com.moral.api.service.OrganizationService;
+import com.moral.constant.ResultMessage;
+import com.moral.util.PageResult;
+
+@Slf4j
+@Api(tags = {"������������"})
+@RestController
+@RequestMapping(value = "/device")
+public class DeviceController {
+
+    @Autowired
+    private DeviceService deviceService;
+
+    @Autowired
+    private OrganizationService organizationService;
+
+    @ApiOperation(value = "������������", notes = "������������")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
+    })
+    @RequestMapping(value = "insert", method = RequestMethod.POST)
+    public ResultMessage insert(@RequestBody Device device) {
+        deviceService.insert(device);
+        return ResultMessage.ok();
+    }
+
+    @ApiOperation(value = "���������������", notes = "���������������")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
+    })
+    @RequestMapping(value = "operators", method = RequestMethod.GET)
+    public ResultMessage selectOperators() {
+        List<ManageAccount> operators = deviceService.selectAllOperator();
+        return ResultMessage.ok(operators);
+    }
+
+    @ApiOperation(value = "������������", notes = "������������")
+    @RequestMapping(value = "versions", method = RequestMethod.GET)
+    public ResultMessage selectVersions() {
+        return null;
+    }
+
+    @ApiOperation(value = "������������", notes = "������������")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String")
+    })
+    @RequestMapping(value = "organizations", method = RequestMethod.GET)
+    public ResultMessage selectOrganizations() {
+        List<Organization> organizations = deviceService.selectAllOrganization();
+        return ResultMessage.ok(organizations);
+    }
+
+    @ApiOperation(value = "������������������", notes = "������������������")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "page", value = "���������", required = false, paramType = "query", dataType = "Integer"),
+            @ApiImplicitParam(name = "size", value = "������������", required = false, paramType = "query", dataType = "Integer"),
+            @ApiImplicitParam(name = "order", value = "������������", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "orderType", value = "������������������������0������������1", defaultValue = "0", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
+            @ApiImplicitParam(name = "organizationName", value = "������������������", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "monitorPointName", value = "������������������", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "deviceName", value = "������������������������", required = false, paramType = "query", dataType = "String"),
+            @ApiImplicitParam(name = "mac", value = "mac������������", required = false, paramType = "query", dataType = "String"),
+    })
+    @RequestMapping(value = "select", method = RequestMethod.POST)
+    public ResultMessage select(@RequestBody Map<String, Object> parameters) {
+        Page<DeviceVO> userPage = deviceService.selectDevices(parameters);
+        PageResult<DeviceVO> pageResult = new PageResult<>(
+                userPage.getTotal(), userPage.getPages(), userPage.getRecords()
+        );
+        return ResultMessage.ok(pageResult);
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/controller/MonitorPointController.java b/screen-manage/src/main/java/com/moral/api/controller/MonitorPointController.java
new file mode 100644
index 0000000..30b5290
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/controller/MonitorPointController.java
@@ -0,0 +1,82 @@
+package com.moral.api.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.moral.api.entity.MonitorPoint;
+import com.moral.api.entity.Sensor;
+import com.moral.api.service.MonitorPointService;
+import com.moral.api.service.SensorService;
+import com.moral.constant.ResponseCodeEnum;
+import com.moral.constant.ResultMessage;
+import com.moral.util.WebUtils;
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+@Slf4j
+@Api(tags = {"������"})
+@RestController
+@RequestMapping("/monitorPoint")
+public class MonitorPointController {
+
+    @Autowired
+    private MonitorPointService monitorPointService;
+
+    @Autowired
+    private SensorService sensorService;
+
+    @RequestMapping(value = "insertOneMonitorPoint", method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage insertOneMonitorPoint(@RequestBody Map<String, Object> parameters,HttpServletRequest request) {
+        MonitorPoint monitorPoint = JSON.parseObject(JSON.toJSONString(parameters), MonitorPoint.class);
+        Map<String,Object> resultMap = monitorPointService.insertMonitorPoint(monitorPoint);
+        String msg = resultMap.get("msg").toString();
+        int code = Integer.parseInt(resultMap.get("code").toString());
+        if (code == 0){
+            return ResultMessage.ok(msg);
+        }
+        return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString());
+        //return null;
+    }
+
+    @RequestMapping(value = "updateMonitorPoint", method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage updateMonitorPoint(@RequestBody Map<String, Object> parameters,HttpServletRequest request) {
+        Map<String,Object> resultMap = monitorPointService.updateMonitorPoint(parameters);
+        String msg = resultMap.get("msg").toString();
+        int code = Integer.parseInt(resultMap.get("code").toString());
+        if (code == 0){
+            return ResultMessage.ok(msg);
+        }
+        return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString());
+    }
+
+    @RequestMapping(value = "getAllMonitorPoint", method = RequestMethod.GET)
+    @ResponseBody
+    public ResultMessage getAllMonitorPoint(HttpServletRequest request) {
+        Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
+        Map<String,Object> resultMap = monitorPointService.getAllMonitorPoint(parameters);
+        if (!resultMap.containsKey("code")){
+            return ResultMessage.ok(resultMap);
+        }
+        return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString());
+    }
+
+    @RequestMapping(value = "deleteMonitorPoint", method = RequestMethod.POST)
+    @ResponseBody
+    public ResultMessage deleteMonitorPoint(@RequestBody Map<String, Object> parameters,HttpServletRequest request) {
+        if (!parameters.containsKey("id")){
+            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(),ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+        }
+        Map<String,Object> resultMap = monitorPointService.deleteMonitorPoint(parameters);
+        String msg = resultMap.get("msg").toString();
+        int code = Integer.parseInt(resultMap.get("code").toString());
+        if (code == 0){
+            return ResultMessage.ok(msg);
+        }
+        return ResultMessage.fail(Integer.parseInt(resultMap.get("code").toString()),resultMap.get("msg").toString());
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/Device.java b/screen-manage/src/main/java/com/moral/api/entity/Device.java
new file mode 100644
index 0000000..b107cba
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/Device.java
@@ -0,0 +1,137 @@
+package com.moral.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-11
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Device extends Model<Device> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ������id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * ������������
+     */
+    private String name;
+
+    /**
+     * mac���
+     */
+    private String mac;
+
+    /**
+     * ������������
+     */
+    private String address;
+
+    /**
+     * ������
+     */
+    private Double longitude;
+
+    /**
+     * ������
+     */
+    private Double latitude;
+
+    /**
+     * ���������������������������������
+     */
+    private String state;
+
+    /**
+     * ���������id���������������������������������manage_account
+     */
+    private String operateIds;
+
+    /**
+     * ������id
+     */
+    private Integer monitorPointId;
+
+    /**
+     * ������id
+     */
+    private Integer organizationId;
+
+    /**
+     * ������������id
+     */
+    private Integer deviceVersionId;
+
+    /**
+     * ���������������������������
+     */
+    private String profession;
+
+    /**
+     * ���������������1������������2������������3������������������������������������
+     */
+    private String tech;
+
+    /**
+     * ������������������������������������
+     */
+    private String detector;
+
+    /**
+     * ������������������������������
+     */
+    private String purchaser;
+
+    /**
+     * ������(������)������
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * ������������
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date updateTime;
+
+    /**
+     * ������������
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date installTime;
+
+    /**
+     * ������������,0���������������1���������
+     */
+    private String isDelete;
+
+    /**
+     * ������������������������
+     */
+    private String extend;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/Group.java b/screen-manage/src/main/java/com/moral/api/entity/Group.java
index 5d9594c..0b79a9b 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/Group.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/Group.java
@@ -4,7 +4,8 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -45,11 +46,13 @@
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
 
     /**
diff --git a/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java b/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java
index 55ec085..7adb89b 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/GroupMenu.java
@@ -4,7 +4,8 @@
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -43,7 +44,7 @@
     private Integer menuId;
 
     /**
-     * ���������������
+     * ������
      */
     private String channelKey;
 
@@ -55,11 +56,13 @@
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
 
     /**
diff --git a/screen-manage/src/main/java/com/moral/api/entity/MonitorPoint.java b/screen-manage/src/main/java/com/moral/api/entity/MonitorPoint.java
new file mode 100644
index 0000000..559bdf6
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/MonitorPoint.java
@@ -0,0 +1,100 @@
+package com.moral.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class MonitorPoint extends Model<MonitorPoint> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ������
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * ���������
+     */
+    private String name;
+
+    /**
+     * ������
+     */
+    private Double longitude;
+
+    /**
+     * ������
+     */
+    private Double latitude;
+
+    /**
+     * ���������
+     */
+    private Integer provinceCode;
+
+    /**
+     * ���������������
+     */
+    private Integer cityCode;
+
+    /**
+     * ���/���/���������
+     */
+    private Integer areaCode;
+
+    /**
+     * ������������
+     */
+    private String address;
+
+    /**
+     * ������id
+     */
+    private Integer organizationId;
+
+    /**
+     * ������������
+     */
+    private Date createTime;
+
+    /**
+     * ������������
+     */
+    private Date updateTime;
+
+    /**
+     * ���������������
+     */
+    private String isDelete;
+
+    /**
+     * ������
+     */
+    @TableField(value = "`desc`")
+    private String desc;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/User.java b/screen-manage/src/main/java/com/moral/api/entity/User.java
index afe45ab..15bf9e3 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/User.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/User.java
@@ -3,7 +3,9 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -43,6 +45,7 @@
     /**
      * ������
      */
+    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
     private String password;
 
     /**
@@ -73,16 +76,19 @@
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
 
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date expireTime;
 
     /**
diff --git a/screen-manage/src/main/java/com/moral/api/entity/UserGroup.java b/screen-manage/src/main/java/com/moral/api/entity/UserGroup.java
index a595662..a4def76 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/UserGroup.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/UserGroup.java
@@ -3,8 +3,10 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
+
 import java.time.LocalDateTime;
 import java.io.Serializable;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
diff --git a/screen-manage/src/main/java/com/moral/api/entity/UserLog.java b/screen-manage/src/main/java/com/moral/api/entity/UserLog.java
index 58f4dca..416fef5 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/UserLog.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/UserLog.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
 import java.io.Serializable;
 import java.util.Date;
 
@@ -57,6 +59,7 @@
     /**
      * ������������
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
 
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java
new file mode 100644
index 0000000..0d2726a
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -0,0 +1,27 @@
+package com.moral.api.mapper;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.moral.api.pojo.vo.device.DeviceVO;
+
+/**
+ * <p>
+ * ��������� Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-11
+ */
+public interface DeviceMapper extends BaseMapper<Device> {
+
+    IPage<DeviceVO> selectAllDeviceInfo(Page<DeviceVO> page, @Param("ew") QueryWrapper<DeviceVO> queryWrapper);
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/MonitorPointMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/MonitorPointMapper.java
new file mode 100644
index 0000000..c8e05dc
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/MonitorPointMapper.java
@@ -0,0 +1,20 @@
+package com.moral.api.mapper;
+
+import com.moral.api.entity.MonitorPoint;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-12
+ */
+public interface MonitorPointMapper extends BaseMapper<MonitorPoint> {
+
+    void updateMonitorPoint(Map map);
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java
new file mode 100644
index 0000000..d6b3ea6
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/device/DeviceVO.java
@@ -0,0 +1,33 @@
+package com.moral.api.pojo.vo.device;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+import com.moral.api.entity.Device;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.entity.Organization;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class DeviceVO extends Device {
+
+    /*
+    * ������
+    * */
+    private String professionName;
+
+    /*
+    * ������
+    * */
+    private Organization organization;
+
+    /*
+    * ���������
+    * */
+    private List<ManageAccount> operators;
+
+
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/DeviceService.java b/screen-manage/src/main/java/com/moral/api/service/DeviceService.java
new file mode 100644
index 0000000..a7d25e7
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/DeviceService.java
@@ -0,0 +1,30 @@
+package com.moral.api.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.entity.Organization;
+import com.moral.api.pojo.vo.device.DeviceVO;
+
+/**
+ * <p>
+ * ��������� ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-11
+ */
+public interface DeviceService extends IService<Device> {
+
+    void insert(Device device);
+
+    List<ManageAccount> selectAllOperator();
+
+    List<Organization> selectAllOrganization();
+
+    Page<DeviceVO> selectDevices(Map<String, Object> parameters);
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java b/screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java
new file mode 100644
index 0000000..25412d5
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/MonitorPointService.java
@@ -0,0 +1,31 @@
+package com.moral.api.service;
+
+import com.moral.api.entity.MonitorPoint;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-12
+ */
+@Transactional
+public interface MonitorPointService extends IService<MonitorPoint> {
+
+    @Transactional
+    Map<String,Object> insertMonitorPoint(MonitorPoint monitorPoint);
+
+    Map<String,Object> getAllMonitorPoint(Map map);
+
+    @Transactional
+    Map<String,Object> updateMonitorPoint(Map<String,Object> updateMap);
+
+    @Transactional
+    Map<String,Object> deleteMonitorPoint(Map map);
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
new file mode 100644
index 0000000..bb7f828
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -0,0 +1,75 @@
+package com.moral.api.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.Device;
+import com.moral.api.entity.ManageAccount;
+import com.moral.api.entity.Organization;
+import com.moral.api.entity.User;
+import com.moral.api.mapper.DeviceMapper;
+import com.moral.api.mapper.ManageAccountMapper;
+import com.moral.api.mapper.OrganizationMapper;
+import com.moral.api.pojo.vo.device.DeviceVO;
+import com.moral.api.service.DeviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * ��������� ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-11
+ */
+@Service
+public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements DeviceService {
+
+    @Autowired
+    private DeviceMapper deviceMapper;
+
+    @Autowired
+    private ManageAccountMapper manageAccountMapper;
+
+    @Autowired
+    private OrganizationMapper organizationMapper;
+
+    @Override
+    @Transactional
+    public void insert(Device device) {
+        deviceMapper.insert(device);
+    }
+
+    @Override
+    public List<ManageAccount> selectAllOperator() {
+        QueryWrapper<ManageAccount> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("id", "user_name").eq("is_delete", Constants.NOT_DELETE);
+        return manageAccountMapper.selectList(queryWrapper);
+    }
+
+    @Override
+    public List<Organization> selectAllOrganization() {
+        QueryWrapper<Organization> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("id", "name").ge("expire_time", new Date()).eq("is_delete", Constants.NOT_DELETE);
+        return organizationMapper.selectList(queryWrapper);
+    }
+
+    @Override
+    public Page<DeviceVO> selectDevices(Map<String, Object> parameters) {
+        QueryWrapper<DeviceVO> queryWrapper = new QueryWrapper<>();
+        Integer page = (Integer) parameters.get("page");
+        Integer size = (Integer) parameters.get("size");
+        Page<DeviceVO> pageData = new Page<>(page, size);
+        deviceMapper.selectAllDeviceInfo(pageData, queryWrapper);
+        return pageData;
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
new file mode 100644
index 0000000..1df34a2
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/MonitorPointServiceImpl.java
@@ -0,0 +1,227 @@
+package com.moral.api.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.moral.api.entity.MonitorPoint;
+import com.moral.api.entity.Organization;
+import com.moral.api.mapper.MonitorPointMapper;
+import com.moral.api.mapper.OrganizationMapper;
+import com.moral.api.service.MonitorPointService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.api.util.LogUtils;
+import com.moral.constant.Constants;
+import com.moral.constant.ResponseCodeEnum;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-05-12
+ */
+@Service
+@Transactional
+public class MonitorPointServiceImpl extends ServiceImpl<MonitorPointMapper, MonitorPoint> implements MonitorPointService {
+
+    @Autowired(required = false)
+    private MonitorPointMapper monitorPointMapper;
+
+    @Autowired(required = false)
+    private OrganizationMapper organizationMapper;
+
+    @Autowired
+    LogUtils logUtils;
+
+    @Override
+    @Transactional
+    public Map<String, Object> insertMonitorPoint(MonitorPoint monitorPoint) {
+        Map resultMap = new HashMap();
+        if (monitorPoint.getName()==null){
+            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
+            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+            return resultMap;
+        }
+        QueryWrapper<MonitorPoint> wapper_name = new QueryWrapper<>();
+        wapper_name.eq("name",monitorPoint.getName());
+        wapper_name.eq("is_delete",Constants.NOT_DELETE);
+        if(monitorPointMapper.selectOne(wapper_name)!=null){
+            resultMap.put("code",ResponseCodeEnum.MONITOR_POINT_IS_EXIST.getCode());
+            resultMap.put("msg",ResponseCodeEnum.MONITOR_POINT_IS_EXIST.getMsg());
+            return resultMap;
+        }
+        if (monitorPoint.getOrganizationId()!=null){
+            QueryWrapper<Organization> wapper_org = new QueryWrapper<>();
+            wapper_org.eq("id",monitorPoint.getOrganizationId());
+            wapper_org.eq("is_delete",Constants.NOT_DELETE);
+            if (organizationMapper.selectOne(wapper_org)==null){
+                resultMap.put("code",ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode());
+                resultMap.put("msg",ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg());
+                return resultMap;
+            }
+        }
+        monitorPointMapper.insert(monitorPoint);
+        //������������������
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        String content = "���������������:"+monitorPoint.getName()+";";
+        logUtils.saveOperationForManage(request,content,Constants.INSERT_OPERATE_TYPE);
+        resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
+        resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
+        return resultMap;
+    }
+
+    @Override
+    public Map<String, Object> getAllMonitorPoint(Map map) {
+        Map<String,Object> resultMap = new HashMap<>();
+        if (!map.containsKey("current")||!map.containsKey("size")||!map.containsKey("orderType")){
+            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
+            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+            return resultMap;
+        }
+        int current = Integer.parseInt(map.get("current").toString());
+        int size = Integer.parseInt(map.get("size").toString());
+        Page<MonitorPoint> page = new Page(current,size);
+        QueryWrapper<MonitorPoint> wrapper = new QueryWrapper();
+        wrapper.eq("is_delete",0);
+        String orderType = map.get("orderType").toString();
+        if (orderType.equals(Constants.ORDER_ASC)){
+            wrapper.orderByAsc("create_time");
+        }else {
+            wrapper.orderByDesc("create_time");
+        }
+        Page resultPage = monitorPointMapper.selectPage(page,wrapper);
+        List<MonitorPoint> monitorPoints = resultPage.getRecords();
+        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        List<Map<String,Object>> monitorPointtList = new ArrayList<>();
+        for (MonitorPoint monitorPoint:monitorPoints) {
+            Map monitorPointMap = JSON.parseObject(JSON.toJSONString(monitorPoint),Map.class);
+            String createTime = SDF.format(monitorPoint.getCreateTime());
+            String updateTime = SDF.format(monitorPoint.getUpdateTime());
+            monitorPointMap.put("createTime",createTime);
+            monitorPointMap.put("updateTime",updateTime);
+            monitorPointMap.put("key",monitorPoint.getId());
+            monitorPointtList.add(monitorPointMap);
+        }
+        resultMap.put("manageRoles",monitorPointtList);
+        int totalNumber = monitorPoints.size();
+        resultMap.put("totalNumber",totalNumber);
+        resultMap.put("current",current);
+        int totalPageNumber = totalNumber/size;
+        if(totalNumber%size != 0){
+            totalPageNumber += 1;
+        }
+        resultMap.put("totalPageNumber",totalPageNumber);
+        return resultMap;
+    }
+
+    @Override
+    @Transactional
+    public Map<String, Object> updateMonitorPoint(Map<String,Object> updateMap) {
+        Map resultMap = new HashMap();
+        if(!updateMap.containsKey("id")){
+            resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
+            resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+            return resultMap;
+        }
+        if (updateMap.containsKey("name")){
+            if (updateMap.get("name")==null||updateMap.get("name")==""){
+                resultMap.put("code",ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode());
+                resultMap.put("msg",ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
+                return resultMap;
+            }
+            QueryWrapper<MonitorPoint> wapper_name = new QueryWrapper<>();
+            wapper_name.eq("name",updateMap.get("name"));
+            wapper_name.eq("is_delete",Constants.NOT_DELETE);
+            MonitorPoint monitorPoint_name = monitorPointMapper.selectOne(wapper_name);
+            if(monitorPoint_name!=null&&!monitorPoint_name.getId().toString().equals(updateMap.get("id").toString())){
+                resultMap.put("code",ResponseCodeEnum.MONITOR_POINT_IS_EXIST.getCode());
+                resultMap.put("msg",ResponseCodeEnum.MONITOR_POINT_IS_EXIST.getMsg());
+                return resultMap;
+            }
+        }
+        QueryWrapper<MonitorPoint> wapper_id = new QueryWrapper<>();
+        wapper_id.eq("id",updateMap.get("id"));
+        wapper_id.eq("is_delete",Constants.NOT_DELETE);
+        MonitorPoint oldMonitorPoint = monitorPointMapper.selectOne(wapper_id);
+        if (oldMonitorPoint==null){
+            resultMap.put("code",ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getCode());
+            resultMap.put("msg",ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getMsg());
+            return resultMap;
+        }
+        monitorPointMapper.updateMonitorPoint(updateMap);
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        String content = "���������������:"+oldMonitorPoint.getName()+";";
+        for (Object key:updateMap.keySet()) {
+            if (key.toString().equals("name")){
+                content = content+"������������:"+oldMonitorPoint.getName()+"->"+updateMap.get(key)+";";
+            }
+            if (key.toString().equals("longitude")){
+                content = content+"������:"+oldMonitorPoint.getLongitude()+"->"+updateMap.get(key)+";";
+            }
+            if (key.toString().equals("latitude")){
+                content = content+"������:"+oldMonitorPoint.getLatitude()+"->"+updateMap.get(key)+";";
+            }
+            if (key.toString().equals("province_code")){
+                content = content+"������������:"+oldMonitorPoint.getProvinceCode()+"->"+updateMap.get(key)+";";
+            }
+            if (key.toString().equals("city_code")){
+                content = content+"���������������:"+oldMonitorPoint.getCityCode()+"->"+updateMap.get(key)+";";
+            }
+            if (key.toString().equals("area_code")){
+                content = content+"���/���/���������:"+oldMonitorPoint.getAreaCode()+"->"+updateMap.get(key)+";";
+            }
+            if (key.toString().equals("address")){
+                content = content+"������:"+oldMonitorPoint.getAddress()+"->"+updateMap.get(key)+";";
+            }
+            if (key.toString().equals("organization_id")){
+                content = content+"������id:"+oldMonitorPoint.getOrganizationId()+"->"+updateMap.get(key)+";";
+            }
+            if (key.toString().equals("desc")){
+                content = content+"������:"+oldMonitorPoint.getDesc()+"->"+updateMap.get(key)+";";
+            }
+        }
+        logUtils.saveOperationForManage(request,content,Constants.UPDATE_OPERATE_TYPE);
+        resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
+        resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
+        return resultMap;
+    }
+
+    @Override
+    @Transactional
+    public Map<String, Object> deleteMonitorPoint(Map map) {
+        Map resultMap = new HashMap();
+        QueryWrapper<MonitorPoint> wrapper = new QueryWrapper<>();
+        wrapper.eq("id",map.get("id"));
+        wrapper.eq("is_delete","0");
+        MonitorPoint monitorPoint = monitorPointMapper.selectOne(wrapper);
+        if(ObjectUtils.isEmpty(monitorPoint)){
+            resultMap.put("code",ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getCode());
+            resultMap.put("msg",ResponseCodeEnum.MONITOR_POINT_IS_NOT_EXIST.getMsg());
+            return resultMap;
+        }
+        MonitorPoint deleteMonitorPoint = new MonitorPoint();
+        deleteMonitorPoint.setIsDelete("1");
+        monitorPointMapper.update(deleteMonitorPoint,wrapper);
+        //������������������
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        String content = "���������������:"+monitorPoint.getName()+";";
+        logUtils.saveOperationForManage(request,content,Constants.DELETE_OPERATE_TYPE);
+        resultMap.put("code",ResponseCodeEnum.SUCCESS.getCode());
+        resultMap.put("msg",ResponseCodeEnum.SUCCESS.getMsg());
+        return resultMap;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java
index 1f72e2e..6dab246 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/SensorServiceImpl.java
@@ -154,17 +154,17 @@
         Page resultPage = sensorMapper.selectPage(page,wrapper);
         List<Sensor> sensors = resultPage.getRecords();
         SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        List<Map<String,Object>> sensotList = new ArrayList<>();
+        List<Map<String,Object>> sensorList = new ArrayList<>();
         for (Sensor sensor:sensors) {
-            Map manageRoleMap = JSON.parseObject(JSON.toJSONString(sensor),Map.class);
+            Map sensorMap = JSON.parseObject(JSON.toJSONString(sensor),Map.class);
             String createTime = SDF.format(sensor.getCreateTime());
             String updateTime = SDF.format(sensor.getUpdateTime());
-            manageRoleMap.put("createTime",createTime);
-            manageRoleMap.put("updateTime",updateTime);
-            manageRoleMap.put("key",sensor.getId());
-            sensotList.add(manageRoleMap);
+            sensorMap.put("createTime",createTime);
+            sensorMap.put("updateTime",updateTime);
+            sensorMap.put("key",sensor.getId());
+            sensorList.add(sensorMap);
         }
-        resultMap.put("manageRoles",sensotList);
+        resultMap.put("manageRoles",sensorList);
         int totalNumber = sensors.size();
         resultMap.put("totalNumber",totalNumber);
         resultMap.put("current",current);
diff --git a/screen-manage/src/main/resources/mapper/DeviceMapper.xml b/screen-manage/src/main/resources/mapper/DeviceMapper.xml
new file mode 100644
index 0000000..c4c9e00
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/DeviceMapper.xml
@@ -0,0 +1,81 @@
+<?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.api.mapper.DeviceMapper">
+
+    <!-- ������������������������ -->
+    <resultMap id="BaseResultMap" type="com.moral.api.entity.Device">
+        <id column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="mac" property="mac"/>
+        <result column="address" property="address"/>
+        <result column="longitude" property="longitude"/>
+        <result column="latitude" property="latitude"/>
+        <result column="state" property="state"/>
+        <result column="operate_ids" property="operateIds"/>
+        <result column="monitor_point_id" property="monitorPointId"/>
+        <result column="organization_id" property="organizationId"/>
+        <result column="device_version_id" property="deviceVersionId"/>
+        <result column="profession" property="profession"/>
+        <result column="tech" property="tech"/>
+        <result column="detector" property="detector"/>
+        <result column="purchaser" property="purchaser"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="install_time" property="installTime"/>
+        <result column="is_delete" property="isDelete"/>
+        <result column="extend" property="extend"/>
+    </resultMap>
+
+    <resultMap id="resultMap" type="com.moral.api.pojo.vo.device.DeviceVO" extends="BaseResultMap">
+        <result column="profession_name" property="professionName"/>
+        <association property="organization" javaType="com.moral.api.entity.Organization">
+            <result column="org_id" property="id"/>
+            <result column="org_name" property="name"/>
+        </association>
+        <!--���������������-->
+        <collection property="operators" ofType="com.moral.api.entity.ManageAccount">
+            <id column="operate_id" property="id" jdbcType="INTEGER"/>
+            <result column="operate_name" property="userName" jdbcType="VARCHAR"/>
+        </collection>
+    </resultMap>
+
+    <select id="selectAllDeviceInfo" resultMap="resultMap">
+        SELECT d.id,
+               d.`name`,
+               d.mac,
+               d.address,
+               d.longitude,
+               d.latitude,
+               d.operate_ids,
+               d.organization_id,
+               d.monitor_point_id,
+               d.organization_id,
+               d.device_version_id,
+               d.profession profession,
+               o.id org_id,
+               o.`name` org_name,
+               ma.id operate_id,
+               ma.user_name operate_name,
+               sd.dataValue profession_name
+        FROM `device` d
+        LEFT JOIN `organization` o
+        ON d.organization_id = o.id
+        LEFT JOIN `manage_account` ma
+        ON FIND_IN_SET(
+            ma.id, (SELECT operate_ids FROM device)
+            )
+        LEFT JOIN
+             (
+                 SELECT sdt.`name`, sdd.dataKey, sdd.dataValue
+                 FROM sys_dict_type sdt,
+                      sys_dict_data sdd
+                 WHERE sdt.id = sdd.dict_type_id
+             ) sd
+        on sd.`name` = 'profession'
+        and d.profession = sd.dataKey
+        AND d.is_delete = 0
+        ${ew.customSqlSegment}
+    </select>
+
+
+</mapper>
\ No newline at end of file
diff --git a/screen-manage/src/main/resources/mapper/GroupMenuMapper.xml b/screen-manage/src/main/resources/mapper/GroupMenuMapper.xml
index bdb2457..f0a661b 100644
--- a/screen-manage/src/main/resources/mapper/GroupMenuMapper.xml
+++ b/screen-manage/src/main/resources/mapper/GroupMenuMapper.xml
@@ -2,16 +2,16 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.moral.api.mapper.GroupMenuMapper">
 
-        <!-- ������������������������ -->
-        <resultMap id="BaseResultMap" type="com.moral.api.entity.GroupMenu">
-                    <id column="id" property="id" />
-                    <result column="group_id" property="groupId" />
-                    <result column="menu_id" property="menuId" />
-                    <result column="channel" property="channel" />
-                    <result column="organization_id" property="organizationId" />
-                    <result column="create_time" property="createTime" />
-                    <result column="update_time" property="updateTime" />
-                    <result column="is_delete" property="isDelete" />
-        </resultMap>
+    <!-- ������������������������ -->
+    <resultMap id="BaseResultMap" type="com.moral.api.entity.GroupMenu">
+        <id column="id" property="id"/>
+        <result column="group_id" property="groupId"/>
+        <result column="menu_id" property="menuId"/>
+        <result column="channel_key" property="channelKey"/>
+        <result column="organization_id" property="organizationId"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="is_delete" property="isDelete"/>
+    </resultMap>
 
 </mapper>
\ No newline at end of file
diff --git a/screen-manage/src/main/resources/mapper/MonitorPointMapper.xml b/screen-manage/src/main/resources/mapper/MonitorPointMapper.xml
new file mode 100644
index 0000000..44233f3
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/MonitorPointMapper.xml
@@ -0,0 +1,63 @@
+<?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.api.mapper.MonitorPointMapper">
+
+        <!-- ������������������������ -->
+        <resultMap id="BaseResultMap" type="com.moral.api.entity.MonitorPoint">
+                    <id column="id" property="id" />
+                    <result column="name" property="name" />
+                    <result column="longitude" property="longitude" />
+                    <result column="latitude" property="latitude" />
+                    <result column="province_code" property="provinceCode" />
+                    <result column="city_code" property="cityCode" />
+                    <result column="area_code" property="areaCode" />
+                    <result column="address" property="address" />
+                    <result column="organization_id" property="organizationId" />
+                    <result column="create_time" property="createTime" />
+                    <result column="update_time" property="updateTime" />
+                    <result column="is_delete" property="isDelete" />
+                    <result column="desc" property="desc" />
+        </resultMap>
+
+    <sql id="Base_Column_List">
+            mp.id,mp.name,mp.longitude,mp.latitude,mp.province_code,mp.city_code,mp.area_code,mp.address,mp.organization_id,mp.create_time,mp.update_time,mp.is_delete,mp.desc
+    </sql>
+
+    <update id="updateMonitorPoint" parameterType="java.util.Map">
+        update monitor_point
+        <set>
+            <if test="name != null">
+                name = #{name},
+            </if>
+            <if test="longitude != null">
+                longitude = #{longitude},
+            </if>
+            <if test="latitude != null">
+                latitude = #{latitude},
+            </if>
+            <if test="province_code != null">
+                province_code = #{province_code},
+            </if>
+            <if test="city_code != null">
+                city_code = #{city_code},
+            </if>
+            <if test="area_code != null">
+                area_code = #{area_code},
+            </if>
+            <if test="address != null">
+                address = #{address},
+            </if>
+            <if test="organization_id != null">
+                organization_id = #{organization_id},
+            </if>
+            <if test="desc != null">
+                `desc` = #{desc},
+            </if>
+            <if test="isDelete != null">
+                is_delete = #{isDelete},
+            </if>
+        </set>
+        where id = #{id}
+    </update>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0