Browse Source

网格管理

hym 4 years ago
parent
commit
aaacb029e6

+ 170 - 0
src/main/java/com/zoniot/ccrc/controller/GridManagementController.java

@@ -0,0 +1,170 @@
+package com.zoniot.ccrc.controller;
+
+
+import com.github.pagehelper.PageHelper;
+import com.zoniot.ccrc.commom.model.AjaxMessage;
+import com.zoniot.ccrc.commom.model.Pagination;
+import com.zoniot.ccrc.commom.model.ResultStatus;
+import com.zoniot.ccrc.dto.GridInfo;
+import com.zoniot.ccrc.entity.Building;
+import com.zoniot.ccrc.entity.Community;
+import com.zoniot.ccrc.entity.Device;
+import com.zoniot.ccrc.entity.GridManagement;
+import com.zoniot.ccrc.service.GridManagementService;
+import com.zoniot.ccrc.dto.GridUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+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;
+
+/**
+ * (GridManagement)控制层
+ *
+ * @author hym
+ * @since 2021-02-23 11:47:59
+ */
+@RestController
+@RequestMapping("/gridManagement")
+@Api(tags = "网格管理")
+public class GridManagementController {
+    /**
+     * 服务对象
+     */
+    @Autowired
+    private GridManagementService gridManagementService;
+
+
+
+    /**
+     * 新增一条数据
+     *
+     * @param gridInfo 实体类
+     * @return Response对象
+     */
+    @RequestMapping(value = "insert", method = RequestMethod.POST)
+    @ApiOperation(value = "插入网格管理户表信息")
+    public AjaxMessage<Integer> insert(@ApiParam(value = "设置配置", required = true) @RequestBody GridInfo gridInfo) {
+        int result = gridManagementService.insert(gridInfo);
+
+        return new AjaxMessage<>(ResultStatus.OK, result);
+    }
+
+    /**
+     * 修改一条数据
+     *
+     * @param gridManagement 实体类
+     * @return Response对象
+     */
+    @RequestMapping(value = "update", method = RequestMethod.POST)
+    @ApiOperation(value = "更改网格户表信息")
+    public AjaxMessage<Integer> update(@ApiParam(value = "设置配置", required = true) @RequestBody GridManagement gridManagement) {
+        int result = gridManagementService.update(gridManagement);
+        return new AjaxMessage<>(ResultStatus.OK, result);
+
+    }
+
+    /**
+     * 删除一条数据
+     *
+     * @param gridManagement 参数对象
+     * @return Response对象
+     */
+    @RequestMapping(value = "delete", method = RequestMethod.POST)
+    @ApiOperation(value = "查询设施配置列表")
+    public AjaxMessage<Integer> delete(@ApiParam(value = "设置配置", required = true) @RequestBody GridManagement gridManagement) {
+        int result = gridManagementService.deleteById(gridManagement.getId());
+        return new AjaxMessage<>(ResultStatus.OK, result);
+    }
+
+
+    /**
+     * 分页查询
+     *
+     * @param pageNum  偏移
+     * @param pageSize 条数
+     * @return Response对象
+     */
+    @RequestMapping(value = "selectPage", method = RequestMethod.POST)
+    @ApiOperation(value = "查询网格管理列表")
+    public AjaxMessage<Pagination<GridManagement>> selectPage(Integer pageNum, Integer pageSize,
+                                                              Integer userId, String waterNo
+            , String adddress, String name) {
+        GridManagement gridManagement = new GridManagement();
+        gridManagement.setAddress(adddress);
+        gridManagement.setUserId(userId);
+        gridManagement.setWaterMeterNo(waterNo);
+        gridManagement.setCustomerName(name);
+        PageHelper.startPage(pageNum, pageSize);
+        List<GridManagement> gridManagements = gridManagementService.selectList(gridManagement);
+        Pagination<GridManagement> pages = new Pagination<>(gridManagements);
+        return new AjaxMessage<>(ResultStatus.OK, pages);
+    }
+
+    /**
+     * 分页查询
+     *
+     * @param pageNum  偏移
+     * @param pageSize 条数
+     * @return Response对象
+     */
+    @RequestMapping(value = "selectGridPage", method = RequestMethod.POST)
+    @ApiOperation(value = "查询网格管理列表")
+    public AjaxMessage<Pagination<GridUser>> selectGridPage(Integer pageNum, Integer pageSize,
+                                                            String name, Integer orgId) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<GridUser>gridUsers=gridManagementService.selectGirdUserInfo(name,orgId);
+        Pagination<GridUser> pages = new Pagination<>(gridUsers);
+        return new AjaxMessage<>(ResultStatus.OK, pages);
+    }
+    /**
+     * 分页查询
+     *
+     * @param
+     * @param
+     * @return Response对象
+     */
+    @RequestMapping(value = "getCommutityByOrg", method = RequestMethod.POST)
+    @ApiOperation(value = "查询小区信息")
+    public AjaxMessage<List<Community>> selectGridPage(Integer orgId) {
+
+        List<Community>communities=gridManagementService.getCommutityByOrg(orgId);
+
+        return new AjaxMessage<>(ResultStatus.OK, communities);
+    }
+    /**
+     * 分页查询
+     *
+     * @param
+     * @param
+     * @return Response对象
+     */
+    @RequestMapping(value = "getBuildingByCommutity", method = RequestMethod.POST)
+    @ApiOperation(value = "查询建筑信息")
+    public AjaxMessage<List<Building>> getBuildingByCommutity(Integer commutityId) {
+
+        List<Building>buildings=gridManagementService.getBuildingByCommutity(commutityId);
+
+        return new AjaxMessage<>(ResultStatus.OK, buildings);
+    }
+    /**
+     * 分页查询
+     *
+     * @param
+     * @param
+     * @return Response对象
+     */
+    @RequestMapping(value = "getDevices", method = RequestMethod.POST)
+    @ApiOperation(value = "查询建筑信息")
+    public AjaxMessage<List<Device>> getDevices(Integer buildingId, Integer userId, String address) {
+
+        List<Device>devices=gridManagementService.getDevices(buildingId,userId,address);
+
+        return new AjaxMessage<>(ResultStatus.OK, devices);
+    }
+}

