Kaynağa Gözat

待出库 相关物流信息展示

yzc 1 yıl önce
ebeveyn
işleme
409bc5d187

+ 9 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdOrderController.java

@@ -5,6 +5,7 @@ import com.fjhx.victoriatourist.entity.jd.dto.JdOrderDto;
 import com.fjhx.victoriatourist.entity.jd.dto.JdOrderSelectDto;
 import com.fjhx.victoriatourist.entity.jd.po.JdOrder;
 import com.fjhx.victoriatourist.entity.jd.vo.JdOrderVo;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
 import com.fjhx.victoriatourist.service.jd.JdOrderService;
 import com.ruoyi.common.core.domain.BaseSelectDto;
@@ -103,4 +104,12 @@ public class JdOrderController {
         jdOrderService.receiveExcelImport(file);
     }
 
+    /**
+     * 获取物流信息
+     */
+    @PostMapping("/getLogisticsInfo")
+    public List<LogisticsInfosVo> getLogisticsInfo(@RequestBody BaseSelectDto dto) {
+        return jdOrderService.getLogisticsInfo(dto.getId());
+    }
+
 }

+ 19 - 4
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/order/OrderInfoController.java

@@ -1,13 +1,19 @@
 package com.fjhx.victoriatourist.controller.order;
 
-import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.victoriatourist.entity.order.vo.OrderInfoVo;
-import com.fjhx.victoriatourist.entity.order.dto.OrderInfoSelectDto;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.order.dto.OrderInfoDto;
-import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.victoriatourist.entity.order.dto.OrderInfoSelectDto;
+import com.fjhx.victoriatourist.entity.order.vo.OrderInfoVo;
 import com.fjhx.victoriatourist.service.order.OrderInfoService;
+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;
 
 
 /**
@@ -65,4 +71,13 @@ public class OrderInfoController {
         orderInfoService.delete(dto.getId());
     }
 
+    /**
+     * 获取物流信息
+     */
+    @PostMapping("/getLogisticsInfo")
+    public List<LogisticsInfosVo> getLogisticsInfo(@RequestBody BaseSelectDto dto) {
+        return orderInfoService.getLogisticsInfo(dto.getId());
+    }
+
+
 }

+ 20 - 6
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/purchase/PurchaseBackController.java

@@ -1,15 +1,21 @@
 package com.fjhx.victoriatourist.controller.purchase;
 
-import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
-import com.fjhx.wms.entity.stock.dto.StockWaitDto;
-import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.victoriatourist.entity.purchase.vo.PurchaseBackVo;
-import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackSelectDto;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackDto;
-import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackSelectDto;
+import com.fjhx.victoriatourist.entity.purchase.vo.PurchaseBackVo;
 import com.fjhx.victoriatourist.service.purchase.PurchaseBackService;
+import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
+import com.fjhx.wms.entity.stock.dto.StockWaitDto;
+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;
 
 
 /**
@@ -67,4 +73,12 @@ public class PurchaseBackController {
         purchaseBackService.backOuts(stockWaitDto);
     }
 
+    /**
+     * 获取物流信息
+     */
+    @PostMapping("/getLogisticsInfo")
+    public List<LogisticsInfosVo> getLogisticsInfo(@RequestBody BaseSelectDto dto) {
+        return purchaseBackService.getLogisticsInfo(dto.getId());
+    }
+
 }

+ 8 - 3
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/logistics/po/LogisticsDetails.java

@@ -1,12 +1,12 @@
 package com.fjhx.victoriatourist.entity.logistics.po;
 
-import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.math.BigDecimal;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 物流明细
@@ -58,4 +58,9 @@ public class LogisticsDetails extends BasePo {
     /**业务明细id*/
     private Long businessDetailsId;
 
+    /**
+     * 待出入库明细id
+     */
+    private Long stockWaitDetailsId;
+
 }

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/logistics/po/LogisticsInfos.java

@@ -98,4 +98,9 @@ public class LogisticsInfos extends BasePo {
      */
     private Long purchaseId;
 
+    /**
+     * 业务id
+     */
+    private Long stockWaitId;
+
 }

+ 8 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdOrderService.java

