ard-work/pom.xml
@@ -41,15 +41,11 @@ <groupId>net.java.jna</groupId> <artifactId>jna</artifactId> <version>1.0.0</version> <!-- <scope>system</scope>--> <!-- <systemPath>${project.basedir}/src/main/resources/lib/jna.jar</systemPath>--> </dependency> <dependency> <groupId>net.java.examples</groupId> <artifactId>examples</artifactId> <version>1.0.0</version> <!-- <scope>system</scope>--> <!-- <systemPath>${project.basedir}/src/main/resources/lib/examples.jar</systemPath>--> </dependency> <dependency> <groupId>org.springframework.boot</groupId> ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -1,15 +1,14 @@ package com.ruoyi.sy.controller; import java.text.Collator; import java.util.*; import java.util.*; import javax.annotation.PostConstruct; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.client.ARDCarGPSLogInClient; import com.ruoyi.client.ARDCarSYGPSClient; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.sy.domain.ArdSyUser; @@ -60,6 +59,12 @@ @Autowired private IArdSyUserService iArdSyUserService; @Autowired private ISysUserService sysUserService; @Autowired private ISysDeptService sysDeptService; private ArdSyCarController ardSyCarController; @@ -388,13 +393,31 @@ break; } } // for(Map<String,String> m : list0){ // for(Map<String,String> ma : list1){ //根据userId查询部门Id SysUser sysUser = sysUserService.selectUserById(usersId); Long deptId = sysUser.getDeptId(); //根据当前deptId或者当前及所属下级的所有deptId List<Long> deptList = sysDeptService.deptIdBySub(deptId); //根据dept集合查询出所有对应的车辆列表 List<ArdSyCar> carList = ardSyCarService.carIdByDeptList(deptList); //对比把匹配到的数据添加到list中 for(Map<String,String> m : list){ String carId = m.get("carId"); for (int i = 0; i < carList.size(); i++) { ArdSyCar ardSyCar = carList.get(i); if(carId.equals(ardSyCar.getCarId())){ m.put("carModel",ardSyCar.getCarModel()); m.put("carTypeArd",ardSyCar.getCarType()); m.put("carBrand",ardSyCar.getCarBrand()); m.put("carPicture",ardSyCar.getCarPicture()); } } // for(Map<String,String> ma :){ // if(m.get("carId").equals(ma.get("carId"))){ // m.put("stateCn", ma.get("carState")); // } // } // } } // Collections.sort((List)result0.get("list"),new Comparator<Map<String, Object>>() { // @Override // public int compare(Map<String, Object> o1, Map<String, Object> o2) { ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
@@ -3,6 +3,7 @@ import java.util.List; import java.util.Map; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.sy.domain.ArdSyCar; import org.apache.ibatis.annotations.Param; @@ -12,7 +13,7 @@ * @author ard * @date 2023-06-26 */ public interface ArdSyCarMapper public interface ArdSyCarMapper extends BaseMapper<ArdSyCar> { /** * 查询三一车辆 ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
@@ -95,4 +95,11 @@ // List<ArdSyCar> getArdSyCarWithRightByCarIdList(List<String> carIdList); Results carListById(String id); /** * 根据dept集合查询出所有对应的carId * @param deptList * @return */ List<ArdSyCar> carIdByDeptList(List<Long> deptList); } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -9,6 +9,7 @@ import java.util.stream.Collectors; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.common.websocket.util.WebSocketUtils; @@ -378,4 +379,16 @@ WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(key), JSON.toJSONString(data)); } } /** * 根据dept集合查询出所有对应的carId * @param deptList * @return */ @Override public List<ArdSyCar> carIdByDeptList(List<Long> deptList){ QueryWrapper<ArdSyCar> queryWrapper = new QueryWrapper<>(); queryWrapper.in("dept_id",deptList); return ardSyCarMapper.selectList(queryWrapper); } } ruoyi-admin/src/main/resources/application.yml
@@ -39,6 +39,7 @@ com.ruoyi.utils.tube: debug com.ruoyi.inspect: info org.springframework: warn com.example.mapper: debug # 用户配置 user: @@ -102,13 +103,25 @@ expireTime: 30 # MyBatis配置 mybatis: # 搜索指定包别名 typeAliasesPackage: com.ruoyi.**.domain # 配置mapper的扫描,找到所有的mapper.xml映射文件 mapperLocations: classpath*:mapper/**/*Mapper.xml # 加载全局的配置文件 configLocation: classpath:mybatis/mybatis-config.xml #mybatis: # # 搜索指定包别名 # typeAliasesPackage: com.ruoyi.**.domain # # 配置mapper的扫描,找到所有的mapper.xml映射文件 # mapperLocations: classpath*:mapper/**/*Mapper.xml # # 加载全局的配置文件 # configLocation: classpath:mybatis/mybatis-config.xml mybatis-plus: type-Aliases-Package: com.ruoyi.**.domain mapper-Locations: classpath*:mapper/**/*Mapper.xml config-Location: classpath:mybatis/mybatis-config.xml # configuration: # # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 # map-underscore-to-camel-case: true # # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段 # call-setters-on-nulls: true # # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # PageHelper分页插件 pagehelper: ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
@@ -113,20 +113,20 @@ return resources.toArray(new Resource[resources.size()]); } @Bean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage"); String mapperLocations = env.getProperty("mybatis.mapperLocations"); String configLocation = env.getProperty("mybatis.configLocation"); typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage); VFS.addImplClass(SpringBootVFS.class); final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); sessionFactory.setTypeAliasesPackage(typeAliasesPackage); sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ","))); sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); return sessionFactory.getObject(); } // @Bean // public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception // { // String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage"); // String mapperLocations = env.getProperty("mybatis.mapperLocations"); // String configLocation = env.getProperty("mybatis.configLocation"); // typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage); // VFS.addImplClass(SpringBootVFS.class); // // final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); // sessionFactory.setDataSource(dataSource); // sessionFactory.setTypeAliasesPackage(typeAliasesPackage); // sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ","))); // sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); // return sessionFactory.getObject(); // } } ruoyi-system/pom.xml
@@ -25,7 +25,11 @@ <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> </dependencies> </project> ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
@@ -1,6 +1,8 @@ package com.ruoyi.system.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import com.ruoyi.common.core.domain.entity.SysDept; @@ -9,7 +11,7 @@ * * @author ruoyi */ public interface SysDeptMapper public interface SysDeptMapper extends BaseMapper<SysDept> { /** * 查询部门管理数据 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -1,6 +1,8 @@ package com.ruoyi.system.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import com.ruoyi.common.core.domain.entity.SysUser; @@ -9,7 +11,7 @@ * * @author ruoyi */ public interface SysUserMapper public interface SysUserMapper extends BaseMapper<SysUser> { /** * 根据条件分页查询用户列表 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -124,4 +124,12 @@ */ public int deleteDeptById(Long deptId); /** * 根据当前deptId或者当前及所属下级的所有deptId * @param deptId * @return */ List<Long> deptIdBySub(Long deptId); } ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -2,6 +2,8 @@ import java.util.*; import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.springframework.stereotype.Service; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.constant.UserConstants; @@ -335,5 +337,19 @@ return getChildList(list, t).size() > 0; } @Override public List<Long> deptIdBySub(Long deptId) { QueryWrapper<SysDept> queryWrapper = new QueryWrapper<>(); queryWrapper.select("dept_id").apply("string_to_array( ancestors, ',' ) @> ARRAY [ '"+deptId+"']"); // in("cast(ancestors as bigint)",deptId); List<SysDept> list = deptMapper.selectList(queryWrapper); List<Long> deptList = new ArrayList<>(); deptList.add(deptId); for (int i = 0; i < list.size(); i++) { deptList.add(list.get(i).getDeptId()); } return deptList; } }