cjl
2023-10-25 8af1bd5ed227ff568b3ac60f3594ae2a8dfd9dec
Merge remote-tracking branch 'origin/cjl' into qa
3 files modified
49 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java 13 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java 26 ●●●●● patch | view | raw | blame | history
screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml 10 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/pojo/enums/SysDictTypeEnum.java
@@ -20,8 +20,19 @@
     */
    SYS_JBD("JBD", "交办单"),
    SYS_SECOND_CRUISER("ZHC","秒级走航车"),
    /**
     *ZHC
     */
    SYS_SECOND_CRUISER("ZHC","秒级走航车高值范围"),
    /**
     *ZHC_RANGE
     */
    SYS_SECOND_CRUISER_RANGE("ZHCRANGE","走航车组织范围"),
    /**
     *WIND
     */
    WIND_FARM_SCOPE("WIND","风场范围"),
    ;
screen-api/src/main/java/com/moral/api/service/impl/SpecialDeviceServiceImpl.java
@@ -93,16 +93,27 @@
        //获取当前用户信息
        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
        Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
        Integer userId = (Integer) userInfo.get("userId");
        List<Integer> integerList = new ArrayList<>();
        SysDictData listSys = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER_RANGE.getValue(),userId.toString());
        if(listSys.getDataValue().contains(",")){
            List<Integer> resultStr = Arrays.asList(listSys.getDataValue().split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
            integerList.addAll(resultStr);
        }else {
            Integer dataValue = Objects.nonNull(listSys.getDataValue())?Integer.parseInt(listSys.getDataValue()):0;
            integerList.add(dataValue);
        }
        Integer orgId = (Integer) orgInfo.get("id");
        //获取所有子组织
        List<Organization> organizations = organizationService.getChildrenOrganizationsById(orgId);
        List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList());
        orgIds.add(orgId);
        integerList.addAll(orgIds);
        QueryWrapper<SpecialDeviceHistory> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("mac", "name")
                //.eq("special_type", Constants.SPECIAL_DEVICE_CRUISER)
                .eq("is_delete", Constants.NOT_DELETE)
                .in("organization_id", orgIds);
                .in("organization_id", integerList);
        return specialDeviceHistoryService.listMaps(queryWrapper);
    }
@@ -153,9 +164,20 @@
        String type = params.get("type").toString();
        params.put("dateFormat", "%Y-%m-%d %H:%i:%s");
        Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfo();
        Integer userId = (Integer) userInfo.get("userId");
        Map<String, Object> orgInfo = (Map<String, Object>) userInfo.get("organization");
        Integer orgId = (Integer) orgInfo.get("id");
        params.put("orgId", orgId);
        List<Integer> integerList = new ArrayList<>();
        SysDictData listSys = sysDictTypeService.listOne(SysDictTypeEnum.SYS_SECOND_CRUISER_RANGE.getValue(),userId.toString());
        if(listSys.getDataValue().contains(",")){
            List<Integer> resultStr = Arrays.asList(listSys.getDataValue().split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
            integerList.addAll(resultStr);
        }else {
            Integer dataValue = Objects.nonNull(listSys.getDataValue())?Integer.parseInt(listSys.getDataValue()):0;
            integerList.add(dataValue);
        }
        integerList.add(orgId);
        params.put("orgIds", integerList);
        params.put("type","$."+type);
        //从秒数据表获取走航车数据
        List<HistorySecondCruiserListDTO> data = HistorySecondCruiserMapper.getCruiserDataNewAvg(params);
screen-api/src/main/resources/mapper/HistorySecondCruiserMapper.xml
@@ -38,7 +38,15 @@
        WHERE mac = #{mac}
          AND `time` <![CDATA[>=]]> #{time1}
          AND `time` <![CDATA[<=]]> #{time2}
          AND organization_id = #{orgId}
        <if test="orgId !=null and orgId != 0">
            AND organization_id = #{orgId}
        </if>
        <if test="orgIds != null and orgIds.size !=0">
            and organization_id in
            <foreach collection="orgIds" item="id" index="index" open="(" close=")" separator=",">
                #{id}
            </foreach>
        </if>
        order by time
    </select>