@@ -5,10 +5,13 @@ import com.fjhx.victoriatourist.entity.jd.dto.JdOrderDto;
 import com.fjhx.victoriatourist.entity.jd.dto.JdOrderSelectDto;
 import com.fjhx.victoriatourist.entity.jd.po.JdOrder;
 import com.fjhx.victoriatourist.entity.jd.vo.JdOrderVo;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
 import com.ruoyi.common.core.service.BaseService;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -53,4 +56,9 @@ public interface JdOrderService extends BaseService<JdOrder> {
      * 京东订单接收Excel导入
      */
     void receiveExcelImport(MultipartFile file);
+
+    /**
+     * 根据京东订单id获取物流信息
+     */
+    List<LogisticsInfosVo> getLogisticsInfo(Long jdOrderInfoId);
 }

+ 20 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdOrderServiceImpl.java

@@ -13,6 +13,8 @@ import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.item.util.excel.util.ExcelUtil;
+import com.fjhx.kd100.entity.company.po.CompanyInfo;
+import com.fjhx.kd100.service.company.CompanyInfoService;
 import com.fjhx.victoriatourist.entity.abnormal.po.AbnormalInfo;
 import com.fjhx.victoriatourist.entity.jd.bo.JdOrderExcelImportBo;
 import com.fjhx.victoriatourist.entity.jd.dto.JdOrderDto;
@@ -23,6 +25,7 @@ import com.fjhx.victoriatourist.entity.jd.vo.JdOrderDetailsVo;
 import com.fjhx.victoriatourist.entity.jd.vo.JdOrderVo;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsDetails;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsInfos;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
 import com.fjhx.victoriatourist.entity.stock.po.StockTransfer;
 import com.fjhx.victoriatourist.entity.stock.po.StockTransferDetails;
@@ -97,6 +100,8 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
     private LogisticsDetailsService logisticsDetailsService;
     @Autowired
     private ISysRoleService sysRoleService;
+    @Autowired
+    private CompanyInfoService companyInfoService;
 
     @Override
     public Page<JdOrderVo> getPage(JdOrderSelectDto dto) {
@@ -592,4 +597,19 @@ public class JdOrderServiceImpl extends ServiceImpl<JdOrderMapper, JdOrder> impl
         }
     }
 
+    @Override
+    public List<LogisticsInfosVo> getLogisticsInfo(Long jdOrderInfoId) {
+        List<LogisticsInfos> list = logisticsInfosService.list(q -> q.eq(LogisticsInfos::getBusinessId, jdOrderInfoId));
+        if(ObjectUtil.isEmpty(list)){
+            return new ArrayList<>();
+        }
+        List<LogisticsInfosVo> logisticsInfosVos = BeanUtil.copyToList(list, LogisticsInfosVo.class);
+        //赋值物流公司名称
+        List<String> codes = logisticsInfosVos.stream().map(LogisticsInfos::getLogisticsCompanyCode).collect(Collectors.toList());
+        Map<String, String> companyInfoMap = companyInfoService.mapKV(CompanyInfo::getCode, CompanyInfo::getName,
+                q -> q.in(CompanyInfo::getCode, codes));
+        logisticsInfosVos.forEach(item->item.setLogisticsCompanyName(companyInfoMap.get(item.getLogisticsCompanyCode())));
+        return logisticsInfosVos;
+    }
+
 }

+ 8 - 6
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/logistics/impl/LogisticsInfosServiceImpl.java

