From 78626d4b0f68a2bf25586d8ee570c587e889b906 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 06 五月 2026 17:20:50 +0800
Subject: [PATCH] feat(sales): 添加发货信息详情查询功能

---
 src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java |    6 ++++++
 src/main/java/com/ruoyi/sales/mapper/ShippingInfoMapper.java            |    4 ++--
 src/main/java/com/ruoyi/sales/mapper/ShippingProductDetailMapper.java   |    4 ++++
 src/main/java/com/ruoyi/sales/service/ShippingInfoService.java          |    3 +++
 src/main/resources/mapper/sales/ShippingProductDetailMapper.xml         |    8 ++++++++
 src/main/java/com/ruoyi/sales/dto/ShippingProductDetailDto.java         |   16 ++++++++++++++++
 src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java    |   10 ++++++++--
 7 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
index 46597fb..458be2d 100644
--- a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
@@ -2,8 +2,8 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
 import com.ruoyi.approve.bean.vo.ApproveProcessVO;
+import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
 import com.ruoyi.common.utils.OrderUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -12,12 +12,13 @@
 import com.ruoyi.framework.security.LoginUser;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.sales.dto.ShippingInfoDto;
 import com.ruoyi.sales.mapper.ShippingInfoMapper;
 import com.ruoyi.sales.pojo.ShippingInfo;
 import com.ruoyi.sales.service.ShippingInfoService;
-import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.AllArgsConstructor;
 import org.springframework.transaction.annotation.Transactional;
@@ -119,4 +120,9 @@
     public AjaxResult getByCustomerName(String customerName) {
         return AjaxResult.success(shippingInfoService.getShippingInfoByCustomerName(customerName));
     }
+
+    @GetMapping("/getDateil/{id}")
+    public R getDateil(@PathVariable("id") Long id) {
+        return R.ok(shippingInfoService.getDetail(id));
+    }
 }
diff --git a/src/main/java/com/ruoyi/sales/dto/ShippingProductDetailDto.java b/src/main/java/com/ruoyi/sales/dto/ShippingProductDetailDto.java
new file mode 100644
index 0000000..0ef46f3
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/dto/ShippingProductDetailDto.java
@@ -0,0 +1,16 @@
+package com.ruoyi.sales.dto;
+
+import com.ruoyi.sales.pojo.ShippingProductDetail;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ShippingProductDetailDto extends ShippingProductDetail {
+
+    private String specificationModel;
+
+    private String  productName;
+
+    private BigDecimal deliveryQuantity;
+}
diff --git a/src/main/java/com/ruoyi/sales/mapper/ShippingInfoMapper.java b/src/main/java/com/ruoyi/sales/mapper/ShippingInfoMapper.java
index 25b5128..5c7a5bf 100644
--- a/src/main/java/com/ruoyi/sales/mapper/ShippingInfoMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/ShippingInfoMapper.java
@@ -3,11 +3,10 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.procurementrecord.dto.ReturnSaleProductDto;
 import com.ruoyi.sales.dto.SalesLedgerProductDto;
 import com.ruoyi.sales.dto.ShippingInfoDto;
-import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.pojo.ShippingInfo;
+import com.ruoyi.sales.pojo.ShippingProductDetail;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -25,4 +24,5 @@
 
     List<ShippingInfo> getShippingInfoByCustomerName(String customerName);
 
+    List<ShippingProductDetail> getDateil(Long id);
 }
diff --git a/src/main/java/com/ruoyi/sales/mapper/ShippingProductDetailMapper.java b/src/main/java/com/ruoyi/sales/mapper/ShippingProductDetailMapper.java
index c277f4d..f564ba1 100644
--- a/src/main/java/com/ruoyi/sales/mapper/ShippingProductDetailMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/ShippingProductDetailMapper.java
@@ -1,8 +1,11 @@
 package com.ruoyi.sales.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.sales.dto.ShippingProductDetailDto;
 import com.ruoyi.sales.pojo.ShippingProductDetail;
 import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
 
 /**
  * <p>
@@ -15,4 +18,5 @@
 @Mapper
 public interface ShippingProductDetailMapper extends BaseMapper<ShippingProductDetail> {
 
+    List<ShippingProductDetailDto> getDetail(Long id);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/ShippingInfoService.java b/src/main/java/com/ruoyi/sales/service/ShippingInfoService.java
index fcd6280..c3e8a0c 100644
--- a/src/main/java/com/ruoyi/sales/service/ShippingInfoService.java
+++ b/src/main/java/com/ruoyi/sales/service/ShippingInfoService.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.sales.dto.SalesLedgerProductDto;
 import com.ruoyi.sales.dto.ShippingInfoDto;
+import com.ruoyi.sales.dto.ShippingProductDetailDto;
 import com.ruoyi.sales.pojo.ShippingInfo;
 
 import java.util.List;
@@ -25,4 +26,6 @@
     List<ShippingInfo> getShippingInfoByCustomerName(String customerName);
 
     boolean add(ShippingInfoDto req);
+
+    List<ShippingProductDetailDto> getDetail(Long id);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
index 20b563a..545ac7d 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ShippingInfoServiceImpl.java
@@ -14,6 +14,7 @@
 import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.sales.dto.SalesLedgerProductDto;
 import com.ruoyi.sales.dto.ShippingInfoDto;
+import com.ruoyi.sales.dto.ShippingProductDetailDto;
 import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import com.ruoyi.sales.mapper.ShippingInfoMapper;
 import com.ruoyi.sales.mapper.ShippingProductDetailMapper;
@@ -135,4 +136,9 @@
         shippingProductDetailMapper.insert(req.getBatchNoDetailList());
         return true;
     }
+
+    @Override
+    public List<ShippingProductDetailDto> getDetail(Long id) {
+        return shippingProductDetailMapper.getDetail(id);
+    }
 }
diff --git a/src/main/resources/mapper/sales/ShippingProductDetailMapper.xml b/src/main/resources/mapper/sales/ShippingProductDetailMapper.xml
index eabe491..464af10 100644
--- a/src/main/resources/mapper/sales/ShippingProductDetailMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingProductDetailMapper.xml
@@ -10,5 +10,13 @@
         <result column="quantity" property="quantity" />
         <result column="shipping_info_id" property="shippingInfoId" />
     </resultMap>
+    <select id="getDetail" resultType="com.ruoyi.sales.dto.ShippingProductDetailDto">
+        select si.batch_no, pm.model as specification_model, p.product_name, spd.quantity as delivery_quantity
+        from shipping_product_detail spd
+                 left join stock_inventory si on si.id = spd.stock_inventory_id
+                 left join product_model pm on pm.id = si.product_model_id
+                 left join product p on p.id = pm.product_id
+        where spd.shipping_info_id = #{id}
+    </select>
 
 </mapper>

--
Gitblit v1.9.3