Ver código fonte

出入库流水增加关联单号和产品自定义编码

ControlDream 1 ano atrás
pai
commit
694c76b5ac

+ 8 - 0
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockJournalDetailsController.java

@@ -39,6 +39,14 @@ public class StockJournalDetailsController {
     }
 
     /**
+     * 出入库记录明细分页 维多利亚
+     */
+    @PostMapping("/pageByWdly")
+    public Page<StockJournalDetailsVo> pageByWdly(@RequestBody StockJournalSelectDto dto) {
+        return stockJournalDetailsService.getPageByWdly(dto);
+    }
+
+    /**
      * 出入库记录明细明细
      */
     @PostMapping("/detail")

+ 14 - 0
hx-wms/src/main/java/com/fjhx/wms/entity/stock/vo/StockJournalDetailsVo.java

@@ -75,4 +75,18 @@ public class StockJournalDetailsVo extends StockJournalDetails {
      */
     private String logisticsCode;
 
+    /**
+     * 产品类型
+     */
+    private String productCustomCode;
+
+    /**
+     * 业务id
+     */
+    private Long businessId;
+
+    /**
+     * 关联单号
+     */
+    private String linkCode;
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockJournalDetailsService.java

@@ -26,6 +26,11 @@ public interface StockJournalDetailsService extends BaseService<StockJournalDeta
     Page<StockJournalDetailsVo> getPage(StockJournalSelectDto dto);
 
     /**
+     * 出入库记录明细分页 维多利亚
+     */
+    Page<StockJournalDetailsVo> getPageByWdly(StockJournalSelectDto dto);
+
+    /**
      * 出入库记录明细明细
      */
     StockJournalDetailsVo detail(Long id);

+ 46 - 18
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockJournalDetailsServiceImpl.java

@@ -1,25 +1,25 @@
 package com.fjhx.wms.service.stock.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
-import com.fjhx.item.entity.product.po.ProductInfo;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.item.service.product.ProductInfoService;
+import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockJournalSelectDto;
 import com.fjhx.wms.entity.stock.po.StockJournal;
 import com.fjhx.wms.entity.stock.po.StockJournalDetails;
-import com.fjhx.wms.entity.stock.vo.StockJournalVo;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.entity.stock.vo.StockJournalDetailsVo;
 import com.fjhx.wms.mapper.stock.StockJournalDetailsMapper;
 import com.fjhx.wms.service.stock.StockJournalDetailsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsDto;
-import com.fjhx.wms.entity.stock.dto.StockJournalDetailsSelectDto;
+import com.fjhx.wms.service.stock.StockWaitService;
 import com.fjhx.wms.service.warehouse.WarehouseService;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.wms.entity.stock.vo.StockJournalDetailsVo;
-import com.ruoyi.common.utils.wrapper.IWrapper;
-import cn.hutool.core.bean.BeanUtil;
 
 import java.util.List;
 import java.util.Map;
@@ -37,22 +37,27 @@ import java.util.stream.Collectors;
 @Service
 public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDetailsMapper, StockJournalDetails> implements StockJournalDetailsService {
     @Autowired
-    ProductInfoService productInfoService;
+    private ProductInfoService productInfoService;
     @Autowired
-    WarehouseService warehouseService;
+    private WarehouseService warehouseService;
+    @Autowired
+    private StockWaitService stockWaitService;
 
     @Override
     public Page<StockJournalDetailsVo> getPage(StockJournalSelectDto dto) {
         IWrapper<StockJournalDetails> wrapper = getWrapper();
-        wrapper.eq("sj.op_type",dto.getOpType());
-        wrapper.eq("sj.type",dto.getType());
-        wrapper.like("w.name",dto.getKeyword());
-        wrapper.eq("w.id",dto.getWarehouseId());
-        wrapper.eq("sj.to_warehouse_id",dto.getToWarehouseId());
-        wrapper.eq("sjd.product_id",dto.getProductId());
+        wrapper.eq("sj.op_type", dto.getOpType());
+        wrapper.eq("sj.type", dto.getType());
+        wrapper.like("w.name", dto.getKeyword());
+        wrapper.eq("w.id", dto.getWarehouseId());
+        wrapper.eq("sj.to_warehouse_id", dto.getToWarehouseId());
+        wrapper.eq("sjd.product_id", dto.getProductId());
         wrapper.orderByDesc("sj", StockJournal::getCreateTime);
         Page<StockJournalDetailsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<StockJournalDetailsVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
         // 赋值产品属性
         productInfoService.attributeAssign(records, StockJournalDetailsVo::getProductId, (item, product) -> {
             item.setProductCode(product.getCode());
@@ -60,9 +65,10 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
             item.setProductType(product.getType());
             item.setProductName(product.getName());
             item.setProductSpec(product.getSpec());
+            item.setProductCustomCode(product.getCustomCode());
         });
         //赋值操作人名称
-        UserUtil.assignmentNickName(records,StockJournalDetailsVo::getCreateUser,StockJournalDetailsVo::setOpUserName);
+        UserUtil.assignmentNickName(records, StockJournalDetailsVo::getCreateUser, StockJournalDetailsVo::setOpUserName);
         //赋值目标仓库名称
         warehouseService.attributeAssign(records, StockJournalDetailsVo::getToWarehouseId, (item, warehouse) -> {
             item.setToWarehouseName(warehouse.getName());
@@ -71,6 +77,28 @@ public class StockJournalDetailsServiceImpl extends ServiceImpl<StockJournalDeta
     }
 
     @Override
+    public Page<StockJournalDetailsVo> getPageByWdly(StockJournalSelectDto dto) {
+        Page<StockJournalDetailsVo> page = getPage(dto);
+        List<StockJournalDetailsVo> records = page.getRecords();
+        if (ObjectUtil.isEmpty(records)) {
+            return page;
+        }
+        //给采购退货的数据赋值关联单号
+        List<Long> swIds = records.stream().filter(x -> x.getType() == 13).map(StockJournalDetailsVo::getBusinessId).collect(Collectors.toList());
+        if (ObjectUtil.isNotEmpty(swIds)) {
+            Map<Long, StockWait> stockWaitMap = stockWaitService.mapKEntity(StockWait::getId, q -> q.in(StockWait::getId, swIds));
+            for (StockJournalDetailsVo record : records) {
+                StockWait stockWait = stockWaitMap.get(record.getBusinessId());
+                if(ObjectUtil.isEmpty(stockWait)){
+                    continue;
+                }
+                record.setLinkCode(stockWait.getBusinessCode());
+            }
+        }
+        return page;
+    }
+
+    @Override
     public StockJournalDetailsVo detail(Long id) {
         StockJournalDetails StockJournalDetails = this.getById(id);
         StockJournalDetailsVo result = BeanUtil.toBean(StockJournalDetails, StockJournalDetailsVo.class);

+ 4 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -107,6 +107,10 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         wrapper.eq(StockWait::getBusinessCode, dto.getKeyword());
         wrapper.eq(StockWait::getStatus, dto.getStatus());
         wrapper.eq("sw", StockWait::getBusinessType, dto.getBusinessType());
+
+        //过滤掉待入库待出库已完成数据
+        wrapper.ne("sw", StockWait::getStatus, 2);
+
         Page<StockWaitVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
 
         List<StockWaitVo> records = page.getRecords();

+ 2 - 1
hx-wms/src/main/resources/mapper/stock/StockJournalDetailsMapper.xml

@@ -12,7 +12,8 @@
             sjd.product_id,
             sjd.quantity,
             sjd.create_time,
-            sjd.create_user
+            sjd.create_user,
+            sj.business_id
         FROM
             stock_journal sj
                 JOIN stock_journal_details sjd ON sjd.stock_journal_id = sj.id