提交 208f41c9 authored 作者: zhoushaopan's avatar zhoushaopan

feat(装备模块,3D模块): 新增修改存放位置的接口

新增修改存放位置的接口
上级 b403613b
......@@ -7,12 +7,10 @@ import com.tykj.dev.config.cache.ConfigCache;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.library.repository.DeviceLibraryDao;
import com.tykj.dev.device.library.repository.DeviceLogDao;
import com.tykj.dev.device.library.service.DeviceChangeService;
import com.tykj.dev.device.library.service.DeviceLibraryCacheService;
import com.tykj.dev.device.library.service.DeviceLibraryService;
import com.tykj.dev.device.library.service.DeviceLogService;
import com.tykj.dev.device.library.service.*;
import com.tykj.dev.device.library.subject.Dto.DeviceLogDto;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.library.subject.domin.DeviceLibraryPosition;
import com.tykj.dev.device.library.subject.domin.DeviceLog;
import com.tykj.dev.device.library.subject.vo.*;
import com.tykj.dev.device.user.cache.UnitsCache;
......@@ -41,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.constraints.Min;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -91,8 +90,8 @@ public class DeviceLibraryController {
@Autowired
private UnitsService unitsService;
@Autowired
private UnitsCache unitsCache;
@Resource
private DeviceLibraryPositionService deviceLibraryPositionService;
@ApiOperation(value = "修改装备备注", notes = "修改装备备注")
@PostMapping("/setRecord")
......@@ -803,6 +802,9 @@ public class DeviceLibraryController {
deviceLogService.addLog(deviceLogDto);
deviceLibraryEntity.setStorageLocation(libraryUpdateVo.getStorageLocation());
deviceLibraryEntity.setStorageLocationId(libraryUpdateVo.getStorageLocationId());
//从而修改3D的库房位置
deviceLibraryPositionService.onlyUpdateStorageLocation(libraryUpdateVo.getStorageLocationId(),
libraryUpdateVo.getStorageLocation(), libraryUpdateVo.getDeviceId());
}
//add 备注
if (libraryUpdateVo.getRecord()!=null && !libraryUpdateVo.getRecord().equals(deviceLibraryEntity.getRecord())){
......
......@@ -19,7 +19,9 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* DATE:2021-8-11
......@@ -36,19 +38,41 @@ public class DeviceLibraryPositionController {
private DeviceLibraryPositionService deviceLibraryPositionService;
@GetMapping("/findByStorageLocationId")
@ApiOperation(value = "根据库房位置查询装备")
@ApiOperation(value = "根据当前库房位置查询装备")
public ResponseEntity<List<DeviceLibraryPosition>> findByStorageLocationId(Integer StorageLocationId){
List<DeviceLibraryPosition> deviceLibraryPositions = new ArrayList<>();
for (DeviceLibraryPosition deviceLibraryPosition : deviceLibraryPositionService.findByStorageLocationId(StorageLocationId)) {
deviceLibraryPosition.setDeviceLibraryPositionMessageVo(
JacksonUtil.readValue(deviceLibraryPosition.getDeviceLibraryPositionMessage(), new TypeReference<DeviceLibraryPositionMessageVo>() {}));
deviceLibraryPosition.setRotationVo(
JacksonUtil.readValue(deviceLibraryPosition.getRotation(), new TypeReference<RotationVo>() {}));
deviceLibraryPositions.add(deviceLibraryPosition);
if (!deviceLibraryPositionService.findByStorageLocationId(StorageLocationId).isEmpty()){
for (DeviceLibraryPosition deviceLibraryPosition : deviceLibraryPositionService.findByStorageLocationId(StorageLocationId)) {
deviceLibraryPosition.setDeviceLibraryPositionMessageVo(
JacksonUtil.readValue(deviceLibraryPosition.getDeviceLibraryPositionMessage(), new TypeReference<DeviceLibraryPositionMessageVo>() {}));
deviceLibraryPosition.setRotationVo(
JacksonUtil.readValue(deviceLibraryPosition.getRotation(), new TypeReference<RotationVo>() {}));
deviceLibraryPositions.add(deviceLibraryPosition);
}
}
return ResponseEntity.ok(deviceLibraryPositions);
}
@GetMapping("/findByOtherStorageLocationId")
@ApiOperation(value = "根据其他库房位置查询装备")
public ResponseEntity<Map<String, Object>> findByOtherStorageLocationId(List<Integer> StorageLocationIds){
Map<String, Object> map = new HashMap<>();
List<DeviceLibraryPosition> deviceLibraryPositions = new ArrayList<>();
List<DeviceLibraryPosition> libraryPositions =
deviceLibraryPositionService.findByStorageLocationIds(StorageLocationIds);
if (!libraryPositions.isEmpty()){
for (DeviceLibraryPosition libraryPosition : libraryPositions) {
libraryPosition.setDeviceLibraryPositionMessageVo(
JacksonUtil.readValue(libraryPosition.getDeviceLibraryPositionMessage(), new TypeReference<DeviceLibraryPositionMessageVo>() {}));
libraryPosition.setRotationVo(
JacksonUtil.readValue(libraryPosition.getRotation(), new TypeReference<RotationVo>() {}));
deviceLibraryPositions.add(libraryPosition);
}
}
map.put("deviceLibraryPositions",deviceLibraryPositions);
return ResponseEntity.ok(map);
}
@PostMapping("/updateDeviceLibraryPosition")
@ApiOperation(value = "修改3D")
public ResponseEntity<String> updateDeviceLibraryPosition(@RequestBody DeviceLibraryPosition deviceLibraryPosition){
......
......@@ -20,6 +20,24 @@ import java.util.List;
public interface DeviceLibraryPositionDao extends JpaRepository<DeviceLibraryPosition, Integer>, JpaSpecificationExecutor<DeviceLibraryPosition> {
List<DeviceLibraryPosition> findAllByStorageLocationId(Integer StorageLocationId);
List<DeviceLibraryPosition> findAllByStorageLocationIdIn(List<Integer> StorageLocationIds);
DeviceLibraryPosition findByDeviceId(Integer deviceId);
DeviceLibraryPosition findAllByDeviceIdIn(List<Integer> deviceIds);
@Transactional
@Modifying
@Query("update DeviceLibraryPosition d set d.storageLocationId = :StorageLocationId ,d.storageLocation = :StorageLocation where d.deviceId = :deviceId")
int onlyUpdateStorageLocation(@Param("StorageLocationId") Integer StorageLocationId,
@Param("StorageLocation")String StorageLocation,@Param("deviceId")Integer deviceId);
@Transactional
@Modifying
@Query("update DeviceLibraryPosition d set d.storageLocationId = :StorageLocationId ,d.storageLocation = :StorageLocation where d.deviceId in :deviceIds")
int batchUpdateStorageLocation(@Param("StorageLocationId") Integer StorageLocationId,
@Param("StorageLocation")String StorageLocation,@Param("deviceIds")List<Integer> deviceIds);
}
......@@ -18,7 +18,29 @@ public interface DeviceLibraryPositionService {
List<DeviceLibraryPosition> findByStorageLocationId(Integer StorageLocationId);
List<DeviceLibraryPosition> findByStorageLocationIds(List<Integer> StorageLocationIds);
DeviceLibraryPosition findById(Integer id);
void deleteByPosition(Integer id);
DeviceLibraryPosition findByDeviceId(Integer deviceId);
DeviceLibraryPosition findByDeviceIds(List<Integer> deviceIds);
/**
* 根据装备id修改库房位置
* @param StorageLocationId 库房id
* @param StorageLocation 库房名称
* @param deviceId 装备id
*/
void onlyUpdateStorageLocation(Integer StorageLocationId,String StorageLocation,Integer deviceId);
/**
* 批量修改库房位置
* @param StorageLocationId 库房id
* @param StorageLocation 库房名称
* @param deviceIds 装备id的集合
*/
void batchUpdateStorageLocation(Integer StorageLocationId,String StorageLocation,List<Integer> deviceIds);
}
......@@ -11,6 +11,7 @@ import com.tykj.dev.config.base.DeviceLifeStatus;
import com.tykj.dev.device.library.controller.CacheLibraryController;
import com.tykj.dev.device.library.repository.DeviceLibraryDao;
import com.tykj.dev.device.library.service.DeviceLibraryCacheService;
import com.tykj.dev.device.library.service.DeviceLibraryPositionService;
import com.tykj.dev.device.library.service.DeviceLibraryService;
import com.tykj.dev.device.library.service.DeviceLogService;
import com.tykj.dev.device.library.subject.Dto.DeviceLogDto;
......@@ -83,6 +84,9 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
@Qualifier("taskExecutor")
private Executor executor;
@Autowired
private DeviceLibraryPositionService deviceLibraryPositionService;
@Override
@UpdateCache
public DeviceLibrary addEntity(DeviceLibrary deviceLibraryEntity) {
......@@ -1167,6 +1171,9 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
CompletableFuture.runAsync(()->{
deviceLogService.addAllLog(deviceLogDtos);
});
deviceLibraryPositionService.batchUpdateStorageLocation(updateStorageLocationVo.getStorageLocationId(),
updateStorageLocationVo.getStorageLocation(),deviceIds);
}
@Override
......
......@@ -79,16 +79,16 @@ public class DeviceLibraryPosition implements Serializable {
*/
@ApiModelProperty(value = "rfid卡号")
private String rfidCardId;
/**
* 所在单位
*/
@ApiModelProperty(value = "所在单位")
private String locationUnit;
/**
* 所属单位
*/
@ApiModelProperty(value = "所属单位")
private String ownUnit;
// /**
// * 所在单位
// */
// @ApiModelProperty(value = "所在单位")
// private String locationUnit;
// /**
// * 所属单位
// */
// @ApiModelProperty(value = "所属单位")
// private String ownUnit;
/**
* 创建用户id
......
......@@ -19,9 +19,6 @@ import java.util.Optional;
@Service
public class DeviceLibraryPositionServiceImpl implements DeviceLibraryPositionService {
@Autowired
private UserUtils userUtils;
@Autowired
private DeviceLibraryPositionDao deviceLibraryPositionDao;
......@@ -46,6 +43,11 @@ public class DeviceLibraryPositionServiceImpl implements DeviceLibraryPositionSe
}
@Override
public List<DeviceLibraryPosition> findByStorageLocationIds(List<Integer> StorageLocationIds) {
return deviceLibraryPositionDao.findAllByStorageLocationIdIn(StorageLocationIds);
}
@Override
public DeviceLibraryPosition findById(Integer id) {
DeviceLibraryPosition deviceLibraryPosition = new DeviceLibraryPosition();
......@@ -60,4 +62,26 @@ public class DeviceLibraryPositionServiceImpl implements DeviceLibraryPositionSe
public void deleteByPosition(Integer id) {
deviceLibraryPositionDao.deleteById(id);
}
@Override
public DeviceLibraryPosition findByDeviceId(Integer deviceId) {
return deviceLibraryPositionDao.findByDeviceId(deviceId);
}
@Override
public DeviceLibraryPosition findByDeviceIds(List<Integer> deviceIds) {
return deviceLibraryPositionDao.findAllByDeviceIdIn(deviceIds);
}
@Override
public void onlyUpdateStorageLocation(Integer StorageLocationId, String StorageLocation,Integer deviceId) {
if (findByDeviceId(deviceId)!=null){
deviceLibraryPositionDao.onlyUpdateStorageLocation(StorageLocationId,StorageLocation,deviceId);
}
}
@Override
public void batchUpdateStorageLocation(Integer StorageLocationId, String StorageLocation, List<Integer> deviceIds) {
deviceLibraryPositionDao.batchUpdateStorageLocation(StorageLocationId,StorageLocation,deviceIds);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论