Bladeren bron

库存盘点

yzc 1 jaar geleden
bovenliggende
commit
9cab400f1c

+ 16 - 1
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockCheckController.java

@@ -8,7 +8,9 @@ import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
 import com.fjhx.item.entity.product.vo.ProductInfoVo;
 import com.fjhx.wms.entity.stock.dto.StockCheckDto;
 import com.fjhx.wms.entity.stock.dto.StockCheckSelectDto;
+import com.fjhx.wms.entity.stock.dto.StockSelectDto;
 import com.fjhx.wms.entity.stock.vo.StockCheckVo;
+import com.fjhx.wms.entity.stock.vo.StockVo;
 import com.fjhx.wms.service.stock.StockCheckService;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -74,7 +76,20 @@ public class StockCheckController {
      */
     @PostMapping("/excelImport")
     public List<IssueImportExcelBo> excelImport(@RequestParam("file") MultipartFile file, @RequestParam("warehouseId") Long warehouseId) {
-       return stockCheckService.excelImport(file, warehouseId);
+        return stockCheckService.excelImport(file, warehouseId);
+    }
+
+    /**
+     * 库存分页
+     */
+    @PostMapping("/stockProductPage")
+    public Page<StockVo> stockProductPage(@RequestBody StockSelectDto dto) {
+        return stockCheckService.stockProductPage(dto);
+    }
+
+    @PostMapping("/submitAll")
+    void submitAll() {
+        stockCheckService.submitAll();
     }
 
 }

+ 80 - 0
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockCheckRegisterController.java