+ 11 - 0
src/main/java/com/zoniot/ccrc/dto/GridInfo.java

@@ -0,0 +1,11 @@
+package com.zoniot.ccrc.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class GridInfo {
+    private Integer userId;
+    private List<Long> deviceIds;
+}

+ 25 - 0
src/main/java/com/zoniot/ccrc/dto/GridUser.java

@@ -0,0 +1,25 @@
+package com.zoniot.ccrc.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class GridUser {
+    @ApiModelProperty(value = "id")
+    private Integer id;
+    @ApiModelProperty(value = "用户名")
+    private String username;
+    @ApiModelProperty(value = "姓名")
+    private String mobilePhone;
+    @ApiModelProperty(value = "手机号")
+    private String name;
+    @ApiModelProperty(value = "机构名称")
+    private String orgName;
+    @ApiModelProperty(value = "地址")
+    private String address;
+    @ApiModelProperty(value = "管理户表")
+    private Integer peoples;
+    @ApiModelProperty(value = "机构id")
+    private Integer orgId;
+    private Integer siteId;
+}

+ 92 - 0
src/main/java/com/zoniot/ccrc/service/GridManagementService.java

@@ -0,0 +1,92 @@
+package com.zoniot.ccrc.service;
+
+
+import com.zoniot.ccrc.dto.GridInfo;
+import com.zoniot.ccrc.dto.GridUser;
+import com.zoniot.ccrc.entity.Building;
+import com.zoniot.ccrc.entity.Community;
+import com.zoniot.ccrc.entity.Device;
+import com.zoniot.ccrc.entity.GridManagement;
+
+import java.util.List;
+
+
+/**
+ * (GridManagement)表服务接口
+ *
+ * @author hym
+ * @since 2021-02-23 11:48:06
+ */
+public interface GridManagementService {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    GridManagement selectById(Integer id);
+
+
+    /**
+     * 查询全部
+     *
+     * @return 对象列表
+     */
+    List<GridManagement> selectAll();
+
+    /**
+     * 通过实体作为筛选条件查询
+     *
+     * @param gridManagement 实例对象
+     * @return 对象列表
+     */
+    List<GridManagement> selectList(GridManagement gridManagement);
+
+    /**
+     * 新增数据
+     *
+     * @param gridManagement 实例对象
+     * @return 影响行数
+     */
+    int insert(GridInfo gridManagement);
+
+    /**
+     * 批量新增
+     *
+     * @param gridManagements 实例对象的集合
+     * @return 影响行数
+     */
+    int batchInsert(List<GridManagement> gridManagements);
+
+    /**
+     * 修改数据
+     *
+     * @param gridManagement 实例对象
+     * @return 修改
+     */
+    int update(GridManagement gridManagement);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 影响行数
+     */
+    int deleteById(Integer id);
+
+    /**
+     * 查询总数据数
+     *
+     * @return 数据总数
+     */
+    int count();
+
+    List<GridUser> selectGirdUserInfo(String name, Integer orgId);
+
+    List<Community> getCommutityByOrg(Integer orgId);
+
+    List<Building> getBuildingByCommutity(Integer commutityId);
+
+    List<Device> getDevices(Integer buildingId, Integer userId, String address);
+}

+ 157 - 0
src/main/java/com/zoniot/ccrc/service/impl/GridManagementServiceImpl.java

