jinpengyong
2023-11-01 74c430e012ade8363b57949357e3cf653b944a2d
chore:补充提交
1 files added
12 files modified
185 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/controller/AppAllocationController.java 13 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/AppDevicController.java 17 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java 3 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceMapper.java 5 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/vo/device/AppDeviceVo.java 46 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/AllocationService.java 3 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/DeviceService.java 3 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java 5 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java 20 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java 17 ●●●●● patch | view | raw | blame | history
screen-api/src/main/resources/mapper/DeviceMapper.xml 16 ●●●●● patch | view | raw | blame | history
screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml 9 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/AppAllocationController.java
@@ -2,13 +2,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.moral.api.pojo.enums.AllocationApproveEnum;
import com.moral.api.pojo.enums.AppAllocationStateEnum;
import com.moral.api.pojo.ext.allocation.AllocationPageExt;
import com.moral.api.pojo.query.app.AppAllocationFileCond;
import com.moral.api.pojo.query.app.AppAllocationPageCond;
import com.moral.api.pojo.vo.allocation.AllocationPageVo;
import com.moral.api.pojo.vo.app.AppAllocationFindVo;
import com.moral.constant.PageResult;
import io.swagger.annotations.Api;
@@ -92,4 +88,13 @@
        return ResultMessage.ok();
    }
    @GetMapping("authority")
    @ApiOperation(value = "分享权限")
    public  ResultMessage  authority(@RequestParam @ApiParam(value = "allocationNum",name = "单号") String allocationNum,
                                     @RequestParam @ApiParam(value = "userId",name = "用户Id") Integer userId){
        boolean authority = allocationService.authority(allocationNum,userId);
        return ResultMessage.ok(authority);
    }
}
screen-api/src/main/java/com/moral/api/controller/AppDevicController.java
@@ -16,11 +16,10 @@
import com.moral.api.entity.Device;
import com.moral.api.entity.MonitorPoint;
import com.moral.api.entity.Organization;
import com.moral.api.pojo.vo.device.AppDeviceVo;
import com.moral.api.service.DeviceService;
import com.moral.api.service.MonitorPointService;
import com.moral.api.service.OrganizationService;
import com.moral.constant.ResponseCodeEnum;
import com.moral.api.service.SpecialDeviceService;
import com.moral.constant.ResultMessage;
@@ -35,6 +34,9 @@
    @Autowired
    private DeviceService deviceService;
    @Autowired
    private SpecialDeviceService specialDeviceService;
@@ -56,8 +58,15 @@
    @GetMapping("fuzzySearch")
    @ApiOperation(value = "小程序模糊搜索")
    public ResultMessage fuzzySearch(@RequestParam @ApiParam(value = "mac",name = "设备mac号") String mac){
        List<Device> devices = deviceService.getFuzzySearch(mac);
        List<AppDeviceVo> devices = deviceService.getFuzzySearch(mac);
        return ResultMessage.ok(devices);
    }
    @GetMapping("specialDevice")
    @ApiOperation(value = "查询特殊设备")
    public ResultMessage selectSpecialDevice(){
        List<AppDeviceVo> appDeviceVos = specialDeviceService.selectSpecialDevice();
        return ResultMessage.ok(appDeviceVos);
    }
}
screen-api/src/main/java/com/moral/api/mapper/DeviceMapper.java
@@ -5,6 +5,7 @@
import com.moral.api.entity.Device;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.moral.api.pojo.vo.device.AppDeviceVo;
import io.lettuce.core.dynamic.annotation.Param;
/**
@@ -34,4 +35,6 @@
    List<String> deviceMacs(@Param("organizationId") int organizationId);
    List<AppDeviceVo> getDevices(@Param("mac") String mac,@Param("organizationId") Integer organizationId);
}
screen-api/src/main/java/com/moral/api/mapper/SpecialDeviceMapper.java
@@ -1,7 +1,10 @@
package com.moral.api.mapper;
import java.util.List;
import com.moral.api.entity.SpecialDevice;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.moral.api.pojo.vo.device.AppDeviceVo;
/**
 * <p>
@@ -13,4 +16,6 @@
 */
