Browse Source

新增接口服务模块,设备列表

master
刘力 3 years ago
parent
commit
9523c7aa3c
  1. 20
      APIService/pom.xml
  2. 1
      pom.xml
  3. 5
      storeroom/pom.xml
  4. 40
      storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java
  5. 47
      storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java
  6. 9
      storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceTypeReposityory.java
  7. 30
      storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java
  8. 16
      storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceQueryCriteria.java
  9. 23
      storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceQueryDto.java
  10. 45
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java
  11. 5
      system/pom.xml

20
APIService/pom.xml

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yxk_StoreroomSystem</artifactId>
<groupId>com.storeroom</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>APIService</artifactId>
<name>第三方接口服务</name>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
</project>

1
pom.xml

@ -14,6 +14,7 @@
<module>logging</module> <module>logging</module>
<module>archives</module> <module>archives</module>
<module>storeroom</module> <module>storeroom</module>
<module>APIService</module>
</modules> </modules>
<name>智能库房综合管理系统</name> <name>智能库房综合管理系统</name>

5
storeroom/pom.xml

@ -23,6 +23,11 @@
<artifactId>common</artifactId> <artifactId>common</artifactId>
<version>1.0</version> <version>1.0</version>
</dependency> </dependency>
<dependency>
<groupId>com.storeroom</groupId>
<artifactId>APIService</artifactId>
<version>1.0</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

40
storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java

@ -0,0 +1,40 @@
package com.storeroom.modules.device.controller;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.device.service.DeviceService;
import com.storeroom.modules.device.service.dto.DeviceQueryCriteria;
import com.storeroom.utils.ApiResponse;
import com.storeroom.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequiredArgsConstructor
@Api(tags = "设备管理")
@RequestMapping("/api/device/")
public class DeviceController {
private final DeviceService deviceService;
@ApiOperation("通过id获取设备列表")
@AnonymousGetMapping("list")
public ApiResponse<Object> list(String storeroomId, String deviceTypeId, Pageable pageable) {
if (!StringUtils.isEmpty(storeroomId) && !StringUtils.isEmpty(deviceTypeId)) {
return ApiResponse.success(deviceService.queryAll(pageable));
}
if (StringUtils.isEmpty(storeroomId) && !StringUtils.isEmpty(deviceTypeId)) {
return ApiResponse.success(deviceService.queryDeviceType(deviceTypeId, pageable));
}
if (StringUtils.isEmpty(deviceTypeId) && !StringUtils.isEmpty(storeroomId)) {
return ApiResponse.success(deviceService.queryStoreroomDevice(storeroomId, pageable));
}
return ApiResponse.success(deviceService.queryAll(pageable));
}
}

47
storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java