@@ -0,0 +1,157 @@
+package com.zoniot.ccrc.service.impl;
+
+
+import com.zoniot.ccrc.commom.utils.UserUtil;
+import com.zoniot.ccrc.dao.GridManagementMapper;
+import com.zoniot.ccrc.dto.GridInfo;
+import com.zoniot.ccrc.dto.GridUser;
+import com.zoniot.ccrc.dto.LoginUser;
+import com.zoniot.ccrc.entity.Building;
+import com.zoniot.ccrc.entity.Community;
+import com.zoniot.ccrc.entity.Device;
+import com.zoniot.ccrc.entity.GridManagement;
+import com.zoniot.ccrc.service.GridManagementService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * (GridManagement表)服务实现类
+ *
+ * @author hym
+ * @since 2021-02-23 11:48:08
+ */
+@Service("gridManagementService")
+public class GridManagementServiceImpl implements GridManagementService {
+    @Autowired
+    private GridManagementMapper gridManagementMapper;
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    @Override
+    public GridManagement selectById(Integer id) {
+        return this.gridManagementMapper.selectById(id);
+    }
+
+
+    /**
+     * 查询所有
+     *
+     * @return 实例对象的集合
+     */
+    @Override
+    public List<GridManagement> selectAll() {
+        return this.gridManagementMapper.selectAll();
+    }
+
+    /**
+     * 根据条件查询
+     *
+     * @return 实例对象的集合
+     */
+    @Override
+    public List<GridManagement> selectList(GridManagement gridManagement) {
+        return this.gridManagementMapper.selectList(gridManagement);
+    }
+
+    /**
+     * 新增数据
+     *
+     * @param gridInfo 实例对象
+     * @return 实例对象
+     */
+    @Override
+    public int insert(GridInfo gridInfo) {
+        Integer userId = gridInfo.getUserId();
+        List<Long> deviceIds = gridInfo.getDeviceIds();
+        List<GridManagement> gridManagements=new ArrayList<>();
+        deviceIds.forEach(deviceId->{
+            GridManagement gridManagement=new GridManagement();
+            gridManagement.setUserId(userId);
+            gridManagement.setDeviceId(deviceId);
+            gridManagements.add(gridManagement);
+        });
+        if(gridManagements.size()>0)
+        gridManagementMapper.batchInsert(gridManagements);
+        return 1;
+    }
+
+    /**
+     * 批量新增
+     *
+     * @param gridManagements 实例对象的集合
+     * @return 生效的条数
+     */
+    @Override
+    public int batchInsert(List<GridManagement> gridManagements) {
+        return this.gridManagementMapper.batchInsert(gridManagements);
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param gridManagement 实例对象
+     * @return 实例对象
+     */
+    @Override
+    public int update(GridManagement gridManagement) {
+
+        return this.gridManagementMapper.update(gridManagement);
+    }
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 是否成功
+     */
+    @Override
+    public int deleteById(Integer id) {
+        return this.gridManagementMapper.deleteById(id);
+    }
+
+    /**
+     * 查询总数据数
+     *
+     * @return 数据总数
+     */
+    @Override
+    public int count() {
+        return this.gridManagementMapper.count();
+    }
+
+    @Override
+    public List<GridUser> selectGirdUserInfo(String name, Integer orgId) {
+        Integer roleId=108;
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        Integer siteId=currentUser.getSiteId();
+
+        List<GridUser> users=gridManagementMapper.selectGirdUserInfo(name,orgId,roleId,siteId);
+        return users;
+    }
+
+    @Override
+    public List<Community> getCommutityByOrg(Integer orgId) {
+        List<Community> communities=gridManagementMapper.getCommutityByOrg(orgId);
+        return communities;
+    }
+
+    @Override
+    public List<Building> getBuildingByCommutity(Integer commutityId) {
+        List<Building>buildings= gridManagementMapper.getBuildingByCommutity( commutityId);
+        return buildings;
+    }
+
+    @Override
+    public List<Device> getDevices(Integer buildingId, Integer userId, String address) {
+        List<Device> devices=gridManagementMapper.getDevices(buildingId,userId,address);
+        return devices;
+    }
+
+}

+ 2 - 2
src/main/resources/mapper/GridManagementMapper.xml

@@ -1,8 +1,8 @@
 <?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.bz.smart_city.dao.GridManagementMapper">
+<mapper namespace="com.zoniot.ccrc.dao.GridManagementMapper">
     <!-- 结果集 -->
-    <resultMap type="com.bz.smart_city.entity.GridManagement" id="GridManagementMap">
+    <resultMap type="com.zoniot.ccrc.entity.GridManagement" id="GridManagementMap">
         <result property="id" column="id" jdbcType="INTEGER"/>
         <result property="deviceId" column="device_id" jdbcType="INTEGER"/>
         <result property="customerNo" column="customer_no" jdbcType="VARCHAR"/>