Parcourir la source

首页部分接口

yq il y a 4 ans
Parent
commit
9eba4626f7
20 fichiers modifiés avec 452 ajouts et 8 suppressions
  1. 2 0
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/DeviceStatusMapper.java
  2. 5 0
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/SiteMapper.java
  3. 0 8
      fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/TestMapper.java
  4. 13 0
      fiveep-persistence/src/main/resources/mapper/mysql/SiteMapper.xml
  5. 9 0
      fiveep-service/src/main/java/com/bizmatics/service/AlarmPowerService.java
  6. 18 0
      fiveep-service/src/main/java/com/bizmatics/service/DeviceService.java
  7. 12 0
      fiveep-service/src/main/java/com/bizmatics/service/HtAnalogDataService.java
  8. 8 0
      fiveep-service/src/main/java/com/bizmatics/service/PersonnelService.java
  9. 14 0
      fiveep-service/src/main/java/com/bizmatics/service/SiteService.java
  10. 45 0
      fiveep-service/src/main/java/com/bizmatics/service/enums/DeviceStatusCode.java
  11. 34 0
      fiveep-service/src/main/java/com/bizmatics/service/enums/PersonnelType.java
  12. 12 0
      fiveep-service/src/main/java/com/bizmatics/service/impl/AlarmPowerServiceImpl.java
  13. 34 0
      fiveep-service/src/main/java/com/bizmatics/service/impl/DeviceServiceImpl.java
  14. 8 0
      fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java
  15. 11 0
      fiveep-service/src/main/java/com/bizmatics/service/impl/PersonnelServiceImpl.java
  16. 50 0
      fiveep-service/src/main/java/com/bizmatics/service/impl/SiteServiceImpl.java
  17. 19 0
      fiveep-service/src/main/java/com/bizmatics/service/vo/ApCountVO.java
  18. 21 0
      fiveep-service/src/main/java/com/bizmatics/service/vo/PerCountVO.java
  19. 33 0
      fiveep-service/src/main/java/com/bizmatics/service/vo/SiteCountVO.java
  20. 104 0
      fiveep-service/src/main/java/com/bizmatics/service/vo/SiteVO.java

+ 2 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/DeviceStatusMapper.java

@@ -2,6 +2,7 @@ package com.bizmatics.persistence.mapper;
 
 import com.bizmatics.model.DeviceStatus;
 import com.bizmatics.common.mvc.base.CrudMapper;
+import org.springframework.stereotype.Repository;
 
 /**
  * <p>
@@ -11,6 +12,7 @@ import com.bizmatics.common.mvc.base.CrudMapper;
  * @author ya
  * @since 2021-07-07
  */
+@Repository
 public interface DeviceStatusMapper extends CrudMapper<DeviceStatus> {
 
 }

+ 5 - 0
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/SiteMapper.java

@@ -2,6 +2,7 @@ package com.bizmatics.persistence.mapper;
 
 import com.bizmatics.model.Site;
 import com.bizmatics.common.mvc.base.CrudMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +14,8 @@ import com.bizmatics.common.mvc.base.CrudMapper;
  */
 public interface SiteMapper extends CrudMapper<Site> {
 
+
+
+    int selectCount(@Param("siteStatus") Integer siteStatus,
+                    @Param("siteId") Integer siteId);
 }

+ 0 - 8
fiveep-persistence/src/main/java/com/bizmatics/persistence/mapper/TestMapper.java

@@ -1,8 +0,0 @@
-package com.bizmatics.persistence.mapper;
-
-/**
- * @author yq
- * @date 2021/7/5 18:12
- */
-public class TestMapper {
-}

+ 13 - 0
fiveep-persistence/src/main/resources/mapper/mysql/SiteMapper.xml

@@ -19,5 +19,18 @@
         <result column="creator" property="creator" />
         <result column="enable" property="enable" />
     </resultMap>
+    <select id="selectCount" resultType="java.lang.Integer">
+        select count(1)
+        from site as s inner join device_status as ds on s.id = ds.site_id
+        <where>
+            <if test="siteStatus != null">
+                ds.device_status = #{siteStatus}
+            </if>
+            <if test="siteId != null">
+                s.id = #{siteId}
+            </if>
+        </where>
+    </select>
+
 
 </mapper>

