24282 2 lat temu
rodzic
commit
042925fe02

+ 1 - 1
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/jd/JdBackDetails.java

@@ -59,7 +59,7 @@ public class JdBackDetails extends BaseEntity {
      * 商品编号\产品code
      * 商品编号\产品code
      */
      */
     @ExcelProperty("商品编号")
     @ExcelProperty("商品编号")
-    private Long productCode;
+    private String productCode;
 
 
     /**
     /**
      * 商品名称
      * 商品名称

+ 1 - 1
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/logistics/DataInfoPageVo.java

@@ -29,7 +29,7 @@ public class DataInfoPageVo {
      * @table logistics_info
      * @table logistics_info
      * @field business_code
      * @field business_code
      */
      */
-    private Long businessCode;
+    private String businessCode;
 
 
     /**
     /**
      * 业务类型(1采购出货 2京东订单出货 3销售订单出货)
      * 业务类型(1采购出货 2京东订单出货 3销售订单出货)

+ 5 - 3
hx-service/storage/src/main/java/com/fjhx/stock/controller/StockBackController.java

@@ -208,9 +208,11 @@ public class StockBackController {
         StockBackDetailsVo stockBackDetailsVo = JSONObject.parseObject(stockBackDetails.getFlowData(), StockBackDetailsVo.class);
         StockBackDetailsVo stockBackDetailsVo = JSONObject.parseObject(stockBackDetails.getFlowData(), StockBackDetailsVo.class);
         String materialId = stockBackDetailsVo.getMaterialId();
         String materialId = stockBackDetailsVo.getMaterialId();
         if (materialId != null) {
         if (materialId != null) {
-            Material material = materialService.getById(materialId);
-            stockBackDetailsVo.setMaterialName(material.getName());
-            stockBackDetailsVo.setWidth(material.getWidth());
+            Material material = materialService.getOne(q -> q.eq(Material::getCode, materialId));
+            if (material != null) {
+                stockBackDetailsVo.setMaterialName(material.getName());
+                stockBackDetailsVo.setWidth(material.getWidth());
+            }
         }
         }
         return R.success(stockBackDetailsVo);
         return R.success(stockBackDetailsVo);
     }
     }

+ 10 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/controller/logistics/LogisticsInfoController.java

@@ -10,6 +10,7 @@ import com.fjhx.params.logistics.DataInfoPageVo;
 import com.fjhx.params.logistics.DeliverDetailsVo;
 import com.fjhx.params.logistics.DeliverDetailsVo;
 import com.fjhx.params.logistics.LogisticsInfoVo;
 import com.fjhx.params.logistics.LogisticsInfoVo;
 import com.fjhx.service.logistics.LogisticsInfoService;
 import com.fjhx.service.logistics.LogisticsInfoService;
+import com.fjhx.uitl.kd100.KD100Result;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
@@ -115,5 +116,14 @@ public class LogisticsInfoController {
         return R.success();
         return R.success();
     }
     }
 
 
+    /**
+     * 查看物流数据
+     */
+    @PostMapping(value = "/getLogistics")
+    public R getLogistics(@RequestBody BaseSelectDto dto) {
+        KD100Result result = logisticsInfoService.getLogistics(dto.getId());
+        return R.success(result);
+    }
+
 }
 }
 
 

+ 5 - 2
hx-service/victoriatourist/src/main/java/com/fjhx/controller/product/ProductTagController.java

