Browse Source

commit code

master
刘力 3 years ago
parent
commit
712c7fca7e
  1. 39
      storeroom/src/main/java/com/storeroom/modules/device/controller/DeseCabinetController.java
  2. 20
      storeroom/src/main/java/com/storeroom/modules/device/domain/DeseCabinet.java
  3. 6
      storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceArchivesTag.java
  4. 63
      storeroom/src/main/java/com/storeroom/modules/device/domain/OperatingState.java
  5. 8
      storeroom/src/main/java/com/storeroom/modules/device/repository/OperatingStateRepository.java
  6. 5
      storeroom/src/main/java/com/storeroom/modules/device/service/DeseCabinetService.java
  7. 13
      storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeseCabinetDto.java
  8. 40
      storeroom/src/main/java/com/storeroom/modules/device/service/dto/OperatingStateDto.java
  9. 106
      storeroom/src/main/java/com/storeroom/modules/device/service/impl/DenseCabinetImpl.java

39
storeroom/src/main/java/com/storeroom/modules/device/controller/DeseCabinetController.java

@ -4,6 +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;
@ -28,24 +29,24 @@ public class DeseCabinetController {
@ApiOperation("新增密集架")
@AnonymousPostMapping("create")
public ApiResponse<Object> create(@RequestBody DeseCabinetDto deseCabinetDto) {
public ApiResponse<Object> create(@RequestBody DeseCabinet deseCabinet) {
if (!StringUtils.isEmpty(deseCabinetDto.getId())) {
if (!StringUtils.isEmpty(deseCabinet.getId())) {
throw new BaseException("id不为空");
}
verifyValues(deseCabinetDto);
deseCabinetService.create(deseCabinetDto);
verifyValues(deseCabinet);
deseCabinetService.create(deseCabinet);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
@ApiOperation("新增密集架")
@ApiOperation("修改密集架")
@AnonymousPutMapping("update")
public ApiResponse<Object> update(@RequestBody DeseCabinetDto deseCabinetDto) {
if (StringUtils.isEmpty(deseCabinetDto.getId())) {
public ApiResponse<Object> update(@RequestBody DeseCabinet deseCabinet) {
if (StringUtils.isEmpty(deseCabinet.getId())) {
throw new BaseException("id不能为空");
}
verifyValues(deseCabinetDto);
deseCabinetService.update(deseCabinetDto);
verifyValues(deseCabinet);
deseCabinetService.update(deseCabinet);
return ApiResponse.success(ResponseStatus.SUCCESS);
}
@ -56,16 +57,16 @@ public class DeseCabinetController {
*
* @param deseCabinetDto /
*/
private void verifyValues(@RequestBody DeseCabinetDto deseCabinetDto) {
if (deseCabinetDto.getAreaNo() != null
&& deseCabinetDto.getRowNo() != null
&& deseCabinetDto.getSumColumnNo() != null
&& deseCabinetDto.getFirstColumnNo() != null
&& deseCabinetDto.getPartNo() != null
&& StringUtils.isEmpty(deseCabinetDto.getDeviceInfo().getDeviceName())
&& StringUtils.isEmpty(deseCabinetDto.getDeviceInfo().getStoreroomId().getId())
&& StringUtils.isEmpty(deseCabinetDto.getDeviceInfo().getDeviceIp())
&& deseCabinetDto.getDeviceInfo().getDevicePort() != null
private void verifyValues(@RequestBody DeseCabinet deseCabinet) {
if (deseCabinet.getAreaNo() != null
&& deseCabinet.getRowNo() != null
&& deseCabinet.getSumColumnNo() != null
&& deseCabinet.getFirstColumnNo() != null
&& deseCabinet.getPartNo() != null
&& StringUtils.isEmpty(deseCabinet.getDeviceInfo().getDeviceName())
&& StringUtils.isEmpty(deseCabinet.getDeviceInfo().getStoreroomId().getId())
&& StringUtils.isEmpty(deseCabinet.getDeviceInfo().getDeviceIp())
&& deseCabinet.getDeviceInfo().getDevicePort() != null
) {
throw new BaseException("必填字段不能为空");
}

20
storeroom/src/main/java/com/storeroom/modules/device/domain/DeseCabinet.java

@ -9,6 +9,7 @@ import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
/**
@ -61,29 +62,28 @@ public class DeseCabinet extends BaseEntity implements Serializable {
@ApiModelProperty(value = "节数")
private Integer partNo;
@Column(name = "is_linkage")
@ApiModelProperty(value = "联动操作")
private Integer isLinkage;
@Column(name = "is_callback")
@ApiModelProperty(value = "回调确认")
private Integer isCallback;
@Column(name = "is_notice")
@ApiModelProperty(value = "下发通知")
private Integer isNotice;
@Transient
private OperatingState isLinkage;
@Transient
private OperatingState isCallback;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
DeseCabinet that = (DeseCabinet) 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(isLinkage, that.isLinkage) && Objects.equals(isCallback, that.isCallback) && Objects.equals(isNotice, that.isNotice);
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, isLinkage, isCallback, isNotice);
return Objects.hash(id, deviceInfo, storeroomCode, deviceId, rowNo, areaNo, sumColumnNo, firstColumnNo, partNo, isNotice, isLinkage, isCallback);
}
}

6
storeroom/src/main/java/com/storeroom/modules/device/domain/DeviceArchivesTag.java

@ -4,8 +4,6 @@ import com.storeroom.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
@ -36,6 +34,10 @@ public class DeviceArchivesTag extends BaseEntity implements Serializable {
@ApiModelProperty(name = "层架位和柜架位")
private String position;
@Column(name = "position_name")
@ApiModelProperty(name = "层架位名称")
private String position_name;
@Override
public boolean equals(Object o) {

63
storeroom/src/main/java/com/storeroom/modules/device/domain/OperatingState.java

@ -0,0 +1,63 @@
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.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Objects;
@Entity
@Getter
@Setter
public class OperatingState implements Serializable {
@Id
@Column(name = "id")
@NotNull(groups = BaseEntity.Update.class)
@ApiModelProperty(value = "ID", hidden = true)
private String id;
@ManyToOne(targetEntity = DeseCabinet.class)
@JoinColumn(name = "device_id",referencedColumnName = "id")
@ApiModelProperty(value = "密集架或回转柜id")
private DeseCabinet deviceId;
@Column(name = "state_type")
@ApiModelProperty(value = "操作状态 1.联动操作 2.回调操作")
private Integer stateType;
@Column(name = "lend")
@ApiModelProperty(value = "借出")
private Boolean lend;
@Column(name = "borrow")
@ApiModelProperty(value = "归还")
private Boolean borrow;
@Column(name = "inbound")
@ApiModelProperty(value = "入库")
private Boolean inBound;
@Column(name = "outbound")
@ApiModelProperty(value = "出库")
private Boolean outBound;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
OperatingState that = (OperatingState) o;
return Objects.equals(id, that.id) && Objects.equals(deviceId, that.deviceId) && Objects.equals(lend, that.lend) && Objects.equals(borrow, that.borrow) && Objects.equals(inBound, that.inBound) && Objects.equals(outBound, that.outBound);
}
@Override
public int hashCode() {
return Objects.hash(id, deviceId, lend, borrow, inBound, outBound);
}
}

8
storeroom/src/main/java/com/storeroom/modules/device/repository/OperatingStateRepository.java

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

5
storeroom/src/main/java/com/storeroom/modules/device/service/DeseCabinetService.java

@ -1,5 +1,6 @@
package com.storeroom.modules.device.service;
import com.storeroom.modules.device.domain.DeseCabinet;
import com.storeroom.modules.device.service.dto.DeseCabinetDto;
@ -8,12 +9,12 @@ public interface DeseCabinetService {
/**
* 设备新增
*/
void create(DeseCabinetDto deseCabinetDto);
void create(DeseCabinet deseCabinet);
/**
* 设备修改
*/
void update(DeseCabinetDto deseCabinetDto);
void update(DeseCabinet deseCabinet);
/**
* 删除

13
storeroom/src/main/java/com/storeroom/modules/device/service/dto/DeseCabinetDto.java

@ -1,6 +1,8 @@
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;
@ -33,22 +35,23 @@ public class DeseCabinetDto extends BaseDTO implements Serializable {
private Integer partNo;
private Integer isLinkage;
private Integer isNotice;
private Integer isCallback;
private OperatingStateDto isLinkage;
private OperatingStateDto isCallback;
private Integer isNotice;
@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(isLinkage, that.isLinkage) && Objects.equals(isCallback, that.isCallback) && Objects.equals(isNotice, that.isNotice);
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, isLinkage, isCallback, isNotice);
return Objects.hash(id, deviceInfo, storeroomCode, deviceId, rowNo, areaNo, sumColumnNo, firstColumnNo, partNo, isNotice, isLinkage, isCallback);
}
}

40
storeroom/src/main/java/com/storeroom/modules/device/service/dto/OperatingStateDto.java

@ -0,0 +1,40 @@
package com.storeroom.modules.device.service.dto;
import com.storeroom.modules.device.domain.DeseCabinet;
import lombok.Getter;
import lombok.Setter;
import java.util.Objects;
@Setter
@Getter
public class OperatingStateDto {
private String id;
private DeseCabinet deviceId;
private Integer stateType;
private Boolean lend;
private Boolean borrow;
private Boolean inBound;
private Boolean outBound;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
OperatingStateDto that = (OperatingStateDto) o;
return Objects.equals(id, that.id) && Objects.equals(deviceId, that.deviceId) && Objects.equals(stateType, that.stateType) && Objects.equals(lend, that.lend) && Objects.equals(borrow, that.borrow) && Objects.equals(inBound, that.inBound) && Objects.equals(outBound, that.outBound);
}
@Override
public int hashCode() {
return Objects.hash(id, deviceId, stateType, lend, borrow, inBound, outBound);
}
}

106
storeroom/src/main/java/com/storeroom/modules/device/service/impl/DenseCabinetImpl.java

@ -3,9 +3,11 @@ 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.modules.device.service.dto.DeseCabinetDto;
import com.storeroom.modules.device.service.mapstruct.DeseCabinetMapper;
@ -27,36 +29,54 @@ public class DenseCabinetImpl implements DeseCabinetService {
private final DeviceInfoRepository deviceInfoRepository;
private final DeviceArchivesTagRepository deviceArchivesTagRepository;
private final DeseCabinetMapper deseCabinetMapper;
private final OperatingStateRepository operatingStateRepository;
@Override
@Transactional(rollbackFor = Exception.class)
public void create(DeseCabinetDto deseCabinetDto) {
public void create(DeseCabinet deseCabinet) {
// deseCabinetDto.setId(NanoIdUtils.randomNanoId());
//转换密集架实体
DeseCabinet deseCabinet = deseCabinetMapper.toEntity(deseCabinetDto);
// DeseCabinet deseCabinet = deseCabinetMapper.toEntity(deseCabinetDto);
// deseCabinet.setId(deseCabinetDto.getId());
// deseCabinet.setDeviceInfo(deseCabinetDto.getDeviceInfo());
// deseCabinet.setStoreroomCode(deseCabinetDto);
//根据IP和端口号查询设备
List<DeseCabinet> deseCabinet1 = deseCabinetRepository.findIpAndPortAndAreaNo(deseCabinetDto.getAreaNo(), deseCabinetDto.getDeviceInfo().getDeviceIp(), deseCabinetDto.getDeviceInfo().getDevicePort());
List<DeseCabinet> deseCabinet1 = deseCabinetRepository.findIpAndPortAndAreaNo(deseCabinet.getAreaNo(), deseCabinet.getDeviceInfo().getDeviceIp(), deseCabinet.getDeviceInfo().getDevicePort());
//判断设备同一IP和端口下是否重复
if (!ObjectUtils.isEmpty(deseCabinet1)) {
throw new BaseException("同一IP和端口号下不能重复添加设备");
}
//创建设备信息id
deseCabinet.getDeviceInfo().setId(NanoIdUtils.randomNanoId());
//创建密集架id
deseCabinet.setId(NanoIdUtils.randomNanoId());
//创建设备信息id
deseCabinet.getDeviceInfo().setId(NanoIdUtils.randomNanoId());
//生成架位
String position = new StringBuilder()
.append(deseCabinet.getAreaNo())
.append("-")
.append(deseCabinet.getFirstColumnNo())
.append("-")
.append(deseCabinet.getPartNo())
.append("-")
.append(deseCabinet.getRowNo())
.append("-")
.append(GenerateNum())
.toString();
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();
@ -64,12 +84,50 @@ public class DenseCabinetImpl implements DeseCabinetService {
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.getDeviceId().setId(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.getDeviceId().setId(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);
}
/**
* 生成架位左右位置
@ -84,22 +142,22 @@ public class DenseCabinetImpl implements DeseCabinetService {
@Override
@Transactional(rollbackFor = Exception.class)
public void update(DeseCabinetDto deseCabinetDto) {
public void update(DeseCabinet deseCabinet) {
List<DeseCabinet> deseCabinet = deseCabinetRepository.findIpAndPortAndAreaNo(deseCabinetDto.getAreaNo(), deseCabinetDto.getDeviceInfo().getDeviceIp(), deseCabinetDto.getDeviceInfo().getDevicePort());
List<DeseCabinet> deseCabinet1 = deseCabinetRepository.findIpAndPortAndAreaNo(deseCabinet.getAreaNo(), deseCabinet.getDeviceInfo().getDeviceIp(), deseCabinet.getDeviceInfo().getDevicePort());
if (!ObjectUtils.isEmpty(deseCabinet)) {
throw new BaseException("同一IP和端口号下不能重复添加设备");
}
DeseCabinet deseCabinet1 = deseCabinetMapper.toEntity(deseCabinetDto);
DeseCabinet deseCabinet2 = deseCabinetRepository.findById(deseCabinet1.getId()).orElseGet(DeseCabinet::new);
// DeseCabinet deseCabinet2 = deseCabinetMapper.toEntity(deseCabinetDto);
DeseCabinet deseCabinet2 = deseCabinetRepository.findById(deseCabinet.getId()).orElseGet(DeseCabinet::new);
if (ObjectUtils.isEmpty(deseCabinet2)) {
throw new BaseException("数据不存在");
}
deseCabinet2.getDeviceInfo().setDeviceName(deseCabinetDto.getDeviceInfo().getDeviceName());
deseCabinet2.getDeviceInfo().setDeviceIp(deseCabinetDto.getDeviceInfo().getDeviceIp());
deseCabinet2.getDeviceInfo().setDevicePort(deseCabinetDto.getDeviceInfo().getDevicePort());
deseCabinet2.setStoreroomCode(deseCabinetDto.getStoreroomCode());
deseCabinet2.getDeviceInfo().setDeviceName(deseCabinet.getDeviceInfo().getDeviceName());
deseCabinet2.getDeviceInfo().setDeviceIp(deseCabinet.getDeviceInfo().getDeviceIp());
deseCabinet2.getDeviceInfo().setDevicePort(deseCabinet.getDeviceInfo().getDevicePort());
deseCabinet2.setStoreroomCode(deseCabinet.getStoreroomCode());
deseCabinetRepository.save(deseCabinet2);
}

Loading…
Cancel
Save