瀏覽代碼

✨ ERP:初始化销售退货逻辑 100%

YunaiV 1 年之前
父節點
當前提交
798b72778e

+ 3 - 0
yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/vo/order/ErpSaleOrderPageReqVO.java

@@ -74,4 +74,7 @@ public class ErpSaleOrderPageReqVO extends PageParam {
     @Schema(description = "是否可出库", example = "true")
     private Boolean outEnable;
 
+    @Schema(description = "是否可退货", example = "true")
+    private Boolean returnEnable;
+
 }

+ 1 - 1
yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/vo/returns/ErpSaleReturnRespVO.java

@@ -42,7 +42,7 @@ public class ErpSaleReturnRespVO {
 
     @Schema(description = "退货时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("退货时间")
-    private LocalDateTime outTime;
+    private LocalDateTime returnTime;
 
     @Schema(description = "销售订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17386")
     private Long orderId;

+ 6 - 1
yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/sale/ErpSaleOrderMapper.java

@@ -46,11 +46,16 @@ public interface ErpSaleOrderMapper extends BaseMapperX<ErpSaleOrderDO> {
         } else if (Objects.equals(reqVO.getReturnStatus(), ErpSaleOrderPageReqVO.RETURN_STATUS_ALL)) {
             query.apply("t.return_count = t.total_count");
         }
-        // 可出库
+        // 可销售出库
         if (Boolean.TRUE.equals(reqVO.getOutEnable())) {
             query.eq(ErpSaleOrderDO::getStatus, ErpAuditStatus.APPROVE.getStatus())
                     .apply("t.out_count < t.total_count");
         }
+        // 可销售退货
+        if (Boolean.TRUE.equals(reqVO.getReturnEnable())) {
+            query.eq(ErpSaleOrderDO::getStatus, ErpAuditStatus.APPROVE.getStatus())
+                    .apply("t.return_count < t.out_count");
+        }
         if (reqVO.getProductId() != null) {
             query.leftJoin(ErpSaleOrderItemDO.class, ErpSaleOrderItemDO::getOrderId, ErpSaleOrderDO::getId)
                     .eq(reqVO.getProductId() != null, ErpSaleOrderItemDO::getProductId, reqVO.getProductId())