From e1ebdb19c25dfe50aa9f88915a446f0b28ab0915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8A=9B?= Date: Wed, 13 Jul 2022 20:30:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=8E=AF=E6=8E=A7=EF=BC=8C?= =?UTF-8?q?=E6=91=84=E5=83=8F=E5=A4=B4=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/controller/CameraController.java | 67 +++++++ .../controller/DeseCabinetController.java | 3 - .../controller/InsideDevicesController.java | 53 ++++++ .../controller/RotaryCabinetController.java | 47 +++-- .../modules/device/domain/DeviceInfo.java | 13 +- .../repository/DeseCabinetRepository.java | 23 --- .../repository/DeviceInfoRepository.java | 35 +++- .../device/service/DeseCabinetService.java | 31 ---- .../modules/device/service/DeviceService.java | 45 ++++- .../device/service/RotaryCabinetService.java | 23 --- .../device/service/dto/DeseCabinetDto.java | 57 ------ .../device/service/dto/DeviceInfoDto.java | 8 +- .../device/service/impl/DenseCabinetImpl.java | 174 ------------------ .../device/service/impl/DeviceImpl.java | 144 +++++++++++++++ .../service/impl/RotaryCabinetImpl.java | 156 ---------------- .../service/mapstruct/DeseCabinetMapper.java | 11 -- 16 files changed, 378 insertions(+), 512 deletions(-) create mode 100644 storeroom/src/main/java/com/storeroom/modules/device/controller/CameraController.java create mode 100644 storeroom/src/main/java/com/storeroom/modules/device/controller/InsideDevicesController.java delete mode 100644 storeroom/src/main/java/com/storeroom/modules/device/repository/DeseCabinetRepository.java delete mode 100644 storeroom/src/main/java/com/storeroom/modules/device/service/DeseCabinetService.java delete mode 100644 storeroom/src/main/java/com/storeroom/modules/device/service/RotaryCabinetService.java delete mode 100644 storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeseCabinetDto.java delete mode 100644 storeroom/src/main/java/com/storeroom/modules/device/service/impl/DenseCabinetImpl.java delete mode 100644 storeroom/src/main/java/com/storeroom/modules/device/service/impl/RotaryCabinetImpl.java delete mode 100644 storeroom/src/main/java/com/storeroom/modules/device/service/mapstruct/DeseCabinetMapper.java diff --git a/storeroom/src/main/java/com/storeroom/modules/device/controller/CameraController.java b/storeroom/src/main/java/com/storeroom/modules/device/controller/CameraController.java new file mode 100644 index 0000000..9db9d1b --- /dev/null +++ b/storeroom/src/main/java/com/storeroom/modules/device/controller/CameraController.java @@ -0,0 +1,67 @@ +package com.storeroom.modules.device.controller; + + +import com.storeroom.annotaion.rest.AnonymousPostMapping; +import com.storeroom.annotaion.rest.AnonymousPutMapping; +import com.storeroom.exception.BaseException; +import com.storeroom.modules.device.service.DeviceService; +import com.storeroom.modules.device.service.dto.DeviceInfoDto; +import com.storeroom.utils.ApiResponse; +import com.storeroom.utils.StringUtils; +import com.storeroom.utils.enums.ResponseStatus; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Api(tags = "摄像机管理") +@RequestMapping("/api/camera/") +public class CameraController { + + + private final DeviceService deviceService; + + + @ApiOperation("创建摄像机") + @AnonymousPostMapping("create") + public ApiResponse create(@RequestBody DeviceInfoDto deviceInfoDto) { + if (!StringUtils.isEmpty(deviceInfoDto.getId())) { + throw new BaseException("id不为空"); + } + verifyValues(deviceInfoDto); + deviceService.createCamera(deviceInfoDto); + return ApiResponse.success(ResponseStatus.SUCCESS); + } + + @ApiOperation("修改摄像机") + @AnonymousPutMapping("update") + public ApiResponse update(@RequestBody DeviceInfoDto deviceInfoDto){ + if (StringUtils.isEmpty(deviceInfoDto.getId())) { + throw new BaseException("id不能为空"); + } + verifyValues(deviceInfoDto); + deviceService.updateCamera(deviceInfoDto); + return ApiResponse.success(ResponseStatus.SUCCESS); + } + + /** + * 验证必填值 + * + * @param deviceInfoDto + */ + private void verifyValues(DeviceInfoDto deviceInfoDto) { + if (StringUtils.isEmpty(deviceInfoDto.getDeviceName()) && + StringUtils.isEmpty(deviceInfoDto.getDeviceIp()) && + deviceInfoDto.getDevicePort() != null && + StringUtils.isEmpty(deviceInfoDto.getDeviceAccount()) && + StringUtils.isEmpty(deviceInfoDto.getDevicePassword())) { + throw new BaseException("必填字段不能为空"); + + } + } + +} 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 5f39d38..5fc40db 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 @@ -4,10 +4,7 @@ package com.storeroom.modules.device.controller; import com.storeroom.annotaion.rest.AnonymousPostMapping; import com.storeroom.annotaion.rest.AnonymousPutMapping; import com.storeroom.exception.BaseException; -import com.storeroom.modules.device.domain.DeseCabinet; -import com.storeroom.modules.device.service.DeseCabinetService; import com.storeroom.modules.device.service.DeviceService; -import com.storeroom.modules.device.service.dto.DeseCabinetDto; import com.storeroom.modules.device.service.dto.DeviceInfoDto; import com.storeroom.utils.ApiResponse; import com.storeroom.utils.StringUtils; diff --git a/storeroom/src/main/java/com/storeroom/modules/device/controller/InsideDevicesController.java b/storeroom/src/main/java/com/storeroom/modules/device/controller/InsideDevicesController.java new file mode 100644 index 0000000..2c86a25 --- /dev/null +++ b/storeroom/src/main/java/com/storeroom/modules/device/controller/InsideDevicesController.java @@ -0,0 +1,53 @@ +package com.storeroom.modules.device.controller; + + +import com.storeroom.annotaion.rest.AnonymousPostMapping; +import com.storeroom.exception.BaseException; +import com.storeroom.modules.device.service.DeviceService; +import com.storeroom.modules.device.service.dto.DeviceInfoDto; +import com.storeroom.utils.ApiResponse; +import com.storeroom.utils.StringUtils; +import com.storeroom.utils.enums.ResponseStatus; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Api(tags = "环控设备管理") +@RequestMapping("/api/insidedevices/") +public class InsideDevicesController { + + private final DeviceService deviceService; + + + @ApiOperation("新增环控设备") + @AnonymousPostMapping("create") + public ApiResponse create(@RequestBody DeviceInfoDto deviceInfoDto) { + if (!StringUtils.isEmpty(deviceInfoDto.getId())) { + throw new BaseException("id不为空"); + } + verifyValues(deviceInfoDto); + deviceService.createInsideDevices(deviceInfoDto); + return ApiResponse.success(ResponseStatus.SUCCESS); + } + + /** + * 验证必填值 + * + * @param deviceInfoDto + */ + private void verifyValues(DeviceInfoDto deviceInfoDto) { + if (StringUtils.isEmpty(deviceInfoDto.getDeviceName()) && + StringUtils.isEmpty(deviceInfoDto.getDeviceIp()) && + deviceInfoDto.getDevicePort() != null && + StringUtils.isEmpty(deviceInfoDto.getDeviceId()) && + deviceInfoDto.getDeviceTypeId() != null) { + throw new BaseException("必填字段不能为空"); + + } + } +} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/controller/RotaryCabinetController.java b/storeroom/src/main/java/com/storeroom/modules/device/controller/RotaryCabinetController.java index 124af75..3fe026a 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/controller/RotaryCabinetController.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/controller/RotaryCabinetController.java @@ -4,9 +4,8 @@ package com.storeroom.modules.device.controller; import com.storeroom.annotaion.rest.AnonymousPostMapping; import com.storeroom.annotaion.rest.AnonymousPutMapping; import com.storeroom.exception.BaseException; -import com.storeroom.modules.device.domain.DeseCabinet; -import com.storeroom.modules.device.domain.RotaryCabinet; -import com.storeroom.modules.device.service.RotaryCabinetService; +import com.storeroom.modules.device.service.DeviceService; +import com.storeroom.modules.device.service.dto.DeviceInfoDto; import com.storeroom.utils.ApiResponse; import com.storeroom.utils.StringUtils; import com.storeroom.utils.enums.ResponseStatus; @@ -23,28 +22,28 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/api/rotarycabinet/") public class RotaryCabinetController { - private final RotaryCabinetService rotaryCabinetService; + private final DeviceService deviceService; @ApiOperation("创建回转柜") @AnonymousPostMapping("create") - public ApiResponse create(@RequestBody RotaryCabinet rotaryCabinet) { - if (!StringUtils.isEmpty(rotaryCabinet.getId())) { + public ApiResponse create(@RequestBody DeviceInfoDto deviceInfoDto) { + if (!StringUtils.isEmpty(deviceInfoDto.getId())) { throw new BaseException("id不为空"); } - verifyValues(rotaryCabinet); - rotaryCabinetService.create(rotaryCabinet); + verifyValues(deviceInfoDto); + deviceService.createRotaryCabinet(deviceInfoDto); return ApiResponse.success(ResponseStatus.SUCCESS); } @ApiOperation("修改回转柜") @AnonymousPutMapping("update") - public ApiResponse update(@RequestBody RotaryCabinet rotaryCabinet) { - if (StringUtils.isEmpty(rotaryCabinet.getId())) { + public ApiResponse update(@RequestBody DeviceInfoDto deviceInfoDto) { + if (StringUtils.isEmpty(deviceInfoDto.getId())) { throw new BaseException("id为空"); } - verifyValues(rotaryCabinet); - rotaryCabinetService.update(rotaryCabinet); + verifyValues(deviceInfoDto); + deviceService.updateRotaryCabinet(deviceInfoDto); return ApiResponse.success(ResponseStatus.SUCCESS); } @@ -53,19 +52,19 @@ public class RotaryCabinetController { /** * 必填字段验证 * - * @param rotaryCabinet / + * @param deviceInfoDto / */ - private void verifyValues(@RequestBody RotaryCabinet rotaryCabinet) { - if (rotaryCabinet.getCupboardNo() != null - && rotaryCabinet.getRowNo() != null - && rotaryCabinet.getColumnRowNo() != null - && rotaryCabinet.getStoreroomCode() != null - && rotaryCabinet.getDeviceAccount() != null - && rotaryCabinet.getDevicePassword() != null - && StringUtils.isEmpty(rotaryCabinet.getDeviceInfo().getDeviceName()) - && StringUtils.isEmpty(rotaryCabinet.getDeviceInfo().getStoreroomId().getId()) - && StringUtils.isEmpty(rotaryCabinet.getDeviceInfo().getDeviceIp()) - && rotaryCabinet.getDeviceInfo().getDevicePort() != null + private void verifyValues(@RequestBody DeviceInfoDto deviceInfoDto) { + if (deviceInfoDto.getCupboardNo() != null + && deviceInfoDto.getRowNo() != null + && deviceInfoDto.getColumnRowNo() != null + && deviceInfoDto.getStoreroomCode() != null + && deviceInfoDto.getDeviceAccount() != null + && deviceInfoDto.getDevicePassword() != null + && StringUtils.isEmpty(deviceInfoDto.getDeviceName()) + && StringUtils.isEmpty(deviceInfoDto.getStoreroomId().getId()) + && StringUtils.isEmpty(deviceInfoDto.getDeviceIp()) + && deviceInfoDto.getDevicePort() != null ) { throw new BaseException("必填字段不能为空"); } 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 ab61f21..285e216 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 @@ -42,6 +42,10 @@ public class DeviceInfo extends BaseEntity implements Serializable { @ApiModelProperty(value = "设备类型id") private DeviceType deviceTypeId; + @Column(name = "device_id") + @ApiModelProperty(value = "第三方设备id") + private String deviceId; + @Column(name = "device_name") @ApiModelProperty(value = "设备名称") private String deviceName; @@ -98,6 +102,11 @@ public class DeviceInfo extends BaseEntity implements Serializable { @ApiModelProperty(value = "柜号") private Integer cupboardNo; + + @Column(name = "video_route") + @ApiModelProperty("视频频道") + private String videoRoute; + @Column(name = "is_notice") @ApiModelProperty(value = "下发通知") private Boolean isNotice; @@ -119,11 +128,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(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(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(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); } @Override public int hashCode() { - return Objects.hash(id, supplierId, storeroomId, deviceTypeId, deviceName, deviceIp, devicePort, deviceState, rowNo, areaNo, sumColumnNo, firstColumnNo, partNo, storeroomCode, columnRowNo, deviceAccount, devicePassword, cupboardNo, isNotice, sequence, isLinkage, isCallback); + return Objects.hash(id, supplierId, storeroomId, deviceTypeId, deviceId, deviceName, deviceIp, devicePort, deviceState, rowNo, areaNo, sumColumnNo, firstColumnNo, partNo, storeroomCode, columnRowNo, deviceAccount, devicePassword, cupboardNo, videoRoute, isNotice, sequence, isLinkage, isCallback); } } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/repository/DeseCabinetRepository.java b/storeroom/src/main/java/com/storeroom/modules/device/repository/DeseCabinetRepository.java deleted file mode 100644 index 42b736b..0000000 --- a/storeroom/src/main/java/com/storeroom/modules/device/repository/DeseCabinetRepository.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.storeroom.modules.device.repository; - -import com.storeroom.modules.device.domain.DeseCabinet; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; -import org.springframework.data.jpa.repository.Query; - -import java.util.List; - -public interface DeseCabinetRepository extends JpaRepository, JpaSpecificationExecutor { - - - /** - * 区号,ip 端口号查询 - * - * @param areaNo 区号 - * @param ip ip - * @param port 端口号 - * @return 返回列表 - */ - @Query(value = "SELECT * FROM dese_cabinet a JOIN device_info b ON a.device_info_id=b.id WHERE a.area_No=?1 AND b.device_ip=?2 AND b.device_port=?3", nativeQuery = true) - List findIpAndPortAndAreaNo(Integer areaNo, String ip, Integer port); -} 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 1e3b840..e43ca45 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 @@ -1,6 +1,7 @@ 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.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; @@ -16,12 +17,19 @@ public interface DeviceInfoRepository extends JpaRepository, /** * 根据ip 端口号 查询 * - * @param ip - * @param port - * @return + * @param ip 根据ip + * @param port 端口号 + * @return / */ List findByDeviceIpAndDevicePort(String ip, Integer port); + /** + * 根据 ip 端口号 摄像头频道 设备id 查询 + * + * @return / + */ + List findByDeviceIpAndDevicePortAndVideoRouteAndDeviceTypeId(String deviceIp, Integer devicePort, String videoRoute, DeviceType deviceTypeId); + /** * 查询区号 ip 端口号 @@ -29,8 +37,27 @@ public interface DeviceInfoRepository extends JpaRepository, * @param areaNo 区号 * @param ip 设备ip * @param port 设备端口号 - * @return + * @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); + + + /** + * 通过 ip 端口号 第三方设备id 查询 + * @param deviceIp ip + * @param devicePort 端口号 + * @param deviceId 第三方设备id + * @return / + */ + List findByDeviceIpAndDevicePortAndDeviceId(String deviceIp, Integer devicePort, String deviceId); + + /** + * 查询排序最大值 + * + * @return / + */ + @Query(value = "SELECT MAX(sequence) AS maxsque FROM device_info", nativeQuery = true) + Integer findByMax(); + } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/DeseCabinetService.java b/storeroom/src/main/java/com/storeroom/modules/device/service/DeseCabinetService.java deleted file mode 100644 index 6429d75..0000000 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/DeseCabinetService.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.storeroom.modules.device.service; - -import com.storeroom.modules.device.domain.DeseCabinet; -import com.storeroom.modules.device.service.dto.DeseCabinetDto; - - -public interface DeseCabinetService { - - /** - * 设备新增 - */ - void create(DeseCabinet deseCabinet); - - /** - * 设备修改 - */ - void update(DeseCabinet deseCabinet); - - /** - * 删除 - */ - void delete(String id); - - - - /** - * 获取状态 - * @return / - */ - Boolean getState(); -} 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 ed70eb6..f1300d5 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 @@ -14,15 +14,56 @@ public interface DeviceService { List findByDevice(String StoreRoomId); /** - * 创建设备 + * 新增密集架 * @param deviceInfoDto / */ void createDeseCabinet(DeviceInfoDto deviceInfoDto); /** - * 修改设备 + * 修改密集架 * @param deviceInfoDto / */ void updateDeseCabinet(DeviceInfoDto deviceInfoDto); + + /** + * 新增回转柜 + * @param deviceInfoDto + */ + void createRotaryCabinet(DeviceInfoDto deviceInfoDto); + + /** + * 修改回转柜 + * @param deviceInfoDto / + */ + void updateRotaryCabinet(DeviceInfoDto deviceInfoDto); + + + /** + * 创建摄像头 + * @param deviceInfoDto / + */ + void createCamera(DeviceInfoDto deviceInfoDto); + + + /** + * 修改摄像头 + * @param deviceInfoDto + */ + void updateCamera(DeviceInfoDto deviceInfoDto); + + + /** + * 新增 空调、桌面式RFID读写器、盘点机、恒湿机、漏水传感器、温湿度感应器、 空气质监测、漏水传感器设备 + * @param deviceInfoDto + */ + void createInsideDevices(DeviceInfoDto deviceInfoDto); + + /** + * 修改 空调、桌面式RFID读写器、盘点机、恒湿机、漏水传感器、温湿度感应器、 空气质监测、漏水传感器设备 + * @param deviceInfoDto + */ + void updateInsideDevices(DeviceInfoDto deviceInfoDto); + + } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/RotaryCabinetService.java b/storeroom/src/main/java/com/storeroom/modules/device/service/RotaryCabinetService.java deleted file mode 100644 index 89c2672..0000000 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/RotaryCabinetService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.storeroom.modules.device.service; - -import com.storeroom.modules.device.domain.RotaryCabinet; - -/** - * 回转柜 - */ -public interface RotaryCabinetService { - - - /** - * 创建回转柜 - * @param rotaryCabinet / - */ - void create(RotaryCabinet rotaryCabinet); - - - /** - * 修改回转柜 - * @param rotaryCabinet / - */ - void update(RotaryCabinet rotaryCabinet); -} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeseCabinetDto.java b/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeseCabinetDto.java deleted file mode 100644 index da78063..0000000 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeseCabinetDto.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.storeroom.modules.device.service.dto; - -import com.storeroom.base.BaseDTO; -import com.storeroom.modules.device.domain.DeviceInfo; -import com.storeroom.modules.device.domain.OperatingState; -import lombok.Getter; -import lombok.Setter; - -import java.io.Serializable; -import java.util.Objects; - - -/** - * 密集架DTO - */ -@Getter -@Setter -public class DeseCabinetDto extends BaseDTO implements Serializable { - - private String id; - - private DeviceInfoDto deviceInfo; - - private String storeroomCode; - - private String deviceId; - - private Integer rowNo; - - private Integer areaNo; - - private Integer sumColumnNo; - - private Integer firstColumnNo; - - private Integer partNo; - - private Integer isNotice; - - private OperatingStateDto isLinkage; - - private OperatingStateDto isCallback; - - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - DeseCabinetDto that = (DeseCabinetDto) o; - return Objects.equals(id, that.id) && Objects.equals(deviceInfo, that.deviceInfo) && Objects.equals(storeroomCode, that.storeroomCode) && Objects.equals(deviceId, that.deviceId) && 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(isNotice, that.isNotice) && Objects.equals(isLinkage, that.isLinkage) && Objects.equals(isCallback, that.isCallback); - } - - @Override - public int hashCode() { - return Objects.hash(id, deviceInfo, storeroomCode, deviceId, rowNo, areaNo, sumColumnNo, firstColumnNo, partNo, isNotice, isLinkage, isCallback); - } -} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceInfoDto.java b/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceInfoDto.java index ed169a5..61e63eb 100644 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceInfoDto.java +++ b/storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeviceInfoDto.java @@ -25,6 +25,8 @@ public class DeviceInfoDto extends BaseDTO implements Serializable { private DeviceType deviceTypeId; + private String deviceId; + private String deviceName; private String deviceIp; @@ -53,6 +55,8 @@ public class DeviceInfoDto extends BaseDTO implements Serializable { private Integer cupboardNo; + private String videoRoute; + private Boolean isNotice; private Integer sequence; @@ -66,11 +70,11 @@ public class DeviceInfoDto extends BaseDTO implements Serializable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DeviceInfoDto that = (DeviceInfoDto) o; - return Objects.equals(id, that.id) && Objects.equals(supplierId, that.supplierId) && Objects.equals(storeroomId, that.storeroomId) && Objects.equals(deviceTypeId, that.deviceTypeId) && 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(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(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); } @Override public int hashCode() { - return Objects.hash(id, supplierId, storeroomId, deviceTypeId, deviceName, deviceIp, devicePort, deviceState, rowNo, areaNo, sumColumnNo, firstColumnNo, partNo, storeroomCode, columnRowNo, deviceAccount, devicePassword, cupboardNo, isNotice, sequence, isLinkage, isCallback); + return Objects.hash(id, supplierId, storeroomId, deviceTypeId, deviceId, deviceName, deviceIp, devicePort, deviceState, rowNo, areaNo, sumColumnNo, firstColumnNo, partNo, storeroomCode, columnRowNo, deviceAccount, devicePassword, cupboardNo, videoRoute, isNotice, sequence, isLinkage, isCallback); } } diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DenseCabinetImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DenseCabinetImpl.java deleted file mode 100644 index f1d8e45..0000000 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/DenseCabinetImpl.java +++ /dev/null @@ -1,174 +0,0 @@ -package com.storeroom.modules.device.service.impl; - -import com.storeroom.exception.BaseException; -import com.storeroom.modules.device.domain.DeseCabinet; -import com.storeroom.modules.device.domain.DeviceArchivesTag; -import com.storeroom.modules.device.domain.OperatingState; -import com.storeroom.modules.device.repository.DeseCabinetRepository; -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.service.DeseCabinetService; -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; -import java.util.concurrent.ThreadLocalRandom; - - -@Service -@RequiredArgsConstructor -public class DenseCabinetImpl implements DeseCabinetService { - - private final DeseCabinetRepository deseCabinetRepository; - private final DeviceArchivesTagRepository deviceArchivesTagRepository; - private final OperatingStateRepository operatingStateRepository; - - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(DeseCabinet deseCabinet) { - - //根据IP和端口号查询设备 - List deseCabinet1 = deseCabinetRepository.findIpAndPortAndAreaNo(deseCabinet.getAreaNo(), deseCabinet.getDeviceInfo().getDeviceIp(), deseCabinet.getDeviceInfo().getDevicePort()); - //判断设备同一IP和端口下是否重复 - if (!ObjectUtils.isEmpty(deseCabinet1)) { - throw new BaseException("区号IP端口不能重复添加设备"); - } - //创建密集架id - deseCabinet.setId(NanoIdUtils.randomNanoId()); - //创建设备信息id - deseCabinet.getDeviceInfo().setId(NanoIdUtils.randomNanoId()); - //生成架位 - String position = deseCabinet.getAreaNo() + - "-" + - deseCabinet.getFirstColumnNo() + - "-" + - deseCabinet.getPartNo() + - "-" + - deseCabinet.getRowNo() + - "-" + - GenerateNum(); - String leftOrRight; - if (GenerateNum().equals("1")) { - leftOrRight = "左"; - } else { - leftOrRight = "右"; - } - String positionName = deseCabinet.getAreaNo() + - "区" + - deseCabinet.getFirstColumnNo() + - "列" + - deseCabinet.getPartNo() + - "节" + - deseCabinet.getRowNo() + - "层" + - leftOrRight; - - - DeviceArchivesTag deviceArchivesTag = new DeviceArchivesTag(); - //生成架位标签表id - deviceArchivesTag.setId(NanoIdUtils.randomNanoId()); - deviceArchivesTag.setPosition(position); - deviceArchivesTag.setDeviceInfoId(deseCabinet.getDeviceInfo().getId()); - deviceArchivesTag.setPosition_name(positionName); - //创建联动操作状态对象 - IsLinkageState(deseCabinet); - IsCallbackState(deseCabinet); - //保存架位标签 - deviceArchivesTagRepository.save(deviceArchivesTag); - //保存密集架 - deseCabinetRepository.save(deseCabinet); - } - - /** - * 保存联动操作状态 - * - * @param deseCabinet / - */ - private void IsLinkageState(DeseCabinet deseCabinet) { - OperatingState operatingState = new OperatingState(); - operatingState.setId(NanoIdUtils.randomNanoId()); - operatingState.setDeviceId(deseCabinet.getId()); - operatingState.setBorrow(deseCabinet.getIsLinkage().getBorrow()); - operatingState.setInBound(deseCabinet.getIsLinkage().getInBound()); - operatingState.setOutBound(deseCabinet.getIsLinkage().getOutBound()); - operatingState.setLend(deseCabinet.getIsLinkage().getLend()); - operatingState.setStateType(deseCabinet.getIsLinkage().getStateType()); - operatingStateRepository.save(operatingState); - } - - /** - * 保存回调操作状态 - * @param deseCabinet / - */ - private void IsCallbackState(DeseCabinet deseCabinet) { - OperatingState operatingState = new OperatingState(); - operatingState.setId(NanoIdUtils.randomNanoId()); - operatingState.setDeviceId(deseCabinet.getId()); - operatingState.setBorrow(deseCabinet.getIsCallback().getBorrow()); - operatingState.setInBound(deseCabinet.getIsCallback().getInBound()); - operatingState.setOutBound(deseCabinet.getIsCallback().getOutBound()); - operatingState.setLend(deseCabinet.getIsCallback().getLend()); - operatingState.setStateType(deseCabinet.getIsCallback().getStateType()); - operatingStateRepository.save(operatingState); - - } - - - /** - * 生成架位左右位置 - * - * @return - */ - private String GenerateNum() { - ThreadLocalRandom tlr = ThreadLocalRandom.current(); - return String.valueOf(tlr.nextInt(1, 2)); - } - - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(DeseCabinet deseCabinet) { - - List deseCabinet1 = deseCabinetRepository.findIpAndPortAndAreaNo(deseCabinet.getAreaNo(), deseCabinet.getDeviceInfo().getDeviceIp(), deseCabinet.getDeviceInfo().getDevicePort()); - if (!ObjectUtils.isEmpty(deseCabinet1)) { - throw new BaseException("区号IP端口不能重复添加设备"); - } - - DeseCabinet deseCabinet2 = deseCabinetRepository.findById(deseCabinet.getId()).orElseGet(DeseCabinet::new); - if (ObjectUtils.isEmpty(deseCabinet2)) { - throw new BaseException("数据不存在"); - } - - deseCabinet2.getDeviceInfo().setDeviceName(deseCabinet.getDeviceInfo().getDeviceName()); - deseCabinet2.getDeviceInfo().setDeviceIp(deseCabinet.getDeviceInfo().getDeviceIp()); - deseCabinet2.getDeviceInfo().setDevicePort(deseCabinet.getDeviceInfo().getDevicePort()); - deseCabinet2.setStoreroomCode(deseCabinet.getStoreroomCode()); - OperatingState operatingState = operatingStateRepository.findById(deseCabinet.getIsLinkage().getId()).orElseGet(OperatingState::new); - OperatingState operatingState1 = operatingStateRepository.findById(deseCabinet.getIsCallback().getId()).orElseGet(OperatingState::new); - operatingStateRepository.save(operatingState); - operatingStateRepository.save(operatingState1); - deseCabinetRepository.save(deseCabinet2); - } - - @Override - public void delete(String id) { - - } - - @Override - public Boolean getState() { - return null; - } - - /** - * 生成层位 - */ - public void createLayer() { - - } -} 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 13de0ec..4225391 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 @@ -12,6 +12,7 @@ import com.storeroom.utils.NanoIdUtils; import com.storeroom.utils.StringUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import java.util.List; @@ -34,6 +35,7 @@ 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()); @@ -68,6 +70,11 @@ public class DeviceImpl implements DeviceService { "层" + leftOrRight; DeviceArchivesTag deviceArchivesTag = new DeviceArchivesTag(); + Integer num = deviceInfoRepository.findByMax(); + if (num == 0) { + deviceInfo.setSequence(1); + } + deviceInfo.setSequence(num + 1); //生成架位标签表id deviceArchivesTag.setId(NanoIdUtils.randomNanoId()); deviceArchivesTag.setPosition(position); @@ -82,6 +89,7 @@ public class DeviceImpl implements DeviceService { } @Override + @Transactional(rollbackFor = Exception.class) public void updateDeseCabinet(DeviceInfoDto deviceInfoDto) { DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); List deviceInfoList = deviceInfoRepository.findByAreaNoAndAndDeviceIpAndAndDevicePort(deviceInfo.getAreaNo(), deviceInfo.getDeviceIp(), deviceInfo.getDevicePort()); @@ -102,6 +110,142 @@ public class DeviceImpl implements DeviceService { } + @Override + public void createRotaryCabinet(DeviceInfoDto deviceInfoDto) { + List rotaryCabinetList = deviceInfoRepository.findByDeviceIpAndDevicePort(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort()); + 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() + + "列"; + DeviceArchivesTag deviceArchivesTag = new 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); + } + deviceInfo.setSequence(num + 1); + IsLinkageState(deviceInfo); + IsCallbackState(deviceInfo); + 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和端口号下不能重复添加设备"); + } + 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); + deviceInfoRepository.save(deviceInfo); + + } + + @Override + public void createCamera(DeviceInfoDto deviceInfoDto) { + 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); + Integer num = deviceInfoRepository.findByMax(); + if (num == 0) { + deviceInfo.setSequence(1); + } + deviceInfo.setSequence(num + 1); + deviceInfo.setId(NanoIdUtils.randomNanoId()); + deviceInfoRepository.save(deviceInfo); + } + + @Override + 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和端口号下不能重复添加设备"); + } + DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); + DeviceInfo deviceInfo1 = deviceInfoRepository.findById(deviceInfo.getId()).orElseGet(DeviceInfo::new); + deviceInfo1.setDeviceName(deviceInfo.getDeviceName()); + deviceInfo1.setDeviceIp(deviceInfo.getDeviceIp()); + deviceInfo1.setDevicePort(deviceInfo.getDevicePort()); + deviceInfo1.setDeviceAccount(deviceInfo.getDeviceAccount()); + deviceInfo1.setDevicePassword(deviceInfo.getDevicePassword()); + deviceInfo1.setVideoRoute(deviceInfo.getVideoRoute()); + deviceInfoRepository.save(deviceInfo1); + + } + + @Override + public void createInsideDevices(DeviceInfoDto deviceInfoDto) { + List deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndDeviceId(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort(), deviceInfoDto.getDeviceId()); + if (!ObjectUtils.isEmpty(deviceInfoList)) { + throw new BaseException("同一IP和端口号下不能重复添加设备"); + } + DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto); + deviceInfo.setId(NanoIdUtils.randomNanoId()); + Integer num = deviceInfoRepository.findByMax(); + if (num == 0) { + deviceInfo.setSequence(1); + } + deviceInfo.setSequence(num + 1); + deviceInfoRepository.save(deviceInfo); + + } + + @Override + public void updateInsideDevices(DeviceInfoDto deviceInfoDto) { + 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()); + deviceInfo1.setDeviceIp(deviceInfo.getDeviceIp()); + deviceInfo1.setDevicePort(deviceInfo.getDevicePort()); + deviceInfoRepository.save(deviceInfo); + + } + /** * 生成架位左右位置 * diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/RotaryCabinetImpl.java b/storeroom/src/main/java/com/storeroom/modules/device/service/impl/RotaryCabinetImpl.java deleted file mode 100644 index a69db1b..0000000 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/impl/RotaryCabinetImpl.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.storeroom.modules.device.service.impl; - -import com.storeroom.exception.BaseException; -import com.storeroom.modules.device.domain.DeviceArchivesTag; -import com.storeroom.modules.device.domain.OperatingState; -import com.storeroom.modules.device.domain.RotaryCabinet; -import com.storeroom.modules.device.repository.DeviceArchivesTagRepository; -import com.storeroom.modules.device.repository.OperatingStateRepository; -import com.storeroom.modules.device.repository.RotaryCabinetRepository; -import com.storeroom.modules.device.service.RotaryCabinetService; -import com.storeroom.utils.NanoIdUtils; -import com.storeroom.utils.StringUtils; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.ObjectUtils; - -import java.util.List; - - -@Service -@RequiredArgsConstructor -public class RotaryCabinetImpl implements RotaryCabinetService { - - private final RotaryCabinetRepository rotaryCabinetRepository; - private final OperatingStateRepository operatingStateRepository; - private final DeviceArchivesTagRepository deviceArchivesTagRepository; - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(RotaryCabinet rotaryCabinet) { - List rotaryCabinetList = rotaryCabinetRepository.findIpAndPortAndAreaNo(rotaryCabinet.getCupboardNo(), rotaryCabinet.getDeviceInfo().getDeviceIp(), rotaryCabinet.getDeviceInfo().getDevicePort()); - - if (!ObjectUtils.isEmpty(rotaryCabinetList)) { - throw new BaseException("同一IP和端口号下不能重复添加设备"); - } - rotaryCabinet.setId(NanoIdUtils.randomNanoId()); - rotaryCabinet.getDeviceInfo().setId(NanoIdUtils.randomNanoId()); - - String position = rotaryCabinet.getCupboardNo() + - "-" + - rotaryCabinet.getRowNo() + - "-" + - rotaryCabinet.getRowNo() + - "-" + - rotaryCabinet.getColumnRowNo(); - - String positionName = rotaryCabinet.getCupboardNo() + - "柜" + - rotaryCabinet.getRowNo() + - "层" + - rotaryCabinet.getColumnRowNo() + - "列"; - - DeviceArchivesTag deviceArchivesTag = new DeviceArchivesTag(); - - deviceArchivesTag.setId(NanoIdUtils.randomNanoId()); - deviceArchivesTag.setPosition(position); - deviceArchivesTag.setPosition_name(positionName); - deviceArchivesTag.setDeviceInfoId(rotaryCabinet.getDeviceInfo().getId()); - //创建联动操作状态对象 - IsLinkageState(rotaryCabinet); - IsCallbackState(rotaryCabinet); - - deviceArchivesTagRepository.save(deviceArchivesTag); - - rotaryCabinetRepository.save(rotaryCabinet); - - - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(RotaryCabinet rotaryCabinet) { - List rotaryCabinetList = rotaryCabinetRepository.findIpAndPortAndAreaNo(rotaryCabinet.getCupboardNo(), rotaryCabinet.getDeviceInfo().getDeviceIp(), rotaryCabinet.getDeviceInfo().getDevicePort()); - if (!ObjectUtils.isEmpty(rotaryCabinetList)) { - throw new BaseException("同一IP和端口号下不能重复添加设备"); - } - RotaryCabinet rotaryCabinet1 = rotaryCabinetRepository.findById(rotaryCabinet.getId()).orElseGet(RotaryCabinet::new); - if (ObjectUtils.isEmpty(rotaryCabinet1)) { - throw new BaseException("数据不存在"); - } - - rotaryCabinet1.setDeviceAccount(rotaryCabinet.getDeviceAccount()); - rotaryCabinet1.setDevicePassword(rotaryCabinet.getDevicePassword()); - rotaryCabinet1.getDeviceInfo().setDeviceName(rotaryCabinet.getDeviceInfo().getDeviceName()); - rotaryCabinet1.getDeviceInfo().setDeviceIp(rotaryCabinet.getDeviceInfo().getDeviceIp()); - rotaryCabinet1.getDeviceInfo().setDevicePort(rotaryCabinet.getDeviceInfo().getDevicePort()); - rotaryCabinet1.setStoreroomCode(rotaryCabinet.getStoreroomCode()); - IsLinkageState(rotaryCabinet); - IsCallbackState(rotaryCabinet); - rotaryCabinetRepository.save(rotaryCabinet1); - } - - - /** - * 保存联动操作状态 - * - * @param rotaryCabinet / - */ - private void IsLinkageState(RotaryCabinet rotaryCabinet) { - - if (StringUtils.isEmpty(rotaryCabinet.getIsLinkage().getId())){ - OperatingState operatingState = new OperatingState(); - operatingState.setId(NanoIdUtils.randomNanoId()); - operatingState.setDeviceId(rotaryCabinet.getId()); - operatingState.setBorrow(rotaryCabinet.getIsLinkage().getBorrow()); - operatingState.setInBound(rotaryCabinet.getIsLinkage().getInBound()); - operatingState.setOutBound(rotaryCabinet.getIsLinkage().getOutBound()); - operatingState.setLend(rotaryCabinet.getIsLinkage().getLend()); - operatingState.setStateType(rotaryCabinet.getIsLinkage().getStateType()); - operatingStateRepository.save(operatingState); - }else { - OperatingState operatingState1 = operatingStateRepository.findById(rotaryCabinet.getIsLinkage().getId()).orElseGet(OperatingState::new); - operatingState1.setDeviceId(rotaryCabinet.getId()); - operatingState1.setBorrow(rotaryCabinet.getIsLinkage().getBorrow()); - operatingState1.setInBound(rotaryCabinet.getIsLinkage().getInBound()); - operatingState1.setOutBound(rotaryCabinet.getIsLinkage().getOutBound()); - operatingState1.setLend(rotaryCabinet.getIsLinkage().getLend()); - operatingState1.setStateType(rotaryCabinet.getIsLinkage().getStateType()); - operatingStateRepository.save(operatingState1); - } - - } - - /** - * 保存回调操作状态 - * - * @param rotaryCabinet / - */ - private void IsCallbackState(RotaryCabinet rotaryCabinet) { - - if (StringUtils.isEmpty(rotaryCabinet.getIsCallback().getId())){ - OperatingState operatingState = new OperatingState(); - operatingState.setId(NanoIdUtils.randomNanoId()); - operatingState.setDeviceId(rotaryCabinet.getId()); - operatingState.setBorrow(rotaryCabinet.getIsCallback().getBorrow()); - operatingState.setInBound(rotaryCabinet.getIsCallback().getInBound()); - operatingState.setOutBound(rotaryCabinet.getIsCallback().getOutBound()); - operatingState.setLend(rotaryCabinet.getIsCallback().getLend()); - operatingState.setStateType(rotaryCabinet.getIsCallback().getStateType()); - operatingStateRepository.save(operatingState); - }else { - OperatingState operatingState1 = operatingStateRepository.findById(rotaryCabinet.getIsLinkage().getId()).orElseGet(OperatingState::new); - operatingState1.setDeviceId(rotaryCabinet.getId()); - operatingState1.setBorrow(rotaryCabinet.getIsCallback().getBorrow()); - operatingState1.setInBound(rotaryCabinet.getIsCallback().getInBound()); - operatingState1.setOutBound(rotaryCabinet.getIsCallback().getOutBound()); - operatingState1.setLend(rotaryCabinet.getIsCallback().getLend()); - operatingState1.setStateType(rotaryCabinet.getIsCallback().getStateType()); - operatingStateRepository.save(operatingState1); - } - - - } -} diff --git a/storeroom/src/main/java/com/storeroom/modules/device/service/mapstruct/DeseCabinetMapper.java b/storeroom/src/main/java/com/storeroom/modules/device/service/mapstruct/DeseCabinetMapper.java deleted file mode 100644 index fedce57..0000000 --- a/storeroom/src/main/java/com/storeroom/modules/device/service/mapstruct/DeseCabinetMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.storeroom.modules.device.service.mapstruct; - -import com.storeroom.base.BaseMapper; -import com.storeroom.modules.device.domain.DeseCabinet; -import com.storeroom.modules.device.service.dto.DeseCabinetDto; -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; - -//@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE) -//public interface DeseCabinetMapper extends BaseMapper { -//}