@@ -0,0 +1,80 @@
+package com.fjhx.wms.controller.stock;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.stock.dto.StockCheckRegisterDto;
+import com.fjhx.wms.entity.stock.dto.StockCheckRegisterSelectDto;
+import com.fjhx.wms.entity.stock.vo.StockCheckRegisterVo;
+import com.fjhx.wms.service.stock.StockCheckRegisterService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 库存盘点登记 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2024-03-26
+ */
+@RestController
+@RequestMapping("/stockCheckRegister")
+public class StockCheckRegisterController {
+
+    @Autowired
+    private StockCheckRegisterService stockCheckRegisterService;
+
+    /**
+     * 库存盘点登记列表
+     */
+    @PostMapping("/list")
+    public List<StockCheckRegisterVo> list(@RequestBody StockCheckRegisterSelectDto dto) {
+        return stockCheckRegisterService.getList(dto);
+    }
+
+    /**
+     * 库存盘点登记分页
+     */
+    @PostMapping("/page")
+    public Page<StockCheckRegisterVo> page(@RequestBody StockCheckRegisterSelectDto dto) {
+        return stockCheckRegisterService.getPage(dto);
+    }
+
+    /**
+     * 库存盘点登记明细
+     */
+    @PostMapping("/detail")
+    public StockCheckRegisterVo detail(@RequestBody BaseSelectDto dto) {
+        return stockCheckRegisterService.detail(dto.getId());
+    }
+
+    /**
+     * 库存盘点登记新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody StockCheckRegisterDto stockCheckRegisterDto) {
+        stockCheckRegisterService.add(stockCheckRegisterDto);
+    }
+
+    /**
+     * 库存盘点登记编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody StockCheckRegisterDto stockCheckRegisterDto) {
+        stockCheckRegisterService.edit(stockCheckRegisterDto);
+    }
+
+    /**
+     * 库存盘点登记删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        stockCheckRegisterService.delete(dto.getId());
+    }
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockCheckRegisterDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.stock.dto;
+
+import com.fjhx.wms.entity.stock.po.StockCheckRegister;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 库存盘点登记新增编辑入参实体
+ *
+ * @author 
+ * @since 2024-03-26
+ */
+@Getter
+@Setter
+public class StockCheckRegisterDto extends StockCheckRegister {
+
+}

+ 27 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockCheckRegisterSelectDto.java

@@ -0,0 +1,27 @@
+package com.fjhx.wms.entity.stock.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 库存盘点登记列表查询入参实体
+ *
+ * @author 
+ * @since 2024-03-26
+ */
+@Getter
+@Setter
+public class StockCheckRegisterSelectDto extends BaseSelectDto {
+
+    /**
+     * 库存id
+     */
+    private Long stockId;
+
+    /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+}

+ 7 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockSelectDto.java

@@ -58,4 +58,11 @@ public class StockSelectDto extends BaseSelectDto {
      */
     private String isCombination;
 
+    /**
+     * 是否盘点登记
+     */
+    private Integer isCheckRegister;
+
+    private Long warehouseId;
+
 }

+ 50 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/po/StockCheckRegister.java

@@ -0,0 +1,50 @@
+package com.fjhx.wms.entity.stock.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 库存盘点登记
+ * </p>
+ *
+ * @author 
+ * @since 2024-03-26
+ */
+@Getter
+@Setter
+@TableName("stock_check_register")
+public class StockCheckRegister extends BasePo {
+
+    /**
+     * 库存id
+     */
+    private Long stockId;
+
+    /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+    /**
+     * 产品id
+     */
+    private Long productId;
+
+    /**
+     * 库存数量
+     */
+    @NotNull(message = "库存数量不能为空")
+    private Long quantity;
+
+    /**
+     * 盘点数量
+     */
+    @NotNull(message = "盘点数量不能为空")
+    private Long checkQuantity;
+
+}

+ 17 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockCheckRegisterVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.wms.entity.stock.vo;
+
+import com.fjhx.wms.entity.stock.po.StockCheckRegister;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 库存盘点登记列表查询返回值实体
+ *
+ * @author 
+ * @since 2024-03-26
+ */
+@Getter
+@Setter
+public class StockCheckRegisterVo extends StockCheckRegister {
+
+}

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockVo.java

@@ -125,4 +125,9 @@ public class StockVo extends Stock {
      */
     private String deptName;
 
+    /**
+     * 盘点登记列表
+     */
+    private List<StockCheckRegisterVo> stockCheckRegisterList;
+
 }

+ 5 - 1
hx-wms/src/main/java/com/fjhx/wms/mapper/stock/StockCheckMapper.java

@@ -1,9 +1,11 @@
 package com.fjhx.wms.mapper.stock;
 
-import com.fjhx.wms.entity.stock.po.StockCheck;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.stock.po.Stock;
+import com.fjhx.wms.entity.stock.po.StockCheck;
 import com.fjhx.wms.entity.stock.vo.StockCheckVo;
+import com.fjhx.wms.entity.stock.vo.StockVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -27,4 +29,6 @@ public interface StockCheckMapper extends BaseMapper<StockCheck> {
      * 库存盘点明细
      */
     StockCheckVo detail(Long id);
+
+    Page<StockVo> stockProductPage(@Param("page")Page<Object> page, @Param("ew")IWrapper<Stock> ew);
 }

+ 32 - 0
hx-wms/src/main/java/com/fjhx/wms/mapper/stock/StockCheckRegisterMapper.java

@@ -0,0 +1,32 @@
+package com.fjhx.wms.mapper.stock;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.stock.po.StockCheckRegister;
+import com.fjhx.wms.entity.stock.vo.StockCheckRegisterVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 库存盘点登记 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2024-03-26
+ */
+public interface StockCheckRegisterMapper extends BaseMapper<StockCheckRegister> {
+
+    /**
+     * 库存盘点登记列表
+     */
+    List<StockCheckRegisterVo> getList(@Param("ew") IWrapper<StockCheckRegister> wrapper);
+
+    /**
+     * 库存盘点登记分页
+     */
+    Page<StockCheckRegisterVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<StockCheckRegister> wrapper);
+
+}

+ 56 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockCheckRegisterService.java

@@ -0,0 +1,56 @@
+package com.fjhx.wms.service.stock;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.stock.dto.StockCheckRegisterDto;
+import com.fjhx.wms.entity.stock.dto.StockCheckRegisterSelectDto;
+import com.fjhx.wms.entity.stock.po.StockCheckRegister;
+import com.fjhx.wms.entity.stock.vo.StockCheckRegisterVo;
+import com.ruoyi.common.core.service.BaseService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 库存盘点登记 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2024-03-26
+ */
+public interface StockCheckRegisterService extends BaseService<StockCheckRegister> {
+
+    /**
+     * 库存盘点登记列表
+     */
+    List<StockCheckRegisterVo> getList(StockCheckRegisterSelectDto dto);
+
+    List<StockCheckRegisterVo> getList(@Param("ew") IWrapper<StockCheckRegister> wrapper);
+
+    /**
+     * 库存盘点登记分页
+     */
+    Page<StockCheckRegisterVo> getPage(StockCheckRegisterSelectDto dto);
+
+    /**
+     * 库存盘点登记明细
+     */
+    StockCheckRegisterVo detail(Long id);
+
+    /**
+     * 库存盘点登记新增
+     */
+    void add(StockCheckRegisterDto stockCheckRegisterDto);
+
+    /**
+     * 库存盘点登记编辑
+     */
+    void edit(StockCheckRegisterDto stockCheckRegisterDto);
+
+    /**
+     * 库存盘点登记删除
+     */
+    void delete(Long id);
+
+}

