Browse Source

删除设备

master
刘力 3 years ago
parent
commit
4721de21b6
  1. 8
      archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCaseRepository.java
  2. 22
      storeroom/src/main/java/com/storeroom/modules/device/controller/DeviceController.java
  3. 65
      storeroom/src/main/java/com/storeroom/modules/device/domain/ArchivesCases.java
  4. 17
      storeroom/src/main/java/com/storeroom/modules/device/repository/ArchivesCasesRepository.java
  5. 15
      storeroom/src/main/java/com/storeroom/modules/device/service/ArchivesCasesService.java
  6. 15
      storeroom/src/main/java/com/storeroom/modules/device/service/DeviceService.java
  7. 25
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/ArchivesCasesServiceImpl.java
  8. 18
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/DeviceImpl.java

8
archives/src/main/java/com/storeroom/modules/archives/repository/ArchivesCaseRepository.java

@ -15,7 +15,7 @@ import java.util.Set;
public interface ArchivesCaseRepository extends JpaRepository<ArchivesCase, String>{
@Query("from ArchivesCase where id = ?1")
@Query("from ArchivesCases where id = ?1")
ArchivesCase findCaseById(String caseId);
@Query(nativeQuery = true,
@ -60,7 +60,7 @@ public interface ArchivesCaseRepository extends JpaRepository<ArchivesCase, Stri
Integer countAllByTid(String tid);
@Query("select caseName from ArchivesCase where id in ?1")
@Query("select caseName from ArchivesCases where id in ?1")
List<String> findCaseName(List caseIds);
@Query(nativeQuery = true,
@ -69,11 +69,11 @@ public interface ArchivesCaseRepository extends JpaRepository<ArchivesCase, Stri
Integer isHaveArchives(List<String> deviceId);
@Modifying
@Query(value = "update ArchivesCase set tid = null where tid = ?1")
@Query(value = "update ArchivesCases set tid = null where tid = ?1")
void unbindTag(String tid);
@Modifying
@Query(value = "update ArchivesCase set tid = ?1 where id = ?2 ")
@Query(value = "update ArchivesCases set tid = ?1 where id = ?2 ")
Integer bindTag(String tid,String archivesId);
@Modifying

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

@ -1,20 +1,28 @@
package com.storeroom.modules.device.controller;
import com.storeroom.annotaion.rest.AnonymousDeleteMapping;
import com.storeroom.annotaion.rest.AnonymousGetMapping;
import com.storeroom.exception.BaseException;
import com.storeroom.modules.device.service.ArchivesCasesService;
import com.storeroom.modules.device.service.DeviceService;
import com.storeroom.modules.device.service.OperatingStateService;
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.data.domain.Pageable;
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;
import java.util.List;
import java.util.Set;
@RestController
@RequiredArgsConstructor
@Api(tags = "设备管理")
@ -23,6 +31,7 @@ public class DeviceController {
private final DeviceService deviceService;
private final OperatingStateService operatingStateService;
private final ArchivesCasesService archivesCaseService;
@ApiOperation("通过id获取设备列表")
@ -60,4 +69,17 @@ public class DeviceController {
}
return ApiResponse.success(operatingStateService.findById(deviceInfoId));
}
@ApiOperation("通过id删除设备")
@AnonymousDeleteMapping("delete")
public ApiResponse<Object> delete(@RequestBody Set<String> deviceInfoId) {
if (ObjectUtils.isEmpty(deviceInfoId)) {
throw new BaseException("设备id不能为空");
}
if (!archivesCaseService.isHaveArchives(deviceInfoId)) {
throw new BaseException("设备不允许删除");
}
deviceService.Delete(deviceInfoId);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
}

65
storeroom/src/main/java/com/storeroom/modules/device/domain/ArchivesCases.java

@ -0,0 +1,65 @@
package com.storeroom.modules.device.domain;
import com.storeroom.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.sql.Timestamp;
@Entity
@Getter
@Setter
@Table(name = "archives_case")
public class ArchivesCases extends BaseEntity implements Serializable {
@Id
@Column(name = "id")
private String id;
@Column(name = "case_name")
@ApiModelProperty(value = "盒名称")
private String caseName;
@Column(name = "case_type")
@ApiModelProperty(value = "盒类别 0.未定义 1.文件 2.案卷")
private Integer caseType;
@Column(name = "tid")
@ApiModelProperty(value = "盒标签")
private String tid;
@Column(name = "barcode")
@ApiModelProperty(value = "条形码")
private String barcode;
@Column(name = "shelf_id")
@ApiModelProperty(value = "层架位id")
private String shelfId;
@Column(name = "folder_location")
@ApiModelProperty(value = "存放位置")
private String folderLocation;
@Column(name = "folder_location_details")
@ApiModelProperty(value = "存放具体位置")
private String folderLocationDetails;
@Column(name = "deposit_num")
@ApiModelProperty(value = "存放数量")
private Integer depositNum;
@Column(name = "storage_type")
@ApiModelProperty(value = "入库状态 0.未入 1.待入 2.已入 3.待出")
private Integer storageType;
@Column(name = "storage_time")
@ApiModelProperty(value = "入库时间")
private Timestamp storageTime;
}

17
storeroom/src/main/java/com/storeroom/modules/device/repository/ArchivesCasesRepository.java

@ -0,0 +1,17 @@
package com.storeroom.modules.device.repository;
import com.storeroom.modules.device.domain.ArchivesCases;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
import java.util.Set;
public interface ArchivesCasesRepository extends JpaRepository<ArchivesCases, String>{
@Query(nativeQuery = true,
value = "select count(1) from archives_case ace where ace.shelf_id in " +
"(select id from device_archives_tag dat where dat.device_info_id in (?1)) ")
Integer isHaveArchives(Set<String> deviceId);
}

15
storeroom/src/main/java/com/storeroom/modules/device/service/ArchivesCasesService.java

@ -0,0 +1,15 @@
package com.storeroom.modules.device.service;
import java.util.List;
import java.util.Set;
public interface ArchivesCasesService {
//设备删除 设备内是否有档案
Boolean isHaveArchives(Set<String> deviceId);
}

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

@ -7,6 +7,7 @@ import com.storeroom.modules.device.service.dto.DeviceTypeDto;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Set;
public interface DeviceService {
@ -118,12 +119,16 @@ public interface DeviceService {
/**
* 根据id 查询设备信息
*
* @param id
* @param id /
* @return
*/
DeviceInfoDto findById(String id);
//获取储存设备列表
/**
* 获取设备列表无条件
* @param pageable /
* @return
*/
Object queryStorageDeviceAll(Pageable pageable);
/**
@ -132,6 +137,10 @@ public interface DeviceService {
*/
List<DeviceTypeDto> getDeviceTypeAll();
/**
* 删除设备
* @param deviceInfoId /
*/
void Delete(Set<String> deviceInfoId);
}

25
storeroom/src/main/java/com/storeroom/modules/device/service/impl/ArchivesCasesServiceImpl.java

@ -0,0 +1,25 @@
package com.storeroom.modules.device.service.impl;
import com.storeroom.modules.device.repository.ArchivesCasesRepository;
import com.storeroom.modules.device.service.ArchivesCasesService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Set;
@Service
@RequiredArgsConstructor
public class ArchivesCasesServiceImpl implements ArchivesCasesService {
private final ArchivesCasesRepository archivesCaseRepository;
@Override
public Boolean isHaveArchives(Set<String> deviceId) {
Integer count = archivesCaseRepository.isHaveArchives(deviceId);
return count <= 0;
}
}

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

@ -11,6 +11,8 @@ 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;
@ -18,7 +20,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ThreadLocalRandom;
@ -181,6 +185,7 @@ public class DeviceImpl implements DeviceService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void createRotaryCabinet(DeviceInfoDto deviceInfoDto) {
List<DeviceInfo> rotaryCabinetList = deviceInfoRepository.findByDeviceIpAndDevicePort(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort());
if (!ObjectUtils.isEmpty(rotaryCabinetList)) {
@ -243,6 +248,7 @@ public class DeviceImpl implements DeviceService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void createCamera(DeviceInfoDto deviceInfoDto) {
List<DeviceInfo> deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndVideoRouteAndDeviceTypeId(deviceInfoDto.getDeviceIp(),
deviceInfoDto.getDevicePort(),
@ -262,6 +268,7 @@ public class DeviceImpl implements DeviceService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateCamera(DeviceInfoDto deviceInfoDto) {
List<DeviceInfo> deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndVideoRouteAndDeviceTypeId(deviceInfoDto.getDeviceIp(),
deviceInfoDto.getDevicePort(),
@ -284,6 +291,7 @@ public class DeviceImpl implements DeviceService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void createInsideDevices(DeviceInfoDto deviceInfoDto) {
List<DeviceInfo> deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndDeviceId(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort(), deviceInfoDto.getDeviceId());
if (!ObjectUtils.isEmpty(deviceInfoList)) {
@ -301,6 +309,7 @@ public class DeviceImpl implements DeviceService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateInsideDevices(DeviceInfoDto deviceInfoDto) {
List<DeviceInfo> deviceInfoList = deviceInfoRepository.findByDeviceIpAndDevicePortAndDeviceId(deviceInfoDto.getDeviceIp(), deviceInfoDto.getDevicePort(), deviceInfoDto.getDeviceId());
if (!ObjectUtils.isEmpty(deviceInfoList)) {
@ -316,6 +325,7 @@ public class DeviceImpl implements DeviceService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void createOutsideDevices(DeviceInfoDto deviceInfoDto) {
List<DeviceInfo> deviceInfoList = deviceInfoRepository.findByDeviceIdAndDeviceTypeId(deviceInfoDto.getDeviceId(), deviceInfoDto.getDeviceTypeId());
if (deviceInfoList.size() != 0) {
@ -332,6 +342,7 @@ public class DeviceImpl implements DeviceService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateOutsideDevices(DeviceInfoDto deviceInfoDto) {
DeviceInfo deviceInfo = deviceInfoMapper.toEntity(deviceInfoDto);
@ -362,6 +373,13 @@ public class DeviceImpl implements DeviceService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void Delete(Set<String> deviceInfoId) {
deviceInfoRepository.deleteAllById(deviceInfoId);
}
/**
* 生成架位左右位置
*

Loading…
Cancel
Save