public interface SpecialDeviceMapper extends BaseMapper<SpecialDevice> {
    List<AppDeviceVo> selectSpecialDevice(Integer organizationId);
}
screen-api/src/main/java/com/moral/api/pojo/vo/device/AppDeviceVo.java
New file
@@ -0,0 +1,46 @@
package com.moral.api.pojo.vo.device;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.moral.api.pojo.enums.InvestigationEnum;
@Data
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class AppDeviceVo {
    private  Integer id;
    private  String name;
    private  String mac;
    private  String specialType;
    @TableField(exist = false)
    private  String typeName;
    public String getTypeName() {
        String specialType = this.specialType;
        if (!ObjectUtils.isEmpty(specialType)){
            if (specialType.equals("1")){
                return InvestigationEnum.UAV.name;
            }else if (specialType.equals("0")){
                return InvestigationEnum.TRAVELING_VEHICLE.name;
            }
        }
        return "站点";
    }
    public String getSpecialType() {
        String specialType = this.specialType;
        if (ObjectUtils.isEmpty(specialType)){
            return "3";
        }
        return specialType;
    }
}
screen-api/src/main/java/com/moral/api/service/AllocationService.java
@@ -134,4 +134,7 @@
    void checkSmallRoutine(AllocationCheckCond checkCond);
    boolean authority(String allocationNum,Integer userId);
}
screen-api/src/main/java/com/moral/api/service/DeviceService.java
@@ -2,6 +2,7 @@
import com.moral.api.entity.Device;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moral.api.pojo.vo.device.AppDeviceVo;
import java.util.List;
import java.util.Map;
@@ -56,7 +57,7 @@
     * @param mac
     * @return
     */
    List<Device> getFuzzySearch(String mac);
    List<AppDeviceVo> getFuzzySearch(String mac);
    /**
     * 根据站点查询设备
screen-api/src/main/java/com/moral/api/service/SpecialDeviceService.java
@@ -10,6 +10,7 @@
import com.moral.api.entity.SpecialDevice;
import com.baomidou.mybatisplus.extension.service.IService;
import com.moral.api.pojo.bo.ExcelBO;
import com.moral.api.pojo.vo.device.AppDeviceVo;
import com.moral.api.pojo.vo.excel.DailyVo;
/**
@@ -53,7 +54,7 @@
    //查询日报
    List<ExcelBO> selectDaily(Map<String, Object> params);
    //查询所有特殊设备
    List<AppDeviceVo> selectSpecialDevice();
}
screen-api/src/main/java/com/moral/api/service/impl/AllocationServiceImpl.java
@@ -12,6 +12,7 @@
import com.moral.api.mapper.ResponsibilityUnitMapper;
import com.moral.api.mapper.SysDictDataMapper;
import com.moral.api.mapper.SysDictTypeMapper;
import com.moral.api.mapper.UserMapper;
import com.moral.api.pojo.bean.BaseInvalidEntity;
import com.moral.api.pojo.dto.allocation.AllocationUnitViewDto;
import com.moral.api.pojo.enums.*;
@@ -834,6 +835,33 @@
    }
    @Override
    public boolean authority(String allocationNum,Integer userId) {
        //获取用户信息
        QxUser user = UserHelper.getCurrentUser();
        List<Integer> userList = responsibilityUnitMapper.selectCodeList(SysDictTypeEnum.SYS_JBD.getValue(),user.getUserId());
        if(CollectionUtils.isNotEmpty(userList)){
            return true;
        }
        if(Objects.nonNull(user.getUnitId())){
            LambdaQueryWrapper<Allocation> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(Allocation::getAllocationNum,allocationNum);
            wrapper.eq(Allocation::getIsDel,0);
            wrapper.eq(Allocation::getIsInvalid,0);
            Allocation allocation = allocationMapper.selectOne(wrapper);
            if (allocation.getUnitId().equals(user.getUnitId())){
                return true;
            }
            String code = responsibilityUnitMapper.selectAreaCode(user.getUnitId());
            if(code.length()>6){
                return false;
            }else {
                return true;
            }
        }
        return true;
    }
    @Override
    public List<Integer>  unitResult() {
        QxUser user = UserHelper.getCurrentUser();
        Integer unitId = Objects.nonNull(user.getUnitId())?user.getUnitId():0;
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.config.Interceptor.UserHelper;
import com.moral.api.config.mybatis.MybatisPlusConfig;
import com.moral.api.entity.*;
import com.moral.api.mapper.DeviceMapper;
@@ -11,6 +12,8 @@
import com.moral.api.mapper.HistoryHourlyMapper;
import com.moral.api.mapper.OrganizationUnitAlarmMapper;
import com.moral.api.mapper.UnitConversionMapper;
import com.moral.api.pojo.vo.device.AppDeviceVo;
import com.moral.api.pojo.vo.user.QxUser;
import com.moral.api.service.DeviceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.SensorService;
@@ -503,17 +506,20 @@
     * @return
     */
    @Override
    public List<Device> getFuzzySearch(String mac) {
        LambdaQueryWrapper<Device> wrapper = new LambdaQueryWrapper<>();
        if (ObjectUtils.isEmpty(mac)){
            return null;
    public List<AppDeviceVo> getFuzzySearch(String mac) {
        QxUser user = UserHelper.getCurrentUser();
        Integer organizationId = user.getOrganizationId();
//        Integer organizationId = 24;
        List<AppDeviceVo> devices;
        if (organizationId!=24){
             devices = deviceMapper.getDevices(mac,organizationId);
        }else {
             devices = deviceMapper.getDevices(mac,null);
        }
        wrapper.eq(Device::getIsDelete,Constants.NOT_DELETE);
        wrapper.like(Device::getMac,mac);
        List<Device> devices = deviceMapper.selectList(wrapper);
        return devices;
    }
    /**
     * 根据站点查询设备
     *
screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.config.Interceptor.UserHelper;
import com.moral.api.entity.*;
import com.moral.api.mapper.DailyMapper;
import com.moral.api.mapper.HistorySecondCruiserMapper;
@@ -14,7 +15,9 @@
import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultCountDTO;
import com.moral.api.pojo.dto.historySecondCruiser.HistorySecondCruiserResultDTO;
import com.moral.api.pojo.enums.SysDictTypeEnum;
import com.moral.api.pojo.vo.device.AppDeviceVo;
import com.moral.api.pojo.vo.excel.DailyVo;
import com.moral.api.pojo.vo.user.QxUser;
import com.moral.api.service.OrganizationService;
import com.moral.api.service.SpecialDeviceHistoryService;
import com.moral.api.service.SpecialDeviceService;
@@ -507,6 +510,20 @@
        return excelBOS;
    }
    @Override
    public List<AppDeviceVo> selectSpecialDevice() {
        QxUser user = UserHelper.getCurrentUser();
        Integer organizationId = user.getOrganizationId();
//        Integer organizationId=71;
        List<AppDeviceVo> appDeviceVos;
        if (organizationId!=24){
            appDeviceVos = specialDeviceMapper.selectSpecialDevice(organizationId);
        }else {
            appDeviceVos = specialDeviceMapper.selectSpecialDevice(null);
        }
        return appDeviceVos;
    }
    //计算平均值和最大值
    private HashMap<String, Object> getStringObjectHashMap(List<Map<String, Object>> maps) {
        HashMap<String, Object> rsMap = new HashMap<>();
screen-api/src/main/resources/mapper/DeviceMapper.xml
@@ -192,4 +192,20 @@
        select mac from device where organization_id = #{organizationId} order by id desc
    </select>
    <select id="getDevices" resultType="com.moral.api.pojo.vo.device.AppDeviceVo">
        SELECT d.id,d.`name`,d.mac,d.special_type FROM device as d
        where 1=1
        <if test="organizationId !=null">
            AND organization_id = #{organizationId}
        </if>
           and mac LIKE "%"#{mac}"%" AND is_delete = 0
        union
        SELECT sd.id,sd.`name`,sd.mac,sd.special_type FROM special_device  as sd
        WHERE 1=1
        <if test="organizationId !=null">
            AND organization_id = #{organizationId}
        </if>
          and mac LIKE "%"#{mac}"%" AND is_delete = 0
    </select>
</mapper>
screen-api/src/main/resources/mapper/SpecialDeviceMapper.xml
@@ -17,4 +17,13 @@
        <result column="is_delete" property="isDelete"/>
    </resultMap>
    <select id="selectSpecialDevice" resultType="com.moral.api.pojo.vo.device.AppDeviceVo">
        SELECT id,`name`,mac,special_type FROM special_device
        WHERE 1=1
        <if test="organization_id !=null">
            AND organization_id=#{organizationId}
        </if>
           AND is_delete =0
    </select>
</mapper>