@ -3,6 +3,9 @@ package com.storeroom.modules.device.repository;
import com.storeroom.modules.device.domain.DeviceInfo; import com.storeroom.modules.device.domain.DeviceInfo;
import com.storeroom.modules.device.domain.DeviceType; import com.storeroom.modules.device.domain.DeviceType;
import com.storeroom.modules.device.domain.Storeroom; import com.storeroom.modules.device.domain.Storeroom;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
@ -45,6 +48,7 @@ public interface DeviceInfoRepository extends JpaRepository<DeviceInfo, String>,
/** /**
* 通过 ip 端口号 第三方设备id 查询 * 通过 ip 端口号 第三方设备id 查询
*
* @param deviceIp ip * @param deviceIp ip
* @param devicePort 端口号 * @param devicePort 端口号
* @param deviceId 第三方设备id * @param deviceId 第三方设备id
@ -55,11 +59,12 @@ public interface DeviceInfoRepository extends JpaRepository<DeviceInfo, String>,
/** /**
* 根据第三方设备id和设备类型查询 * 根据第三方设备id和设备类型查询
*
* @param deviceId * @param deviceId
* @param deviceTypeId * @param deviceTypeId
* @return * @return
*/ */
List<DeviceInfo> findByDeviceIdAndDeviceTypeId(String deviceId,DeviceType deviceTypeId);
List<DeviceInfo> findByDeviceIdAndDeviceTypeId(String deviceId, DeviceType deviceTypeId);
/** /**
* 查询排序最大值 * 查询排序最大值
@ -69,4 +74,44 @@ public interface DeviceInfoRepository extends JpaRepository<DeviceInfo, String>,
@Query(value = "SELECT MAX(sequence) AS maxsque FROM device_info", nativeQuery = true) @Query(value = "SELECT MAX(sequence) AS maxsque FROM device_info", nativeQuery = true)
Integer findByMax(); Integer findByMax();
/**
* 通过库房id和设备类型id 查询
*
* @param storeroomId 库房id
* @param deviceTypeId 设备类型id
* @param pageable 分页
* @return 列表
*/
@Query(value = "select * from device_info where storeroom_id=?1 or device_type_id=?2", nativeQuery = true)
Page<DeviceInfo> findList(String storeroomId, String deviceTypeId, Pageable pageable);
/**
* 查询所有列表
*
* @param pageable /
* @return /
*/
@Query(value = "select * from device_info", nativeQuery = true)
Page<DeviceInfo> findAllList(Pageable pageable);
/**
* 根据设备类型查询
*
* @param deviceTypeId
* @param pageable
* @return
*/
@Query(value = "select * from device_info where storeroom_id=?1", nativeQuery = true)
Page<DeviceInfo> findStoreroomId(String storeroomId, Pageable pageable);
/**
* 通过设备类型查询
* @param deviceTypeId
* @param pageable
* @return
*/
@Query(value = "select * from device_info where device_type_id=?1", nativeQuery = true)
Page<DeviceInfo> findDeviceTypeList(String deviceTypeId, Pageable pageable);
} }

9
storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceTypeReposityory.java

@ -0,0 +1,9 @@
package com.storeroom.modules.device.repository;
import com.storeroom.modules.device.domain.DeviceType;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
public interface DeviceTypeReposityory extends JpaRepository<DeviceType,String>, JpaSpecificationExecutor<DeviceType> {
}

30
storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java

