提交 083e794e authored 作者: zhoushaopan's avatar zhoushaopan

feat(装备模块,3D模块): 新增许多更新接口

新增许多更新接口
上级 909912bc
......@@ -757,6 +757,8 @@ public class DeviceLibraryController {
DeviceLogDto deviceLogDto = new DeviceLogDto(deviceEditVo.getDeviceId(), remark, null,null,null);
deviceLogService.addLog(deviceLogDto);
deviceLibraryEntity.setName(libraryUpdateVo.getName());
//修改3D
deviceLibraryPositionService.updateName(libraryUpdateVo.getName(), libraryUpdateVo.getDeviceId());
}
if (libraryUpdateVo.getOwnUnit() != null && !libraryUpdateVo.getOwnUnit().equals(deviceLibraryEntity.getOwnUnit())) {
//添加装备日志
......@@ -784,6 +786,8 @@ public class DeviceLibraryController {
DeviceLogDto deviceLogDto = new DeviceLogDto(deviceEditVo.getDeviceId(), remark, null,null,null);
deviceLogService.addLog(deviceLogDto);
deviceLibraryEntity.setSeqNumber(libraryUpdateVo.getSeqNumber());
//修改3D
deviceLibraryPositionService.updateSeqNumber(libraryUpdateVo.getSeqNumber(), libraryUpdateVo.getDeviceId());
}
}
if (libraryUpdateVo.getStorageType() != null && !libraryUpdateVo.getStorageType().equals(deviceLibraryEntity.getStorageType())) {
......
package com.tykj.dev.device.library.controller;
import com.fasterxml.jackson.core.type.TypeReference;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.library.service.DeviceLibraryCacheService;
import com.tykj.dev.device.library.service.DeviceLibraryPositionService;
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.vo.DeviceLibraryPositionMessageVo;
import com.tykj.dev.device.library.subject.vo.RotationVo;
import com.tykj.dev.device.library.subject.vo.ScriptSaveVo;
import com.tykj.dev.misc.utils.JacksonUtil;
import com.tykj.dev.device.library.subject.model.vo.QueryTheWarehouseVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
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;
/**
......@@ -39,37 +28,8 @@ public class DeviceLibraryPositionController {
@GetMapping("/findByStorageLocationId")
@ApiOperation(value = "根据当前库房位置查询装备")
public ResponseEntity<List<DeviceLibraryPosition>> findByStorageLocationId(Integer StorageLocationId){
List<DeviceLibraryPosition> deviceLibraryPositions = new ArrayList<>();
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);
public ResponseEntity<Map<String, Object>> findByStorageLocationId(@RequestBody QueryTheWarehouseVo queryTheWarehouseVo){
Map<String, Object> map = deviceLibraryPositionService.fnConditionQuery(queryTheWarehouseVo);
return ResponseEntity.ok(map);
}
......
......@@ -26,6 +26,8 @@ public interface DeviceLibraryPositionDao extends JpaRepository<DeviceLibraryPos
DeviceLibraryPosition findAllByDeviceIdIn(List<Integer> deviceIds);
List<DeviceLibraryPosition> findAllByModel(String model);
@Transactional
@Modifying
@Query("update DeviceLibraryPosition d set d.storageLocationId = :StorageLocationId ,d.storageLocation = :StorageLocation where d.deviceId = :deviceId")
......@@ -38,6 +40,20 @@ public interface DeviceLibraryPositionDao extends JpaRepository<DeviceLibraryPos
int batchUpdateStorageLocation(@Param("StorageLocationId") Integer StorageLocationId,
@Param("StorageLocation")String StorageLocation,@Param("deviceIds")List<Integer> deviceIds);
@Transactional
@Modifying
@Query("update DeviceLibraryPosition d set d.model = :newModel where d.model = :oldModel")
int updateModelByOldModel(@Param("oldModel") String oldModel,@Param("newModel") String newModel);
@Transactional
@Modifying
@Query("update DeviceLibraryPosition d set d.name = :name where d.deviceId = :deviceId")
int updateName(@Param("name") String name,@Param("deviceId") Integer deviceId);
@Transactional
@Modifying
@Query("update DeviceLibraryPosition d set d.seqNumber = :seqNumber where d.deviceId = :deviceId")
int updateSeqNumber(@Param("seqNumber") String seqNumber,@Param("deviceId") Integer deviceId);
}
......@@ -4,6 +4,7 @@ import com.tykj.dev.device.library.subject.domin.DeviceLibraryPosition;
import com.tykj.dev.device.library.subject.model.vo.QueryTheWarehouseVo;
import java.util.List;
import java.util.Map;
/**
* @author zsp
......@@ -50,5 +51,16 @@ public interface DeviceLibraryPositionService {
* @param queryTheWarehouseVo 条件查询类
* @return
*/
List<DeviceLibraryPosition> fnConditionQuery(QueryTheWarehouseVo queryTheWarehouseVo);
Map<String,Object> fnConditionQuery(QueryTheWarehouseVo queryTheWarehouseVo);
void updateModelByOldModel(String oldModel,String newModel);
void updateName(String name,Integer deviceId);
void updateSeqNumber(String seqNumber,Integer deviceId);
List<DeviceLibraryPosition> findByModel(String model);
}
package com.tykj.dev.device.library.service.impl;
import com.fasterxml.jackson.core.type.TypeReference;
import com.github.wenhao.jpa.PredicateBuilder;
import com.github.wenhao.jpa.Specifications;
import com.tykj.dev.device.library.repository.DeviceLibraryPositionDao;
import com.tykj.dev.device.library.service.DeviceLibraryPositionService;
import com.tykj.dev.device.library.service.DeviceLibraryService;
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.model.vo.QueryTheWarehouseVo;
import com.tykj.dev.device.library.subject.vo.DeviceLibraryPositionMessageVo;
import com.tykj.dev.device.library.subject.vo.RotationVo;
import com.tykj.dev.device.user.util.UserUtils;
import com.tykj.dev.misc.utils.JacksonUtil;
import com.tykj.dev.misc.utils.PageUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @author zsp
......@@ -87,11 +98,63 @@ public class DeviceLibraryPositionServiceImpl implements DeviceLibraryPositionSe
}
@Override
public List<DeviceLibraryPosition> fnConditionQuery(QueryTheWarehouseVo queryTheWarehouseVo) {
public Map<String,Object> fnConditionQuery(QueryTheWarehouseVo queryTheWarehouseVo) {
Map<String,Object> map = new HashMap<>();
PredicateBuilder<DeviceLibraryPosition> builder = createBuilder(queryTheWarehouseVo);
return deviceLibraryPositionDao.findAll(builder.build());
List<DeviceLibraryPosition> deviceLibraryPositions = deviceLibraryPositionDao.findAll(builder.build());
Page<DeviceLibraryPosition> page = PageUtil.getPerPage(queryTheWarehouseVo.getPage(),
queryTheWarehouseVo.getSize(), deviceLibraryPositions,
queryTheWarehouseVo.getPageable());
//进行转换
if (!deviceLibraryPositions.isEmpty()){
for (DeviceLibraryPosition deviceLibraryPosition : deviceLibraryPositions) {
deviceLibraryPosition.setDeviceLibraryPositionMessageVo(
JacksonUtil.readValue(deviceLibraryPosition.getDeviceLibraryPositionMessage(), new TypeReference<DeviceLibraryPositionMessageVo>() {}));
deviceLibraryPosition.setRotationVo(
JacksonUtil.readValue(deviceLibraryPosition.getRotation(), new TypeReference<RotationVo>() {}));
}
}
List<String> models =
deviceLibraryPositions.stream().map(DeviceLibraryPosition::getModel).distinct().collect(Collectors.toList());
List<String> names =
deviceLibraryPositions.stream().map(DeviceLibraryPosition::getName).distinct().collect(Collectors.toList());
List<Integer> storageLocationIds =
deviceLibraryPositions.stream().map(DeviceLibraryPosition::getStorageLocationId).distinct().collect(Collectors.toList());
map.put("page",page);
map.put("models",models);
map.put("names",names);
map.put("storageLocationIds",storageLocationIds);
return map;
}
@Override
public void updateModelByOldModel(String oldModel,String newModel) {
List<DeviceLibraryPosition> libraryPositions = findByModel(oldModel);
if (!libraryPositions.isEmpty()){
deviceLibraryPositionDao.updateModelByOldModel(oldModel,newModel);
}
}
@Override
public void updateName(String name, Integer deviceId) {
if (findByDeviceId(deviceId)!=null){
deviceLibraryPositionDao.updateName(name,deviceId);
}
}
@Override
public void updateSeqNumber(String seqNumber, Integer deviceId) {
if (findByDeviceId(deviceId)!=null){
deviceLibraryPositionDao.updateSeqNumber(seqNumber,deviceId);
}
}
@Override
public List<DeviceLibraryPosition> findByModel(String model) {
return deviceLibraryPositionDao.findAllByModel(model);
}
private PredicateBuilder<DeviceLibraryPosition> createBuilder(QueryTheWarehouseVo queryTheWarehouseVo){
PredicateBuilder<DeviceLibraryPosition> predicateBuilder = Specifications.and();
List<Integer> storageLocationIds = queryTheWarehouseVo.getStorageLocationIds();
......
......@@ -43,7 +43,7 @@ public class DeviceLibraryPosition implements Serializable {
private String model;
/**
* 型号
* 装备的id
*/
@ApiModelProperty(value = "装备的id")
private Integer deviceId;
......@@ -79,16 +79,6 @@ public class DeviceLibraryPosition implements Serializable {
*/
@ApiModelProperty(value = "rfid卡号")
private String rfidCardId;
// /**
// * 所在单位
// */
// @ApiModelProperty(value = "所在单位")
// private String locationUnit;
// /**
// * 所属单位
// */
// @ApiModelProperty(value = "所属单位")
// private String ownUnit;
/**
* 创建用户id
......@@ -154,8 +144,4 @@ public class DeviceLibraryPosition implements Serializable {
@Transient
private RotationVo rotationVo;
}
......@@ -4,6 +4,7 @@ import com.tykj.dev.config.cache.ConfigCache;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.file.service.FilesUtil;
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;
......@@ -41,8 +42,10 @@ 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.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
......@@ -108,6 +111,9 @@ public class PackingController {
@Qualifier("taskExecutor")
Executor executor;
@Resource
private DeviceLibraryPositionService deviceLibraryPositionService;
@ApiOperation(value = "查询列装详情", notes = "可以通过这个接口查询列装详情")
@GetMapping(value = "/detail/{billId}")
public ResponseEntity selectDetail(@PathVariable("billId") @Min(value = 1,message = "billId不能小于1") int billId) {
......@@ -632,6 +638,9 @@ public class PackingController {
packingLog.setRemark(remark);
packingLog.setPackingId(packingLibrary.getId());
packingLogService.add(packingLog);
//修改3D中的model
CompletableFuture.runAsync(()->
deviceLibraryPositionService.updateModelByOldModel(packingLibrary.getModel(),packingModelEdit.getModel()));
}
BeanUtils.copyProperties(packingModelEdit, packingLibrary);
packingLibraryService.update(packingLibrary);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论