From 58603ef5f8eed9b5e4c13ccb8b02fdeed0999577 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 13 三月 2026 13:45:30 +0800
Subject: [PATCH] yys 销售退货退款修改
---
src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java | 36 +++++++++++++++++
src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java | 7 +++
src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java | 3 +
src/main/resources/mapper/sales/ShippingInfoMapper.xml | 2
src/main/java/com/ruoyi/procurementrecord/pojo/ReturnSaleProduct.java | 16 ++++++++
src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java | 3 +
6 files changed, 63 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java b/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
index 20059d5..df0d011 100644
--- a/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
+++ b/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
@@ -11,7 +11,8 @@
PRODUCTION_REPORT_STOCK_IN("2", "鐢熶骇鎶ュ伐-鍏ュ簱"),
PURCHASE_STOCK_IN("7", "閲囪喘-鍏ュ簱"),
QUALITYINSPECT_STOCK_IN("6", "璐ㄦ-鍚堟牸鍏ュ簱"),
- DEFECTIVE_PASS("11", "涓嶅悎鏍�-璁╂鏀捐");
+ DEFECTIVE_PASS("11", "涓嶅悎鏍�-璁╂鏀捐"),
+ RETURN_HE_IN("14", "閿�鍞��璐�-鍚堟牸鍏ュ簱");
private final String code;
diff --git a/src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java b/src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java
index d221461..a03e6bd 100644
--- a/src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java
+++ b/src/main/java/com/ruoyi/common/enums/StockInUnQualifiedRecordTypeEnum.java
@@ -10,7 +10,8 @@
DEFECTIVE_SCRAP("4", "涓嶅悎鏍煎鐞�-鎶ュ簾"),
PRODUCTION_SCRAP("5", "鐢熶骇鎶ュ伐-鎶ュ簾"),
CUSTOMIZATION_UNSTOCK_IN("9", "涓嶅悎鏍艰嚜瀹氫箟鍏ュ簱"),
- QUALITYINSPECT_UNSTOCK_IN("12", "璐ㄦ-涓嶅悎鏍煎叆搴�");
+ QUALITYINSPECT_UNSTOCK_IN("12", "璐ㄦ-涓嶅悎鏍煎叆搴�"),
+ RETURN_UNSTOCK_IN("15", "閿�鍞��璐�-涓嶅悎鏍煎叆搴�");
private final String code;
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java b/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java
index f061625..bae0caa 100644
--- a/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java
+++ b/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnManagement.java
@@ -7,6 +7,7 @@
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
@@ -44,6 +45,12 @@
@ApiModelProperty("鍒跺崟浜�")
private String maker;
+ @ApiModelProperty("閫�璐у師鍥�")
+ private String returnReason;
+
+ @ApiModelProperty("閫�娆炬�婚")
+ private BigDecimal refundAmount;
+
@ApiModelProperty("鍒跺崟鏃堕棿")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnSaleProduct.java b/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnSaleProduct.java
index 41ab99c..9a47197 100644
--- a/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnSaleProduct.java
+++ b/src/main/java/com/ruoyi/procurementrecord/pojo/ReturnSaleProduct.java
@@ -1,6 +1,7 @@
package com.ruoyi.procurementrecord.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
@@ -26,6 +27,9 @@
private static final long serialVersionUID = 1L;
+ @ApiModelProperty("浜у搧瑙勬牸id")
+ private Long productModelId;
+
@ApiModelProperty("涓婚敭id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@@ -39,6 +43,18 @@
@ApiModelProperty("閫�璐т骇鍝佹暟閲�")
private BigDecimal num;
+ @ApiModelProperty("閫�璐т骇鍝佸崟浠�")
+ private BigDecimal price;
+
+ @ApiModelProperty("閫�璐т骇鍝侀噾棰�")
+ private BigDecimal amount;
+
@ApiModelProperty("閫�璐х姸鎬� 0 鏈��鍥� 1宸查��璐�")
private Integer status;
+
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+ @ApiModelProperty("鏄惁鏈夎川閲忛棶棰�(1-鏄� 2-鍚�)")
+ private Integer isQuality;
}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java
index 6eb90db..d2b6142 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java
@@ -5,8 +5,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.dto.SalesRefundAmountOrderDto;
+import com.ruoyi.account.mapper.AccountExpenseMapper;
+import com.ruoyi.account.pojo.AccountExpense;
import com.ruoyi.account.pojo.SalesRefundAmountOrder;
import com.ruoyi.account.service.SalesRefundAmountOrderService;
+import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.procurementrecord.dto.ReturnManagementDto;
@@ -16,6 +20,7 @@
import com.ruoyi.procurementrecord.pojo.ReturnSaleProduct;
import com.ruoyi.procurementrecord.service.ReturnManagementService;
import com.ruoyi.procurementrecord.service.ReturnSaleProductService;
+import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.sales.dto.SalesLedgerDto;
import com.ruoyi.sales.dto.SalesLedgerProductDto;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
@@ -30,6 +35,7 @@
import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
/**
@@ -51,6 +57,12 @@
private SalesLedgerMapper salesLedgerMapper;
@Autowired
private SalesRefundAmountOrderService salesRefundAmountOrderService;
+
+ @Autowired
+ private StockUtils stockUtils;
+
+ @Autowired
+ private AccountExpenseMapper accountExpenseMapper;
@Override
public IPage<ReturnManagementDto> listPage(Page page, ReturnManagementDto returnManagement) {
@@ -112,10 +124,32 @@
for (ReturnSaleProductDto returnSaleProduct : list) {
bigDecimal = bigDecimal.add(returnSaleProduct.getPrice());
salesRefundAmountOrder.setRefundedAmount(new BigDecimal(0));
+ // 鏄惁鏈夎川閲忛棶棰�
+ if (returnSaleProduct.getIsQuality() == 1) {
+ // 鏈夎川閲忛棶棰橈紝鍏ヤ笉鍚堟牸搴�
+ stockUtils.addUnStock(returnSaleProduct.getProductModelId(),returnSaleProduct.getNum(), StockInUnQualifiedRecordTypeEnum.RETURN_UNSTOCK_IN.getCode(),returnSaleProduct.getId());
+ }else{
+ // 鏃犺川閲忛棶棰橈紝鍏ュ悎鏍煎簱
+ stockUtils.addStock(returnSaleProduct.getProductModelId(),returnSaleProduct.getNum(), StockInQualifiedRecordTypeEnum.RETURN_HE_IN.getCode(),returnSaleProduct.getId());
+ }
}
salesRefundAmountOrder.setRefundAmount(bigDecimal);
salesRefundAmountOrder.setNotRefundedAmount(salesRefundAmountOrder.getRefundedAmount());
- salesRefundAmountOrderService.addSalesRefundAmountOrderDto(salesRefundAmountOrder);
+ // 鍒嗘壒閫�娆�
+// salesRefundAmountOrderService.addSalesRefundAmountOrderDto(salesRefundAmountOrder);
+ // 鍜岃储鍔¤仈鍔紝鏂板鏀嚭
+ AccountExpense accountExpense = new AccountExpense();
+ accountExpense.setBusinessType(3);
+ accountExpense.setExpenseMoney(byId.getRefundAmount());
+ accountExpense.setBusinessId(byId.getId());
+ accountExpense.setExpenseDate(new Date());
+ accountExpense.setExpenseMethod("3");
+ accountExpense.setExpenseType("5");
+ accountExpense.setExpenseDescribed("閿�鍞��璐ч��娆�");
+ accountExpense.setNote(byId.getReturnReason());
+ accountExpense.setInputUser(SecurityUtils.getLoginUser().getNickName());
+ accountExpense.setInputTime(new Date());
+ accountExpenseMapper.insert(accountExpense);
return true;
}
diff --git a/src/main/resources/mapper/sales/ShippingInfoMapper.xml b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
index 955a89f..82c67b2 100644
--- a/src/main/resources/mapper/sales/ShippingInfoMapper.xml
+++ b/src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -84,6 +84,6 @@
<select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo">
select * from shipping_info si
left join sales_ledger sl on si.sales_ledger_id = sl.id
- where sl.customer_name = #{customerName}
+ where si.status = '宸插彂璐�' and sl.customer_name = #{customerName}
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3