@@ -71,14 +71,16 @@ public class LogisticsInfosServiceImpl extends ServiceImpl<LogisticsInfosMapper,
     @Override
     public Page<LogisticsInfosVo> getPage(LogisticsInfosSelectDto dto) {
         IWrapper<LogisticsInfos> wrapper = getWrapper();
-        wrapper.eq("li",LogisticsInfos::getBusinessType, dto.getBusinessType());
-        wrapper.eq("li",LogisticsInfos::getLogisticsStatus, dto.getLogisticsStatus());
-        wrapper.eq("li",LogisticsInfos::getStatus, dto.getStatus());
+        wrapper.eq("li", LogisticsInfos::getId, dto.getId());
+
+        wrapper.eq("li", LogisticsInfos::getBusinessType, dto.getBusinessType());
+        wrapper.eq("li", LogisticsInfos::getLogisticsStatus, dto.getLogisticsStatus());
+        wrapper.eq("li", LogisticsInfos::getStatus, dto.getStatus());
         if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
             List<String> companyCodes = companyInfoService.listObject(CompanyInfo::getCode, q -> q.like(CompanyInfo::getName, dto.getKeyword()));
-            wrapper.and(q -> q.like("li",LogisticsInfos::getCode, dto.getKeyword())
-                    .or().like("li",LogisticsInfos::getBusinessCode, dto.getKeyword())
-                    .or().in("li",LogisticsInfos::getLogisticsCompanyCode, companyCodes)
+            wrapper.and(q -> q.like("li", LogisticsInfos::getCode, dto.getKeyword())
+                    .or().like("li", LogisticsInfos::getBusinessCode, dto.getKeyword())
+                    .or().in("li", LogisticsInfos::getLogisticsCompanyCode, companyCodes)
             );
         }
 

+ 12 - 5
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/order/OrderInfoService.java

@@ -1,14 +1,16 @@
 package com.fjhx.victoriatourist.service.order;
 
-import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
+import com.fjhx.victoriatourist.entity.order.dto.OrderInfoDto;
+import com.fjhx.victoriatourist.entity.order.dto.OrderInfoSelectDto;
 import com.fjhx.victoriatourist.entity.order.po.OrderInfo;
+import com.fjhx.victoriatourist.entity.order.vo.OrderInfoVo;
 import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDto;
 import com.ruoyi.common.core.service.BaseService;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.victoriatourist.entity.order.vo.OrderInfoVo;
-import com.fjhx.victoriatourist.entity.order.dto.OrderInfoSelectDto;
-import com.fjhx.victoriatourist.entity.order.dto.OrderInfoDto;
+
+import java.util.List;
 
 
 /**
@@ -55,4 +57,9 @@ public interface OrderInfoService extends BaseService<OrderInfo> {
      * 销售订单出库 多条
      */
     void outbounds(StockWaitDto stockWaitDto);
+
+    /**
+     * 根据销售订单id获取物流信息
+     */
+    List<LogisticsInfosVo> getLogisticsInfo(Long orderInfoId);
 }

+ 24 - 4
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/order/impl/OrderInfoServiceImpl.java

@@ -12,8 +12,11 @@ import com.fjhx.common.utils.Assert;
 import com.fjhx.customer.entity.customer.po.Customer;
 import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.item.service.product.ProductInfoService;
+import com.fjhx.kd100.entity.company.po.CompanyInfo;
+import com.fjhx.kd100.service.company.CompanyInfoService;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsDetails;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsInfos;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.order.dto.OrderInfoDto;
 import com.fjhx.victoriatourist.entity.order.dto.OrderInfoSelectDto;
 import com.fjhx.victoriatourist.entity.order.po.OrderDetails;
@@ -40,10 +43,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
@@ -73,6 +74,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     private LogisticsDetailsService logisticsDetailsService;
     @Autowired
     private ISysRoleService sysRoleService;
+    @Autowired
+    private CompanyInfoService companyInfoService;
 
     @Override
     public Page<OrderInfoVo> getPage(OrderInfoSelectDto dto) {
@@ -282,6 +285,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         logisticsInfos.setCode(stockWaitDto.getLogisticsCode());
         logisticsInfos.setWarehouseId(stockWaitDto.getWarehouseId());
         logisticsInfos.setIsKd100(0);
+        logisticsInfos.setStockWaitId(stockWait.getId());
         logisticsInfosService.save(logisticsInfos);
 
         List<StockWaitDetails> stockWaitDetailsList = stockWaitDto.getStockWaitDetailsList();
@@ -303,6 +307,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             logisticsDetails.setLogisticsInfoCode(logisticsInfos.getCode());
             logisticsDetails.setBusinessDetailsId(orderDetails.getId());
             logisticsDetails.setReceiptQuantity(orderDetails.getQuantity());
+            logisticsDetails.setStockWaitDetailsId(stockWaitDetails.getId());
             logisticsDetailsList.add(logisticsDetails);
         }
         logisticsDetailsService.saveBatch(logisticsDetailsList);
@@ -330,5 +335,20 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         updateById(orderInfo);
     }
 
+    @Override
+    public List<LogisticsInfosVo> getLogisticsInfo(Long orderInfoId) {
+        List<LogisticsInfos> list = logisticsInfosService.list(q -> q.eq(LogisticsInfos::getBusinessId, orderInfoId));
+        if(ObjectUtil.isEmpty(list)){
+            return new ArrayList<>();
+        }
+        List<LogisticsInfosVo> logisticsInfosVos = BeanUtil.copyToList(list, LogisticsInfosVo.class);
+        //赋值物流公司名称
+        List<String> codes = logisticsInfosVos.stream().map(LogisticsInfos::getLogisticsCompanyCode).collect(Collectors.toList());
+        Map<String, String> companyInfoMap = companyInfoService.mapKV(CompanyInfo::getCode, CompanyInfo::getName,
+                q -> q.in(CompanyInfo::getCode, codes));
+        logisticsInfosVos.forEach(item->item.setLogisticsCompanyName(companyInfoMap.get(item.getLogisticsCompanyCode())));
+        return logisticsInfosVos;
+    }
+
 
 }

