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>