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

合并分支 'master' 到 'dev'

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