yzc hace 2 años
padre
commit
999d192c6f

+ 4 - 0
hx-item/src/main/java/com/fjhx/item/entity/product/vo/ProductInfoVo.java

@@ -51,4 +51,8 @@ public class ProductInfoVo extends ProductInfo {
      */
     private String createUserName;
 
+    /**
+     * 产品分类列表
+     */
+    private String productClassifyName;
 }

+ 10 - 1
hx-jxst/src/main/java/com/fjhx/jxst/service/after/impl/AfterSalesRecordServiceImpl.java

@@ -38,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -117,6 +118,14 @@ public class AfterSalesRecordServiceImpl extends ServiceImpl<AfterSalesRecordMap
             item.setProductName(productInfo.getName());
         });
 
+        //赋值售后明细
+        Map<Long, AfterSalesRecordDetail> afterSalesRecordDetailMap = afterSalesRecordDetailService.mapKEntity(AfterSalesRecordDetail::getAccessoriesId,
+                q -> q.eq(AfterSalesRecordDetail::getAfterSalesRecordId, id));
+        for (BomDetailVo bomDetailVo : bomDetailList) {
+            AfterSalesRecordDetail afterSalesRecordDetail = afterSalesRecordDetailMap.get(bomDetailVo.getProductId());
+            bomDetailVo.setAfterSalesRecordDetail(afterSalesRecordDetail);
+        }
+
         result.setBomDetailList(bomDetailList);
         return result;
     }
@@ -141,7 +150,7 @@ public class AfterSalesRecordServiceImpl extends ServiceImpl<AfterSalesRecordMap
         for (AfterSalesRecordDetailDto afterSalesRecordDetailDto : afterSalesRecordDetailList) {
             long id = IdWorker.getId();
             afterSalesRecordDetailDto.setId(id);
-            afterSalesRecordDetailDto.setAfterSalesRecordId(afterSalesRecordDetailDto.getId());
+            afterSalesRecordDetailDto.setAfterSalesRecordId(afterSalesRecordDto.getId());
             ObsFileUtil.saveFile(afterSalesRecordDetailDto.getFileList(),id);
         }
         List<AfterSalesRecordDetail> afterSalesRecordDetails = BeanUtil.copyToList(afterSalesRecordDetailList, AfterSalesRecordDetail.class);

+ 4 - 1
hx-mes/src/main/java/com/fjhx/mes/entity/bom/vo/BomDetailVo.java

@@ -29,5 +29,8 @@ public class BomDetailVo extends BomDetail {
      */
     private String productUnit;
 
-
+    /**
+     * 售后明细
+     */
+    private Object afterSalesRecordDetail;
 }

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

@@ -5,6 +5,7 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 库存列表查询返回值实体
@@ -109,5 +110,10 @@ public class StockVo extends Stock {
      */
     private BigDecimal unitPrice;
 
+    /**
+     * 产品分类名称列表
+     */
+    private List<String> productClassifyNameGroup;
+
 
 }

+ 2 - 1
hx-wms/src/main/java/com/fjhx/wms/entity/warehouse/vo/WarehouseLocationInfoVo.java

@@ -1,6 +1,7 @@
 package com.fjhx.wms.entity.warehouse.vo;
 
 import com.fjhx.item.entity.product.po.ProductInfo;
+import com.fjhx.item.entity.product.vo.ProductInfoVo;
 import com.fjhx.wms.entity.warehouse.po.WarehouseLocationInfo;
 import lombok.Getter;
 import lombok.Setter;
@@ -20,6 +21,6 @@ public class WarehouseLocationInfoVo extends WarehouseLocationInfo {
     /**
      * 产品列表
      */
-    List<ProductInfo> productInfoList;
+    List<ProductInfoVo> productInfoList;
 
 }

+ 21 - 3
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -7,7 +7,9 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.item.entity.product.po.ProductClassify;
 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.bo.InOutBo;
@@ -37,6 +39,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 
@@ -86,9 +89,24 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
             item.setUnitPrice(productInfo.getUnitPrice());
         });
         //赋值产品分类
