feat(wms): 添加按钢卷ID查询操作记录功能
- 在 IWmsCoilWarehouseOperationLogService 中新增 queryByCoilId 方法 - 在 WmsCoilWarehouseOperationLogController 中新增 /byCoilId 接口 - 在 WmsCoilWarehouseOperationLogServiceImpl 中实现按钢卷ID查询逻辑 - 实现关联查询钢卷信息和库区信息的功能 - 支持按操作类型、出入库类型、时间范围进行筛选 - 将原有仓库ID查询接口的参数改为可选参数
This commit is contained in:
@@ -126,10 +126,29 @@ public class WmsCoilWarehouseOperationLogController extends BaseController {
|
|||||||
@GetMapping("/byWarehouseAndTime")
|
@GetMapping("/byWarehouseAndTime")
|
||||||
public R<List<WmsCoilWarehouseOperationLogVo>> getByWarehouseAndTime(
|
public R<List<WmsCoilWarehouseOperationLogVo>> getByWarehouseAndTime(
|
||||||
@RequestParam Long secondWarehouseId,
|
@RequestParam Long secondWarehouseId,
|
||||||
@RequestParam Integer operationType,
|
@RequestParam(required = false) Integer operationType,
|
||||||
@RequestParam Integer inOutType,
|
@RequestParam(required = false) Integer inOutType,
|
||||||
@RequestParam(required = false) Date startTime,
|
@RequestParam(required = false) Date startTime,
|
||||||
@RequestParam(required = false) Date endTime) {
|
@RequestParam(required = false) Date endTime) {
|
||||||
return R.ok(iWmsCoilWarehouseOperationLogService.queryBySecondWarehouseIdAndTimeRange(secondWarehouseId, operationType, inOutType, startTime, endTime));
|
return R.ok(iWmsCoilWarehouseOperationLogService.queryBySecondWarehouseIdAndTimeRange(secondWarehouseId, operationType, inOutType, startTime, endTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据钢卷ID查询操作记录及钢卷信息、库区信息
|
||||||
|
*
|
||||||
|
* @param coilId 钢卷ID
|
||||||
|
* @param operationType 操作类型
|
||||||
|
* @param inOutType 出入库类型
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
*/
|
||||||
|
@GetMapping("/byCoilId")
|
||||||
|
public R<List<WmsCoilWarehouseOperationLogVo>> getByCoilId(
|
||||||
|
@RequestParam @NotNull(message = "钢卷ID不能为空") Long coilId,
|
||||||
|
@RequestParam(required = false) Integer operationType,
|
||||||
|
@RequestParam(required = false) Integer inOutType,
|
||||||
|
@RequestParam(required = false) Date startTime,
|
||||||
|
@RequestParam(required = false) Date endTime) {
|
||||||
|
return R.ok(iWmsCoilWarehouseOperationLogService.queryByCoilId(coilId, operationType, inOutType, startTime, endTime));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,4 +60,16 @@ public interface IWmsCoilWarehouseOperationLogService {
|
|||||||
* @return 操作记录列表(含钢卷信息和库区信息)
|
* @return 操作记录列表(含钢卷信息和库区信息)
|
||||||
*/
|
*/
|
||||||
List<WmsCoilWarehouseOperationLogVo> queryBySecondWarehouseIdAndTimeRange(Long secondWarehouseId, Integer operationType, Integer inOutType, Date startTime, Date endTime);
|
List<WmsCoilWarehouseOperationLogVo> queryBySecondWarehouseIdAndTimeRange(Long secondWarehouseId, Integer operationType, Integer inOutType, Date startTime, Date endTime);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据钢卷ID查询操作记录及钢卷信息、库区信息
|
||||||
|
*
|
||||||
|
* @param coilId 钢卷ID
|
||||||
|
* @param operationType 操作类型
|
||||||
|
* @param inOutType 出入库类型
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
* @return 操作记录列表(含钢卷信息和库区信息)
|
||||||
|
*/
|
||||||
|
List<WmsCoilWarehouseOperationLogVo> queryByCoilId(Long coilId, Integer operationType, Integer inOutType, Date startTime, Date endTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -207,4 +207,55 @@ public class WmsCoilWarehouseOperationLogServiceImpl implements IWmsCoilWarehous
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WmsCoilWarehouseOperationLogVo> queryByCoilId(Long coilId, Integer operationType, Integer inOutType, Date startTime, Date endTime) {
|
||||||
|
LambdaQueryWrapper<WmsCoilWarehouseOperationLog> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(WmsCoilWarehouseOperationLog::getCoilId, coilId);
|
||||||
|
lqw.eq(operationType != null, WmsCoilWarehouseOperationLog::getOperationType, operationType);
|
||||||
|
lqw.eq(inOutType != null, WmsCoilWarehouseOperationLog::getInOutType, inOutType);
|
||||||
|
lqw.ge(startTime != null, WmsCoilWarehouseOperationLog::getCreateTime, startTime);
|
||||||
|
lqw.le(endTime != null, WmsCoilWarehouseOperationLog::getCreateTime, endTime);
|
||||||
|
lqw.orderByDesc(WmsCoilWarehouseOperationLog::getCreateTime);
|
||||||
|
|
||||||
|
List<WmsCoilWarehouseOperationLogVo> list = baseMapper.selectVoList(lqw);
|
||||||
|
|
||||||
|
Set<Long> coilIds = list.stream()
|
||||||
|
.map(WmsCoilWarehouseOperationLogVo::getCoilId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
Set<Long> warehouseIds = list.stream()
|
||||||
|
.map(WmsCoilWarehouseOperationLogVo::getActualWarehouseId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
Map<Long, WmsMaterialCoilVo> coilMap = new HashMap<>();
|
||||||
|
if (!coilIds.isEmpty()) {
|
||||||
|
WmsMaterialCoilBo bo = new WmsMaterialCoilBo();
|
||||||
|
bo.setCoilIds(coilIds.stream().map(String::valueOf).collect(Collectors.joining(",")));
|
||||||
|
List<WmsMaterialCoilVo> coils = wmsMaterialCoilService.queryList(bo);
|
||||||
|
for (WmsMaterialCoilVo coil : coils) {
|
||||||
|
coilMap.put(coil.getCoilId(), coil);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<Long, WmsActualWarehouseVo> warehouseMap = new HashMap<>();
|
||||||
|
if (!warehouseIds.isEmpty()) {
|
||||||
|
LambdaQueryWrapper<WmsActualWarehouse> warehouseQuery = Wrappers.lambdaQuery();
|
||||||
|
warehouseQuery.in(WmsActualWarehouse::getActualWarehouseId, warehouseIds);
|
||||||
|
List<WmsActualWarehouse> warehouses = wmsActualWarehouseMapper.selectList(warehouseQuery);
|
||||||
|
for (WmsActualWarehouse warehouse : warehouses) {
|
||||||
|
WmsActualWarehouseVo vo = BeanUtil.toBean(warehouse, WmsActualWarehouseVo.class);
|
||||||
|
warehouseMap.put(warehouse.getActualWarehouseId(), vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (WmsCoilWarehouseOperationLogVo vo : list) {
|
||||||
|
vo.setCoil(coilMap.get(vo.getCoilId()));
|
||||||
|
vo.setWarehouse(warehouseMap.get(vo.getActualWarehouseId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user