@@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
-import javax.validation.constraints.NotEmpty;
+import java.util.Collections;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -34,7 +34,10 @@ public class ProductTagController {
      * 产品标签对象
      * 产品标签对象
      */
      */
     @PostMapping("/tagMap")
     @PostMapping("/tagMap")
-    public R tagMap(@NotEmpty(message = "产品id列表不能为空") @RequestBody List<Long> productIdList) {
+    public R tagMap(@RequestBody List<Long> productIdList) {
+        if (productIdList.size() == 0) {
+            return R.success(Collections.EMPTY_MAP);
+        }
         Map<Long, List<ProductTag>> result = productTagService.tagMap(productIdList);
         Map<Long, List<ProductTag>> result = productTagService.tagMap(productIdList);
         return R.success(result);
         return R.success(result);
     }
     }

+ 24 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/jd/impl/JdBackServiceImpl.java

@@ -9,15 +9,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.base.BaseEntity;
 import com.fjhx.base.BaseEntity;
 import com.fjhx.entity.jd.JdBack;
 import com.fjhx.entity.jd.JdBack;
 import com.fjhx.entity.jd.JdBackDetails;
 import com.fjhx.entity.jd.JdBackDetails;
+import com.fjhx.entity.product.ProductInfo;
 import com.fjhx.mapper.jd.JdBackMapper;
 import com.fjhx.mapper.jd.JdBackMapper;
 import com.fjhx.params.jd.JdBackEx;
 import com.fjhx.params.jd.JdBackEx;
 import com.fjhx.params.jd.JdBackPageDto;
 import com.fjhx.params.jd.JdBackPageDto;
 import com.fjhx.params.jd.JdBackVo;
 import com.fjhx.params.jd.JdBackVo;
 import com.fjhx.service.jd.JdBackDetailsService;
 import com.fjhx.service.jd.JdBackDetailsService;
 import com.fjhx.service.jd.JdBackService;
 import com.fjhx.service.jd.JdBackService;
+import com.fjhx.service.product.ProductInfoService;
 import com.fjhx.service.warehouse.WarehouseService;
 import com.fjhx.service.warehouse.WarehouseService;
 import com.fjhx.utils.PageUtil;
 import com.fjhx.utils.PageUtil;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.log.exception.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
@@ -26,6 +29,7 @@ import org.springframework.web.multipart.MultipartFile;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.StringJoiner;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -45,6 +49,9 @@ public class JdBackServiceImpl extends ServiceImpl<JdBackMapper, JdBack> impleme
     @Autowired
     @Autowired
     private WarehouseService warehouseService;
     private WarehouseService warehouseService;
 
 
+    @Autowired
+    private ProductInfoService productInfoService;
+
     @Override
     @Override
     public void add(JdBackVo jdBackVo) {
     public void add(JdBackVo jdBackVo) {
         save(jdBackVo);
         save(jdBackVo);
@@ -68,6 +75,23 @@ public class JdBackServiceImpl extends ServiceImpl<JdBackMapper, JdBack> impleme
         // 读取excel数据
         // 读取excel数据
         List<JdBackDetails> jdBackDetailsList = ExcelUtil.read(file, JdBackDetails.class);
         List<JdBackDetails> jdBackDetailsList = ExcelUtil.read(file, JdBackDetails.class);
 
 
+        if (jdBackDetailsList.size() == 0) {
+            return;
+        }
+
+        List<String> productCodeString = jdBackDetailsList.stream().map(JdBackDetails::getProductCode).distinct().collect(Collectors.toList());
+        List<String> list = productInfoService.listObj(ProductInfo::getCode, q -> q.in(ProductInfo::getCode, productCodeString));
+        StringJoiner stringJoiner = new StringJoiner(",");
+        if (list.size() < productCodeString.size()) {
+            productCodeString.forEach(item -> {
+                if (!list.contains(item)) {
+                    stringJoiner.add(item);
+                }
+            });
+            throw new ServiceException("物流编码不存在:" + stringJoiner);
+        }
+
+
         // 按运单号分组
         // 按运单号分组
         Map<String, List<JdBackDetails>> byWaybillMap = jdBackDetailsList.stream()
         Map<String, List<JdBackDetails>> byWaybillMap = jdBackDetailsList.stream()
                 .collect(Collectors.groupingBy(JdBackDetails::getWaybill));
                 .collect(Collectors.groupingBy(JdBackDetails::getWaybill));

+ 6 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/logistics/LogisticsInfoService.java

@@ -8,6 +8,7 @@ import com.fjhx.params.logistics.DataInfoPageVo;
 import com.fjhx.params.logistics.DeliverDetailsVo;
 import com.fjhx.params.logistics.DeliverDetailsVo;
 import com.fjhx.params.logistics.LogisticsInfoVo;
 import com.fjhx.params.logistics.LogisticsInfoVo;
 import com.fjhx.params.stock.InStockAdd;
 import com.fjhx.params.stock.InStockAdd;
+import com.fjhx.uitl.kd100.KD100Result;
 
 
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -91,4 +92,9 @@ public interface LogisticsInfoService extends BaseService<LogisticsInfo> {
      */
      */
     void dataInfoEdit(Long id);
     void dataInfoEdit(Long id);
 
 
+    /**
+     * 快递信息
+     */
+    KD100Result getLogistics(Long id);
+
 }
 }

+ 8 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/logistics/impl/LogisticsInfoServiceImpl.java

@@ -34,6 +34,7 @@ import com.fjhx.service.quality.QualityDetailsService;
 import com.fjhx.service.quality.QualityInfoService;
 import com.fjhx.service.quality.QualityInfoService;
 import com.fjhx.service.stock.StockService;
 import com.fjhx.service.stock.StockService;
 import com.fjhx.uitl.code.CodeEnum;
 import com.fjhx.uitl.code.CodeEnum;
+import com.fjhx.uitl.kd100.KD100Result;
 import com.fjhx.uitl.kd100.KD100Util;
 import com.fjhx.uitl.kd100.KD100Util;
 import com.fjhx.utils.Assert;
 import com.fjhx.utils.Assert;
 import com.fjhx.utils.FileClientUtil;
 import com.fjhx.utils.FileClientUtil;
@@ -439,4 +440,11 @@ public class LogisticsInfoServiceImpl extends ServiceImpl<LogisticsInfoMapper, L
 
 
     }
     }
 
 
