From 0378df1167bff05e209a22ad91f6d01a6e316902 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 06 三月 2026 18:03:00 +0800
Subject: [PATCH] 增加采购退货单列表和新增接口
---
src/main/java/com/ruoyi/purchase/pojo/PurchaseReturnOrders.java | 10 +++++
src/main/java/com/ruoyi/purchase/vo/PurchaseReturnOrderVo.java | 17 ++++++++
doc/20260306_create_purchase_return_orders.sql | 4 ++
src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java | 6 ++
src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java | 11 +++++
src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java | 6 ++
src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderDto.java | 10 +++++
src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrdersController.java | 33 +++++++++++++++-
src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml | 17 ++++++++
9 files changed, 110 insertions(+), 4 deletions(-)
diff --git a/doc/20260306_craete_purchase_return_orders.sql b/doc/20260306_create_purchase_return_orders.sql
similarity index 87%
rename from doc/20260306_craete_purchase_return_orders.sql
rename to doc/20260306_create_purchase_return_orders.sql
index 6e31d78..84c700b 100644
--- a/doc/20260306_craete_purchase_return_orders.sql
+++ b/doc/20260306_create_purchase_return_orders.sql
@@ -12,9 +12,13 @@
prepared_user_id bigint not null default 0 comment '鍒跺崟浜篿d',
return_user_id bigint not null default 0 comment '閫�鏂欎汉id',
purchase_ledger_id bigint not null default 0 comment '閲囪喘璁㈠崟id',
+ total_discount_amount decimal(10, 2) null comment '鏁村崟鎶樻墸棰�',
+ total_discount_rate decimal(10, 2) null comment '鏁村崟鎶樻墸鐜�',
+ total_amount decimal(10,2) null comment '鎴愪氦閲戦',
remark text null comment '澶囨敞',
create_time datetime null comment '褰曞叆鏃堕棿',
update_time datetime null comment '鏇存柊鏃堕棿',
+ index idx_supplier_id (supplier_id),
index idx_purchase_ledger_id (purchase_ledger_id),
index idx_project_id (project_id)
);
diff --git a/src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrdersController.java b/src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrdersController.java
index 42363af..df60a34 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrdersController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PurchaseReturnOrdersController.java
@@ -1,7 +1,16 @@
package com.ruoyi.purchase.controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.OrderUtils;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.projectManagement.mapper.RolesMapper;
+import com.ruoyi.purchase.dto.PurchaseReturnOrderDto;
+import com.ruoyi.purchase.mapper.PurchaseReturnOrdersMapper;
+import com.ruoyi.purchase.service.PurchaseReturnOrdersService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
/**
* <p>
@@ -14,5 +23,25 @@
@RestController
@RequestMapping("/purchaseReturnOrders")
public class PurchaseReturnOrdersController {
+ @Autowired
+ private PurchaseReturnOrdersService purchaseReturnOrdersService;
+ @Autowired
+ private PurchaseReturnOrdersMapper purchaseReturnOrdersMapper;
+
+
+ @GetMapping("/listPage")
+ public AjaxResult listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto) {
+ return AjaxResult.success(purchaseReturnOrdersService.listPage(page, purchaseReturnOrderDto));
+ }
+
+ // 鏂板
+ @Log(title = "閲囪喘閫�璐у崟", businessType = BusinessType.INSERT)
+ @PostMapping("/add")
+ public AjaxResult add(@RequestBody PurchaseReturnOrderDto purchaseReturnOrderDto) throws Exception {
+ if (purchaseReturnOrderDto.getIsDefaultNo()) {
+ purchaseReturnOrderDto.setNo(OrderUtils.countTodayByCreateTime(purchaseReturnOrdersMapper, "CGTL"));
+ }
+ return AjaxResult.success(purchaseReturnOrdersService.save(purchaseReturnOrderDto));
+ }
}
diff --git a/src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderDto.java b/src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderDto.java
new file mode 100644
index 0000000..2de8642
--- /dev/null
+++ b/src/main/java/com/ruoyi/purchase/dto/PurchaseReturnOrderDto.java
@@ -0,0 +1,10 @@
+package com.ruoyi.purchase.dto;
+
+import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
+import lombok.Data;
+
+@Data
+public class PurchaseReturnOrderDto extends PurchaseReturnOrders {
+ // 鏄惁浣跨敤绯荤粺鍗曞彿
+ private Boolean isDefaultNo;
+}
diff --git a/src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java b/src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java
index d2c1747..f0e0227 100644
--- a/src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java
+++ b/src/main/java/com/ruoyi/purchase/mapper/PurchaseReturnOrdersMapper.java
@@ -1,8 +1,12 @@
package com.ruoyi.purchase.mapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.purchase.vo.PurchaseReturnOrderVo;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
/**
* <p>
@@ -14,5 +18,5 @@
*/
@Mapper
public interface PurchaseReturnOrdersMapper extends BaseMapper<PurchaseReturnOrders> {
-
+ IPage<PurchaseReturnOrderVo> listPage(Page page, @Param("params") PurchaseReturnOrders purchaseReturnOrder);
}
diff --git a/src/main/java/com/ruoyi/purchase/pojo/PurchaseReturnOrders.java b/src/main/java/com/ruoyi/purchase/pojo/PurchaseReturnOrders.java
index c2004c3..821347d 100644
--- a/src/main/java/com/ruoyi/purchase/pojo/PurchaseReturnOrders.java
+++ b/src/main/java/com/ruoyi/purchase/pojo/PurchaseReturnOrders.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -61,6 +62,15 @@
@ApiModelProperty("澶囨敞")
private String remark;
+ @ApiModelProperty("'鏁村崟鎶樻墸棰�'")
+ private BigDecimal totalDiscountAmount;
+
+ @ApiModelProperty("'鏁村崟鎶樻墸鐜�'")
+ private BigDecimal totalDiscountRate;
+
+ @ApiModelProperty("'鎴愪氦閲戦'")
+ private BigDecimal totalAmount;
+
@ApiModelProperty("褰曞叆鏃堕棿")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
diff --git a/src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java b/src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java
index 6f165e1..74a451f 100644
--- a/src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java
+++ b/src/main/java/com/ruoyi/purchase/service/PurchaseReturnOrdersService.java
@@ -1,7 +1,11 @@
package com.ruoyi.purchase.service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.purchase.dto.PurchaseReturnOrderDto;
import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.purchase.vo.PurchaseReturnOrderVo;
/**
* <p>
@@ -12,5 +16,5 @@
* @since 2026-03-06 11:44:38
*/
public interface PurchaseReturnOrdersService extends IService<PurchaseReturnOrders> {
-
+ IPage<PurchaseReturnOrderVo> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto);
}
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
index f052d45..c084a68 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
@@ -1,9 +1,14 @@
package com.ruoyi.purchase.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.purchase.dto.PurchaseReturnOrderDto;
import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
import com.ruoyi.purchase.mapper.PurchaseReturnOrdersMapper;
import com.ruoyi.purchase.service.PurchaseReturnOrdersService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.purchase.vo.PurchaseReturnOrderVo;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@@ -16,5 +21,11 @@
*/
@Service
public class PurchaseReturnOrdersServiceImpl extends ServiceImpl<PurchaseReturnOrdersMapper, PurchaseReturnOrders> implements PurchaseReturnOrdersService {
+ @Autowired
+ private PurchaseReturnOrdersMapper purchaseReturnOrdersMapper;
+ @Override
+ public IPage<PurchaseReturnOrderVo> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto) {
+ return purchaseReturnOrdersMapper.listPage(page, purchaseReturnOrderDto);
+ }
}
diff --git a/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnOrderVo.java b/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnOrderVo.java
new file mode 100644
index 0000000..8e19f8c
--- /dev/null
+++ b/src/main/java/com/ruoyi/purchase/vo/PurchaseReturnOrderVo.java
@@ -0,0 +1,17 @@
+package com.ruoyi.purchase.vo;
+
+import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
+
+public class PurchaseReturnOrderVo extends PurchaseReturnOrders {
+ //渚涘簲鍟嗗悕绉�
+ private String supplierName;
+
+ // 閲囪喘鍚堝悓鍙�
+ private String purchaseContractNumber;
+
+ //閫�鏂欎汉濮撳悕
+ private String returnUserName;
+
+ //鍒跺崟浜哄鍚�
+ private String createUserName;
+}
diff --git a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
index 8d23060..8976a3a 100644
--- a/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseReturnOrdersMapper.xml
@@ -19,4 +19,21 @@
<result column="update_time" property="updateTime" />
</resultMap>
+ <select id="listPage" resultType="com.ruoyi.purchase.vo.PurchaseReturnOrderVo">
+ SELECT
+ pro.*,
+ sm.supplier_name as supplierName,
+ pl.purchase_contract_number as purchaseContractNumber,
+ su.user_name as returnUserName,
+ su1.user_name as createUserName
+ FROM purchase_return_orders pro
+ LEFT JOIN supplier_manage sm ON pro.supplier_id = sm.id
+ LEFT JOIN purchase_ledger pl ON pl.id = pro.purchase_ledger_id
+ LEFT JOIN sys_user su ON su.user_id = pro.return_user_id
+ LEFT JOIN sys_user su1 ON su1.user_id = pro.prepared_user_id
+ where 1=1
+ <if test="params.no != null and params.no != '' ">
+ AND pro.no LIKE CONCAT('%',#{params.no},'%')
+ </if>
+ </select>
</mapper>
--
Gitblit v1.9.3