+ 12 - 5
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/purchase/PurchaseBackService.java

@@ -1,14 +1,16 @@
 package com.fjhx.victoriatourist.service.purchase;
 
-import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
+import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackDto;
+import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackSelectDto;
 import com.fjhx.victoriatourist.entity.purchase.po.PurchaseBack;
+import com.fjhx.victoriatourist.entity.purchase.vo.PurchaseBackVo;
 import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDto;
 import com.ruoyi.common.core.service.BaseService;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.victoriatourist.entity.purchase.vo.PurchaseBackVo;
-import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackSelectDto;
-import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackDto;
+
+import java.util.List;
 
 
 /**
@@ -45,4 +47,9 @@ public interface PurchaseBackService extends BaseService<PurchaseBack> {
      * 采购退货待出库 多个
      */
     void backOuts (StockWaitDto stockWaitDto);
+
+    /**
+     * 采购退货id查物流信息
+     */
+    List<LogisticsInfosVo> getLogisticsInfo(Long purchaseBackId);
 }

+ 26 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/purchase/impl/PurchaseBackServiceImpl.java

@@ -9,10 +9,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.utils.Assert;
+import com.fjhx.kd100.entity.company.po.CompanyInfo;
+import com.fjhx.kd100.service.company.CompanyInfoService;
 import com.fjhx.purchase.entity.purchase.po.Purchase;
 import com.fjhx.purchase.service.purchase.PurchaseService;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsDetails;
 import com.fjhx.victoriatourist.entity.logistics.po.LogisticsInfos;
+import com.fjhx.victoriatourist.entity.logistics.vo.LogisticsInfosVo;
 import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackDto;
 import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackSelectDto;
 import com.fjhx.victoriatourist.entity.purchase.po.PurchaseBack;
@@ -40,6 +43,8 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
@@ -70,6 +75,8 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
     private LogisticsInfosService logisticsInfosService;
     @Autowired
     private LogisticsDetailsService logisticsDetailsService;
+    @Autowired
+    private CompanyInfoService companyInfoService;
 
     @Override
     public Page<PurchaseBackVo> getPage(PurchaseBackSelectDto dto) {
@@ -189,7 +196,7 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
     @Override
     public void backOuts(StockWaitDto stockWaitDto) {
         StockWait byId = stockWaitService.getById(stockWaitDto.getId());
-        Assert.notEmpty(byId,"无法查询到待出库信息");
+        Assert.notEmpty(byId, "无法查询到待出库信息");
         PurchaseBack purchaseBack = getById(byId.getBusinessId());
         //创建物流数据
         LogisticsInfos logisticsInfos = new LogisticsInfos();
@@ -259,5 +266,23 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
         stockJournalDetailsService.saveBatch(stockJournalDetailsList);
     }
 
+    @Override
+    public List<LogisticsInfosVo> getLogisticsInfo(Long purchaseBackId) {
+        List<Long> stockWaitIds = stockWaitService.listObject(StockWait::getId, q -> q.eq(StockWait::getBusinessId, purchaseBackId));
+        if (ObjectUtil.isEmpty(stockWaitIds)) {
+            return new ArrayList<>();
+        }
+        List<LogisticsInfos> list = logisticsInfosService.list(q -> q.in(LogisticsInfos::getBusinessId, stockWaitIds));
+        if (ObjectUtil.isEmpty(list)) {
+            return new ArrayList<>();
+        }
+        List<LogisticsInfosVo> logisticsInfosVos = BeanUtil.copyToList(list, LogisticsInfosVo.class);
+        //赋值物流公司名称
+        List<String> codes = logisticsInfosVos.stream().map(LogisticsInfos::getLogisticsCompanyCode).collect(Collectors.toList());
+        Map<String, String> companyInfoMap = companyInfoService.mapKV(CompanyInfo::getCode, CompanyInfo::getName,
+                q -> q.in(CompanyInfo::getCode, codes));
+        logisticsInfosVos.forEach(item -> item.setLogisticsCompanyName(companyInfoMap.get(item.getLogisticsCompanyCode())));
+        return logisticsInfosVos;
+    }
 
 }