+ 9 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockCheckService.java

@@ -6,8 +6,10 @@ import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
 import com.fjhx.item.entity.product.vo.ProductInfoVo;
 import com.fjhx.wms.entity.stock.dto.StockCheckDto;
 import com.fjhx.wms.entity.stock.dto.StockCheckSelectDto;
+import com.fjhx.wms.entity.stock.dto.StockSelectDto;
 import com.fjhx.wms.entity.stock.po.StockCheck;
 import com.fjhx.wms.entity.stock.vo.StockCheckVo;
+import com.fjhx.wms.entity.stock.vo.StockVo;
 import com.ruoyi.common.core.service.BaseService;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -45,4 +47,11 @@ public interface StockCheckService extends BaseService<StockCheck> {
     Page<ProductInfoVo> productPage(ProductInfoSelectDto dto);
 
     List<IssueImportExcelBo> excelImport(MultipartFile file, Long warehouseId);
+
+    Page<StockVo> stockProductPage(StockSelectDto dto);
+
+    /**
+     * 批量盘点提交
+     */
+    void submitAll();
 }

+ 90 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockCheckRegisterServiceImpl.java

@@ -0,0 +1,90 @@
+package com.fjhx.wms.service.stock.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.utils.Assert;
+import com.fjhx.wms.entity.stock.dto.StockCheckRegisterDto;
+import com.fjhx.wms.entity.stock.dto.StockCheckRegisterSelectDto;
+import com.fjhx.wms.entity.stock.po.Stock;
+import com.fjhx.wms.entity.stock.po.StockCheckRegister;
+import com.fjhx.wms.entity.stock.vo.StockCheckRegisterVo;
+import com.fjhx.wms.mapper.stock.StockCheckRegisterMapper;
+import com.fjhx.wms.service.stock.StockCheckRegisterService;
+import com.fjhx.wms.service.stock.StockService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 库存盘点登记 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-03-26
+ */
+@Service
+public class StockCheckRegisterServiceImpl extends ServiceImpl<StockCheckRegisterMapper, StockCheckRegister> implements StockCheckRegisterService {
+
+    @Autowired
+    private StockService stockService;
+
+    @Override
+    public List<StockCheckRegisterVo> getList(StockCheckRegisterSelectDto dto) {
+        IWrapper<StockCheckRegister> wrapper = getWrapper();
+        wrapper.eq("scr", StockCheckRegister::getStockId, dto.getStockId());
+        wrapper.eq("scr", StockCheckRegister::getWarehouseId, dto.getWarehouseId());
+        List<StockCheckRegisterVo> list = this.getList(wrapper);
+        return list;
+    }
+
+    @Override
+    public List<StockCheckRegisterVo> getList(@Param("ew") IWrapper<StockCheckRegister> wrapper) {
+        wrapper.orderByDesc("scr", StockCheckRegister::getCreateTime);
+        wrapper.orderByDesc("scr", StockCheckRegister::getId);
+        List<StockCheckRegisterVo> list = this.baseMapper.getList(wrapper);
+        return list;
+    }
+
+    @Override
+    public Page<StockCheckRegisterVo> getPage(StockCheckRegisterSelectDto dto) {
+        IWrapper<StockCheckRegister> wrapper = getWrapper();
+        wrapper.orderByDesc("scr", StockCheckRegister::getId);
+        Page<StockCheckRegisterVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public StockCheckRegisterVo detail(Long id) {
+        StockCheckRegister StockCheckRegister = this.getById(id);
+        StockCheckRegisterVo result = BeanUtil.toBean(StockCheckRegister, StockCheckRegisterVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(StockCheckRegisterDto stockCheckRegisterDto) {
+        Assert.notEmpty(stockCheckRegisterDto.getQuantity(), "库存数量不能为空!");
+        Assert.notEmpty(stockCheckRegisterDto.getCheckQuantity(), "盘点数量不能为空!");
+
+        Stock stock = stockService.getById(stockCheckRegisterDto.getStockId());
+        Assert.notEmpty(stock, "查询不到库存信息!");
+        stockCheckRegisterDto.setWarehouseId(stock.getWarehouseId());
+        stockCheckRegisterDto.setProductId(stock.getProductId());
+        this.save(stockCheckRegisterDto);
+    }
+
+    @Override
+    public void edit(StockCheckRegisterDto stockCheckRegisterDto) {
+        this.updateById(stockCheckRegisterDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 110 - 1
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockCheckServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fjhx.wms.service.stock.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -9,16 +10,22 @@ import com.fjhx.item.entity.product.IssueImportExcelBo;
 import com.fjhx.item.entity.product.dto.ProductInfoSelectDto;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.entity.product.vo.ProductInfoVo;
+import com.fjhx.item.service.product.ProductClassifyService;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.wms.entity.stock.dto.StockCheckDto;
 import com.fjhx.wms.entity.stock.dto.StockCheckSelectDto;
+import com.fjhx.wms.entity.stock.dto.StockSelectDto;
 import com.fjhx.wms.entity.stock.po.Stock;
 import com.fjhx.wms.entity.stock.po.StockCheck;
 import com.fjhx.wms.entity.stock.po.StockCheckDetails;
+import com.fjhx.wms.entity.stock.po.StockCheckRegister;
 import com.fjhx.wms.entity.stock.vo.StockCheckDetailsVo;
+import com.fjhx.wms.entity.stock.vo.StockCheckRegisterVo;
 import com.fjhx.wms.entity.stock.vo.StockCheckVo;
+import com.fjhx.wms.entity.stock.vo.StockVo;
 import com.fjhx.wms.mapper.stock.StockCheckMapper;
 import com.fjhx.wms.service.stock.StockCheckDetailsService;
+import com.fjhx.wms.service.stock.StockCheckRegisterService;
 import com.fjhx.wms.service.stock.StockCheckService;
 import com.fjhx.wms.service.stock.StockService;
 import com.fjhx.wms.service.warehouse.WarehouseService;
@@ -32,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -53,13 +61,17 @@ public class StockCheckServiceImpl extends ServiceImpl<StockCheckMapper, StockCh
     private final ProductInfoService productInfoService;
     private final WarehouseService warehouseService;
     private final StockService stockService;
+    private final ProductClassifyService productClassifyService;
+    private final StockCheckRegisterService stockCheckRegisterService;
 
     @Autowired
-    public StockCheckServiceImpl(StockCheckDetailsService stockCheckDetailsService, ProductInfoService productInfoService, WarehouseService warehouseService, StockService stockService) {
+    public StockCheckServiceImpl(StockCheckDetailsService stockCheckDetailsService, ProductInfoService productInfoService, WarehouseService warehouseService, StockService stockService, ProductClassifyService productClassifyService, StockCheckRegisterService stockCheckRegisterService) {
         this.stockCheckDetailsService = stockCheckDetailsService;
         this.productInfoService = productInfoService;
         this.warehouseService = warehouseService;
         this.stockService = stockService;
+        this.productClassifyService = productClassifyService;
+        this.stockCheckRegisterService = stockCheckRegisterService;
     }
 
     @Override
@@ -176,4 +188,101 @@ public class StockCheckServiceImpl extends ServiceImpl<StockCheckMapper, StockCh
         return issueImportExcelBos;
     }
 
+    @Override
+    public Page<StockVo> stockProductPage(StockSelectDto dto) {
+        IWrapper<Stock> wrapper = IWrapper.getWrapper();
+
+        //仓库过滤
+        wrapper.eq("s",Stock::getWarehouseId, dto.getWarehouseId());
+
+        //关键字
+        String keyword = dto.getKeyword();
+        if (ObjectUtil.isNotEmpty(keyword)) {
+            //根据 库存数量 产品自定义编码 产品名称 过滤
+            List<Long> productIds = productInfoService.listObject(ProductInfo::getId,
+                    q -> q.like(ProductInfo::getCustomCode, keyword).or().like(ProductInfo::getName, keyword));
+            wrapper.and(q -> q.like("s",Stock::getQuantity, keyword).or().in("s",Stock::getProductId, productIds));
+        }
+
+        //已登记过滤
+        Integer isCheckRegister = dto.getIsCheckRegister();
+        if (ObjectUtil.isNotEmpty(isCheckRegister)) {
+            List<Long> sIds = stockCheckRegisterService.listObject(StockCheckRegister::getStockId, q -> q.orderByAsc(StockCheckRegister::getId));
+            sIds.add(-1L);
+            if (ObjectUtil.equals(isCheckRegister, 1)) {
+                //过滤已经登记
+                wrapper.in("s",Stock::getId, sIds);
+            } else {
+                //过滤没有登记
+                wrapper.notIn("s",Stock::getId, sIds);
+            }
+        }
+
+        wrapper.orderByDesc("s", Stock::getId);
+        Page<StockVo> page = baseMapper.stockProductPage(dto.getPage(), wrapper);
+        List<StockVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
+
+        List<Long> ids = records.stream().map(Stock::getId).collect(Collectors.toList());
+
+        //赋值产品信息
+        productInfoService.attributeAssign(records, StockVo::getProductId, (item, productInfo) -> {
+            item.setProductCode(productInfo.getCode());
+            item.setProductUnit(productInfo.getUnit());
+            item.setProductType(productInfo.getType());
+            item.setProductName(productInfo.getName());
+            item.setProductSpec(productInfo.getSpec());
+            item.setProductClassifyId(productInfo.getProductClassifyId());
+            item.setProductDefinition(productInfo.getDefinition());
+            item.setProductCustomCode(productInfo.getCustomCode());
+        });
+        //赋值产品分类
+        productClassifyService.attributeAssign(records, StockVo::getProductClassifyId, (item, productClassify) -> {
+            item.setProductClassifyName(productClassify.getName());
+        });
+
+        //赋值仓库名称
+        warehouseService.attributeAssign(records, StockVo::getWarehouseId, (item, warehouse) -> {
+            item.setWarehouseName(warehouse.getName());
+        });
+
+        //赋值盘点登记记录列表
+        List<StockCheckRegisterVo> stockCheckRegisterList = stockCheckRegisterService.getList(IWrapper.<StockCheckRegister>getWrapper()
+                .in(StockCheckRegister::getStockId, ids)
+        );
+        Map<Long, List<StockCheckRegisterVo>> checkRegisterMap = stockCheckRegisterList.stream().collect(Collectors.groupingBy(StockCheckRegister::getStockId));
+        for (StockVo stockVo : records) {
+            stockVo.setStockCheckRegisterList(checkRegisterMap.getOrDefault(stockVo.getId(),new ArrayList<>()));
+        }
+        return page;
+    }
+
+    @DSTransactional
+    @Override
+    public void submitAll(){
+        List<StockCheckRegister> list = stockCheckRegisterService.list();
+        Map<Long, List<StockCheckRegister>> collect = list.stream().collect(Collectors.groupingBy(StockCheckRegister::getWarehouseId));
+        for (Map.Entry<Long, List<StockCheckRegister>> entry : collect.entrySet()) {
+            //生成盘点明细
+            List<StockCheckDetails> stockCheckDetailsList = new ArrayList<>();
+            for (StockCheckRegister stockCheckRegister : entry.getValue()) {
+                StockCheckDetails stockCheckDetails = new StockCheckDetails();
+                stockCheckDetails.setProductId(stockCheckRegister.getProductId());
+                stockCheckDetails.setQuantity(stockCheckRegister.getQuantity());
+                stockCheckDetails.setCheckQuantity(stockCheckRegister.getCheckQuantity());
+                stockCheckDetailsList.add(stockCheckDetails);
+            }
+
+            //提交盘点
+            StockCheckDto stockCheckDto = new StockCheckDto();
+            stockCheckDto.setWarehouseId(entry.getKey());
+            stockCheckDto.setList(stockCheckDetailsList);
+            add(stockCheckDto);
+        }
+        //删除盘点记录信息
+        stockCheckRegisterService.removeBatchByIds(list);
+    }
+
 }

+ 7 - 0
hx-wms/src/main/resources/mapper/stock/StockCheckMapper.xml

@@ -47,5 +47,12 @@
                 LEFT JOIN stock_check_details scd ON scd.stock_check_id = sc.id
                 LEFT JOIN warehouse w ON sc.warehouse_id = w.id where sc.id = #{id}
     </select>
+    <select id="stockProductPage" resultType="com.fjhx.wms.entity.stock.vo.StockVo">
+        SELECT
+            s.*
+        FROM
+            stock s
+                ${ew.customSqlSegment}
+    </select>
 
 </mapper>

+ 29 - 0
hx-wms/src/main/resources/mapper/stock/StockCheckRegisterMapper.xml

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.wms.mapper.stock.StockCheckRegisterMapper">
+
+    <sql id="list">
+        select
+            scr.id,
+            scr.stock_id,
+            scr.warehouse_id,
+            scr.product_id,
+            scr.quantity,
+            scr.create_user,
+            scr.create_time,
+            scr.update_user,
+            scr.update_time
+        from stock_check_register scr
+    </sql>
+
+    <select id="getList" resultType="com.fjhx.wms.entity.stock.vo.StockCheckRegisterVo">
+        <include refid="list"/>
+            ${ew.customSqlSegment}
+    </select>
+
+    <select id="getPage" resultType="com.fjhx.wms.entity.stock.vo.StockCheckRegisterVo">
+        <include refid="list"/>
+        ${ew.customSqlSegment}
+    </select>
+
+</mapper>