+ 9 - 0
fiveep-service/src/main/java/com/bizmatics/service/AlarmPowerService.java

@@ -2,6 +2,9 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.AlarmPower;
 import com.bizmatics.common.mvc.base.CrudService;
+import com.bizmatics.service.vo.ApCountVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,10 @@ import com.bizmatics.common.mvc.base.CrudService;
  */
 public interface AlarmPowerService extends CrudService<AlarmPower> {
 
+    /**
+     * 告警总数和未处理告警总数
+     * @return
+     */
+    ApCountVO selectCount();
+
 }

+ 18 - 0
fiveep-service/src/main/java/com/bizmatics/service/DeviceService.java

@@ -2,6 +2,11 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.Device;
 import com.bizmatics.common.mvc.base.CrudService;
+import com.bizmatics.service.vo.SiteCountVO;
+import com.bizmatics.service.vo.SiteVO;
+
+import javax.xml.crypto.Data;
+import java.util.Date;
 
 /**
  * <p>
@@ -13,4 +18,17 @@ import com.bizmatics.common.mvc.base.CrudService;
  */
 public interface DeviceService extends CrudService<Device> {
 
+
+    /**
+     * 查询设备数量
+     * @param siteId
+     * @return
+     */
+    Integer selectCount(Integer siteId);
+
+    /**
+     * 查询不同状态设备数量
+     * @return
+     */
+    SiteCountVO selectDeviceCount(Data startTime, Date endTime);
 }

+ 12 - 0
fiveep-service/src/main/java/com/bizmatics/service/HtAnalogDataService.java

