Commit 798b72778ef1af60745fc8f1416f38d30934f694

Authored by YunaiV
1 parent 926286fe

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

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 { @@ -74,4 +74,7 @@ public class ErpSaleOrderPageReqVO extends PageParam {
74 @Schema(description = "是否可出库", example = "true") 74 @Schema(description = "是否可出库", example = "true")
75 private Boolean outEnable; 75 private Boolean outEnable;
76 76
  77 + @Schema(description = "是否可退货", example = "true")
  78 + private Boolean returnEnable;
  79 +
77 } 80 }
78 \ No newline at end of file 81 \ No newline at end of file
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 { @@ -42,7 +42,7 @@ public class ErpSaleReturnRespVO {
42 42
43 @Schema(description = "退货时间", requiredMode = Schema.RequiredMode.REQUIRED) 43 @Schema(description = "退货时间", requiredMode = Schema.RequiredMode.REQUIRED)
44 @ExcelProperty("退货时间") 44 @ExcelProperty("退货时间")
45 - private LocalDateTime outTime; 45 + private LocalDateTime returnTime;
46 46
47 @Schema(description = "销售订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17386") 47 @Schema(description = "销售订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17386")
48 private Long orderId; 48 private Long orderId;
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> { @@ -46,11 +46,16 @@ public interface ErpSaleOrderMapper extends BaseMapperX<ErpSaleOrderDO> {
46 } else if (Objects.equals(reqVO.getReturnStatus(), ErpSaleOrderPageReqVO.RETURN_STATUS_ALL)) { 46 } else if (Objects.equals(reqVO.getReturnStatus(), ErpSaleOrderPageReqVO.RETURN_STATUS_ALL)) {
47 query.apply("t.return_count = t.total_count"); 47 query.apply("t.return_count = t.total_count");
48 } 48 }
49 - // 可出库 49 + // 可销售出库
50 if (Boolean.TRUE.equals(reqVO.getOutEnable())) { 50 if (Boolean.TRUE.equals(reqVO.getOutEnable())) {
51 query.eq(ErpSaleOrderDO::getStatus, ErpAuditStatus.APPROVE.getStatus()) 51 query.eq(ErpSaleOrderDO::getStatus, ErpAuditStatus.APPROVE.getStatus())
52 .apply("t.out_count < t.total_count"); 52 .apply("t.out_count < t.total_count");
53 } 53 }
  54 + // 可销售退货
  55 + if (Boolean.TRUE.equals(reqVO.getReturnEnable())) {
  56 + query.eq(ErpSaleOrderDO::getStatus, ErpAuditStatus.APPROVE.getStatus())
  57 + .apply("t.return_count < t.out_count");
  58 + }
54 if (reqVO.getProductId() != null) { 59 if (reqVO.getProductId() != null) {
55 query.leftJoin(ErpSaleOrderItemDO.class, ErpSaleOrderItemDO::getOrderId, ErpSaleOrderDO::getId) 60 query.leftJoin(ErpSaleOrderItemDO.class, ErpSaleOrderItemDO::getOrderId, ErpSaleOrderDO::getId)
56 .eq(reqVO.getProductId() != null, ErpSaleOrderItemDO::getProductId, reqVO.getProductId()) 61 .eq(reqVO.getProductId() != null, ErpSaleOrderItemDO::getProductId, reqVO.getProductId())