|
@@ -1,33 +1,29 @@
|
|
package com.fjhx.wms.service.stock.impl;
|
|
package com.fjhx.wms.service.stock.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
|
+import com.fjhx.wms.entity.stock.dto.StockJournalDto;
|
|
|
|
+import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
|
|
import com.fjhx.wms.entity.stock.po.StockJournal;
|
|
import com.fjhx.wms.entity.stock.po.StockJournal;
|
|
|
|
+import com.fjhx.wms.entity.stock.vo.StockJournalVo;
|
|
import com.fjhx.wms.entity.stock.vo.StockVo;
|
|
import com.fjhx.wms.entity.stock.vo.StockVo;
|
|
import com.fjhx.wms.entity.warehouse.po.Warehouse;
|
|
import com.fjhx.wms.entity.warehouse.po.Warehouse;
|
|
import com.fjhx.wms.entity.warehouse.vo.WarehouseVo;
|
|
import com.fjhx.wms.entity.warehouse.vo.WarehouseVo;
|
|
import com.fjhx.wms.mapper.stock.StockJournalMapper;
|
|
import com.fjhx.wms.mapper.stock.StockJournalMapper;
|
|
import com.fjhx.wms.service.stock.StockJournalService;
|
|
import com.fjhx.wms.service.stock.StockJournalService;
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
-import com.fjhx.wms.entity.stock.dto.StockJournalDto;
|
|
|
|
-import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
|
|
|
|
import com.fjhx.wms.service.warehouse.WarehouseService;
|
|
import com.fjhx.wms.service.warehouse.WarehouseService;
|
|
import com.obs.services.internal.ServiceException;
|
|
import com.obs.services.internal.ServiceException;
|
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
import com.ruoyi.system.utils.UserUtil;
|
|
import com.ruoyi.system.utils.UserUtil;
|
|
-import org.apache.ibatis.javassist.compiler.ast.Keyword;
|
|
|
|
-import org.apache.logging.log4j.core.util.Assert;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
-import com.fjhx.wms.entity.stock.vo.StockJournalVo;
|
|
|
|
-import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -51,33 +47,26 @@ public class StockJournalServiceImpl extends ServiceImpl<StockJournalMapper, Sto
|
|
public Page<StockJournalVo> getPage(StockJournalSelectDto dto) {
|
|
public Page<StockJournalVo> getPage(StockJournalSelectDto dto) {
|
|
IWrapper<StockJournal> wrapper = getWrapper();
|
|
IWrapper<StockJournal> wrapper = getWrapper();
|
|
wrapper.orderByDesc("sj", StockJournal::getCreateTime);
|
|
wrapper.orderByDesc("sj", StockJournal::getCreateTime);
|
|
- wrapper.eq("sj", StockJournal::getType, dto.getType());
|
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(dto.getType())) {
|
|
|
|
+ String[] split = dto.getType().split(",");
|
|
|
|
+ wrapper.in("sj", StockJournal::getType, split);
|
|
|
|
+ }
|
|
wrapper.like("w", WarehouseVo::getName, dto.getKeyword());
|
|
wrapper.like("w", WarehouseVo::getName, dto.getKeyword());
|
|
Page<StockJournalVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
Page<StockJournalVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
List<StockJournalVo> records = page.getRecords();
|
|
List<StockJournalVo> records = page.getRecords();
|
|
//根据id赋值操作人名称
|
|
//根据id赋值操作人名称
|
|
UserUtil.assignmentNickName(records, StockJournalVo::getCreateUser, StockJournalVo::setUserName);
|
|
UserUtil.assignmentNickName(records, StockJournalVo::getCreateUser, StockJournalVo::setUserName);
|
|
//如果为调参类型记录赋值目标仓库名称
|
|
//如果为调参类型记录赋值目标仓库名称
|
|
- if(dto.getType()==3){
|
|
|
|
- List<Long> toWarehouseIds = records.stream().map(StockJournalVo::getToWarehouseId).collect(Collectors.toList());
|
|
|
|
- if(ObjectUtils.isEmpty(toWarehouseIds)){
|
|
|
|
- return page;
|
|
|
|
- }
|
|
|
|
- List<Warehouse> warehouses = warehouseService.listByIds(toWarehouseIds);
|
|
|
|
- Map<Long, Warehouse> warehouseMap = warehouses.stream().collect(Collectors.groupingBy(Warehouse::getId,
|
|
|
|
- Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
|
- for (StockJournalVo stockJournalVo:records){
|
|
|
|
- Warehouse warehouse = warehouseMap.get(stockJournalVo.getToWarehouseId());
|
|
|
|
- stockJournalVo.setToWarehouseName(warehouse.getName());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ warehouseService.attributeAssign(records, StockJournalVo::getToWarehouseId, (item, warehouse) -> {
|
|
|
|
+ item.setToWarehouseName(warehouse.getName());
|
|
|
|
+ });
|
|
return page;
|
|
return page;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public StockJournalVo detail(Long id) {
|
|
public StockJournalVo detail(Long id) {
|
|
IWrapper<StockJournal> wrapper = getWrapper();
|
|
IWrapper<StockJournal> wrapper = getWrapper();
|
|
- wrapper.eq("sj",StockJournal::getId,id);
|
|
|
|
|
|
+ wrapper.eq("sj", StockJournal::getId, id);
|
|
StockJournalVo result = baseMapper.detail(wrapper);
|
|
StockJournalVo result = baseMapper.detail(wrapper);
|
|
//查询商品信息
|
|
//查询商品信息
|
|
List<StockVo> stockVos = result.getList();
|
|
List<StockVo> stockVos = result.getList();
|
|
@@ -86,16 +75,16 @@ public class StockJournalServiceImpl extends ServiceImpl<StockJournalMapper, Sto
|
|
|
|
|
|
Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.groupingBy(ProductInfo::getId,
|
|
Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.groupingBy(ProductInfo::getId,
|
|
Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
- for (StockVo stockVo: stockVos){
|
|
|
|
|
|
+ for (StockVo stockVo : stockVos) {
|
|
ProductInfo productInfo = productInfoMap.get(stockVo.getProductId());
|
|
ProductInfo productInfo = productInfoMap.get(stockVo.getProductId());
|
|
- if(productInfo==null){
|
|
|
|
- throw new ServiceException("未知商品商品id->"+stockVo.getProductId());
|
|
|
|
|
|
+ if (productInfo == null) {
|
|
|
|
+ throw new ServiceException("未知商品商品id->" + stockVo.getProductId());
|
|
}
|
|
}
|
|
stockVo.setProductName(productInfo.getName());
|
|
stockVo.setProductName(productInfo.getName());
|
|
}
|
|
}
|
|
|
|
|
|
//如果为调参记录
|
|
//如果为调参记录
|
|
- if(result.getType()==3){
|
|
|
|
|
|
+ if (result.getType() == 3) {
|
|
//赋值目标仓库名称
|
|
//赋值目标仓库名称
|
|
Warehouse byId = warehouseService.getById(result.getToWarehouseId());
|
|
Warehouse byId = warehouseService.getById(result.getToWarehouseId());
|
|
result.setToWarehouseName(byId.getName());
|
|
result.setToWarehouseName(byId.getName());
|