提交 d6503c2e authored 作者: zjm's avatar zjm

合并分支 'master' 到 'dev'

Master 查看合并请求 !59
......@@ -156,6 +156,8 @@ public interface DeviceLibraryService {
*/
void isInStockOrRepairing(List<Integer> ids);
void isFirstRepair(List<Integer> ids);
int getDeviceCount();
/**
......
......@@ -531,6 +531,16 @@ public class DeviceLibraryServiceImpl implements DeviceLibraryService {
});
}
@Override
public void isFirstRepair(List<Integer> ids) {
ids.forEach(integer -> {
DeviceLibrary deviceLibrary = getOne(integer);
if (deviceLibrary.getLifeStatus() ==4){
throw new ApiException(ResponseEntity.status(303).body("序列号"+deviceLibrary.getSeqNumber()+"的装备已被其他专管员操作"));
}
});
}
@Override
public int getDeviceCount() {
PredicateBuilder<DeviceLibrary> predicateBuilder = Specifications.and();
......
......@@ -142,24 +142,31 @@ public class PackingLibraryController {
List<String> models = resultList2.stream().map(PackingLibrary::getModel).collect(Collectors.toList());
Set<String> names = resultList.stream().filter(packingLibrary -> packingLibrary.getPackingStatus().equals(packingLibrarySelectVo.getPackingStatus()))
.map(PackingLibrary::getName).collect(Collectors.toSet());
// Set<String> names = resultList2.stream().map(PackingLibrary::getName).collect(Collectors.toSet());
// 交集集合
List<PackingLibrary> defectList = new ArrayList<>();
for (String model : models) {
//做一个去重
List<String> strings = models.stream().distinct().collect(Collectors.toList());
// for (String model : models) {
//model在models出现的次数
int count = Collections.frequency(models, model);
for (String string : strings) {
// int count = Collections.frequency(models, model);
int count = Collections.frequency(models, string);
if (count > 1) {
//取出list<PackingLibrary> 拿到所有该型号的列装id
List<Integer> allByModel = packingLibraryDao.findAllByModel(model).stream().map(PackingLibrary::getId).collect(Collectors.toList());
// List<Integer> allByModel = packingLibraryDao.findAllByModel(model).stream().map(PackingLibrary::getId).collect(Collectors.toList());
List<Integer> allByModel = packingLibraryDao.findAllByModel(string).stream().map(PackingLibrary::getId).collect(Collectors.toList());
//取出交集
defectList = resultList2.stream().filter(packingLibrary -> allByModel.contains(packingLibrary.getId())).sorted(Comparator.comparing(PackingLibrary::getId)).collect(Collectors.toList());
//去除交集
resultList2.removeAll(defectList);
//新增目录
//进行按照model分组
Map<String, List<PackingLibrary>> map1 = defectList.stream().collect(Collectors.groupingBy(PackingLibrary::getModel));
List<PackingLibrary> context1 = getContext1(map1);
resultList2.addAll(context1);
}
}
// }
}
//过滤出空目录
//判断它本身是不是就是空目录
......@@ -174,9 +181,7 @@ public class PackingLibraryController {
Page<PackingLibrary> packingLibraries = PageUtil.getPerPage(packingLibrarySelectVo.getPage(), packingLibrarySelectVo.getSize(), finalResult, packingLibrarySelectVo.getPageable());
Map<String, Object> map = new HashMap<>();
map.put("pages", packingLibraries);
// map.put("models", resultList2.stream().map(PackingLibrary::getModel).collect(Collectors.toSet()));
map.put("models", models.stream().distinct().collect(Collectors.toList()));
// map.put("names", resultList2.stream().map(PackingLibrary::getName).collect(Collectors.toSet()));
map.put("names", names);
return ResultUtil.success(map);
}
......@@ -427,10 +432,10 @@ public class PackingLibraryController {
public PackingLibrary getContext2(List<PackingLibrary> packingLibraries) {
//判断集合的长度 801 802 803 804 只操作804 或者803
//取出目录
//取出目录 找出目录
PackingLibrary packingLibrary = packingLibraries.get(0);
packingLibraries.remove(packingLibrary);
// List<PackingLibrary> finalPackingList = new ArrayList<>();
// List<PackingLibrary> finalPackingList = new ArrayList<>();
for (int i = 0; i < packingLibraries.size(); i++) {
List<PackingLibrary> finalPackingList = new ArrayList<>();
//会造成覆盖
......@@ -446,6 +451,9 @@ public class PackingLibraryController {
}
}
//判断是否是child
// List<PackingLibrary> child = new ArrayList<>(packingLibraries);
// packingLibrary.setChilds(child);
return packingLibrary;
}
......
......@@ -358,9 +358,11 @@ public class PackingLibraryServiceImpl implements PackingLibraryService {
delete(id);
if (ids.size() > 0) {
ids.forEach(integer -> {
if (deviceLibraryDao.getAllByPackingId(integer).stream().allMatch(deviceLibrary ->
!status.contains(deviceLibrary.getLifeStatus()))) {
throw new ApiException(ResponseEntity.status(20000).body("该列装型号已有装备,请进行退装操作"));
if (deviceLibraryDao.getAllByPackingId(integer).size()>0){
if (deviceLibraryDao.getAllByPackingId(integer).stream().noneMatch(deviceLibrary ->
status.contains(deviceLibrary.getLifeStatus()))) {
throw new ApiException(ResponseEntity.status(20000).body("该列装型号已有装备,请进行退装操作"));
}
}
deleteAll(integer);
});
......
......@@ -2495,7 +2495,8 @@ public class RepairController {
@Transactional(rollbackFor = Exception.class)
public ResponseEntity AddDirectlyUnderRepairBill(@RequestBody @Validated RepairBillSaveVo repairBillSaveVo){
//判断装备状态是不是在库和维修中
deviceLibraryService.isInStockOrRepairing(StringSplitUtil.split(repairBillSaveVo.getRepairDeviceCheckDetail()));
// deviceLibraryService.isInStockOrRepairing(StringSplitUtil.split(repairBillSaveVo.getRepairDeviceCheckDetail()));
deviceLibraryService.isFirstRepair(StringSplitUtil.split(repairBillSaveVo.getRepairDeviceCheckDetail()));
//存放详情id
List<Integer> detailIds = new ArrayList<>();
repairBillSaveVo.getDeviceList().forEach(deviceDetailVo -> {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论