feat: 查询移库单详情

This commit is contained in:
DataCall 2024-08-09 16:36:59 +08:00
parent 441c033fdb
commit a8fb113c04
5 changed files with 48 additions and 8 deletions

View file

@ -105,4 +105,13 @@ public class MovementOrderDetailController extends BaseController {
movementOrderDetailService.deleteByIds(List.of(ids));
return R.ok();
}
/**
* 根据移库单id查询移库单详情列表
*/
@SaCheckPermission("wms:movementOrderDetail:query")
@GetMapping("/list/{movementOrderId}")
public R<List<MovementOrderDetailVo>> listByMovementOrderId(@NotNull @PathVariable Long movementOrderId) {
return R.ok(movementOrderDetailService.queryByMovementOrderId(movementOrderId));
}
}

View file

@ -27,7 +27,7 @@ public class MovementOrderDetailVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*
*/
@ExcelProperty(value = "")
private Long id;
@ -86,5 +86,5 @@ public class MovementOrderDetailVo implements Serializable {
@ExcelProperty(value = "入库记录id")
private Long inventoryDetailId;
private ItemSkuVo itemSku;
}

View file

@ -11,6 +11,7 @@ import io.github.linpeilie.annotations.AutoMapper;
import java.io.Serializable;
import java.io.Serial;
import java.util.List;
/**
* 移库单视图对象 wms_movement_order
@ -27,7 +28,7 @@ public class MovementOrderVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*
*/
@ExcelProperty(value = "")
private Long id;
@ -80,5 +81,5 @@ public class MovementOrderVo implements Serializable {
@ExcelProperty(value = "备注")
private String remark;
List<MovementOrderDetailVo> details;
}

View file

@ -9,6 +9,7 @@ import com.ruoyi.common.core.utils.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.wms.domain.vo.ItemSkuVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.wms.domain.bo.MovementOrderDetailBo;
@ -17,9 +18,9 @@ import com.ruoyi.wms.domain.entity.MovementOrderDetail;
import com.ruoyi.wms.mapper.MovementOrderDetailMapper;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 库存移动详情Service业务层处理
@ -32,6 +33,7 @@ import java.util.Collection;
public class MovementOrderDetailService extends ServiceImpl<MovementOrderDetailMapper, MovementOrderDetail> {
private final MovementOrderDetailMapper movementOrderDetailMapper;
private final ItemSkuService itemSkuService;
/**
* 查询库存移动详情
@ -101,4 +103,27 @@ public class MovementOrderDetailService extends ServiceImpl<MovementOrderDetailM
}
saveOrUpdateBatch(list);
}
/**
* 根据移库单id查询移库单详情
* @param movementOrderId
* @return
*/
public List<MovementOrderDetailVo> queryByMovementOrderId(Long movementOrderId) {
MovementOrderDetailBo bo = new MovementOrderDetailBo();
bo.setMovementOrderId(movementOrderId);
List<MovementOrderDetailVo> details = queryList(bo);
if (CollUtil.isEmpty(details)) {
return Collections.emptyList();
}
Set<Long> skuIds = details
.stream()
.map(MovementOrderDetailVo::getSkuId)
.collect(Collectors.toSet());
Map<Long, ItemSkuVo> itemSkuMap = itemSkuService.queryVosByIds(skuIds)
.stream()
.collect(Collectors.toMap(ItemSkuVo::getId, Function.identity()));
details.forEach(detail -> detail.setItemSku(itemSkuMap.get(detail.getSkuId())));
return details;
}
}

View file

@ -40,7 +40,12 @@ public class MovementOrderService {
* 查询移库单
*/
public MovementOrderVo queryById(Long id) {
return movementOrderMapper.selectVoById(id);
MovementOrderVo movementOrderVo = movementOrderMapper.selectVoById(id);
if (movementOrderVo == null) {
throw new BaseException("移库单不存在");
}
movementOrderVo.setDetails(movementOrderDetailService.queryByMovementOrderId(id));
return movementOrderVo;
}
/**