-        productClassifyService.attributeAssign(stockVos, StockVo::getProductClassifyId, (item, productClassify) -> {
-            item.setProductClassifyName(productClassify.getName());
-        });
+        List<ProductClassify> productClassifyList = productClassifyService.list();
+        Map<Long, ProductClassify> productClassifyMap = productClassifyList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
+        for (StockVo stockVo : stockVos) {
+            Long productClassifyId = stockVo.getProductClassifyId();
+            ProductClassify productClassify = productClassifyMap.get(productClassifyId);
+            if (productClassify == null) {
+                continue;
+            }
+            List<String> classifyNameGroup = new ArrayList<>();
+
+            while (productClassify != null) {
+                classifyNameGroup.add(0, productClassify.getName());
+                productClassify = productClassifyMap.get(productClassify.getParentId());
+            }
+            stockVo.setProductClassifyNameGroup(classifyNameGroup);
+            stockVo.setProductClassifyName(classifyNameGroup.stream().collect(Collectors.joining(" / ")));
+        }
+
         //赋值仓库名称
         warehouseService.attributeAssign(stockVos, StockVo::getWarehouseId, (item, warehouse) -> {
             item.setWarehouseName(warehouse.getName());

+ 30 - 1
hx-wms/src/main/java/com/fjhx/wms/service/warehouse/impl/WarehouseLocationInfoServiceImpl.java

@@ -3,17 +3,25 @@ package com.fjhx.wms.service.warehouse.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.item.entity.product.po.ProductClassify;
 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.warehouse.dto.WarehouseLocationInfoDto;
 import com.fjhx.wms.entity.warehouse.po.WarehouseLocationInfo;
 import com.fjhx.wms.entity.warehouse.vo.WarehouseLocationInfoVo;
 import com.fjhx.wms.mapper.warehouse.WarehouseLocationInfoMapper;
 import com.fjhx.wms.service.warehouse.WarehouseLocationInfoService;
+import com.ruoyi.common.core.domain.BaseIdPo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -28,6 +36,8 @@ public class WarehouseLocationInfoServiceImpl extends ServiceImpl<WarehouseLocat
 
     @Autowired
     private ProductInfoService productInfoService;
+    @Autowired
+    private ProductClassifyService productClassifyService;
 
     @Override
     public List<WarehouseLocationInfoVo> getList(WarehouseLocationInfoDto dto) {
@@ -38,7 +48,26 @@ public class WarehouseLocationInfoServiceImpl extends ServiceImpl<WarehouseLocat
             if (ObjectUtil.isNotEmpty(productIds)) {
                 String[] split = productIds.split(",");
                 List<ProductInfo> productInfoList = productInfoService.list(q -> q.in(ProductInfo::getId, split));
-                warehouseLocationInfoVo.setProductInfoList(productInfoList);
+                List<ProductInfoVo> productInfoVos = BeanUtil.copyToList(productInfoList, ProductInfoVo.class);
+                //赋值产品分类
+                List<ProductClassify> productClassifyList = productClassifyService.list();
+                Map<Long, ProductClassify> productClassifyMap = productClassifyList.stream().collect(Collectors.toMap(BaseIdPo::getId, Function.identity()));
+                for (ProductInfoVo productInfo : productInfoVos) {
+                    Long productClassifyId = productInfo.getProductClassifyId();
+                    ProductClassify productClassify = productClassifyMap.get(productClassifyId);
+                    if (productClassify == null) {
+                        continue;
+                    }
+                    List<String> classifyNameGroup = new ArrayList<>();
+
+                    while (productClassify != null) {
+                        classifyNameGroup.add(0, productClassify.getName());
+                        productClassify = productClassifyMap.get(productClassify.getParentId());
+                    }
+                    productInfo.setClassifyNameGroup(classifyNameGroup);
+                    productInfo.setProductClassifyName(classifyNameGroup.stream().collect(Collectors.joining(" / ")));
+                }
+                warehouseLocationInfoVo.setProductInfoList(productInfoVos);
             }
         }
         return warehouseLocationInfoVos;