|
@@ -1,17 +1,21 @@
|
|
|
package com.sd.business.service.inventory.impl;
|
|
|
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ruoyi.common.constant.StatusConstant;
|
|
|
+import com.ruoyi.common.core.domain.BasePo;
|
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import com.sd.business.entity.inventory.dto.InventoryFinishedSelectDto;
|
|
|
import com.sd.business.entity.inventory.po.InventoryFinished;
|
|
|
import com.sd.business.entity.inventory.po.InventoryFinishedOrder;
|
|
|
+import com.sd.business.entity.inventory.po.InventoryFinishedOrderDetail;
|
|
|
import com.sd.business.entity.inventory.vo.InventoryFinishedVo;
|
|
|
import com.sd.business.entity.order.po.OrderSku;
|
|
|
import com.sd.business.entity.sku.po.SkuSpec;
|
|
|
import com.sd.business.mapper.inventory.InventoryFinishedMapper;
|
|
|
+import com.sd.business.service.inventory.InventoryFinishedOrderDetailService;
|
|
|
import com.sd.business.service.inventory.InventoryFinishedOrderService;
|
|
|
import com.sd.business.service.inventory.InventoryFinishedService;
|
|
|
import com.sd.business.service.order.OrderSkuService;
|
|
@@ -23,9 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -51,6 +53,9 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
|
|
|
private InventoryFinishedOrderService inventoryFinishedOrderService;
|
|
|
|
|
|
@Autowired
|
|
|
+ private InventoryFinishedOrderDetailService inventoryFinishedOrderDetailService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private SkuSpecService skuSpecService;
|
|
|
|
|
|
@Override
|
|
@@ -370,4 +375,36 @@ public class InventoryFinishedServiceImpl extends ServiceImpl<InventoryFinishedM
|
|
|
|
|
|
inventoryFinishedOrderService.productionWarehousing(list);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<InventoryFinishedVo> getTodayInStorageList() {
|
|
|
+ // 查询今日成品入库明细
|
|
|
+ List<InventoryFinishedOrderDetail> finishedOrderDetailList = inventoryFinishedOrderDetailService.list(q -> q
|
|
|
+ .eq(InventoryFinishedOrderDetail::getOperationType, 1)
|
|
|
+ .isNull(InventoryFinishedOrderDetail::getOrderInfoId)
|
|
|
+ .ge(BasePo::getCreateTime, DateUtil.beginOfDay(new Date())));
|
|
|
+
|
|
|
+ // 合并重复sku
|
|
|
+ Map<Long, InventoryFinishedVo> inventoryFinishedVoMap = finishedOrderDetailList.stream().collect(Collectors.toMap(
|
|
|
+ InventoryFinishedOrderDetail::getSkuSpecId,
|
|
|
+ item -> {
|
|
|
+ InventoryFinishedVo vo = new InventoryFinishedVo();
|
|
|
+ vo.setSkuSpecId(item.getSkuSpecId());
|
|
|
+ vo.setQuantity(item.getQuantity());
|
|
|
+ return vo;
|
|
|
+ },
|
|
|
+ (v1, v2) -> {
|
|
|
+ v1.setQuantity(v1.getQuantity().add(v2.getQuantity()));
|
|
|
+ return v1;
|
|
|
+ })
|
|
|
+ );
|
|
|
+ List<InventoryFinishedVo> list = new ArrayList<>(inventoryFinishedVoMap.values());
|
|
|
+ // 赋值sku品号品名
|
|
|
+ skuSpecService.attributeAssign(list, InventoryFinishedVo::getSkuSpecId, (item, skuSpec) -> {
|
|
|
+ item.setSkuSpecCode(skuSpec.getCode());
|
|
|
+ item.setSkuSpecName(skuSpec.getName());
|
|
|
+ });
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
}
|