@@ -3,6 +3,9 @@ package com.bizmatics.service;
 import com.bizmatics.model.HtAnalogData;
 import com.bizmatics.common.mvc.base.CrudService;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -13,4 +16,13 @@ import com.bizmatics.common.mvc.base.CrudService;
  */
 public interface HtAnalogDataService extends CrudService<HtAnalogData> {
 
+
+    /**
+     * 今日/昨日的用电量
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<List<Integer>> selectCountByDate(Date startTime,Date endTime);
+
 }

+ 8 - 0
fiveep-service/src/main/java/com/bizmatics/service/PersonnelService.java

@@ -2,6 +2,7 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.Personnel;
 import com.bizmatics.common.mvc.base.CrudService;
+import com.bizmatics.service.vo.PerCountVO;
 
 /**
  * <p>
@@ -13,4 +14,11 @@ import com.bizmatics.common.mvc.base.CrudService;
  */
 public interface PersonnelService extends CrudService<Personnel> {
 
+
+    /**
+     * 查询运维人员
+     * @return
+     */
+    PerCountVO selectCount();
+
 }

+ 14 - 0
fiveep-service/src/main/java/com/bizmatics/service/SiteService.java

@@ -2,6 +2,10 @@ package com.bizmatics.service;
 
 import com.bizmatics.model.Site;
 import com.bizmatics.common.mvc.base.CrudService;
+import com.bizmatics.service.vo.SiteCountVO;
+import com.bizmatics.service.vo.SiteVO;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,14 @@ import com.bizmatics.common.mvc.base.CrudService;
  */
 public interface SiteService extends CrudService<Site> {
 
+
+    /**
+     * 查看不同状态的站点数量
+     * @return
+     */
+    SiteCountVO selectCount();
+
+
+    List<SiteVO> list(String name);
+
 }

+ 45 - 0
fiveep-service/src/main/java/com/bizmatics/service/enums/DeviceStatusCode.java

@@ -0,0 +1,45 @@
+package com.bizmatics.service.enums;
+
+import org.bouncycastle.asn1.cmc.LraPopWitness;
+
+/**
+ * @author yq
+ * @date 2021/7/7 14:48
+ */
+public enum DeviceStatusCode {
+
+    /**
+     * 正常
+     */
+    NORMAL(0,"正常"),
+    /**
+     * 离线
+     */
+    OFFLINE(1,"离线"),
+    /**
+     * 故障
+     */
+    FAULT(4,"故障"),
+    /**
+     * 告警
+     */
+    DEVICE(77,"告警");
+
+
+    private final Integer value;
+    private final String describe;
+
+    DeviceStatusCode(Integer value,String describe){
+        this.value = value;
+        this.describe = describe;
+    }
+
+    public Integer getValue(){
+        return this.value;
+    }
+
+
+    public String getDescribe(){
+        return this.describe;
+    }
+}

+ 34 - 0
fiveep-service/src/main/java/com/bizmatics/service/enums/PersonnelType.java

@@ -0,0 +1,34 @@
+package com.bizmatics.service.enums;
+
+/**
+ * @author yq
+ * @date 2021/7/7 14:08
+ */
+public enum PersonnelType {
+
+
+    /**
+     * 最高权限
+     */
+    ONE(1),
+
+    /**
+     * 维保人员
+     */
+    MAINTENANCE(2),
+
+    /**
+     * 供电人员
+     */
+    POWER(3);
+
+    private final Integer value;
+
+    PersonnelType(Integer value){
+        this.value = value;
+    }
+
+    public Integer getValue(){
+        return this.value;
+    }
+}

+ 12 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/AlarmPowerServiceImpl.java

@@ -1,9 +1,13 @@
 package com.bizmatics.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.bizmatics.model.AlarmPower;
 import com.bizmatics.persistence.mapper.AlarmPowerMapper;
 import com.bizmatics.service.AlarmPowerService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
+import com.bizmatics.service.vo.ApCountVO;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +21,12 @@ import org.springframework.stereotype.Service;
 @Service
 public class AlarmPowerServiceImpl extends AbstractCrudService<AlarmPowerMapper, AlarmPower> implements AlarmPowerService {
 
+    @Override
+    public ApCountVO selectCount() {
+        Integer count = baseMapper.selectCount(null);
+        ApCountVO apCountVo = new ApCountVO();
+        apCountVo.setCount(count);
+        apCountVo.setUnCount(baseMapper.selectCount(Wrappers.lambdaQuery(AlarmPower.class).eq(AlarmPower::getHandlingStatus, 0)));
+        return apCountVo;
+    }
 }

+ 34 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/DeviceServiceImpl.java

@@ -1,11 +1,20 @@
 package com.bizmatics.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.bizmatics.model.Device;
+import com.bizmatics.model.DeviceStatus;
 import com.bizmatics.persistence.mapper.DeviceMapper;
+import com.bizmatics.persistence.mapper.DeviceStatusMapper;
 import com.bizmatics.service.DeviceService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
+import com.bizmatics.service.enums.DeviceStatusCode;
+import com.bizmatics.service.vo.SiteCountVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.xml.crypto.Data;
+import java.util.Date;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +26,29 @@ import org.springframework.stereotype.Service;
 @Service
 public class DeviceServiceImpl extends AbstractCrudService<DeviceMapper, Device> implements DeviceService {
 
+    @Autowired
+    private DeviceStatusMapper deviceStatusMapper;
+    @Override
+    public Integer selectCount(Integer siteId) {
+        return baseMapper.selectCount(Wrappers.lambdaQuery(Device.class).eq(null != siteId && 0 != siteId,Device::getSiteId,siteId));
+    }
+
+    @Override
+    public SiteCountVO selectDeviceCount(Data startTime, Date endTime) {
+        SiteCountVO siteCountVO = new SiteCountVO();
+        siteCountVO.setNormalCount(deviceStatusMapper
+                .selectCount(
+                        Wrappers.lambdaQuery(DeviceStatus.class).eq(DeviceStatus::getDeviceStatus,DeviceStatusCode.NORMAL.getValue()).between(DeviceStatus::getStatusTime,startTime,endTime)));
+        siteCountVO.setOffLineCount(deviceStatusMapper
+                .selectCount(
+                        Wrappers.lambdaQuery(DeviceStatus.class).eq(DeviceStatus::getDeviceStatus,DeviceStatusCode.OFFLINE.getValue()).between(DeviceStatus::getStatusTime,startTime,endTime)));
+        siteCountVO.setDeviceCount(deviceStatusMapper
+                .selectCount(
+                        Wrappers.lambdaQuery(DeviceStatus.class).eq(DeviceStatus::getDeviceStatus,DeviceStatusCode.DEVICE.getValue()).between(DeviceStatus::getStatusTime,startTime,endTime)));
+        siteCountVO.setFaultCount(deviceStatusMapper
+                .selectCount(
+                        Wrappers.lambdaQuery(DeviceStatus.class).eq(DeviceStatus::getDeviceStatus,DeviceStatusCode.FAULT.getValue()).between(DeviceStatus::getStatusTime,startTime,endTime)));
+        siteCountVO.setCount(selectCount(null));
+        return siteCountVO;
+    }
 }

+ 8 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/HtAnalogDataServiceImpl.java

@@ -6,6 +6,9 @@ import com.bizmatics.service.HtAnalogDataService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +20,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class HtAnalogDataServiceImpl extends AbstractCrudService<HtAnalogDataMapper, HtAnalogData> implements HtAnalogDataService {
 
+    @Override
+    public List<List<Integer>> selectCountByDate(Date startTime, Date endTime) {
+
+        return null;
+    }
 }

+ 11 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/PersonnelServiceImpl.java

@@ -1,9 +1,13 @@
 package com.bizmatics.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.bizmatics.model.AlarmPower;
 import com.bizmatics.model.Personnel;
 import com.bizmatics.persistence.mapper.PersonnelMapper;
 import com.bizmatics.service.PersonnelService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
+import com.bizmatics.service.enums.PersonnelType;
+import com.bizmatics.service.vo.PerCountVO;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +21,11 @@ import org.springframework.stereotype.Service;
 @Service
 public class PersonnelServiceImpl extends AbstractCrudService<PersonnelMapper, Personnel> implements PersonnelService {
 
+    @Override
+    public PerCountVO selectCount() {
+        PerCountVO perCountVo = new PerCountVO();
+        perCountVo.setMaintain(baseMapper.selectCount(Wrappers.lambdaQuery(Personnel.class).eq(Personnel::getPersonnelFunction, PersonnelType.MAINTENANCE.getValue())));
+        perCountVo.setPower(baseMapper.selectCount(Wrappers.lambdaQuery(Personnel.class).eq(Personnel::getPersonnelFunction, PersonnelType.POWER.getValue())));
+        return perCountVo;
+    }
 }

+ 50 - 0
fiveep-service/src/main/java/com/bizmatics/service/impl/SiteServiceImpl.java

@@ -1,11 +1,24 @@
 package com.bizmatics.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.bizmatics.common.core.util.BeanMapperUtils;
+import com.bizmatics.model.Personnel;
 import com.bizmatics.model.Site;
 import com.bizmatics.persistence.mapper.SiteMapper;
+import com.bizmatics.service.DeviceService;
 import com.bizmatics.service.SiteService;
 import com.bizmatics.common.mvc.base.AbstractCrudService;
+import com.bizmatics.service.enums.DeviceStatusCode;
+import com.bizmatics.service.vo.SiteCountVO;
+import com.bizmatics.service.vo.SiteVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.sql.Wrapper;
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +30,41 @@ import org.springframework.stereotype.Service;
 @Service
 public class SiteServiceImpl extends AbstractCrudService<SiteMapper, Site> implements SiteService {
 
+    @Autowired
+    private DeviceService deviceService;
+    @Override
+    public SiteCountVO selectCount() {
+        SiteCountVO siteCountVo = new SiteCountVO();
+        siteCountVo.setNormalCount(baseMapper.selectCount(DeviceStatusCode.NORMAL.getValue(),null));
+        siteCountVo.setOffLineCount(baseMapper.selectCount(DeviceStatusCode.OFFLINE.getValue(),null));
+        siteCountVo.setDeviceCount(baseMapper.selectCount(DeviceStatusCode.DEVICE.getValue(),null));
+        siteCountVo.setFaultCount(baseMapper.selectCount(DeviceStatusCode.FAULT.getValue(),null));
+        siteCountVo.setCount(siteCountVo.getNormalCount()+siteCountVo.getOffLineCount()+siteCountVo.getDeviceCount()+siteCountVo.getFaultCount());
+        return siteCountVo;
+    }
+
+    @Override
+    public List<SiteVO> list(String name) {
+        List<SiteVO> list = new ArrayList<>();
+        List<Site> sites = baseMapper.selectList(Wrappers.lambdaQuery(Site.class).like(Site::getSiteName, name));
+        for (Site site:sites) {
+            SiteVO siteVo = BeanMapperUtils.map(site, SiteVO.class);
+            siteVo.setDeviceCount(deviceService.selectCount(siteVo.getId()));
+            int deviceCount = baseMapper.selectCount(DeviceStatusCode.DEVICE.getValue(), siteVo.getId());
+            int offLineCount = baseMapper.selectCount(DeviceStatusCode.OFFLINE.getValue(), siteVo.getId());
+            int faultCount = baseMapper.selectCount(DeviceStatusCode.FAULT.getValue(), siteVo.getId());
+            siteVo.setAlarmPowerCount(deviceCount);
+            if (deviceCount > 0){
+                siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
+            }else if (offLineCount > 0){
+                siteVo.setStatus(DeviceStatusCode.OFFLINE.getDescribe());
+            }else if (faultCount > 0){
+                siteVo.setStatus(DeviceStatusCode.FAULT.getDescribe());
+            }else {
+                siteVo.setStatus(DeviceStatusCode.NORMAL.getDescribe());
+            }
+            list.add(siteVo);
+        }
+        return list;
+    }
 }

+ 19 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/ApCountVO.java

@@ -0,0 +1,19 @@
+package com.bizmatics.service.vo;
+
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/7/7 13:53
+ */
+@Data
+public class ApCountVO {
+    /**
+     * 电力告警总数
+     */
+    private Integer count;
+    /**
+     * 未处理告警总数
+     */
+    private Integer unCount;
+}

+ 21 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/PerCountVO.java

@@ -0,0 +1,21 @@
+package com.bizmatics.service.vo;
+
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/7/7 14:14
+ */
+@Data
+public class PerCountVO {
+
+
+    /**
+     * 维护人员
+     */
+    private Integer maintain;
+    /**
+     * 供电
+     */
+    private Integer power;
+}

+ 33 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/SiteCountVO.java

@@ -0,0 +1,33 @@
+package com.bizmatics.service.vo;
+
+import lombok.Data;
+import org.bouncycastle.asn1.cmc.LraPopWitness;
+
+/**
+ * @author yq
+ * @date 2021/7/7 15:10
+ */
+@Data
+public class SiteCountVO {
+
+    /**
+     * 正常
+     */
+    private Integer normalCount;
+    /**
+     * 离线
+     */
+    private Integer offLineCount;
+    /**
+     * 故障
+     */
+    private Integer faultCount;
+    /**
+     * 告警
+     */
+    private Integer deviceCount;
+    /**
+     * 站点数量/设备数量
+     */
+    private Integer count;
+}

+ 104 - 0
fiveep-service/src/main/java/com/bizmatics/service/vo/SiteVO.java

@@ -0,0 +1,104 @@
+package com.bizmatics.service.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * @author yq
+ * @date 2021/7/7 15:35
+ */
+@Data
+public class SiteVO {
+
+
+
+    /**
+     * 站点表ID
+     */
+    private Integer id;
+
+    /**
+     * 站点名称
+     */
+    private String siteName;
+
+    /**
+     * 站点位置
+     */
+    private String siteAddress;
+
+    /**
+     * 所属单位
+     */
+    private Integer companyCode;
+
+    /**
+     * 联系人
+     */
+    private String userName;
+
+    /**
+     * 手机号码
+     */
+    private String phone;
+
+    /**
+     * 所属台区
+     */
+    private Integer stationAreaId;
+
+    /**
+     * 所属线路
+     */
+    private Integer routeId;
+
+    /**
+     * 经度
+     */
+    private String longitude;
+
+    /**
+     * 纬度
+     */
+    private String latitude;
+
+    /**
+     * 所属区域(1 宝山,2 嘉定)
+     */
+    private Integer region;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    private String creator;
+
+    /**
+     * 使能标识(0 不生效,1 生效)
+     */
+    private Integer enable;
+
+
+    /**
+     * 设备数量
+     */
+    private Integer deviceCount;
+
+    /**
+     * 告警数
+     */
+    private Integer alarmPowerCount;
+
+    /**
+     * 站点状态
+     */
+    private String status;
+}