|
|
@ -273,6 +273,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public R selecttrayList(IPage<TaskTrayVO> page, TaskSearchDTO taskSearchDTO) { |
|
|
|
public R selecttrayList(IPage<TaskTrayVO> page, TaskSearchDTO taskSearchDTO) { |
|
|
|
|
|
|
|
|
|
|
|
//todo 验证盘点信息
|
|
|
|
//todo 验证盘点信息
|
|
|
@ -298,7 +299,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
List<QuestDetailEntity> list = getQuestDetailList(taskSearchDTO,myCurrentWarehouse.getId(),trayByTrayCode.getId()); |
|
|
|
List<QuestDetailEntity> list = getQuestDetailList(taskSearchDTO,myCurrentWarehouse.getId(),trayByTrayCode.getId()); |
|
|
|
// List<TaskTrayVO> list = getTaskTrayInfo(page,taskSearchDTO,collect);// 查询有没有当次盘点任务的托盘数据
|
|
|
|
// List<TaskTrayVO> list = getTaskTrayInfo(page,taskSearchDTO,collect);// 查询有没有当次盘点任务的托盘数据
|
|
|
|
if (!list.isEmpty()){ //有盘点数据
|
|
|
|
if (!list.isEmpty()){ //有盘点数据
|
|
|
|
return R.data(getTaskTrayInfo(list,1)); |
|
|
|
return R.data(getTaskTrayInfo(list)); |
|
|
|
}else{ |
|
|
|
}else{ |
|
|
|
//添加扫描的托盘信息
|
|
|
|
//添加扫描的托盘信息
|
|
|
|
//添加托盘上面的数据
|
|
|
|
//添加托盘上面的数据
|
|
|
@ -308,7 +309,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
return Resp.scanFail("没有盘点信息!","没有盘点信息!"); |
|
|
|
return Resp.scanFail("没有盘点信息!","没有盘点信息!"); |
|
|
|
case 1: |
|
|
|
case 1: |
|
|
|
List<QuestDetailEntity> questDetailList = getQuestDetailList(taskSearchDTO,myCurrentWarehouse.getId(),trayByTrayCode.getId()); |
|
|
|
List<QuestDetailEntity> questDetailList = getQuestDetailList(taskSearchDTO,myCurrentWarehouse.getId(),trayByTrayCode.getId()); |
|
|
|
return R.data(getTaskTrayInfo(questDetailList,1)); |
|
|
|
return R.data(getTaskTrayInfo(questDetailList)); |
|
|
|
case 2: |
|
|
|
case 2: |
|
|
|
return Resp.scanFail("托盘信息未找到!","托盘信息未找到!"); |
|
|
|
return Resp.scanFail("托盘信息未找到!","托盘信息未找到!"); |
|
|
|
case 3: |
|
|
|
case 3: |
|
|
@ -323,7 +324,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
List<QuestDetailEntity> list1 = getQuestDetailList(taskSearchDTO,myCurrentWarehouse.getId(),null); |
|
|
|
List<QuestDetailEntity> list1 = getQuestDetailList(taskSearchDTO,myCurrentWarehouse.getId(),null); |
|
|
|
if(!list1.isEmpty()){ |
|
|
|
if(!list1.isEmpty()){ |
|
|
|
// int sum = list1.stream().mapToInt(QuestDetailEntity::getStockNum).sum(); //总数
|
|
|
|
// int sum = list1.stream().mapToInt(QuestDetailEntity::getStockNum).sum(); //总数
|
|
|
|
return R.data(getTaskTrayInfo(list1,1)); |
|
|
|
return R.data(getTaskTrayInfo(list1)); |
|
|
|
} |
|
|
|
} |
|
|
|
return R.success("成功"); |
|
|
|
return R.success("成功"); |
|
|
|
} |
|
|
|
} |
|
|
@ -335,7 +336,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
* 出来托盘信息 |
|
|
|
* 出来托盘信息 |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private List<TaskTrayVO> getTaskTrayInfo(List<QuestDetailEntity> list1,int type){ |
|
|
|
private List<TaskTrayVO> getTaskTrayInfo(List<QuestDetailEntity> list1){ |
|
|
|
// return baseMapper.selecttrayList(page,taskSearchDTO,collect);// 查询有没有当次盘点任务的托盘数据
|
|
|
|
// return baseMapper.selecttrayList(page,taskSearchDTO,collect);// 查询有没有当次盘点任务的托盘数据
|
|
|
|
|
|
|
|
|
|
|
|
List<TaskTrayVO> list = new ArrayList<>(); |
|
|
|
List<TaskTrayVO> list = new ArrayList<>(); |
|
|
@ -345,10 +346,6 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
taskTrayVO.setTrayId(k); |
|
|
|
taskTrayVO.setTrayId(k); |
|
|
|
AtomicReference<Integer> num = new AtomicReference<>(0); //总数
|
|
|
|
AtomicReference<Integer> num = new AtomicReference<>(0); //总数
|
|
|
|
AtomicReference<Integer> unTotal = new AtomicReference<>(0); //盘点数
|
|
|
|
AtomicReference<Integer> unTotal = new AtomicReference<>(0); //盘点数
|
|
|
|
if(type == 2){ |
|
|
|
|
|
|
|
//添加包件信息
|
|
|
|
|
|
|
|
taskTrayVO.setList(v); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
v.forEach( p ->{ |
|
|
|
v.forEach( p ->{ |
|
|
|
taskTrayVO.setTrayCode(p.getTrayCode()); |
|
|
|
taskTrayVO.setTrayCode(p.getTrayCode()); |
|
|
|
num.set(num.get() + p.getStockNum()); |
|
|
|
num.set(num.get() + p.getStockNum()); |
|
|
@ -374,6 +371,57 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
return list; |
|
|
|
return list; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* 托盘ID信息货物处理 |
|
|
|
|
|
|
|
* @return |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
private TaskTrayVO getTaskTrayInfoOwn(List<QuestDetailEntity> list1,String type){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TaskTrayVO taskTrayVO = new TaskTrayVO(); |
|
|
|
|
|
|
|
list1.stream().collect(Collectors.groupingBy(QuestDetailEntity::getTrayId)) |
|
|
|
|
|
|
|
.forEach((k,v) ->{ |
|
|
|
|
|
|
|
taskTrayVO.setTrayId(k); |
|
|
|
|
|
|
|
AtomicReference<Integer> num = new AtomicReference<>(0); //总数
|
|
|
|
|
|
|
|
AtomicReference<Integer> unTotal = new AtomicReference<>(0); //盘点数
|
|
|
|
|
|
|
|
List<QuestDetailVO> detailVOS = new ArrayList<>(); |
|
|
|
|
|
|
|
v.forEach( p ->{ |
|
|
|
|
|
|
|
taskTrayVO.setTrayCode(p.getTrayCode()); |
|
|
|
|
|
|
|
num.set(num.get() + p.getStockNum()); |
|
|
|
|
|
|
|
if(p.getQuestStatus().equals(1)){ |
|
|
|
|
|
|
|
unTotal.set(unTotal.get() + p.getQuestStatus()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
QuestDetailVO questDetailVO = new QuestDetailVO(); |
|
|
|
|
|
|
|
switch (p.getQuestTarget()){ |
|
|
|
|
|
|
|
case 1: |
|
|
|
|
|
|
|
taskTrayVO.setGoodsType("定制品"); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 2: |
|
|
|
|
|
|
|
taskTrayVO.setGoodsType("零担"); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case 3: |
|
|
|
|
|
|
|
taskTrayVO.setGoodsType("库存品"); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BeanUtil.copyProperties(p,questDetailVO); |
|
|
|
|
|
|
|
//查询货物状态
|
|
|
|
|
|
|
|
List<QuestDetailChildEntity> list = questDetailChildService.list(Wrappers.<QuestDetailChildEntity>query().lambda() |
|
|
|
|
|
|
|
.eq(QuestDetailChildEntity::getQuestDetailId, p.getId()) |
|
|
|
|
|
|
|
.eq(QuestDetailChildEntity::getWarehouseId, p.getWarehouseId()) |
|
|
|
|
|
|
|
.eq(QuestDetailChildEntity::getWarehouseId, p.getWarehouseId()) |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
questDetailVO.setList(list); |
|
|
|
|
|
|
|
detailVOS.add(questDetailVO); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
taskTrayVO.setList(detailVOS); |
|
|
|
|
|
|
|
taskTrayVO.setTotal(num.get()); |
|
|
|
|
|
|
|
taskTrayVO.setUnTotal(unTotal.get()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
return taskTrayVO; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* 查询托盘里面的信息 |
|
|
|
* 查询托盘里面的信息 |
|
|
|
* @param taskSearchDTO |
|
|
|
* @param taskSearchDTO |
|
|
@ -400,7 +448,10 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
public R trayListInfo(IPage<Object> page, TaskSearchDTO taskSearchDTO) { |
|
|
|
public R trayListInfo(IPage<Object> page, TaskSearchDTO taskSearchDTO) { |
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); |
|
|
|
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); |
|
|
|
List<QuestDetailEntity> questDetailList = getQuestDetailList(taskSearchDTO, myCurrentWarehouse.getId(), taskSearchDTO.getTrayId()); |
|
|
|
List<QuestDetailEntity> questDetailList = getQuestDetailList(taskSearchDTO, myCurrentWarehouse.getId(), taskSearchDTO.getTrayId()); |
|
|
|
return R.data(getTaskTrayInfo(questDetailList,2)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return R.data(getTaskTrayInfoOwn(questDetailList,taskSearchDTO.getGoodsType())); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -413,6 +464,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
* @param trayByTrayCode 托盘 |
|
|
|
* @param trayByTrayCode 托盘 |
|
|
|
* @return |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
private int getTaskInventory(Long taskId,Long warehouseId,BasicdataTrayEntity trayByTrayCode){ |
|
|
|
private int getTaskInventory(Long taskId,Long warehouseId,BasicdataTrayEntity trayByTrayCode){ |
|
|
|
//查询是否在当前任务内
|
|
|
|
//查询是否在当前任务内
|
|
|
|
List<TaskQuestChildEntity> list = taskQuestChildService.list(Wrappers.<TaskQuestChildEntity>query().lambda() |
|
|
|
List<TaskQuestChildEntity> list = taskQuestChildService.list(Wrappers.<TaskQuestChildEntity>query().lambda() |
|
|
@ -437,8 +489,10 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
//部分盘点
|
|
|
|
//部分盘点
|
|
|
|
//查询订单信息
|
|
|
|
//查询订单信息
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = getStockArticleInfo(i.getAssociationId()); |
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = getStockArticleInfo(i.getAssociationId()); |
|
|
|
if(!list.stream().anyMatch(d -> d.getRefId().equals(distributionStockArticleEntity.getMallId()))){ |
|
|
|
if(!list.stream().anyMatch(d -> d.getRefName().equals(distributionStockArticleEntity.getMallName()))){ |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
questDetail.setWaybillNumber(distributionStockArticleEntity.getWaybillNumber()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
questDetail.setOrderId(i.getAssociationId()); |
|
|
|
questDetail.setOrderId(i.getAssociationId()); |
|
|
@ -456,27 +510,30 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
case "3": //3包件码
|
|
|
|
case "3": //3包件码
|
|
|
|
//查询订单ID
|
|
|
|
//查询订单ID
|
|
|
|
//查询订单信息
|
|
|
|
//查询订单信息
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = getStockArticleInfo(i.getAssociationId()); |
|
|
|
|
|
|
|
if(!list.stream().anyMatch(d -> d.getRefId().equals(distributionStockArticleEntity.getMallId()))){ |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
questDetail.setQuestTarget(1);//
|
|
|
|
questDetail.setQuestTarget(1);//
|
|
|
|
questDetail.setOrderCode(distributionStockArticleEntity.getOrderCode());//
|
|
|
|
|
|
|
|
questDetail.setOrdePackageCode(i.getAssociationValue());//包条码
|
|
|
|
questDetail.setOrdePackageCode(i.getAssociationValue());//包条码
|
|
|
|
questDetail.setOrderPackageId(i.getAssociationId());//包件ID
|
|
|
|
questDetail.setOrderPackageId(i.getAssociationId());//包件ID
|
|
|
|
DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); |
|
|
|
DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); |
|
|
|
parcelList.setId(i.getAssociationId()); |
|
|
|
parcelList.setId(i.getAssociationId()); |
|
|
|
parcelList.setOrderPackageCode(i.getAssociationValue()); |
|
|
|
parcelList.setOrderPackageCode(i.getAssociationValue()); |
|
|
|
List<DistributionParcelListEntity> parcelList1 = distributionParcelListClient.getParcelList(parcelList); |
|
|
|
List<DistributionParcelListEntity> parcelList1 = distributionParcelListClient.getParcelList(parcelList); |
|
|
|
|
|
|
|
if(!parcelList1.isEmpty()){ |
|
|
|
|
|
|
|
questDetail.setOrderId(parcelList1.get(0).getStockArticleId()); |
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
DistributionStockArticleEntity distributionStockArticleEntity = getStockArticleInfo(parcelList1.get(0).getStockArticleId()); |
|
|
|
|
|
|
|
if(!list.stream().anyMatch(d -> d.getRefName().equals(distributionStockArticleEntity.getMallName()))){ |
|
|
|
|
|
|
|
continue; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
questDetail.setOrderCode(distributionStockArticleEntity.getOrderCode());//
|
|
|
|
WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = getUpdownGoodsPack(i.getAssociationId(),"3",i.getAssociationValue(),warehouseId); |
|
|
|
WarehouseUpdownGoodsEntity warehouseUpdownGoodsEntity = getUpdownGoodsPack(i.getAssociationId(),"3",i.getAssociationValue(),warehouseId); |
|
|
|
|
|
|
|
|
|
|
|
if(Optional.ofNullable(warehouseUpdownGoodsEntity).isPresent()){ |
|
|
|
if(Optional.ofNullable(warehouseUpdownGoodsEntity).isPresent()){ |
|
|
|
questDetail.setPositionCode(warehouseUpdownGoodsEntity.getPositionCode());//完整货位
|
|
|
|
questDetail.setPositionCode(warehouseUpdownGoodsEntity.getPositionCode());//完整货位
|
|
|
|
questDetail.setAllocationId(warehouseUpdownGoodsEntity.getAllocationId()); |
|
|
|
questDetail.setAllocationId(warehouseUpdownGoodsEntity.getAllocationId()); |
|
|
|
} |
|
|
|
} |
|
|
|
if(!parcelList1.isEmpty()){ |
|
|
|
|
|
|
|
questDetail.setOrderId(parcelList1.get(0).getStockArticleId()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
case "4": //4库存品
|
|
|
|
case "4": //4库存品
|
|
|
|
|
|
|
|
|
|
|
@ -488,7 +545,7 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
stockListEntity.setMaterialId(i.getAssociationId()); |
|
|
|
stockListEntity.setMaterialId(i.getAssociationId()); |
|
|
|
//查询订单信息
|
|
|
|
//查询订单信息
|
|
|
|
DistributionStockListEntity stockListInfo = getStockListInfo(stockListEntity); |
|
|
|
DistributionStockListEntity stockListInfo = getStockListInfo(stockListEntity); |
|
|
|
if(!list.stream().anyMatch(d -> d.getRefId().equals(stockListInfo.getMarketId()))){ |
|
|
|
if(!list.stream().anyMatch(d -> d.getRefName().equals(stockListInfo.getMarketName()))){ |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
stockListEntity.setOrderCode(stockListInfo.getOrderCode()); |
|
|
|
stockListEntity.setOrderCode(stockListInfo.getOrderCode()); |
|
|
@ -501,6 +558,8 @@ public class TaskQuestServiceImpl extends BaseServiceImpl<TaskQuestMapper, TaskQ |
|
|
|
Optional<DistributionStockListVO> queryData1 = Optional.ofNullable(queryData); |
|
|
|
Optional<DistributionStockListVO> queryData1 = Optional.ofNullable(queryData); |
|
|
|
if(queryData1.isPresent()){ |
|
|
|
if(queryData1.isPresent()){ |
|
|
|
questDetail.setStockId(queryData.getId()); |
|
|
|
questDetail.setStockId(queryData.getId()); |
|
|
|
|
|
|
|
questDetail.setMaterialCode(queryData.getCargoNumber()); |
|
|
|
|
|
|
|
questDetail.setCategoryName(queryData.getDescriptionGoods()); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|