@ -2,7 +2,8 @@ package com.storeroom.modules.device.service;
import com.storeroom.modules.device.service.dto.DeviceInfoDto; import com.storeroom.modules.device.service.dto.DeviceInfoDto;
import com.storeroom.modules.device.service.dto.DeviceMacDto;
import com.storeroom.modules.device.service.dto.DeviceQueryCriteria;
import org.springframework.data.domain.Pageable;
import java.util.List; import java.util.List;
@ -12,7 +13,31 @@ public interface DeviceService {
/* /*
* 通过库房id 查询设备 * 通过库房id 查询设备
*/ */
List<DeviceInfoDto> findByDevice(String StoreRoomId);
Object queryStoreroomAndDevice(String storeroomId, String deviceTypeId, Pageable pageable);
/**
* 通过库房id查询
* @param storeroomId /
* @param pageable /
* @return /
*/
Object queryStoreroomDevice(String storeroomId,Pageable pageable);
/**
* 通过设备类型id 查询
* @param deviceTypeId /
* @param pageable /
* @return /
*/
Object queryDeviceType(String deviceTypeId,Pageable pageable);
/**
* 查询全部列表
* @param pageable
* @return
*/
Object queryAll(Pageable pageable);
/** /**
* 新增密集架 * 新增密集架
@ -98,5 +123,4 @@ public interface DeviceService {
DeviceInfoDto findById(String id); DeviceInfoDto findById(String id);
} }

16
storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceQueryCriteria.java

@ -0,0 +1,16 @@
package com.storeroom.modules.device.service.dto;
import com.storeroom.annotaion.Query;
import lombok.Data;
import java.io.Serializable;
@Data
public class DeviceQueryCriteria implements Serializable {
@Query
private String storeroomId;
@Query
private String deviceTypeId;
}

23
storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceQueryDto.java

@ -0,0 +1,23 @@
package com.storeroom.modules.device.service.dto;
import com.storeroom.annotaion.Query;
import com.storeroom.modules.device.domain.DeviceType;
import com.storeroom.modules.device.domain.Storeroom;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Data
@Getter
@Setter
public class DeviceQueryDto implements Serializable {
@Query
private Storeroom storeroomDto;
@Query
private DeviceType deviceType;
}

45
storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java

@ -2,16 +2,16 @@ package com.storeroom.modules.device.service.impl;
import com.storeroom.exception.BaseException; import com.storeroom.exception.BaseException;
import com.storeroom.modules.device.domain.*; import com.storeroom.modules.device.domain.*;
import com.storeroom.modules.device.repository.DeviceArchivesTagRepository;
import com.storeroom.modules.device.repository.DeviceInfoRepository;
import com.storeroom.modules.device.repository.OperatingStateRepository;
import com.storeroom.modules.device.repository.*;
import com.storeroom.modules.device.service.DeviceService; import com.storeroom.modules.device.service.DeviceService;
import com.storeroom.modules.device.service.dto.DeviceInfoDto; import com.storeroom.modules.device.service.dto.DeviceInfoDto;
import com.storeroom.modules.device.service.dto.DeviceMacDto;
import com.storeroom.modules.device.service.mapstruct.DeviceInfoMapper; import com.storeroom.modules.device.service.mapstruct.DeviceInfoMapper;
import com.storeroom.utils.NanoIdUtils;
import com.storeroom.utils.StringUtils;
import com.storeroom.utils.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
@ -31,10 +31,34 @@ public class DeviceImpl implements DeviceService {
private final DeviceArchivesTagRepository deviceArchivesTagRepository; private final DeviceArchivesTagRepository deviceArchivesTagRepository;
@Override @Override
public List<DeviceInfoDto> findByDevice(String StoreRoomId) {
return null;
public Object queryStoreroomAndDevice(String storeroomId, String deviceTypeId, Pageable pageable) {
PageRequest pageRequest = PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "sequence", Sort.Direction.ASC);
Page<DeviceInfo> page = deviceInfoRepository.findList(storeroomId, deviceTypeId,pageRequest);
return PageUtil.toPage(page.map(deviceInfoMapper::toDto));
} }
@Override
public Object queryStoreroomDevice(String storeroomId, Pageable pageable) {
PageRequest pageRequest = PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "sequence", Sort.Direction.ASC);
Page<DeviceInfo> page = deviceInfoRepository.findStoreroomId(storeroomId,pageRequest);
return PageUtil.toPage(page.map(deviceInfoMapper::toDto));
}
@Override
public Object queryDeviceType(String deviceTypeId, Pageable pageable) {
PageRequest pageRequest = PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "sequence", Sort.Direction.ASC);
Page<DeviceInfo> page = deviceInfoRepository.findDeviceTypeList(deviceTypeId,pageRequest);
return PageUtil.toPage(page.map(deviceInfoMapper::toDto));
}
@Override
public Object queryAll(Pageable pageable) {
PageRequest pageRequest = PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "sequence", Sort.Direction.ASC);
Page<DeviceInfo> page = deviceInfoRepository.findAllList(pageRequest);
return PageUtil.toPage(page.map(deviceInfoMapper::toDto));
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void createDeseCabinet(DeviceInfoDto deviceInfoDto) { public void createDeseCabinet(DeviceInfoDto deviceInfoDto) {
@ -274,15 +298,14 @@ public class DeviceImpl implements DeviceService {
@Override @Override
public DeviceInfoDto findById(String id) { public DeviceInfoDto findById(String id) {
if (StringUtils.isEmpty(id)){
if (StringUtils.isEmpty(id)) {
throw new BaseException("id不能为空"); throw new BaseException("id不能为空");
} }
DeviceInfo deviceInfo=deviceInfoRepository.findById(id).orElseGet(DeviceInfo::new);
DeviceInfo deviceInfo = deviceInfoRepository.findById(id).orElseGet(DeviceInfo::new);
return deviceInfoMapper.toDto(deviceInfo); return deviceInfoMapper.toDto(deviceInfo);
} }
/** /**
* 生成架位左右位置 * 生成架位左右位置
* *

5
system/pom.xml

@ -91,6 +91,11 @@
<artifactId>storeroom</artifactId> <artifactId>storeroom</artifactId>
<version>1.0</version> <version>1.0</version>
</dependency> </dependency>
<dependency>
<groupId>com.storeroom</groupId>
<artifactId>APIService</artifactId>
<version>1.0</version>
</dependency>
</dependencies> </dependencies>

Loading…
Cancel
Save