瀏覽代碼

成品今日入库查询

fgd 1 年之前
父節點
當前提交
58e9cabb55

+ 10 - 0
sd-business/src/main/java/com/sd/business/controller/inventory/InventoryFinishedController.java

@@ -7,6 +7,8 @@ import com.sd.business.service.inventory.InventoryFinishedService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -39,4 +41,12 @@ public class InventoryFinishedController {
         inventoryFinishedService.excelExport(dto);
     }
 
+    /**
+     * 获取今日成品仓入库数据
+     */
+    @PostMapping("/getTodayInStorageList")
+    public List<InventoryFinishedVo> getTodayInStorageList() {
+        return inventoryFinishedService.getTodayInStorageList();
+    }
+
 }

+ 7 - 0
sd-business/src/main/java/com/sd/business/service/inventory/InventoryFinishedService.java

@@ -71,4 +71,11 @@ public interface InventoryFinishedService extends BaseService<InventoryFinished>
      * 无源成品入库
      */
     void noSourceInWarehousing(List<OrderSku> orderSkuList);
+
+    /**
+     * 获取今日成品仓入库数据
+     *
+     * @return
+     */
+    List<InventoryFinishedVo> getTodayInStorageList();
 }

+ 40 - 3
sd-business/src/main/java/com/sd/business/service/inventory/impl/InventoryFinishedServiceImpl.java

@@ -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;
+    }
 }