+    @Override
+    public KD100Result getLogistics(Long id) {
+        LogisticsInfo logisticsInfo = getById(id);
+        Assert.notEmpty(logisticsInfo, "没有找到物流信息");
+        return KD100Util.queryTrack(logisticsInfo.getLogisticsCompanyCode(), logisticsInfo.getCode());
+    }
+
 }
 }

+ 1 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/service/product/impl/ProductInfoServiceImpl.java

@@ -218,7 +218,7 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
 
 
             productCombinationService.remove(q -> q
             productCombinationService.remove(q -> q
                     .eq(ProductCombination::getProductId, productInfoVo.getId())
                     .eq(ProductCombination::getProductId, productInfoVo.getId())
-                    .notIn(ProductCombination::getId, productCombinationIdList));
+                    .notIn(ObjectUtil.isNotEmpty(productCombinationIdList), ProductCombination::getId, productCombinationIdList));
 
 
             productCombinationService.saveOrUpdateBatch(productCombinationList);
             productCombinationService.saveOrUpdateBatch(productCombinationList);
 
 

+ 2 - 2
hx-service/victoriatourist/src/main/java/com/fjhx/service/quality/impl/QualityDetailsServiceImpl.java

@@ -149,9 +149,9 @@ public class QualityDetailsServiceImpl extends ServiceImpl<QualityDetailsMapper,
             BigDecimal disqualificationQuantityBigDecimal = disqualificationQuantityMap.get(goodsId);
             BigDecimal disqualificationQuantityBigDecimal = disqualificationQuantityMap.get(goodsId);
             if (disqualificationQuantityBigDecimal != null) {
             if (disqualificationQuantityBigDecimal != null) {
                 // 新增次品数量
                 // 新增次品数量
-                stock.setDefectiveQuantity(stock.getDefectiveQuantity().add(qualifiedQuantityBigDecimal));
+                stock.setDefectiveQuantity(stock.getDefectiveQuantity().add(disqualificationQuantityBigDecimal));
                 // 减少锁定库存数量
                 // 减少锁定库存数量
-                stock.setFrozenQuantity(stock.getFrozenQuantity().subtract(qualifiedQuantityBigDecimal));
+                stock.setFrozenQuantity(stock.getFrozenQuantity().subtract(disqualificationQuantityBigDecimal));
             }
             }
 
 
         }
         }