From 39a5e785b49ceff0b0e9b7b5452e84d83a1c0460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8A=9B?= Date: Thu, 21 Jul 2022 10:58:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E7=94=9F=E6=88=90=E6=9E=B6?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ApiServiceImpl.java | 6 +- .../controller/DeseCabinetController.java | 2 - .../DeviceArchivesTagController.java | 35 +++ .../device/controller/DeviceController.java | 1 - .../device/domain/DeviceArchivesTag.java | 33 +++ .../modules/device/domain/DeviceInfo.java | 35 +-- .../DeviceArchivesTagRepository.java | 16 ++ .../repository/DeviceInfoRepository.java | 15 +- .../service/DeviceArchivesTagService.java | 11 + .../modules/device/service/DeviceService.java | 2 + .../device/service/StoreroomService.java | 6 + .../service/impl/DeviceArchivesTagImpl.java | 13 +- .../device/service/impl/DeviceImpl.java | 237 +++++++++--------- .../service/impl/DeviceSpecParamImpl.java | 7 + .../service/impl/OperatingStateImpl.java | 2 - .../device/service/impl/StoreroomImpl.java | 9 + storeroom/src/test/java/test.java | 25 ++ 17 files changed, 296 insertions(+), 159 deletions(-) create mode 100644 storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceArchivesTagController.java create mode 100644 storeroom/src/test/java/test.java diff --git a/APIService/src/main/java/com/storeroom/service/impl/ApiServiceImpl.java b/APIService/src/main/java/com/storeroom/service/impl/ApiServiceImpl.java index a4d6d22..7b36eb7 100644 --- a/APIService/src/main/java/com/storeroom/service/impl/ApiServiceImpl.java +++ b/APIService/src/main/java/com/storeroom/service/impl/ApiServiceImpl.java @@ -41,7 +41,8 @@ public class ApiServiceImpl implements ApiService { }); return access_token; } else { - throw new BaseException("访问失败" + response.getStatusLine().getStatusCode() + ""); + //throw new BaseException("访问失败" + response.getStatusLine().getStatusCode() + ""); + return null; } } @@ -81,7 +82,8 @@ public class ApiServiceImpl implements ApiService { }); return deviceAllDtoList; } else { - throw new BaseException("访问失败" + response.getStatusLine().getStatusCode() + ""); + //throw new BaseException("访问失败" + response.getStatusLine().getStatusCode() + ""); + return null; } } } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/controller/DeseCabinetController.java b/storeroom/src/main/java/com/storeroom/modules/device/controller/DeseCabinetController.java index 431ec03..aac402d 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/controller/DeseCabinetController.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/controller/DeseCabinetController.java @@ -1,7 +1,6 @@ package com.storeroom.modules.device.controller; -import com.storeroom.annotaion.rest.AnonymousGetMapping; import com.storeroom.annotaion.rest.AnonymousPostMapping; import com.storeroom.annotaion.rest.AnonymousPutMapping; import com.storeroom.exception.BaseException; @@ -16,7 +15,6 @@ import lombok.RequiredArgsConstructor; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController diff --git a/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceArchivesTagController.java b/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceArchivesTagController.java new file mode 100644 index 0000000..bc0f083 --- /dev/null +++ b/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceArchivesTagController.java @@ -0,0 +1,35 @@ +package com.storeroom.modules.device.controller; + + +import com.storeroom.annotaion.rest.AnonymousGetMapping; +import com.storeroom.exception.BaseException; +import com.storeroom.modules.device.service.DeviceArchivesTagService; +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.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Api(tags = "层架位标签管理") +@RequestMapping("/api/tag/") +public class DeviceArchivesTagController { + + private final DeviceArchivesTagService deviceArchivesTagService; + + + @ApiOperation("层架位标签列表") + @AnonymousGetMapping("list") + public ApiResponse list(@RequestParam String deviceInfoId, Pageable pageable) { + if (StringUtils.isEmpty(deviceInfoId)) { + throw new BaseException("id不能为空"); + } + return ApiResponse.success(deviceArchivesTagService.queryTagList(deviceInfoId, pageable)); + } + +} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java b/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java index d3d5d13..c5809f1 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java @@ -20,7 +20,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.List; import java.util.Set; @RestController diff --git a/storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceArchivesTag.java b/storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceArchivesTag.java index cdab526..b99cbb8 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceArchivesTag.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceArchivesTag.java @@ -39,6 +39,39 @@ public class DeviceArchivesTag extends BaseEntity implements Serializable { private String position_name; + @Column(name = "row_No") + @ApiModelProperty(value = "层数") + private Integer rowNo; + + @Column(name = "area_No") + @ApiModelProperty(value = "区号") + private Integer areaNo; + + @Column(name = "sum_column_No") + @ApiModelProperty(value = "总列数") + private Integer sumColumnNo; + + @Column(name = "first_column_No") + @ApiModelProperty(value = "起始列号") + private Integer firstColumnNo; + + @Column(name = "part_No") + @ApiModelProperty(value = "节数") + private Integer partNo; + + @Column(name = "storeroom_code") + @ApiModelProperty(value = "库房代码") + private String storeroomCode; + + @Column(name = "column_row_No") + @ApiModelProperty(value = "列数") + private Integer columnRowNo; + + @Column(name = "cupboard_No") + @ApiModelProperty(value = "柜号") + private Integer cupboardNo; + + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceInfo.java b/storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceInfo.java index 43e55d3..94f4516 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceInfo.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceInfo.java @@ -70,33 +70,6 @@ public class DeviceInfo extends BaseEntity implements Serializable { @ApiModelProperty(value = "设备状态") private Integer deviceState; - @Column(name = "row_No") - @ApiModelProperty(value = "层数") - private Integer rowNo; - - @Column(name = "area_No") - @ApiModelProperty(value = "区号") - private Integer areaNo; - - @Column(name = "sum_column_No") - @ApiModelProperty(value = "总列数") - private Integer sumColumnNo; - - @Column(name = "first_column_No") - @ApiModelProperty(value = "起始列号") - private Integer firstColumnNo; - - @Column(name = "part_No") - @ApiModelProperty(value = "节数") - private Integer partNo; - - @Column(name = "storeroom_code") - @ApiModelProperty(value = "库房代码") - private String storeroomCode; - - @Column(name = "column_row_No") - @ApiModelProperty(value = "每层列数") - private Integer columnRowNo; @Column(name = "device_account") @ApiModelProperty(value = "设备账号") @@ -106,10 +79,6 @@ public class DeviceInfo extends BaseEntity implements Serializable { @ApiModelProperty(value = "设备密码") private String devicePassword; - @Column(name = "cupboard_No") - @ApiModelProperty(value = "柜号") - private Integer cupboardNo; - @Column(name = "video_route") @ApiModelProperty("视频频道") @@ -136,11 +105,11 @@ public class DeviceInfo extends BaseEntity implements Serializable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DeviceInfo that = (DeviceInfo) o; - return Objects.equals(id, that.id) && Objects.equals(supplierId, that.supplierId) && Objects.equals(storeroomId, that.storeroomId) && Objects.equals(deviceTypeId, that.deviceTypeId) && Objects.equals(deviceSpecParamId, that.deviceSpecParamId) && Objects.equals(deviceId, that.deviceId) && Objects.equals(deviceName, that.deviceName) && Objects.equals(deviceIp, that.deviceIp) && Objects.equals(devicePort, that.devicePort) && Objects.equals(deviceState, that.deviceState) && Objects.equals(rowNo, that.rowNo) && Objects.equals(areaNo, that.areaNo) && Objects.equals(sumColumnNo, that.sumColumnNo) && Objects.equals(firstColumnNo, that.firstColumnNo) && Objects.equals(partNo, that.partNo) && Objects.equals(storeroomCode, that.storeroomCode) && Objects.equals(columnRowNo, that.columnRowNo) && Objects.equals(deviceAccount, that.deviceAccount) && Objects.equals(devicePassword, that.devicePassword) && Objects.equals(cupboardNo, that.cupboardNo) && Objects.equals(videoRoute, that.videoRoute) && Objects.equals(isNotice, that.isNotice) && Objects.equals(sequence, that.sequence) && Objects.equals(isLinkage, that.isLinkage) && Objects.equals(isCallback, that.isCallback); + return Objects.equals(id, that.id) && Objects.equals(supplierId, that.supplierId) && Objects.equals(storeroomId, that.storeroomId) && Objects.equals(deviceTypeId, that.deviceTypeId) && Objects.equals(deviceSpecParamId, that.deviceSpecParamId) && Objects.equals(deviceId, that.deviceId) && Objects.equals(deviceName, that.deviceName) && Objects.equals(deviceIp, that.deviceIp) && Objects.equals(devicePort, that.devicePort) && Objects.equals(deviceState, that.deviceState) && Objects.equals(deviceAccount, that.deviceAccount) && Objects.equals(devicePassword, that.devicePassword) && Objects.equals(videoRoute, that.videoRoute) && Objects.equals(isNotice, that.isNotice) && Objects.equals(sequence, that.sequence) && Objects.equals(isLinkage, that.isLinkage) && Objects.equals(isCallback, that.isCallback); } @Override public int hashCode() { - return Objects.hash(id, supplierId, storeroomId, deviceTypeId, deviceSpecParamId, deviceId, deviceName, deviceIp, devicePort, deviceState, rowNo, areaNo, sumColumnNo, firstColumnNo, partNo, storeroomCode, columnRowNo, deviceAccount, devicePassword, cupboardNo, videoRoute, isNotice, sequence, isLinkage, isCallback); + return Objects.hash(id, supplierId, storeroomId, deviceTypeId, deviceSpecParamId, deviceId, deviceName, deviceIp, devicePort, deviceState, deviceAccount, devicePassword, videoRoute, isNotice, sequence, isLinkage, isCallback); } } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceArchivesTagRepository.java b/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceArchivesTagRepository.java index 71603e7..a7faf73 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceArchivesTagRepository.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceArchivesTagRepository.java @@ -36,4 +36,20 @@ public interface DeviceArchivesTagRepository extends JpaRepository findAllByPage(Pageable page); + /** + * 通过设备类型查询标签 + * @param deviceInfoId / + * @return / + */ + List findByDeviceInfoId(String deviceInfoId,Pageable pageable); + + + /** + * 根据区号查询 + * @param areaNo + * @return + */ + List findByAreaNo(Integer areaNo); + + } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java b/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java index 7fc71f2..a720e55 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/repository/DeviceInfoRepository.java @@ -3,7 +3,6 @@ package com.storeroom.modules.device.repository; import com.storeroom.modules.device.domain.DeviceInfo; import com.storeroom.modules.device.domain.DeviceType; 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; @@ -15,8 +14,14 @@ import java.util.List; public interface DeviceInfoRepository extends JpaRepository, JpaSpecificationExecutor { + /** + * 根据库房查询 + * @param storeroomId / + * @return + */ List findByStoreroomId(Storeroom storeroomId); + /** * 根据ip 端口号 查询 * @@ -35,15 +40,14 @@ public interface DeviceInfoRepository extends JpaRepository, /** - * 查询区号 ip 端口号 + * 查询 ip 端口号 * - * @param areaNo 区号 * @param ip 设备ip * @param port 设备端口号 * @return / */ - @Query(value = "SELECT * FROM device_info WHERE area_No = ?1 AND device_ip=?2 AND device_port=?3", nativeQuery = true) - List findByAreaNoAndAndDeviceIpAndAndDevicePort(Integer areaNo, String ip, Integer port); + @Query(value = "SELECT * FROM device_info WHERE device_ip=?1 AND device_port=?2", nativeQuery = true) + List findByDeviceIpAndAndDevicePort(String ip, Integer port); /** @@ -66,6 +70,7 @@ public interface DeviceInfoRepository extends JpaRepository, */ List findByDeviceIdAndDeviceTypeId(String deviceId, DeviceType deviceTypeId); + /** * 查询排序最大值 * diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceArchivesTagService.java b/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceArchivesTagService.java index 8a5d681..ab26311 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceArchivesTagService.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceArchivesTagService.java @@ -3,10 +3,21 @@ package com.storeroom.modules.device.service; import com.storeroom.modules.device.domain.DeviceArchivesTag; import org.springframework.data.domain.Pageable; +import java.util.List; + public interface DeviceArchivesTagService { //根据层架位id获取设备id String findDeviceIdByShelfId(String shelfId); + DeviceArchivesTag findByDeviceInfoIdAndPosition(String deviceInfoId, String position); //根据分页获取全部层架位信息 Object findAll(Pageable page); + + /** + * 根据设备类型查询列表 + * @param deviceInfoId 设备类型 + * @return / + */ + List queryTagList(String deviceInfoId,Pageable pageable); + } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java b/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java index aa5b36d..24d483d 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java @@ -143,4 +143,6 @@ public interface DeviceService { */ void Delete(Set deviceInfoId); + + } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/StoreroomService.java b/storeroom/src/main/java/com/storeroom/modules/device/service/StoreroomService.java index 79f2b64..f8d5be3 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/StoreroomService.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/StoreroomService.java @@ -29,4 +29,10 @@ public interface StoreroomService { void update(StoreroomDto storeroomDto); List buildTree(); + + /** + * + * @return / + */ + List tagMenuTree(); } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceArchivesTagImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceArchivesTagImpl.java index 1d688a7..35c6c38 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceArchivesTagImpl.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceArchivesTagImpl.java @@ -3,6 +3,7 @@ package com.storeroom.modules.device.service.impl; import com.storeroom.exception.BaseException; import com.storeroom.modules.device.domain.DeviceArchivesTag; import com.storeroom.modules.device.repository.DeviceArchivesTagRepository; +import com.storeroom.modules.device.repository.DeviceInfoRepository; import com.storeroom.modules.device.service.DeviceArchivesTagService; import com.storeroom.utils.PageUtil; import com.storeroom.utils.StringUtils; @@ -10,6 +11,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; @@ -19,6 +21,7 @@ public class DeviceArchivesTagImpl implements DeviceArchivesTagService { private final DeviceArchivesTagRepository deviceArchivesTagRepository; + private final DeviceInfoRepository deviceInfoRepository; @Override public String findDeviceIdByShelfId(String shelfId) { @@ -32,11 +35,19 @@ public class DeviceArchivesTagImpl implements DeviceArchivesTagService { throw new BaseException("查询数据异常"); } List deviceArchivesTags = deviceArchivesTagRepository.findByDeviceInfoIdAndAndPosition(deviceInfoId, position); - return deviceArchivesTags.size() == 0 ? null:deviceArchivesTags.get(0); + return deviceArchivesTags.size() == 0 ? null : deviceArchivesTags.get(0); } @Override public Object findAll(Pageable page) { return PageUtil.toPage(deviceArchivesTagRepository.findAllByPage(page)); } + + @Override + public List queryTagList(String deviceInfoId, Pageable pageable) { + List deviceArchivesTagList = deviceArchivesTagRepository.findByDeviceInfoId(deviceInfoId, pageable); + List list = new ArrayList<>(deviceArchivesTagList); + list.add(deviceInfoRepository.findById(deviceInfoId)); + return list; + } } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java index 541805a..068670e 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java @@ -11,19 +11,17 @@ import com.storeroom.modules.device.service.mapstruct.DeviceTypeMapper; import com.storeroom.service.ApiService; import com.storeroom.utils.*; import lombok.RequiredArgsConstructor; -import lombok.SneakyThrows; -import org.apache.http.HttpResponse; import org.springframework.data.domain.Page; - import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; -import java.util.HashMap; + +import java.util.ArrayList; import java.util.List; +import java.util.Random; import java.util.Set; -import java.util.concurrent.ThreadLocalRandom; @Service @@ -92,7 +90,6 @@ public class DeviceImpl implements DeviceService { @Override public Object queryAll(Pageable pageable) { - // PageRequest pageRequest = PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "sequence", Sort.Direction.ASC); Page page = deviceInfoRepository.findAllList(pageable); if (getState()) { @@ -111,53 +108,62 @@ public class DeviceImpl implements DeviceService { @Override @Transactional(rollbackFor = Exception.class) public void createDeseCabinet(DeviceInfoDto deviceInfoDto) { - DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); - List deviceInfoList = deviceInfoRepository.findByAreaNoAndAndDeviceIpAndAndDevicePort(deviceInfo.getAreaNo(), deviceInfo.getDeviceIp(), deviceInfo.getDevicePort()); - if (deviceInfoList.size() != 0) { + List deviceInfoList = deviceInfoRepository.findByDeviceIpAndAndDevicePort(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort()); + List deviceArchivesTagList = deviceArchivesTagRepository.findByAreaNo(deviceInfoDto.getAreaNo()); + if (ObjectUtils.isEmpty(deviceInfoList.size()) && ObjectUtils.isEmpty(deviceArchivesTagList.size())) { throw new BaseException("区号IP端口不能重复添加设备"); } + DeviceArchivesTag deviceArchivesTag = new DeviceArchivesTag(); //创建密集架id - deviceInfo.setId(NanoIdUtils.randomNanoId()); - //生成架位 - String position = deviceInfo.getAreaNo() + - "-" + - deviceInfo.getFirstColumnNo() + - "-" + - deviceInfo.getPartNo() + - "-" + - deviceInfo.getRowNo() + - "-" + - GenerateNum(); - String leftOrRight; - if (GenerateNum().equals("1")) { - leftOrRight = "左"; - } else { - leftOrRight = "右"; + deviceInfoDto.setId(NanoIdUtils.randomNanoId()); + + for (int i = deviceInfoDto.getFirstColumnNo(); i <= deviceInfoDto.getSumColumnNo() + deviceInfoDto.getFirstColumnNo(); i++) { + for (int k = 1; k <= deviceInfoDto.getPartNo(); k++) { + for (int n = 1; n <= deviceInfoDto.getRowNo(); n++) { + Boolean boolLeftOrRight = GenerateNum(); + + String leftOrRight; + Integer numLeftOrRight; + if (boolLeftOrRight) { + leftOrRight = "左"; + numLeftOrRight = 1; + } else { + leftOrRight = "右"; + numLeftOrRight = 2; + } + //架位 + String position = deviceInfoDto.getAreaNo() + "-" + + i + "-" + k + "-" + n + "-" + numLeftOrRight; + + String positionName = deviceInfoDto.getAreaNo() + "区" + + i + "列" + k + "节" + n + "层" + leftOrRight; + //生成架位标签表id + deviceArchivesTag.setId(NanoIdUtils.randomNanoId()); + deviceArchivesTag.setPosition(position); + deviceArchivesTag.setDeviceInfoId(deviceInfoDto.getId()); + deviceArchivesTag.setPosition_name(positionName); + deviceArchivesTag.setAreaNo(deviceInfoDto.getAreaNo()); + deviceArchivesTag.setFirstColumnNo(deviceInfoDto.getFirstColumnNo()); + deviceArchivesTag.setColumnRowNo(i); + deviceArchivesTag.setPartNo(k); + deviceArchivesTag.setRowNo(n); + deviceArchivesTag.setSumColumnNo(deviceInfoDto.getSumColumnNo()); + deviceArchivesTag.setStoreroomCode(deviceInfoDto.getStoreroomCode()); + deviceArchivesTagRepository.save(deviceArchivesTag); + } + } } - String positionName = deviceInfo.getAreaNo() + - "区" + - deviceInfo.getFirstColumnNo() + - "列" + - deviceInfo.getPartNo() + - "节" + - deviceInfo.getRowNo() + - "层" + - leftOrRight; - DeviceArchivesTag deviceArchivesTag = new DeviceArchivesTag(); + + Integer num = deviceInfoRepository.findByMax(); if (num == 0) { - deviceInfo.setSequence(1); + deviceInfoDto.setSequence(1); } - deviceInfo.setSequence(num + 1); - //生成架位标签表id - deviceArchivesTag.setId(NanoIdUtils.randomNanoId()); - deviceArchivesTag.setPosition(position); - deviceArchivesTag.setDeviceInfoId(deviceInfo.getId()); - deviceArchivesTag.setPosition_name(positionName); + deviceInfoDto.setSequence(num + 1); + DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); //创建联动操作状态对象 - IsLinkageState(deviceInfo); - IsCallbackState(deviceInfo); - deviceArchivesTagRepository.save(deviceArchivesTag); + IsLinkageState(deviceInfoDto); + IsCallbackState(deviceInfoDto); deviceInfoRepository.save(deviceInfo); } @@ -166,20 +172,19 @@ public class DeviceImpl implements DeviceService { @Transactional(rollbackFor = Exception.class) public void updateDeseCabinet(DeviceInfoDto deviceInfoDto) { DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); - List deviceInfoList = deviceInfoRepository.findByAreaNoAndAndDeviceIpAndAndDevicePort(deviceInfo.getAreaNo(), deviceInfo.getDeviceIp(), deviceInfo.getDevicePort()); - if (!ObjectUtils.isEmpty(deviceInfoList)) { - throw new BaseException("区号IP端口不能重复添加设备"); - } +// List deviceInfoList = deviceInfoRepository.findByAreaNoAndAndDeviceIpAndAndDevicePort(deviceInfo.getAreaNo(), deviceInfo.getDeviceIp(), deviceInfo.getDevicePort()); +// if (!ObjectUtils.isEmpty(deviceInfoList)) { +// throw new BaseException("区号IP端口不能重复添加设备"); +// } DeviceInfo deviceInfo1 = deviceInfoRepository.findById(deviceInfo.getId()).orElseGet(DeviceInfo::new); if (ObjectUtils.isEmpty(deviceInfo1)) { throw new BaseException("数据不存在"); } - deviceInfo1.setDeviceName(deviceInfo.getDeviceName()); - deviceInfo1.setDeviceIp(deviceInfo.getDeviceIp()); - deviceInfo1.setDevicePort(deviceInfo.getDevicePort()); - deviceInfo1.setStoreroomCode(deviceInfo.getStoreroomCode()); - IsLinkageState(deviceInfo); - IsCallbackState(deviceInfo); + deviceInfo1.setDeviceName(deviceInfoDto.getDeviceName()); + deviceInfo1.setDeviceIp(deviceInfoDto.getDeviceIp()); + deviceInfo1.setDevicePort(deviceInfoDto.getDevicePort()); + IsLinkageState(deviceInfoDto); + IsCallbackState(deviceInfoDto); deviceInfoRepository.save(deviceInfo1); } @@ -191,59 +196,62 @@ public class DeviceImpl implements DeviceService { if (!ObjectUtils.isEmpty(rotaryCabinetList)) { throw new BaseException("同一IP和端口号下不能重复添加设备"); } - DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); - deviceInfo.setId(NanoIdUtils.randomNanoId()); - String position = deviceInfo.getCupboardNo() + - "-" + - deviceInfoDto.getRowNo() + - "-" + - deviceInfoDto.getRowNo() + - "-" + - deviceInfoDto.getColumnRowNo(); - - String positionName = deviceInfo.getCupboardNo() + - "柜" + - deviceInfoDto.getRowNo() + - "层" + - deviceInfoDto.getColumnRowNo() + - "列"; + deviceInfoDto.setId(NanoIdUtils.randomNanoId()); DeviceArchivesTag deviceArchivesTag = new DeviceArchivesTag(); + for (int i = 1; i < deviceInfoDto.getCupboardNo(); i++) { + for (int k = 1; k < deviceInfoDto.getRowNo(); k++) { + for (int n = 1; n < deviceInfoDto.getColumnRowNo(); n++) { + String position = i + "-" + k + "-" + n; + String positionName = i + "柜" + k + "层" + n + "列"; + + deviceArchivesTag.setId(NanoIdUtils.randomNanoId()); + deviceArchivesTag.setPosition(position); + deviceArchivesTag.setPosition_name(positionName); + deviceArchivesTag.setDeviceInfoId(deviceInfoDto.getId()); + deviceArchivesTag.setCupboardNo(i); + deviceArchivesTag.setRowNo(k); + deviceArchivesTag.setColumnRowNo(n); + deviceArchivesTag.setStoreroomCode(deviceInfoDto.getStoreroomCode()); + deviceArchivesTagRepository.save(deviceArchivesTag); + } + } + } + - deviceArchivesTag.setId(NanoIdUtils.randomNanoId()); - deviceArchivesTag.setPosition(position); - deviceArchivesTag.setPosition_name(positionName); - deviceArchivesTag.setDeviceInfoId(deviceInfoDto.getId()); Integer num = deviceInfoRepository.findByMax(); if (num == 0) { - deviceInfo.setSequence(1); + deviceInfoDto.setSequence(1); } - deviceInfo.setSequence(num + 1); - IsLinkageState(deviceInfo); - IsCallbackState(deviceInfo); + deviceInfoDto.setSequence(num + 1); + IsLinkageState(deviceInfoDto); + IsCallbackState(deviceInfoDto); + DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); deviceInfoRepository.save(deviceInfo); } @Override @Transactional(rollbackFor = Exception.class) public void updateRotaryCabinet(DeviceInfoDto deviceInfoDto) { - List deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePort(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort()); - if (!ObjectUtils.isEmpty(deviceInfoList)) { - throw new BaseException("同一IP和端口号下不能重复添加设备"); - } +// List deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePort(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort()); +// if (!ObjectUtils.isEmpty(deviceInfoList)) { +// throw new BaseException("同一IP和端口号下不能重复添加设备"); +// } DeviceInfo deviceInfo = deviceInfoRepository.findById(deviceInfoDto.getId()).orElseGet(DeviceInfo::new); if (ObjectUtils.isEmpty(deviceInfo)) { throw new BaseException("数据不存在"); } - DeviceInfo deviceInfo1 = deviceInfoMapper.toEntity(deviceInfoDto); - deviceInfo.setDeviceAccount(deviceInfo1.getDeviceAccount()); - deviceInfo.setDevicePassword(deviceInfo1.getDevicePassword()); - deviceInfo.setDeviceName(deviceInfo1.getDeviceName()); - deviceInfo.setDeviceIp(deviceInfo1.getDeviceIp()); - deviceInfo.setDevicePort(deviceInfo1.getDevicePort()); - deviceInfo.setStoreroomCode(deviceInfo1.getStoreroomCode()); - IsLinkageState(deviceInfo1); - IsCallbackState(deviceInfo1); + + DeviceArchivesTag deviceArchivesTag = new DeviceArchivesTag(); + deviceInfo.setDeviceAccount(deviceInfoDto.getDeviceAccount()); + deviceInfo.setDevicePassword(deviceInfoDto.getDevicePassword()); + deviceInfo.setDeviceName(deviceInfoDto.getDeviceName()); + deviceInfo.setDeviceIp(deviceInfoDto.getDeviceIp()); + deviceInfo.setDevicePort(deviceInfoDto.getDevicePort()); + + deviceArchivesTag.setStoreroomCode(deviceInfoDto.getStoreroomCode()); + IsLinkageState(deviceInfoDto); + IsCallbackState(deviceInfoDto); deviceInfoRepository.save(deviceInfo); } @@ -270,14 +278,14 @@ public class DeviceImpl implements DeviceService { @Override @Transactional(rollbackFor = Exception.class) public void updateCamera(DeviceInfoDto deviceInfoDto) { - List deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndVideoRouteAndDeviceTypeId(deviceInfoDto.getDeviceIp(), - deviceInfoDto.getDevicePort(), - deviceInfoDto.getVideoRoute(), - deviceInfoDto.getDeviceTypeId()); - - if (!ObjectUtils.isEmpty(deviceInfoList)) { - throw new BaseException("同一IP和端口号下不能重复添加设备"); - } +// List deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndVideoRouteAndDeviceTypeId(deviceInfoDto.getDeviceIp(), +// deviceInfoDto.getDevicePort(), +// deviceInfoDto.getVideoRoute(), +// deviceInfoDto.getDeviceTypeId()); +// +// if (!ObjectUtils.isEmpty(deviceInfoList)) { +// throw new BaseException("同一IP和端口号下不能重复添加设备"); +// } DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); DeviceInfo deviceInfo1 = deviceInfoRepository.findById(deviceInfo.getId()).orElseGet(DeviceInfo::new); deviceInfo1.setDeviceName(deviceInfo.getDeviceName()); @@ -311,10 +319,10 @@ public class DeviceImpl implements DeviceService { @Override @Transactional(rollbackFor = Exception.class) public void updateInsideDevices(DeviceInfoDto deviceInfoDto) { - List deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndDeviceId(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort(), deviceInfoDto.getDeviceId()); - if (!ObjectUtils.isEmpty(deviceInfoList)) { - throw new BaseException("同一IP和端口号下不能重复添加设备"); - } +// List deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndDeviceId(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort(), deviceInfoDto.getDeviceId()); +// if (!ObjectUtils.isEmpty(deviceInfoList)) { +// throw new BaseException("同一IP和端口号下不能重复添加设备"); +// } DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); DeviceInfo deviceInfo1 = deviceInfoRepository.findById(deviceInfo.getId()).orElseGet(DeviceInfo::new); deviceInfo1.setDeviceName(deviceInfo.getDeviceName()); @@ -327,10 +335,10 @@ public class DeviceImpl implements DeviceService { @Override @Transactional(rollbackFor = Exception.class) public void createOutsideDevices(DeviceInfoDto deviceInfoDto) { - List deviceInfoList = deviceInfoRepository.findByDeviceIdAndDeviceTypeId(deviceInfoDto.getDeviceId(), deviceInfoDto.getDeviceTypeId()); - if (deviceInfoList.size() != 0) { - throw new BaseException("同一类型和同一设备id不能重复添加"); - } +// List deviceInfoList = deviceInfoRepository.findByDeviceIdAndDeviceTypeId(deviceInfoDto.getDeviceId(), deviceInfoDto.getDeviceTypeId()); +// if (deviceInfoList.size() != 0) { +// throw new BaseException("同一类型和同一设备id不能重复添加"); +// } DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); deviceInfo.setId(NanoIdUtils.randomNanoId()); Integer num = deviceInfoRepository.findByMax(); @@ -348,6 +356,7 @@ public class DeviceImpl implements DeviceService { DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); DeviceInfo deviceInfo1 = deviceInfoRepository.findById(deviceInfo.getId()).orElseGet(DeviceInfo::new); deviceInfo1.setDeviceName(deviceInfo.getDeviceName()); + deviceInfo1.setDeviceId(deviceInfo.getDeviceId()); deviceInfoRepository.save(deviceInfo1); } @@ -385,9 +394,9 @@ public class DeviceImpl implements DeviceService { * * @return */ - private String GenerateNum() { - ThreadLocalRandom tlr = ThreadLocalRandom.current(); - return String.valueOf(tlr.nextInt(1, 2)); + private Boolean GenerateNum() { + Random random = new Random(); + return random.nextBoolean(); } /** @@ -405,7 +414,7 @@ public class DeviceImpl implements DeviceService { * * @param deviceInfo / */ - private void IsLinkageState(DeviceInfo deviceInfo) { + private void IsLinkageState(DeviceInfoDto deviceInfo) { if (StringUtils.isEmpty(deviceInfo.getIsLinkage().getId())) { OperatingState isLinkageState = new OperatingState(); @@ -436,7 +445,7 @@ public class DeviceImpl implements DeviceService { * * @param deviceInfo / */ - private void IsCallbackState(DeviceInfo deviceInfo) { + private void IsCallbackState(DeviceInfoDto deviceInfo) { if (StringUtils.isEmpty(deviceInfo.getIsCallback().getId())) { OperatingState isCallbackState = new OperatingState(); @@ -460,4 +469,6 @@ public class DeviceImpl implements DeviceService { operatingStateRepository.save(isCallbackState1); } } + + } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceSpecParamImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceSpecParamImpl.java index b1bad0d..7934355 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceSpecParamImpl.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceSpecParamImpl.java @@ -12,6 +12,7 @@ import com.storeroom.utils.MacUtil; import com.storeroom.utils.NanoIdUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import java.util.List; @@ -28,6 +29,7 @@ public class DeviceSpecParamImpl implements DeviceSpecParamService { @Override + @Transactional(rollbackFor = Exception.class) public void bind(DeviceSpecParamDto deviceSpecParamDto) { DeviceSpecParam deviceSpecParam = deviceSpecParamMapper.toEntity(deviceSpecParamDto); @@ -38,10 +40,14 @@ public class DeviceSpecParamImpl implements DeviceSpecParamService { deviceSpecParam.setSequence(num + 1); } deviceSpecParam.setId(NanoIdUtils.randomNanoId()); + DeviceInfo deviceInfo = deviceInfoRepository.findById(deviceSpecParamDto.getDeviceInfoId()).orElseGet(DeviceInfo::new); + deviceInfo.setDeviceSpecParamId(deviceSpecParam); + deviceInfoRepository.save(deviceInfo); deviceSpecParamRepository.save(deviceSpecParam); } @Override + @Transactional(rollbackFor = Exception.class) public void delete(String id) { deviceSpecParamRepository.deleteById(id); @@ -54,6 +60,7 @@ public class DeviceSpecParamImpl implements DeviceSpecParamService { } @Override + @Transactional(rollbackFor = Exception.class) public void bindMac(DeviceMacDto deviceMacDto) { DeviceInfo deviceInfo = deviceInfoRepository.findById(deviceMacDto.getDeviceId()).orElseGet(DeviceInfo::new); DeviceSpecParam deviceSpecParam = new DeviceSpecParam(); diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/OperatingStateImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/OperatingStateImpl.java index 2074082..91bf38d 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/OperatingStateImpl.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/OperatingStateImpl.java @@ -3,11 +3,9 @@ package com.storeroom.modules.device.service.impl; import com.storeroom.modules.device.domain.OperatingState; import com.storeroom.modules.device.repository.DeviceInfoRepository; -import com.storeroom.modules.device.repository.DeviceTypeReposityory; import com.storeroom.modules.device.repository.OperatingStateRepository; import com.storeroom.modules.device.service.OperatingStateService; -import com.storeroom.modules.device.service.mapstruct.OperatingStateMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/StoreroomImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/StoreroomImpl.java index 5286a09..4827d00 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/StoreroomImpl.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/StoreroomImpl.java @@ -29,6 +29,7 @@ public class StoreroomImpl implements StoreroomService { private final DeviceInfoRepository deviceInfoRepository; @Override + @Transactional(rollbackFor = Exception.class) public void create(StoreroomDto storeroomDto) { Storeroom storeroom = storeroomMapper.toEntity(storeroomDto); List storeroom1 = storeroomRepository.findByName(storeroom.getName()); @@ -40,6 +41,7 @@ public class StoreroomImpl implements StoreroomService { } @Override + @Transactional(rollbackFor = Exception.class) public void delete(String id) { Storeroom storeroom = storeroomRepository.findById(id).orElseGet(Storeroom::new); Object obj = deviceInfoRepository.findByStoreroomId(storeroom); @@ -76,10 +78,17 @@ public class StoreroomImpl implements StoreroomService { .collect(Collectors.toList()); } + private List getChildren(String id, List list) { return list.stream().filter(item -> item.getPid().equals(id)) .map(item -> item.setChildren(getChildren(item.getId(), list))) .collect(Collectors.toList()); } + + @Override + public List tagMenuTree() { + return null; + } + } diff --git a/storeroom/src/test/java/test.java b/storeroom/src/test/java/test.java new file mode 100644 index 0000000..502faad --- /dev/null +++ b/storeroom/src/test/java/test.java @@ -0,0 +1,25 @@ +import org.junit.jupiter.api.Test; + +public class test { + + @Test + public void sum() { + + int a = 50; + int b = 22; + int c = 4; + int d = 5; + int f = 59; + for (int i = a; i <= b + a; i++) { + for (int k = 1; k <= c; k++) { + for (int s = 1; s <= d; s++) { + String name = f + "区号" + ":" + i + "列" + k + "节" + s + "层"; + System.out.println(name); + } + + } + + } + + } +}