From 715dedf78b65a20825b41c4d87eabff39f02367a Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Sat, 5 Apr 2025 10:38:13 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E7=B3=BB=E7=BB=9F=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=9E=9A=E4=B8=BE=E7=8A=B6=E6=80=81=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xkt/vo/storeProd/StoreProdPageResVO.java | 2 +- .../xkt/vo/storeProd/StoreProdResVO.java | 2 +- .../xkt/vo/storeProd/StoreProdStatusVO.java | 2 +- .../xkt/vo/storeProd/StoreProdVO.java | 4 +- .../StoreProdStoragePageVO.java | 2 +- .../StoreProdStorageResVO.java | 2 +- .../storeProdStorage/StoreProdStorageVO.java | 2 +- .../StoreProdDemandPageResVO.java | 2 +- .../storeProductDemand/StoreProdDemandVO.java | 4 +- .../xkt/vo/storeSale/StoreSalePageVO.java | 8 +- .../xkt/vo/storeSale/StoreSaleVO.java | 8 +- .../StoreSaleRefundRecordVO.java | 2 +- .../com/ruoyi/xkt/domain/StoreProduct.java | 4 +- .../xkt/domain/StoreProductColorSize.java | 6 +- .../xkt/domain/StoreProductDemandDetail.java | 4 +- .../ruoyi/xkt/domain/StoreProductFile.java | 4 +- .../ruoyi/xkt/domain/StoreProductStorage.java | 4 +- .../java/com/ruoyi/xkt/domain/StoreSale.java | 4 +- .../com/ruoyi/xkt/domain/StoreSaleDetail.java | 4 +- .../storeProdStorage/StoreProdStorageDTO.java | 2 +- .../StoreProdStoragePageDTO.java | 2 +- .../StoreProdStoragePageResDTO.java | 2 +- .../StoreProdStorageResDTO.java | 2 +- .../xkt/dto/storeProduct/StoreProdDTO.java | 4 +- .../dto/storeProduct/StoreProdPageResDTO.java | 2 +- .../xkt/dto/storeProduct/StoreProdResDTO.java | 2 +- .../dto/storeProduct/StoreProdStatusDTO.java | 2 +- .../StoreProdDemandPageResDTO.java | 4 +- .../ruoyi/xkt/dto/storeSale/StoreSaleDTO.java | 12 +- .../xkt/dto/storeSale/StoreSalePageDTO.java | 8 +- .../dto/storeSale/StoreSalePageResDTO.java | 8 +- .../StoreSaleRefundRecordDTO.java | 2 +- .../com/ruoyi/xkt/enums/EProductStatus.java | 16 +-- .../com/ruoyi/xkt/enums/EmergencyType.java | 28 +++++ .../java/com/ruoyi/xkt/enums/FileType.java | 29 +++++ .../java/com/ruoyi/xkt/enums/ListingType.java | 28 +++++ .../main/java/com/ruoyi/xkt/enums/PayWay.java | 30 +++++ .../com/ruoyi/xkt/enums/PaymentStatus.java | 29 +++++ .../ruoyi/xkt/enums/ProductSizeStatus.java | 29 +++++ .../java/com/ruoyi/xkt/enums/SaleType.java | 29 +++++ .../java/com/ruoyi/xkt/enums/StorageType.java | 29 +++++ .../xkt/mapper/StoreProductFileMapper.java | 4 +- ...oreCustomerProductDiscountServiceImpl.java | 7 +- .../impl/StoreCustomerServiceImpl.java | 13 +- .../service/impl/StoreFactoryServiceImpl.java | 7 +- .../service/impl/StoreOrderServiceImpl.java | 2 +- .../impl/StoreProductDemandServiceImpl.java | 42 ++++--- .../service/impl/StoreProductServiceImpl.java | 21 ++-- .../impl/StoreProductStockServiceImpl.java | 20 +-- .../impl/StoreProductStorageServiceImpl.java | 117 +++--------------- .../impl/StoreQuickFunctionServiceImpl.java | 3 +- .../StoreSaleRefundRecordServiceImpl.java | 3 +- .../service/impl/StoreSaleServiceImpl.java | 35 +++--- 53 files changed, 402 insertions(+), 241 deletions(-) create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/EmergencyType.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/FileType.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/ListingType.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/PayWay.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/PaymentStatus.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/ProductSizeStatus.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/SaleType.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/enums/StorageType.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdPageResVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdPageResVO.java index 7f596d534..4ee1acc01 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdPageResVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdPageResVO.java @@ -30,7 +30,7 @@ public class StoreProdPageResVO { @ApiModelProperty(name = "销售金额(元)") private BigDecimal price; @ApiModelProperty(name = "状态") - private String prodStatus; + private Integer prodStatus; @ApiModelProperty(name = "创建时间") private Date createTime; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdResVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdResVO.java index 76e1c05ca..7cb92cf7b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdResVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdResVO.java @@ -42,7 +42,7 @@ public class StoreProdResVO { @ApiModelProperty(name = "发货时效") private Integer deliveryTime; @ApiModelProperty(name = "上架方式") - private String listingWay; + private Integer listingWay; @ApiModelProperty(name = "定时发货时间(精确到小时)") @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date listingWaySchedule; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdStatusVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdStatusVO.java index fa2b3b504..cbb2bd33e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdStatusVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdStatusVO.java @@ -22,6 +22,6 @@ public class StoreProdStatusVO { private List storeProdIdList; @NotBlank(message = "档口商品状态不能为空!") @ApiModelProperty("档口商品状态") - private String prodStatus; + private Integer prodStatus; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdVO.java index 0623f73ad..33545eb7f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdVO.java @@ -54,10 +54,10 @@ public class StoreProdVO { private Integer deliveryTime; @ApiModelProperty(name = "上架方式") @NotBlank(message = "上架方式不能为空!") - private String listingWay; + private Integer listingWay; @ApiModelProperty(name = "商品状态") @NotBlank(message = "商品状态不能为空!") - private String prodStatus; + private Integer prodStatus; @ApiModelProperty(name = "定时发货时间(精确到小时)") @JsonFormat(pattern = "yyyy-MM-dd HH") private Date listingWaySchedule; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStoragePageVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStoragePageVO.java index 7b0a26e67..db28cc532 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStoragePageVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStoragePageVO.java @@ -26,7 +26,7 @@ public class StoreProdStoragePageVO extends BasePageVO { @ApiModelProperty(name = "商品货号") private String prodArtNum; @ApiModelProperty(name = "入库类型") - private String storageType; + private Integer storageType; @ApiModelProperty(name = "销售开始时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date createTimeStart; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStorageResVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStorageResVO.java index abfa1cf4d..7dea60f43 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStorageResVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStorageResVO.java @@ -31,7 +31,7 @@ public class StoreProdStorageResVO { @ApiModelProperty(name = "单据编号") private String code; @ApiModelProperty(name = "入库类型") - private String storageType; + private Integer storageType; @ApiModelProperty(name = "数量") private Integer quantity; @ApiModelProperty(name = "生产成本金额") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStorageVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStorageVO.java index 93867a470..7ae82fd31 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStorageVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProdStorage/StoreProdStorageVO.java @@ -28,7 +28,7 @@ public class StoreProdStorageVO { private Long storeId; @NotBlank(message = "入库类型不能为空!") @ApiModelProperty(name = "入库类型") - private String storageType; + private Integer storageType; @Valid @NotNull(message = "商品入库明细列表不能为空!") @ApiModelProperty(name = "商品入库明细列表") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProductDemand/StoreProdDemandPageResVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProductDemand/StoreProdDemandPageResVO.java index dbadc5f17..6cd2f8f52 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProductDemand/StoreProdDemandPageResVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProductDemand/StoreProdDemandPageResVO.java @@ -38,7 +38,7 @@ public class StoreProdDemandPageResVO { @ApiModelProperty(name = "生产状态") private String detailStatus; @ApiModelProperty(name = "紧急单还是正常单") - private String emergency; + private Integer emergency; @ApiModelProperty(name = "计划生产数量") private Integer quantity; @ApiModelProperty(name = "入库数量") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProductDemand/StoreProdDemandVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProductDemand/StoreProdDemandVO.java index fc3e50284..27763a376 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProductDemand/StoreProdDemandVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProductDemand/StoreProdDemandVO.java @@ -46,8 +46,8 @@ public class StoreProdDemandVO { @ApiModelProperty(name = "颜色") private String colorName; @NotBlank(message = "是否紧急单不能为空") - @ApiModelProperty(name = "是否紧急单", notes = "0=正常,1=紧急") - private String emergency; + @ApiModelProperty(name = "是否紧急单", notes = "2=正常,1=紧急") + private Integer emergency; @ApiModelProperty(name = "总的数量") private Integer quantity; @ApiModelProperty(name = "尺码30") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSalePageVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSalePageVO.java index 9900c78da..2e52041ca 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSalePageVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSalePageVO.java @@ -27,12 +27,12 @@ public class StoreSalePageVO extends BasePageVO { private String prodArtNum; @ApiModelProperty(name = "客户名称") private String cusName; - @ApiModelProperty(name = "销售类型", notes = "普通销售、销售退货、普通销售/销售退货 GENERAL_SALE SALE_REFUND SALE_AND_REFUND") - private String saleType; + @ApiModelProperty(name = "销售类型", notes = "销售、退货、销售/退货 1 2 3") + private Integer saleType; @ApiModelProperty(name = "结款状态") - private String paymentStatus; + private Integer paymentStatus; @ApiModelProperty(name = "支付方式") - private String payWay; + private Integer payWay; @ApiModelProperty(name = "销售开始时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date createTimeStart; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSaleVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSaleVO.java index 2179102ec..0db94fe9d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSaleVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSale/StoreSaleVO.java @@ -35,14 +35,14 @@ public class StoreSaleVO { @ApiModelProperty(name = "档口客户名称") @NotBlank(message = "档口客户名称不能为空!") private String storeCusName; - @ApiModelProperty(name = "销售类型(普通销售 GENERAL_SALE、销售退货 SALE_REFUND、普通销售/销售退货 SALE_AND_REFUND)") + @ApiModelProperty(name = "销售类型(销售 1、退货 2、销售/退货 3)") @NotBlank(message = "销售类型不能为空!") - private String saleType; + private Integer saleType; @NotBlank(message = "支付方式不能为空!") @ApiModelProperty(name = "支付方式(支付宝、微信、现金、欠款)ALIPAY WECHAT_PAY CASH DEBT") - private String payWay; + private Integer payWay; @ApiModelProperty(name = "结款状态(已结清、欠款) SETTLED、DEBT") - private String paymentStatus; + private Integer paymentStatus; @NotNull(message = "销售详情列表不能为空!") @Valid @ApiModelProperty(name = "销售详情列表") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSaleRefundRecord/StoreSaleRefundRecordVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSaleRefundRecord/StoreSaleRefundRecordVO.java index 9e39d9a8b..194b22381 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSaleRefundRecord/StoreSaleRefundRecordVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeSaleRefundRecord/StoreSaleRefundRecordVO.java @@ -30,7 +30,7 @@ public class StoreSaleRefundRecordVO { @JsonFormat(pattern = "HH:mm", timezone = "GMT+8") private Date createTime; @ApiModelProperty(name = "支付方式(支付宝、微信、现金、欠款)ALIPAY WECHAT_PAY CASH DEBT") - private String payWay; + private Integer payWay; @ApiModelProperty(name = "数量") private Integer quantity; @ApiModelProperty(name = "总金额") diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProduct.java b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProduct.java index fc4b52bfd..e77e53e3e 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProduct.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProduct.java @@ -94,7 +94,7 @@ public class StoreProduct extends XktBaseEntity { * 上架方式(立即上架、定时上架) */ @Excel(name = "上架方式", readConverterExp = "立=即上架、定时上架") - private String listingWay; + private Integer listingWay; /** * 下一个生成的条形码尾号 @@ -120,7 +120,7 @@ public class StoreProduct extends XktBaseEntity { * 商品状态 */ @Excel(name = "商品状态") - private String prodStatus; + private Integer prodStatus; @Override public String toString() { diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductColorSize.java b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductColorSize.java index 5015afdb5..4729d439a 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductColorSize.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductColorSize.java @@ -52,10 +52,10 @@ public class StoreProductColorSize extends XktBaseEntity { private String barcodePrefix; /** - * 是否是标准尺码(0不是 1是) + * 是否是标准尺码(2不是 1是) */ - @Excel(name = "是否是标准尺码", readConverterExp = "0=不是,1=是") - private String standard; + @Excel(name = "是否是标准尺码", readConverterExp = "2=不是,1=是") + private Integer standard; @Override public String toString() { diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductDemandDetail.java b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductDemandDetail.java index 107ad01f5..2ddc19fbe 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductDemandDetail.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductDemandDetail.java @@ -62,9 +62,9 @@ public class StoreProductDemandDetail extends XktBaseEntity { private Long storeProdId; /** - * 是否紧急单(0正常 1紧急) + * 是否紧急单(2正常 1紧急) */ - @Excel(name = "是否紧急单", readConverterExp = "0=正常,1=紧急") + @Excel(name = "是否紧急单", readConverterExp = "2=正常,1=紧急") private Integer emergency; /** diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductFile.java b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductFile.java index 2242e3b92..6d6d450bb 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductFile.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductFile.java @@ -48,10 +48,10 @@ public class StoreProductFile extends XktBaseEntity { private Long fileId; /** - * 文件类型(主图、视频、下载) + * 文件类型(1主图、2视频、3下载) */ @Excel(name = "文件类型", readConverterExp = "主=图、视频、下载") - private String fileType; + private Integer fileType; /** * 文件大小(M) diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductStorage.java b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductStorage.java index a47d99b1b..900681671 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductStorage.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreProductStorage.java @@ -39,10 +39,10 @@ public class StoreProductStorage extends XktBaseEntity { @Excel(name = "入库CODE") private String code; /** - * 入库类型 生产入库 PROD_STORAGE 其它入库 OTHER_STORAGE 维修入库 REPAIR_STORAGE + * 入库类型 生产入库 1 PROD_STORAGE 其它入库 2 OTHER_STORAGE 维修入库 3 REPAIR_STORAGE */ @Excel(name = "入库类型") - private String storageType; + private Integer storageType; /** * 数量 */ diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreSale.java b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreSale.java index 1be60e097..7c5bd1aa5 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreSale.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreSale.java @@ -74,11 +74,11 @@ public class StoreSale extends XktBaseEntity { * 支付方式(支付宝、微信、现金、欠款) */ @Excel(name = "支付方式", readConverterExp = "支=付宝、微信、现金、欠款") - private String payWay; + private Integer payWay; /** * 结款状态(已结清、欠款) SETTLED、DEBT */ - private String paymentStatus; + private Integer paymentStatus; /** * 操作人ID */ diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreSaleDetail.java b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreSaleDetail.java index 704f16e6f..f25cf801c 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreSaleDetail.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/StoreSaleDetail.java @@ -52,10 +52,10 @@ public class StoreSaleDetail extends XktBaseEntity { */ private Integer size; /** - * 销售类型(普通销售、销售退货) + * 销售类型(1销售、2退货、3销售/退货) */ @Excel(name = "销售类型", readConverterExp = "普=通销售、销售退货") - private String saleType; + private Integer saleType; /** * 商品货号 */ diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStorageDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStorageDTO.java index b3b9cd577..71d02a4df 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStorageDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStorageDTO.java @@ -27,7 +27,7 @@ public class StoreProdStorageDTO { private Long storeId; @NotBlank(message = "入库类型不能为空!") @ApiModelProperty(name = "入库类型") - private String storageType; + private Integer storageType; @Valid @NotNull(message = "商品入库明细列表不能为空!") @ApiModelProperty(name = "商品入库明细列表") diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStoragePageDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStoragePageDTO.java index d44431e3d..152796d8c 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStoragePageDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStoragePageDTO.java @@ -25,7 +25,7 @@ public class StoreProdStoragePageDTO extends BasePageDTO { @ApiModelProperty(name = "商品货号") private String prodArtNum; @ApiModelProperty(name = "入库类型") - private String storageType; + private Integer storageType; @ApiModelProperty(name = "销售开始时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date createTimeStart; diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStoragePageResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStoragePageResDTO.java index e9a736e39..f8d8509c5 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStoragePageResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStoragePageResDTO.java @@ -24,7 +24,7 @@ public class StoreProdStoragePageResDTO { @ApiModelProperty(name = "单据编号") private String code; @ApiModelProperty(name = "入库类型") - private String storageType; + private Integer storageType; @ApiModelProperty(name = "数量") private Integer quantity; @ApiModelProperty(name = "生产成本金额") diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStorageResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStorageResDTO.java index c840f5f56..5f7bf4172 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStorageResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProdStorage/StoreProdStorageResDTO.java @@ -31,7 +31,7 @@ public class StoreProdStorageResDTO { @ApiModelProperty(name = "单据编号") private String code; @ApiModelProperty(name = "入库类型") - private String storageType; + private Integer storageType; @ApiModelProperty(name = "数量") private Integer quantity; @ApiModelProperty(name = "生产成本金额") diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdDTO.java index bf9a98bc2..d89ac4f46 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdDTO.java @@ -51,9 +51,9 @@ public class StoreProdDTO { @ApiModelProperty(name = "发货时效") private Integer deliveryTime; @ApiModelProperty(name = "上架方式") - private String listingWay; + private Integer listingWay; @ApiModelProperty(name = "商品状态") - private String prodStatus; + private Integer prodStatus; @ApiModelProperty(name = "定时发货时间(精确到小时)") @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date listingWaySchedule; diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdPageResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdPageResDTO.java index 49d32a7fa..63e875f97 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdPageResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdPageResDTO.java @@ -40,7 +40,7 @@ public class StoreProdPageResDTO { @ApiModelProperty(name = "销售金额(元)") private BigDecimal price; @ApiModelProperty(name = "状态") - private String prodStatus; + private Integer prodStatus; @ApiModelProperty(name = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdResDTO.java index 4979a6ec4..f3600db43 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdResDTO.java @@ -51,7 +51,7 @@ public class StoreProdResDTO { @ApiModelProperty(name = "发货时效") private Integer deliveryTime; @ApiModelProperty(name = "上架方式") - private String listingWay; + private Integer listingWay; @ApiModelProperty(name = "定时发货时间(精确到小时)") @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date listingWaySchedule; diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdStatusDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdStatusDTO.java index a42881ac8..9ade8b7c6 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdStatusDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdStatusDTO.java @@ -18,6 +18,6 @@ public class StoreProdStatusDTO { @ApiModelProperty("档口商品名称") private List storeProdIdList; @ApiModelProperty("档口商品状态") - private String prodStatus; + private Integer prodStatus; } diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProductDemand/StoreProdDemandPageResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProductDemand/StoreProdDemandPageResDTO.java index c5283c495..201c8a2aa 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProductDemand/StoreProdDemandPageResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProductDemand/StoreProdDemandPageResDTO.java @@ -36,9 +36,9 @@ public class StoreProdDemandPageResDTO { @ApiModelProperty(name = "颜色") private String colorName; @ApiModelProperty(name = "生产状态") - private String detailStatus; + private Integer detailStatus; @ApiModelProperty(name = "紧急单还是正常单") - private String emergency; + private Integer emergency; @ApiModelProperty(name = "计划生产数量") private Integer quantity; @ApiModelProperty(name = "入库数量") diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSaleDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSaleDTO.java index c3fa27f58..ecae97726 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSaleDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSaleDTO.java @@ -29,12 +29,12 @@ public class StoreSaleDTO { private Long storeCusId; @ApiModelProperty(name = "档口客户名称") private String storeCusName; - @ApiModelProperty(name = "销售类型(普通销售 GENERAL_SALE、销售退货 SALE_REFUND、普通销售/销售退货 SALE_AND_REFUND)") - private String saleType; - @ApiModelProperty(name = "支付方式(支付宝、微信、现金、欠款)ALIPAY WECHAT_PAY CASH DEBT") - private String payWay; - @ApiModelProperty(name = "结款状态(已结清、欠款) SETTLED、DEBT") - private String paymentStatus; + @ApiModelProperty(name = "销售类型(销售 1、退货 2、销售/退货 3)") + private Integer saleType; + @ApiModelProperty(name = "支付方式(支付宝、微信、现金、欠款)1ALIPAY 2WECHAT_PAY 3CASH 4DEBT") + private Integer payWay; + @ApiModelProperty(name = "结款状态(已结清、欠款) 1、2") + private Integer paymentStatus; @ApiModelProperty(name = "销售详情列表") private List detailList; diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSalePageDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSalePageDTO.java index 84803e966..55311dd86 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSalePageDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSalePageDTO.java @@ -27,12 +27,12 @@ public class StoreSalePageDTO extends BasePageDTO { private String prodArtNum; @ApiModelProperty(name = "客户名称") private String cusName; - @ApiModelProperty(name = "销售类型", notes = "普通销售、销售退货、普通销售/销售退货 GENERAL_SALE SALE_REFUND SALE_AND_REFUND") - private String saleType; + @ApiModelProperty(name = "销售类型", notes = "销售、退货、销售/退货 1 2 3") + private Integer saleType; @ApiModelProperty(name = "结款状态") - private String paymentStatus; + private Integer paymentStatus; @ApiModelProperty(name = "支付方式") - private String payWay; + private Integer payWay; @ApiModelProperty(name = "销售开始时间") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date createTimeStart; diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSalePageResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSalePageResDTO.java index 6a7d11537..21936eee8 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSalePageResDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSale/StoreSalePageResDTO.java @@ -28,16 +28,16 @@ public class StoreSalePageResDTO { @ApiModelProperty(name = "销售时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; - @ApiModelProperty(name = "销售类型(普通销售、销售退货、普通销售/销售退货)GENERAL_SALE SALE_REFUND SALE_AND_REFUND") - private String saleType; + @ApiModelProperty(name = "销售类型(1销售、2退货、3销售/退货)") + private Integer saleType; @ApiModelProperty(name = "销售数量") private Integer quantity; @ApiModelProperty(name = "总金额") private BigDecimal amount; @ApiModelProperty(name = "结款状态") - private String paymentStatus; + private Integer paymentStatus; @ApiModelProperty(name = "支付方式") - private String payWay; + private Integer payWay; @ApiModelProperty(name = "操作人") private String operatorName; @ApiModelProperty(name = "备注") diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSaleRefundRecord/StoreSaleRefundRecordDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSaleRefundRecord/StoreSaleRefundRecordDTO.java index 114c6b033..3ad89397b 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeSaleRefundRecord/StoreSaleRefundRecordDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeSaleRefundRecord/StoreSaleRefundRecordDTO.java @@ -30,7 +30,7 @@ public class StoreSaleRefundRecordDTO { @JsonFormat(pattern = "HH:mm", timezone = "GMT+8") private Date createTime; @ApiModelProperty(name = "支付方式(支付宝、微信、现金、欠款)ALIPAY WECHAT_PAY CASH DEBT") - private String payWay; + private Integer payWay; @ApiModelProperty(name = "数量") private Integer quantity; @ApiModelProperty(name = "总金额") diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/EProductStatus.java b/xkt/src/main/java/com/ruoyi/xkt/enums/EProductStatus.java index 5cced216c..a327a26a1 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/enums/EProductStatus.java +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/EProductStatus.java @@ -11,16 +11,16 @@ import lombok.Getter; @AllArgsConstructor public enum EProductStatus { - UN_PUBLISHED("UN_PUBLISHED", "未发布"), - ON_SALE("ON_SALE", "在售"), - TAIL_GOODS("TAIL_GOODS", "尾货"), - OFF_SALE("OFF_SALE", "已下架"), - REMOVED("REMOVED", "已删除"); + UN_PUBLISHED(1, "未发布"), + ON_SALE(2, "在售"), + TAIL_GOODS(3, "尾货"), + OFF_SALE(4, "已下架"), + REMOVED(5, "已删除"); - private final String value; + private final Integer value; private final String label; - public static EProductStatus of(String value) { + public static EProductStatus of(Integer value) { for (EProductStatus e : EProductStatus.values()) { if (e.getValue().equals(value)) { return e; @@ -35,7 +35,7 @@ public enum EProductStatus { * @param value * @return */ - public static boolean accessOrder(String value) { + public static boolean accessOrder(Integer value) { return ON_SALE.getValue().equals(value) || TAIL_GOODS.getValue().equals(value); } } diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/EmergencyType.java b/xkt/src/main/java/com/ruoyi/xkt/enums/EmergencyType.java new file mode 100644 index 000000000..8e700e800 --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/EmergencyType.java @@ -0,0 +1,28 @@ +package com.ruoyi.xkt.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum EmergencyType { + + PROD_STORAGE(1, "紧急单"), + OTHER_STORAGE(2, "正常单"); + + private final Integer value; + private final String label; + + public static EmergencyType of(Integer value) { + for (EmergencyType e : EmergencyType.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + return null; + } +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/FileType.java b/xkt/src/main/java/com/ruoyi/xkt/enums/FileType.java new file mode 100644 index 000000000..18ad5827b --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/FileType.java @@ -0,0 +1,29 @@ +package com.ruoyi.xkt.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum FileType { + + MAIN_PIC(1, "商品主图"), + MAIN_PIC_VIDEO(2, "商品主图视频"), + DOWNLOAD(3, "商品下载图片包"); + + private final Integer value; + private final String label; + + public static FileType of(Integer value) { + for (FileType e : FileType.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + return null; + } +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/ListingType.java b/xkt/src/main/java/com/ruoyi/xkt/enums/ListingType.java new file mode 100644 index 000000000..d73a82d8b --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/ListingType.java @@ -0,0 +1,28 @@ +package com.ruoyi.xkt.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum ListingType { + + RIGHT_NOW(1, "立即上架"), + TIME_SCHEDULE(2, "定时上架"); + + private final Integer value; + private final String label; + + public static ListingType of(Integer value) { + for (ListingType e : ListingType.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + return null; + } +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/PayWay.java b/xkt/src/main/java/com/ruoyi/xkt/enums/PayWay.java new file mode 100644 index 000000000..fef05f730 --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/PayWay.java @@ -0,0 +1,30 @@ +package com.ruoyi.xkt.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum PayWay { + + ALIPAY(1, "支付宝"), + WECHAT_PAY(2, "微信支付"), + CASH(3, "现金"), + DEBT(4, "欠款"); + + private final Integer value; + private final String label; + + public static PayWay of(Integer value) { + for (PayWay e : PayWay.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + return null; + } +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/PaymentStatus.java b/xkt/src/main/java/com/ruoyi/xkt/enums/PaymentStatus.java new file mode 100644 index 000000000..32481f972 --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/PaymentStatus.java @@ -0,0 +1,29 @@ +package com.ruoyi.xkt.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum PaymentStatus { + + SETTLED(1, "已结清"), + DEBT(2, "欠款"); + + private final Integer value; + private final String label; + + public static PaymentStatus of(Integer value) { + for (PaymentStatus e : PaymentStatus.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + return null; + } + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/ProductSizeStatus.java b/xkt/src/main/java/com/ruoyi/xkt/enums/ProductSizeStatus.java new file mode 100644 index 000000000..dcda44982 --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/ProductSizeStatus.java @@ -0,0 +1,29 @@ +package com.ruoyi.xkt.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum ProductSizeStatus { + + STANDARD(1, "标准码"), + UN_STANDARD(2, "非标准码"); + + private final Integer value; + private final String label; + + public static ProductSizeStatus of(Integer value) { + for (ProductSizeStatus e : ProductSizeStatus.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + return null; + } + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/SaleType.java b/xkt/src/main/java/com/ruoyi/xkt/enums/SaleType.java new file mode 100644 index 000000000..950da2263 --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/SaleType.java @@ -0,0 +1,29 @@ +package com.ruoyi.xkt.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum SaleType { + + GENERAL_SALE(1, "销售"), + SALE_REFUND(2, "退货"), + SALE_AND_REFUND(3, "销售/退货"); + + private final Integer value; + private final String label; + + public static SaleType of(Integer value) { + for (SaleType e : SaleType.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + return null; + } +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/enums/StorageType.java b/xkt/src/main/java/com/ruoyi/xkt/enums/StorageType.java new file mode 100644 index 000000000..11a9f9545 --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/enums/StorageType.java @@ -0,0 +1,29 @@ +package com.ruoyi.xkt.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @author liangyq + * @date 2025-04-02 23:42 + */ +@Getter +@AllArgsConstructor +public enum StorageType { + + PROD_STORAGE(1, "生产入库"), + OTHER_STORAGE(2, "其它入库"), + REPAIR_STORAGE(3, "维修入库"); + + private final Integer value; + private final String label; + + public static StorageType of(Integer value) { + for (StorageType e : StorageType.values()) { + if (e.getValue().equals(value)) { + return e; + } + } + return null; + } +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductFileMapper.java b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductFileMapper.java index 3722de9ca..8cd6f5d2f 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductFileMapper.java +++ b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductFileMapper.java @@ -83,7 +83,7 @@ public interface StoreProductFileMapper extends BaseMapper { * @return 返回匹配条件的主图DTO列表 */ List selectMainPicByStoreProdIdList(@Param("storeProdIdList") List storeProdIdList, - @Param("fileType") String fileType, + @Param("fileType") Integer fileType, @Param("orderNum") Integer orderNum); /** @@ -93,6 +93,6 @@ public interface StoreProductFileMapper extends BaseMapper { * @param fileType 文件类型 * @return List */ - List selectPicSpaceList(@Param("storeId") Long storeId, @Param("fileType") String fileType); + List selectPicSpaceList(@Param("storeId") Long storeId, @Param("fileType") Integer fileType); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerProductDiscountServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerProductDiscountServiceImpl.java index e008e666f..bb6e9e0a0 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerProductDiscountServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerProductDiscountServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.xkt.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.DateUtils; @@ -49,7 +50,7 @@ public class StoreCustomerProductDiscountServiceImpl implements IStoreCustomerPr @Transactional public Integer updateStoreCusProdDiscount(StoreCusProdDiscountDTO cusProdDisDTO) { List storeCusList = this.storeCusMapper.selectList(new LambdaQueryWrapper() - .eq(StoreCustomer::getStoreId, cusProdDisDTO.getStoreId()).eq(StoreCustomer::getDelFlag, "0") + .eq(StoreCustomer::getStoreId, cusProdDisDTO.getStoreId()).eq(StoreCustomer::getDelFlag, Constants.UNDELETED) .eq(StoreCustomer::getCusName, cusProdDisDTO.getStoreCusName())); if (ObjectUtils.isNotEmpty(storeCusList) && storeCusList.size() > 1) { throw new ServiceException("客户名称重复,请修改客户名称!", HttpStatus.CONFLICT); @@ -57,7 +58,7 @@ public class StoreCustomerProductDiscountServiceImpl implements IStoreCustomerPr StoreCustomer storeCus = CollectionUtils.isNotEmpty(storeCusList) ? storeCusList.get(0) : this.createStoreCustomer(cusProdDisDTO); // 获取当前档口客户已有的优惠 List cusProdDisList = Optional.ofNullable(cusProdDiscountMapper.selectList(new LambdaQueryWrapper() - .eq(StoreCustomerProductDiscount::getStoreCusName, cusProdDisDTO.getStoreCusName()).eq(StoreCustomerProductDiscount::getDelFlag, "0") + .eq(StoreCustomerProductDiscount::getStoreCusName, cusProdDisDTO.getStoreCusName()).eq(StoreCustomerProductDiscount::getDelFlag, Constants.UNDELETED) .eq(StoreCustomerProductDiscount::getStoreId, cusProdDisDTO.getStoreId()))).orElse(new ArrayList<>()); // 已存在优惠但优惠额度低于当前优惠,则更新该部分优惠 List updateList = cusProdDisList.stream() @@ -69,7 +70,7 @@ public class StoreCustomerProductDiscountServiceImpl implements IStoreCustomerPr List existDiscountProdColorIdList = cusProdDisList.stream().map(StoreCustomerProductDiscount::getStoreProdColorId).collect(Collectors.toList()); // 档口所有的商品 List storeProdColorList = this.storeProdColorMapper.selectList(new LambdaQueryWrapper() - .eq(StoreProductColor::getStoreId, cusProdDisDTO.getStoreId()).eq(StoreProductColor::getDelFlag, "0")); + .eq(StoreProductColor::getStoreId, cusProdDisDTO.getStoreId()).eq(StoreProductColor::getDelFlag, Constants.UNDELETED)); // 绑定其它商品的优惠 List addDiscountList = storeProdColorList.stream().filter(x -> !existDiscountProdColorIdList.contains(x.getId())) .map(x -> BeanUtil.toBean(x, StoreCustomerProductDiscount.class).setDiscount(cusProdDisDTO.getDiscount()).setStoreProdColorId(x.getId()) diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerServiceImpl.java index 9ea2006a2..f3bea35ff 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCustomerServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.page.Page; import com.ruoyi.common.exception.ServiceException; @@ -50,7 +51,7 @@ public class StoreCustomerServiceImpl implements IStoreCustomerService { @Transactional(readOnly = true) public List fuzzyQueryList(Long storeId, String cusName) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(StoreCustomer::getStoreId, storeId).eq(StoreCustomer::getDelFlag, "0"); + .eq(StoreCustomer::getStoreId, storeId).eq(StoreCustomer::getDelFlag, Constants.UNDELETED); if (StringUtils.isNotBlank(cusName)) { queryWrapper.like(StoreCustomer::getCusName, cusName); } @@ -69,9 +70,9 @@ public class StoreCustomerServiceImpl implements IStoreCustomerService { @Transactional public void deleteStoreCus(Long storeCusId) { StoreCustomer storeCus = Optional.ofNullable(this.storeCusMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreCustomer::getId, storeCusId).eq(StoreCustomer::getDelFlag, "0"))) + .eq(StoreCustomer::getId, storeCusId).eq(StoreCustomer::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口客户不存在!")); - storeCus.setDelFlag("2"); + storeCus.setDelFlag(Constants.DELETED); this.storeCusMapper.updateById(storeCus); } @@ -79,7 +80,7 @@ public class StoreCustomerServiceImpl implements IStoreCustomerService { @Transactional(readOnly = true) public Page selectPage(StoreCusPageDTO storeCusPageDTO) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(StoreCustomer::getStoreId, storeCusPageDTO.getStoreId()).eq(StoreCustomer::getDelFlag, "0"); + .eq(StoreCustomer::getStoreId, storeCusPageDTO.getStoreId()).eq(StoreCustomer::getDelFlag, Constants.UNDELETED); if (StringUtils.isNotBlank(storeCusPageDTO.getCusName())) { queryWrapper.like(StoreCustomer::getCusName, storeCusPageDTO.getCusName()); } @@ -95,7 +96,7 @@ public class StoreCustomerServiceImpl implements IStoreCustomerService { public int updateStoreCus(StoreCusDTO storeCusDTO) { Optional.ofNullable(storeCusDTO.getStoreCusId()).orElseThrow(() -> new ServiceException("档口客户ID不可为空!")); StoreCustomer storeCus = Optional.ofNullable(this.storeCusMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreCustomer::getId, storeCusDTO.getStoreCusId()).eq(StoreCustomer::getDelFlag, "0"))) + .eq(StoreCustomer::getId, storeCusDTO.getStoreCusId()).eq(StoreCustomer::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口客户不存在!")); BeanUtil.copyProperties(storeCusDTO, storeCus); return storeCusMapper.updateStoreCustomer(storeCus); @@ -112,7 +113,7 @@ public class StoreCustomerServiceImpl implements IStoreCustomerService { @Transactional(readOnly = true) public StoreCusDTO selectStoreCustomerByStoreCusId(Long storeCusId) { StoreCustomer storeCus = Optional.ofNullable(storeCusMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreCustomer::getId, storeCusId).eq(StoreCustomer::getDelFlag, "0"))) + .eq(StoreCustomer::getId, storeCusId).eq(StoreCustomer::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口客户不存在!", HttpStatus.ERROR)); return BeanUtil.toBean(storeCus, StoreCusDTO.class); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreFactoryServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreFactoryServiceImpl.java index 2bec6d0e6..8b7658f28 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreFactoryServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreFactoryServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.page.Page; import com.ruoyi.common.exception.ServiceException; @@ -60,7 +61,7 @@ public class StoreFactoryServiceImpl implements IStoreFactoryService { throw new ServiceException("storeFactoryId不可为空!", HttpStatus.ERROR); } StoreFactory storeFactory = Optional.ofNullable(this.storeFactoryMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreFactory::getId, storeFactoryDTO.getStoreFactoryId()).eq(StoreFactory::getDelFlag, "0"))) + .eq(StoreFactory::getId, storeFactoryDTO.getStoreFactoryId()).eq(StoreFactory::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口合作工厂不存在!", HttpStatus.ERROR)); BeanUtil.copyProperties(storeFactoryDTO, storeFactory); return storeFactoryMapper.updateById(storeFactory); @@ -77,7 +78,7 @@ public class StoreFactoryServiceImpl implements IStoreFactoryService { public Page selectFactoryPage(StoreFactoryPageDTO pageDTO) { // 创建查询条件对象,用于构建SQL查询语句 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(StoreFactory::getStoreId, pageDTO.getStoreId()).eq(StoreFactory::getDelFlag, "0"); + .eq(StoreFactory::getStoreId, pageDTO.getStoreId()).eq(StoreFactory::getDelFlag, Constants.UNDELETED); // 如果工厂名称不为空,则添加模糊查询条件 if (StringUtils.isNotBlank(pageDTO.getFacName())) { queryWrapper.like(StoreFactory::getFacName, pageDTO.getFacName()); @@ -100,7 +101,7 @@ public class StoreFactoryServiceImpl implements IStoreFactoryService { @Transactional(readOnly = true) public StoreFactoryResDTO selectByStoreFacId(Long storeId, Long storeFacId) { StoreFactory storeFactory = Optional.ofNullable(this.storeFactoryMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreFactory::getId, storeFacId).eq(StoreFactory::getDelFlag, "0").eq(StoreFactory::getStoreId, storeId))) + .eq(StoreFactory::getId, storeFacId).eq(StoreFactory::getDelFlag, Constants.UNDELETED).eq(StoreFactory::getStoreId, storeId))) .orElseThrow(() -> new ServiceException("档口合作工厂不存在!", HttpStatus.ERROR)); return BeanUtil.toBean(storeFactory, StoreFactoryResDTO.class); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreOrderServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreOrderServiceImpl.java index 77ed7a794..ec5ea49e1 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreOrderServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreOrderServiceImpl.java @@ -172,7 +172,7 @@ public class StoreOrderServiceImpl implements IStoreOrderService { .eq(XktBaseEntity::getDelFlag, Constants.UNDELETED)); Assert.notNull(productColorPrice, "无法获取商品定价"); BigDecimal price = productColorPrice.getPrice(); - if ("0".equals(storeProductColorSize.getStandard())) { + if (ProductSizeStatus.UN_STANDARD.getValue().equals(storeProductColorSize.getStandard())) { //非标准尺码 StoreProduct product = storeProductMapper.selectById(storeProductColorSize.getStoreProdId()); BigDecimal addPrice = BigDecimal.valueOf(NumberUtil.nullToZero(product.getOverPrice())); diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductDemandServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductDemandServiceImpl.java index ee2f2821e..d107e1823 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductDemandServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductDemandServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.page.Page; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.xkt.domain.*; @@ -12,6 +13,7 @@ import com.ruoyi.xkt.dto.storeProductDemand.StoreProdDemandPageDTO; import com.ruoyi.xkt.dto.storeProductDemand.StoreProdDemandPageResDTO; import com.ruoyi.xkt.dto.storeProductDemand.StoreProdDemandQuantityDTO; import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockDTO; +import com.ruoyi.xkt.enums.EVoucherSequenceType; import com.ruoyi.xkt.mapper.*; import com.ruoyi.xkt.service.IStoreProductDemandService; import com.ruoyi.xkt.service.IVoucherSequenceService; @@ -55,22 +57,22 @@ public class StoreProductDemandServiceImpl implements IStoreProductDemandService @Transactional(readOnly = true) public List getStockAndProduceQuantity(Long storeId, Long storeProdId) { List prodColorList = Optional.ofNullable(this.storeProdColorMapper.selectList(new LambdaQueryWrapper() - .eq(StoreProductColor::getStoreId, storeId).eq(StoreProductColor::getDelFlag, "0").eq(StoreProductColor::getStoreProdId, storeProdId))) + .eq(StoreProductColor::getStoreId, storeId).eq(StoreProductColor::getDelFlag, Constants.UNDELETED).eq(StoreProductColor::getStoreProdId, storeProdId))) .orElseThrow(() -> new RuntimeException("该档口下没有商品及颜色")); // 找到档口下该商品 StoreProduct storeProd = Optional.ofNullable(this.storeProdMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreProduct::getId, storeProdId).eq(StoreProduct::getDelFlag, "0"))) + .eq(StoreProduct::getId, storeProdId).eq(StoreProduct::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new RuntimeException("该档口下没有商品")); List storeProdColorIdList = prodColorList.stream().map(StoreProductColor::getId).collect(Collectors.toList()); // 根据各个颜色查询库存信息 List prodStockList = this.storeProdStockMapper.selectList(new LambdaQueryWrapper() - .in(StoreProductStock::getStoreProdColorId, storeProdColorIdList).eq(StoreProductStock::getDelFlag, "0").eq(StoreProductStock::getStoreId, storeId)); + .in(StoreProductStock::getStoreProdColorId, storeProdColorIdList).eq(StoreProductStock::getDelFlag, Constants.UNDELETED).eq(StoreProductStock::getStoreId, storeId)); // 将库存信息封装成Map Map stockMap = prodStockList.stream().collect(Collectors .toMap(StoreProductStock::getStoreProdColorId, x -> BeanUtil.toBean(x, StoreProdStockDTO.class))); // 查询待产及生产中的库存 List prodDemandList = this.storeProdDemandDetailMapper.selectList(new LambdaQueryWrapper() - .in(StoreProductDemandDetail::getStoreProdColorId, storeProdColorIdList).eq(StoreProductDemandDetail::getDelFlag, "0") + .in(StoreProductDemandDetail::getStoreProdColorId, storeProdColorIdList).eq(StoreProductDemandDetail::getDelFlag, Constants.UNDELETED) .in(StoreProductDemandDetail::getDetailStatus, Arrays.asList("待生产", "生产中"))); // 将生产需求信息封转在map中 Map> demandMap = prodDemandList.stream().collect(Collectors.groupingBy(StoreProductDemandDetail::getStoreProdColorId)); @@ -94,20 +96,20 @@ public class StoreProductDemandServiceImpl implements IStoreProductDemandService Integer size42Demand = Optional.ofNullable(demandDetailList).map(x -> x.stream().map(StoreProductDemandDetail::getSize42).reduce(0, Integer::sum)).orElse(0); Integer size43Demand = Optional.ofNullable(demandDetailList).map(x -> x.stream().map(StoreProductDemandDetail::getSize43).reduce(0, Integer::sum)).orElse(0); // 尺码为30的数组 - List size30List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize30()) ? stock.getSize30().toString() : "0", size30Demand.toString()); - List size31List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize31()) ? stock.getSize31().toString() : "0", size31Demand.toString()); - List size32List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize32()) ? stock.getSize32().toString() : "0", size32Demand.toString()); - List size33List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize33()) ? stock.getSize33().toString() : "0", size33Demand.toString()); - List size34List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize34()) ? stock.getSize34().toString() : "0", size34Demand.toString()); - List size35List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize35()) ? stock.getSize35().toString() : "0", size35Demand.toString()); - List size36List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize36()) ? stock.getSize36().toString() : "0", size36Demand.toString()); - List size37List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize37()) ? stock.getSize37().toString() : "0", size37Demand.toString()); - List size38List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize38()) ? stock.getSize38().toString() : "0", size38Demand.toString()); - List size39List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize39()) ? stock.getSize39().toString() : "0", size39Demand.toString()); - List size40List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize40()) ? stock.getSize40().toString() : "0", size40Demand.toString()); - List size41List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize41()) ? stock.getSize41().toString() : "0", size41Demand.toString()); - List size42List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize42()) ? stock.getSize42().toString() : "0", size42Demand.toString()); - List size43List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize43()) ? stock.getSize43().toString() : "0", size43Demand.toString()); + List size30List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize30()) ? stock.getSize30().toString() : Constants.UNDELETED, size30Demand.toString()); + List size31List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize31()) ? stock.getSize31().toString() : Constants.UNDELETED, size31Demand.toString()); + List size32List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize32()) ? stock.getSize32().toString() : Constants.UNDELETED, size32Demand.toString()); + List size33List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize33()) ? stock.getSize33().toString() : Constants.UNDELETED, size33Demand.toString()); + List size34List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize34()) ? stock.getSize34().toString() : Constants.UNDELETED, size34Demand.toString()); + List size35List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize35()) ? stock.getSize35().toString() : Constants.UNDELETED, size35Demand.toString()); + List size36List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize36()) ? stock.getSize36().toString() : Constants.UNDELETED, size36Demand.toString()); + List size37List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize37()) ? stock.getSize37().toString() : Constants.UNDELETED, size37Demand.toString()); + List size38List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize38()) ? stock.getSize38().toString() : Constants.UNDELETED, size38Demand.toString()); + List size39List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize39()) ? stock.getSize39().toString() : Constants.UNDELETED, size39Demand.toString()); + List size40List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize40()) ? stock.getSize40().toString() : Constants.UNDELETED, size40Demand.toString()); + List size41List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize41()) ? stock.getSize41().toString() : Constants.UNDELETED, size41Demand.toString()); + List size42List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize42()) ? stock.getSize42().toString() : Constants.UNDELETED, size42Demand.toString()); + List size43List = Arrays.asList(ObjectUtils.isNotEmpty(stock) && ObjectUtils.isNotEmpty(stock.getSize43()) ? stock.getSize43().toString() : Constants.UNDELETED, size43Demand.toString()); return StoreProdDemandQuantityDTO.builder().storeId(storeId).storeProdId(storeProd.getId()).storeProdColorId(prodColor.getId()) .prodArtNum(storeProd.getProdArtNum()).colorName(prodColor.getColorName()).compareStrList(compareStrList) // 判断 demandDetailList 中是否有 createTime 为当天的对象 @@ -129,7 +131,7 @@ public class StoreProductDemandServiceImpl implements IStoreProductDemandService public Integer createDemand(StoreProdDemandDTO demandDTO) { StoreProductDemand demand = new StoreProductDemand(); // 生成code - demand.setCode(this.sequenceService.generateCode(demandDTO.getStoreId(), "DEMAND", DateUtils.parseDateToStr(DateUtils.YYYYMMDD, new Date()))) + demand.setCode(this.sequenceService.generateCode(demandDTO.getStoreId(), EVoucherSequenceType.DEMAND.getValue(), DateUtils.parseDateToStr(DateUtils.YYYYMMDD, new Date()))) .setDemandStatus(1).setStoreId(demandDTO.getStoreId()).setStoreFactoryId(demandDTO.getStoreFactoryId()); int count = this.storeProdDemandMapper.insert(demand); // 生产需求详情 @@ -169,7 +171,7 @@ public class StoreProductDemandServiceImpl implements IStoreProductDemandService List demandDetailIdList = demandList.stream().map(StoreProdDemandPageResDTO::getStoreProdDemandDetailId).distinct().collect(Collectors.toList()); // 找到需求单抵扣的数据 List deductList = this.storageDemandDeductMapper.selectList(new LambdaQueryWrapper() - .in(StoreProductStorageDemandDeduct::getStoreProdStorageDetailId, demandDetailIdList).eq(StoreProductStorageDemandDeduct::getDelFlag, "0")); + .in(StoreProductStorageDemandDeduct::getStoreProdStorageDetailId, demandDetailIdList).eq(StoreProductStorageDemandDeduct::getDelFlag, Constants.UNDELETED)); // 明细抵扣的数量 Map deductQuantityMap = CollectionUtils.isEmpty(deductList) ? new HashMap<>() : deductList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeduct::getStoreProdStorageDetailId, Collectors.summingInt(StoreProductStorageDemandDeduct::getQuantity))); diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java index 64794ba83..84ee75650 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.page.Page; import com.ruoyi.common.exception.ServiceException; @@ -21,6 +22,8 @@ import com.ruoyi.xkt.dto.storeProduct.*; import com.ruoyi.xkt.dto.storeProductFile.StoreProdFileDTO; import com.ruoyi.xkt.dto.storeProductFile.StoreProdFileResDTO; import com.ruoyi.xkt.dto.storeProductFile.StoreProdMainPicDTO; +import com.ruoyi.xkt.enums.FileType; +import com.ruoyi.xkt.enums.ProductSizeStatus; import com.ruoyi.xkt.mapper.*; import com.ruoyi.xkt.service.IStoreProductService; import lombok.RequiredArgsConstructor; @@ -66,7 +69,7 @@ public class StoreProductServiceImpl implements IStoreProductService { @Transactional(readOnly = true) public StoreProdResDTO selectStoreProductByStoreProdId(Long storeProdId) { StoreProduct storeProd = Optional.ofNullable(this.storeProdMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreProduct::getId, storeProdId).eq(StoreProduct::getDelFlag, "0"))) + .eq(StoreProduct::getId, storeProdId).eq(StoreProduct::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口商品不存在!", HttpStatus.ERROR)); StoreProdResDTO storeProdResDTO = BeanUtil.toBean(storeProd, StoreProdResDTO.class).setStoreProdId(storeProd.getId()); // 档口文件(商品主图、主图视频、下载的商品详情) @@ -100,10 +103,10 @@ public class StoreProductServiceImpl implements IStoreProductService { @Transactional(readOnly = true) public StoreProdPicSpaceResDTO getStoreProductPicSpace(Long storeId) { Store store = Optional.ofNullable(this.storeMapper.selectOne(new LambdaQueryWrapper() - .eq(Store::getId, storeId).eq(Store::getDelFlag, "0"))) + .eq(Store::getId, storeId).eq(Store::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口不存在!", HttpStatus.ERROR)); return StoreProdPicSpaceResDTO.builder().storeId(storeId).storeName(store.getStoreName()) - .fileList(this.storeProdFileMapper.selectPicSpaceList(storeId, "DOWNLOAD")).build(); + .fileList(this.storeProdFileMapper.selectPicSpaceList(storeId, FileType.DOWNLOAD.getValue())).build(); } /** @@ -137,12 +140,12 @@ public class StoreProductServiceImpl implements IStoreProductService { // 提取查询结果中的商店产品ID列表 List storeProdIdList = prodList.stream().map(StoreProdPageResDTO::getStoreProdId).collect(Collectors.toList()); // 查找排名第一个商品主图列表 - List mainPicList = this.storeProdFileMapper.selectMainPicByStoreProdIdList(storeProdIdList, "MAIN_PIC", 1); + List mainPicList = this.storeProdFileMapper.selectMainPicByStoreProdIdList(storeProdIdList, FileType.MAIN_PIC.getValue(), 1); Map mainPicMap = CollectionUtils.isEmpty(mainPicList) ? new HashMap<>() : mainPicList.stream() .collect(Collectors.toMap(StoreProdMainPicDTO::getStoreProdId, StoreProdMainPicDTO::getFileUrl)); // 查找档口商品的标准尺码 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().in(StoreProductColorSize::getStoreProdId, storeProdIdList) - .eq(StoreProductColorSize::getDelFlag, "0").eq(StoreProductColorSize::getStandard, "1"); + .eq(StoreProductColorSize::getDelFlag, Constants.UNDELETED).eq(StoreProductColorSize::getStandard, ProductSizeStatus.STANDARD.getValue()); List standardSizeList = this.storeProdColorSizeMapper.selectList(queryWrapper); // 将标准尺码列表转换为映射,以便后续处理 Map> standardSizeMap = CollectionUtils.isEmpty(standardSizeList) ? new HashMap<>() : standardSizeList.stream().collect(Collectors @@ -175,7 +178,7 @@ public class StoreProductServiceImpl implements IStoreProductService { @Transactional public int updateStoreProduct(final Long storeProdId, StoreProdDTO storeProdDTO) { StoreProduct storeProd = Optional.ofNullable(this.storeProdMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreProduct::getId, storeProdId).eq(StoreProduct::getDelFlag, "0"))) + .eq(StoreProduct::getId, storeProdId).eq(StoreProduct::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口商品不存在!", HttpStatus.ERROR)); // 更新档口商品信息 BeanUtil.copyProperties(storeProdDTO, storeProd); @@ -268,7 +271,7 @@ public class StoreProductServiceImpl implements IStoreProductService { public List fuzzyQueryList(Long storeId, String prodArtNum) { // 初始化查询条件,确保查询的是指定商店且未删除的产品 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(StoreProduct::getStoreId, storeId).eq(StoreProduct::getDelFlag, "0"); + .eq(StoreProduct::getStoreId, storeId).eq(StoreProduct::getDelFlag, Constants.UNDELETED); // 如果产品货号非空,添加模糊查询条件 if (StringUtils.isNotBlank(prodArtNum)) { queryWrapper.like(StoreProduct::getProdArtNum, prodArtNum); @@ -283,7 +286,7 @@ public class StoreProductServiceImpl implements IStoreProductService { List storeProdIdList = storeProdList.stream().map(StoreProduct::getId).distinct().collect(Collectors.toList()); // 查询与产品ID列表关联的颜色信息 List colorList = this.storeProdColorMapper.selectList(new LambdaQueryWrapper() - .in(StoreProductColor::getStoreProdId, storeProdIdList).eq(StoreProductColor::getDelFlag, "0")); + .in(StoreProductColor::getStoreProdId, storeProdIdList).eq(StoreProductColor::getDelFlag, Constants.UNDELETED)); // 将颜色信息按产品ID分组,并转换为所需的颜色DTO列表 Map> colorMap = CollectionUtils.isEmpty(colorList) ? new HashMap<>() : colorList.stream().collect(Collectors.groupingBy(StoreProductColor::getStoreProdId, Collectors @@ -354,7 +357,7 @@ public class StoreProductServiceImpl implements IStoreProductService { } // 处理档口所有颜色列表 List storeColorList = this.storeColorMapper.selectList(new LambdaQueryWrapper() - .eq(StoreColor::getStoreId, storeProdDTO.getStoreId()).eq(StoreColor::getDelFlag, "0")); + .eq(StoreColor::getStoreId, storeProdDTO.getStoreId()).eq(StoreColor::getDelFlag, Constants.UNDELETED)); List dbStoreColorIdList = storeColorList.stream().map(StoreColor::getId).collect(Collectors.toList()); // 新增的颜色列表 List addColorList =storeProdDTO.getAllColorList().stream().filter(x -> !dbStoreColorIdList.contains(x.getStoreColorId())) diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStockServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStockServiceImpl.java index 6979b0764..9c3353fd9 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStockServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStockServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.page.Page; import com.ruoyi.common.exception.ServiceException; @@ -16,6 +17,7 @@ import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO; import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO; import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockResDTO; import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockDTO; +import com.ruoyi.xkt.enums.FileType; import com.ruoyi.xkt.mapper.StoreProductFileMapper; import com.ruoyi.xkt.mapper.StoreProductStockMapper; import com.ruoyi.xkt.mapper.SysFileMapper; @@ -56,7 +58,7 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService { // 提取查询结果中的商店产品ID列表 List storeProdIdList = stockList.stream().map(StoreProdStockPageResDTO::getStoreProdId).collect(Collectors.toList()); // 查找排名第一个商品主图列表 - List mainPicList = this.storeProdFileMapper.selectMainPicByStoreProdIdList(storeProdIdList, "MAIN_PIC", 1); + List mainPicList = this.storeProdFileMapper.selectMainPicByStoreProdIdList(storeProdIdList, FileType.MAIN_PIC.getValue(), 1); Map mainPicMap = CollectionUtils.isEmpty(mainPicList) ? new HashMap<>() : mainPicList.stream() .collect(Collectors.toMap(StoreProdMainPicDTO::getStoreProdId, StoreProdMainPicDTO::getFileUrl)); // 为每个产品设置主图URL和标准尺码列表 @@ -76,7 +78,7 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService { public List selectByStoreIdAndProdArtNum(Long storeId, String prodArtNum) { List stockList = this.storeProdStockMapper.selectList(new LambdaQueryWrapper() .eq(StoreProductStock::getStoreId, storeId).eq(StoreProductStock::getProdArtNum, prodArtNum) - .eq(StoreProductStock::getDelFlag, "0")); + .eq(StoreProductStock::getDelFlag, Constants.UNDELETED)); return CollectionUtils.isEmpty(stockList) ? new ArrayList<>() : stockList.stream().map(x -> BeanUtil.toBean(x, StoreProdStockResDTO.class).setStoreProdStockId(x.getId())).collect(Collectors.toList()); } @@ -93,7 +95,7 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService { public int increaseStock(Long storeId, List increaseStockList) { // 根据关键信息找到已存在的库存 List existStockList = this.storeProdStockMapper.selectList(new LambdaQueryWrapper() - .eq(StoreProductStock::getStoreId, storeId).eq(StoreProductStock::getDelFlag, "0") + .eq(StoreProductStock::getStoreId, storeId).eq(StoreProductStock::getDelFlag, Constants.UNDELETED) .in(StoreProductStock::getStoreProdId, increaseStockList.stream().map(StoreProdStockDTO::getStoreProdId).collect(Collectors.toList())) .in(StoreProductStock::getStoreProdColorId, increaseStockList.stream().map(StoreProdStockDTO::getStoreProdColorId).collect(Collectors.toList()))); // 已存在的档口商品颜色库存map @@ -121,7 +123,7 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService { public int decreaseStock(Long storeId, List decreaseStockList) { // 根据关键信息找到已存在的库存 List existStockList = this.storeProdStockMapper.selectList(new LambdaQueryWrapper() - .eq(StoreProductStock::getStoreId, storeId).eq(StoreProductStock::getDelFlag, "0") + .eq(StoreProductStock::getStoreId, storeId).eq(StoreProductStock::getDelFlag, Constants.UNDELETED) .in(StoreProductStock::getStoreProdId, decreaseStockList.stream().map(StoreProdStockDTO::getStoreProdId).collect(Collectors.toList())) .in(StoreProductStock::getStoreProdColorId, decreaseStockList.stream().map(StoreProdStockDTO::getStoreProdColorId).collect(Collectors.toList()))); // 待扣减的库存map @@ -142,7 +144,7 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService { @Transactional public int clearStockToZero(Long storeId, Long storeProdStockId) { StoreProductStock stock = Optional.ofNullable(this.storeProdStockMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreProductStock::getId, storeProdStockId).eq(StoreProductStock::getStoreId, storeId).eq(StoreProductStock::getDelFlag, "0"))) + .eq(StoreProductStock::getId, storeProdStockId).eq(StoreProductStock::getStoreId, storeId).eq(StoreProductStock::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口商品库存不存在!", HttpStatus.ERROR)); stock.setSize30(0).setSize31(0).setSize32(0).setSize33(0).setSize34(0).setSize35(0).setSize36(0).setSize37(0) .setSize38(0).setSize39(0).setSize40(0).setSize41(0).setSize42(0).setSize43(0); @@ -164,7 +166,7 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService { List stockList = Optional.ofNullable(this.storeProdStockMapper.selectList(new LambdaQueryWrapper() .in(StoreProductStock::getStoreProdId, updateStockList.stream().map(StoreProdStockDTO::getStoreProdId).collect(Collectors.toList())) .eq(StoreProductStock::getStoreId, storeId) - .eq(StoreProductStock::getDelFlag, "0"))) + .eq(StoreProductStock::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口商品库存不存在!", HttpStatus.ERROR)); // 数据库数据map Map diffStockMap = updateStockList.stream().collect(Collectors @@ -236,17 +238,17 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService { public StoreProdStockResDTO selectByStoreProdStockId(Long storeId, Long storeProdStockId) { StoreProductStock stock = Optional.ofNullable(this.storeProdStockMapper.selectOne(new LambdaQueryWrapper() .eq(StoreProductStock::getId, storeProdStockId).eq(StoreProductStock::getStoreId, storeId) - .eq(StoreProductStock::getDelFlag, "0"))) + .eq(StoreProductStock::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口商品库存不存在!", HttpStatus.ERROR)); // 档口商品第一张主图 StoreProductFile mainPic = Optional.ofNullable(this.storeProdFileMapper.selectOne(new LambdaQueryWrapper() .eq(StoreProductFile::getStoreProdId, stock.getStoreProdId()).eq(StoreProductFile::getStoreId, storeId) - .eq(StoreProductFile::getDelFlag, "0").eq(StoreProductFile::getFileType, "MAIN_PIC") + .eq(StoreProductFile::getDelFlag, Constants.UNDELETED).eq(StoreProductFile::getFileType, FileType.MAIN_PIC.getValue()) .eq(StoreProductFile::getOrderNum, 1))) .orElseThrow(() -> new ServiceException("商品主图不存在!", HttpStatus.ERROR)); // 图片 SysFile file = Optional.ofNullable(this.fileMapper.selectOne(new LambdaQueryWrapper() - .eq(SysFile::getId, mainPic.getFileId()).eq(SysFile::getDelFlag, "0"))) + .eq(SysFile::getId, mainPic.getFileId()).eq(SysFile::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("商品主图不存在!", HttpStatus.ERROR)); return BeanUtil.toBean(stock, StoreProdStockResDTO.class) .setStoreProdStockId(stock.getId()).setMainPicUrl(file.getFileUrl()); diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStorageServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStorageServiceImpl.java index da48a286b..3afa4b1a8 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStorageServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductStorageServiceImpl.java @@ -21,6 +21,7 @@ import com.ruoyi.xkt.dto.storeProdStorage.StoreProdStoragePageResDTO; import com.ruoyi.xkt.dto.storeProdStorage.StoreProdStorageResDTO; import com.ruoyi.xkt.dto.storeProductDemand.StoreProdDemandSimpleDTO; import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockDTO; +import com.ruoyi.xkt.enums.EVoucherSequenceType; import com.ruoyi.xkt.mapper.*; import com.ruoyi.xkt.service.IStoreProductStockService; import com.ruoyi.xkt.service.IStoreProductStorageService; @@ -80,7 +81,7 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi @Transactional public int create(StoreProdStorageDTO storeProdStorageDTO) { // 生成code - String code = this.sequenceService.generateCode(storeProdStorageDTO.getStoreId(), "STORAGE", DateUtils.parseDateToStr(DateUtils.YYYYMMDD, new Date())); + String code = this.sequenceService.generateCode(storeProdStorageDTO.getStoreId(), EVoucherSequenceType.STORAGE.getValue(), DateUtils.parseDateToStr(DateUtils.YYYYMMDD, new Date())); // 总的数量 Integer totalNum = storeProdStorageDTO.getDetailList().stream().map(x -> ObjectUtils.defaultIfNull(x.getQuantity(), 0)).reduce(0, Integer::sum); // 总的金额 @@ -102,7 +103,7 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi // 根据明细列表找到所有提交的需求 List demandDetailList = this.demandDetailMapper.selectList(new LambdaQueryWrapper() - .eq(StoreProductDemandDetail::getStoreId, storeProdStorageDTO.getStoreId()).eq(StoreProductDemandDetail::getDelFlag, "0") + .eq(StoreProductDemandDetail::getStoreId, storeProdStorageDTO.getStoreId()).eq(StoreProductDemandDetail::getDelFlag, Constants.UNDELETED) .in(StoreProductDemandDetail::getDetailStatus, Arrays.asList(1, 2)) .in(StoreProductDemandDetail::getStoreProdColorId, detailList.stream().map(StoreProductStorageDetail::getStoreProdColorId).collect(Collectors.toList()))); // 若没有任何需求则不抵扣,直接结束流程 @@ -110,10 +111,10 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi return count; } // 所有的需求单ID列表 - final List demandIdList = demandDetailList.stream().map(StoreProductDemandDetail::getStoreProdDemandId).distinct().collect(Collectors.toList()); + final List demandIdList = demandDetailList.stream().map(StoreProductDemandDetail::getStoreProdDemandId).distinct().collect(Collectors.toList()); List deductedNewList = this.deductNewMapper.selectList(new LambdaQueryWrapper() .in(StoreProductStorageDemandDeductNew::getStoreProdColorId, detailList.stream().map(StoreProductStorageDetail::getStoreProdColorId).collect(Collectors.toList())) - .eq(StoreProductStorageDemandDeductNew::getDelFlag, "0")); + .eq(StoreProductStorageDemandDeductNew::getDelFlag, Constants.UNDELETED)); // 已存在的需求抵扣明细列表 Map> deductedExistsMap = deductedNewList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeductNew::getStoreProdColorId, Collectors.groupingBy(StoreProductStorageDemandDeductNew::getSize, Collectors.summingInt(x -> ObjectUtils.defaultIfNull(x.getQuantity(), 0))))); @@ -271,7 +272,7 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi sizeStorageMap.put(43, storageDetail.getSize43()); } if (MapUtils.isNotEmpty(sizeStorageMap)) { - storageQuantityMap.put(storageDetail.getStoreProdColorId(), new LinkedHashMap>(){{ + storageQuantityMap.put(storageDetail.getStoreProdColorId(), new LinkedHashMap>() {{ put(storageDetail.getId(), sizeStorageMap); }}); } @@ -336,7 +337,7 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi } List demandSimpleList = Optional.ofNullable(this.demandDetailMapper.selectDemandCodeList(demandDetailList.stream() - .map(StoreProductDemandDetail::getId).distinct().collect(Collectors.toList()))) + .map(StoreProductDemandDetail::getId).distinct().collect(Collectors.toList()))) .orElseThrow(() -> new ServiceException("获取需求单号失败", HttpStatus.ERROR)); // demandDetailId 与 demandCode 的映射关系 Map demandCodeMap = demandSimpleList.stream().collect(Collectors.toMap(StoreProdDemandSimpleDTO::getStoreProdDemandDetailId, StoreProdDemandSimpleDTO::getCode)); @@ -365,7 +366,7 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi this.deductNewMapper.insert(deductList); List listAfterInsert = this.deductNewMapper.selectList(new LambdaQueryWrapper() - .eq(StoreProductStorageDemandDeductNew::getDelFlag, "0").in(StoreProductStorageDemandDeductNew::getStoreProdDemandDetailId, updateDetailIdList)); + .eq(StoreProductStorageDemandDeductNew::getDelFlag, Constants.UNDELETED).in(StoreProductStorageDemandDeductNew::getStoreProdDemandDetailId, updateDetailIdList)); if (CollectionUtils.isEmpty(listAfterInsert)) { return count; } @@ -405,10 +406,10 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi }); // 筛选出所有和本次需求单抵扣有关的需求单列表 List updateDemandDetailList = Optional.ofNullable(this.demandDetailMapper.selectList(new LambdaQueryWrapper() - .in(StoreProductDemandDetail::getStoreProdDemandId, demandIdList).eq(StoreProductDemandDetail::getDelFlag, "0"))) + .in(StoreProductDemandDetail::getStoreProdDemandId, demandIdList).eq(StoreProductDemandDetail::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("获取需求单明细失败", HttpStatus.ERROR)); // 依次对比需求单明细不同size的完成数量,并更新需求单明细的detailStatus - List demandDetailListAfterUpdate = updateDemandDetailList.stream().map(updateDetail -> { + List demandDetailListAfterUpdate = updateDemandDetailList.stream().map(updateDetail -> { Map latestSizeQuantityMap = latestDeductSizeQuantityMap.get(updateDetail.getId()); if (MapUtils.isEmpty(latestSizeQuantityMap)) { return updateDetail; @@ -448,7 +449,6 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi } - /** * 查询档口商品入库 * @@ -460,11 +460,11 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi public StoreProdStorageResDTO selectByStoreProdStorId(Long storeProdStorId) { // 档口商品入库 StoreProductStorage storage = Optional.ofNullable(this.storageMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreProductStorage::getId, storeProdStorId).eq(StoreProductStorage::getDelFlag, "0"))) + .eq(StoreProductStorage::getId, storeProdStorId).eq(StoreProductStorage::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口商品入库不存在!", HttpStatus.ERROR)); // 档口商品入库明细 List storageDetailList = storageDetailMapper.selectList(new LambdaQueryWrapper() - .eq(StoreProductStorageDetail::getStoreProdStorId, storeProdStorId).eq(StoreProductStorageDetail::getDelFlag, "0")); + .eq(StoreProductStorageDetail::getStoreProdStorId, storeProdStorId).eq(StoreProductStorageDetail::getDelFlag, Constants.UNDELETED)); return BeanUtil.toBean(storage, StoreProdStorageResDTO.class) .setDetailList(storageDetailList.stream().map(x -> BeanUtil.toBean(x, StoreProdStorageResDTO.StorageDetailDTO.class)).collect(Collectors.toList())); } @@ -481,14 +481,14 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi public int deleteByStoreProdStorId(Long storeProdStorId) { // 档口商品入库 StoreProductStorage storage = Optional.ofNullable(this.storageMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreProductStorage::getId, storeProdStorId).eq(StoreProductStorage::getDelFlag, "0"))) + .eq(StoreProductStorage::getId, storeProdStorId).eq(StoreProductStorage::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口商品入库不存在!", HttpStatus.ERROR)); - storage.setDelFlag("2"); + storage.setDelFlag(Constants.DELETED); int count = this.storageMapper.updateById(storage); // 档口商品入库明细 List storageDetailList = storageDetailMapper.selectList(new LambdaQueryWrapper() - .eq(StoreProductStorageDetail::getStoreProdStorId, storeProdStorId).eq(StoreProductStorageDetail::getDelFlag, "0")); - storageDetailList.forEach(x -> x.setDelFlag("2")); + .eq(StoreProductStorageDetail::getStoreProdStorId, storeProdStorId).eq(StoreProductStorageDetail::getDelFlag, Constants.UNDELETED)); + storageDetailList.forEach(x -> x.setDelFlag(Constants.DELETED)); this.storageDetailMapper.updateById(storageDetailList); // 减少档口商品库存 this.stockService.decreaseStock(storage.getStoreId(), storageDetailList.stream() @@ -736,89 +736,4 @@ public class StoreProductStorageServiceImpl implements IStoreProductStorageServi } - /* // 找到入库需求抵扣明细中间表,查看哪些是已经抵扣了的 - List deductedList = this.deductMapper.selectList(new LambdaQueryWrapper() - .in(StoreProductStorageDemandDeduct::getStoreProdDemandDetailId, detailList.stream().map(StoreProductStorageDetail::getId).collect(Collectors.toList()))); - Map> deductedQuantityMap = deductedList.stream().collect(Collectors.groupingBy(StoreProductStorageDemandDeduct::getStoreProdDemandDetailId)); - // 存货每一个货品颜色,不同尺码已抵扣数量 - Map> deductedDetailMap = new HashMap<>(); - deductedQuantityMap.forEach((prodColorId, deductList) -> { - Map sizeDeductedMap = new HashMap<>(); - Integer size30Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize30).filter(size30 -> ObjectUtils.defaultIfNull(size30, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(30, size30Quantity); - Integer size31Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize31).filter(size31 -> ObjectUtils.defaultIfNull(size31, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(31, size31Quantity); - Integer size32Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize32).filter(size32 -> ObjectUtils.defaultIfNull(size32, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(32, size32Quantity); - Integer size33Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize33).filter(size33 -> ObjectUtils.defaultIfNull(size33, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(33, size33Quantity); - Integer size34Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize34).filter(size34 -> ObjectUtils.defaultIfNull(size34, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(34, size34Quantity); - Integer size35Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize35).filter(size35 -> ObjectUtils.defaultIfNull(size35, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(35, size35Quantity); - Integer size36Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize36).filter(size36 -> ObjectUtils.defaultIfNull(size36, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(36, size36Quantity); - Integer size37Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize37).filter(size37 -> ObjectUtils.defaultIfNull(size37, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(37, size37Quantity); - Integer size38Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize38).filter(size38 -> ObjectUtils.defaultIfNull(size38, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(38, size38Quantity); - Integer size39Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize39).filter(size39 -> ObjectUtils.defaultIfNull(size39, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(39, size39Quantity); - Integer size40Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize40).filter(size40 -> ObjectUtils.defaultIfNull(size40, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(40, size40Quantity); - Integer size41Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize41).filter(size41 -> ObjectUtils.defaultIfNull(size41, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(41, size41Quantity); - Integer size42Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize42).filter(size42 -> ObjectUtils.defaultIfNull(size42, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(42, size42Quantity); - Integer size43Quantity = deductList.stream().map(StoreProductStorageDemandDeduct::getSize43).filter(size43 -> ObjectUtils.defaultIfNull(size43, 0) > 0).reduce(0, Integer::sum); - sizeDeductedMap.put(43, size43Quantity); - deductedDetailMap.put(prodColorId, sizeDeductedMap); - }); -*/ - - - -/* - // 拷贝一份需求明细列表,避免修改原集合,避免数据污染 - List copyDemandDetailList = new ArrayList<>(demandDetailList); - - - // 如果有档口生产需求订单,则直接抵扣 - Map> demandDetailMap = copyDemandDetailList.stream().collect(Collectors.groupingBy(StoreProductDemandDetail::getStoreProdColorId)); - - // 先按照需求明细的每个尺码处理,将入库的数据插入到抵扣需求明细表中,然后再将需求的对应的中间表数据筛选出来,依次对比需求单明细的状态,如果状态都为: 3 生产完成,则更新生产需求单 整体状态 - - - - - // 拷贝一份入库明细列表,避免修改原集合,避免数据污染 - List tempCopyList = new ArrayList<>(detailList); - - List targetList = new ArrayList<>(); - tempCopyList.forEach(storageDetail -> { - List targetDemandList = demandDetailMap.get(storageDetail.getStoreProdColorId()); - if (CollectionUtils.isEmpty(targetDemandList)) { - return; - } - // 抵扣规则:1.优先按照:生产中(2)、待生产(1) 排序 2. 再按照需求创建时间升序排列 - targetDemandList = targetDemandList.stream().sorted(Comparator.comparing(StoreProductDemandDetail::getDetailStatus).reversed() - .thenComparing(StoreProductDemandDetail::getCreateTime)).collect(Collectors.toList()); - - - // 可能存在需求单没抵扣完,抵扣了部分,这个如何提现出来???? - - - - // 可能出现的情况 生产数量小于需求数量 生产数量等于需求数量 生产数量大于需求数量 - - // 依次抵扣需求单数量,如果还有多的则继续抵扣,如果没有则结束循环 - - // 还要更改需求单的需求状态 - - - - - - });*/ - } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreQuickFunctionServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreQuickFunctionServiceImpl.java index 168a751c7..7c0ecc5f5 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreQuickFunctionServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreQuickFunctionServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.xkt.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.xkt.domain.StoreQuickFunction; import com.ruoyi.xkt.dto.storeQuickFunction.StoreQuickFuncDTO; @@ -31,7 +32,7 @@ public class StoreQuickFunctionServiceImpl implements IStoreQuickFunctionService @Transactional(readOnly = true) public List getCheckedMenuList(Long storeId) { List storeQuickFuncList = storeQuickFuncMapper.selectList(new LambdaQueryWrapper() - .eq(StoreQuickFunction::getStoreId,storeId).eq(StoreQuickFunction::getDelFlag,"0")); + .eq(StoreQuickFunction::getStoreId,storeId).eq(StoreQuickFunction::getDelFlag, Constants.UNDELETED)); return CollectionUtils.isEmpty(storeQuickFuncList) ? new ArrayList<>() : BeanUtil.copyToList(storeQuickFuncList, StoreQuickFuncDTO.DetailDTO.class); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleRefundRecordServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleRefundRecordServiceImpl.java index 44206b034..427f2933d 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleRefundRecordServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleRefundRecordServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.xkt.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.xkt.domain.StoreSale; @@ -45,7 +46,7 @@ public class StoreSaleRefundRecordServiceImpl implements IStoreSaleRefundRecordS @Transactional(readOnly = true) public List selectList(Long storeId, Long storeSaleId) { List refundRecordList = this.refundRecordMapper.selectList(new LambdaQueryWrapper() - .eq(StoreSaleRefundRecord::getStoreId, storeId).eq(StoreSaleRefundRecord::getStoreSaleId, storeSaleId).eq(StoreSaleRefundRecord::getDelFlag, "0")); + .eq(StoreSaleRefundRecord::getStoreId, storeId).eq(StoreSaleRefundRecord::getStoreSaleId, storeSaleId).eq(StoreSaleRefundRecord::getDelFlag, Constants.UNDELETED)); if (CollectionUtils.isEmpty(refundRecordList)) { return new ArrayList<>(); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleServiceImpl.java index 2d77bf3e1..63e4d48eb 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreSaleServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.Page; @@ -17,6 +18,8 @@ import com.ruoyi.xkt.dto.storeSale.StoreSaleDTO; import com.ruoyi.xkt.dto.storeSale.StoreSalePageDTO; import com.ruoyi.xkt.dto.storeSale.StoreSalePageResDTO; import com.ruoyi.xkt.dto.storeSale.StoreSalePayStatusDTO; +import com.ruoyi.xkt.enums.EVoucherSequenceType; +import com.ruoyi.xkt.enums.PaymentStatus; import com.ruoyi.xkt.mapper.*; import com.ruoyi.xkt.service.IStoreProductStockService; import com.ruoyi.xkt.service.IStoreSaleService; @@ -64,7 +67,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService { @Transactional(readOnly = true) public StoreCusGeneralSaleDTO getCusGeneralSale(Integer days, Long storeId, Long storeCusId) { StoreCustomer storeCus = Optional.ofNullable(this.storeCusMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreCustomer::getId, storeCusId).eq(StoreCustomer::getDelFlag, "0"))) + .eq(StoreCustomer::getId, storeCusId).eq(StoreCustomer::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口客户不存在!", HttpStatus.ERROR)); // 当前时间 Date nowDate = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant()); @@ -73,7 +76,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService { // 查询当前档口客户在这段时间内的销售业绩情况 List saleList = this.storeSaleMapper.selectList(new LambdaQueryWrapper() .eq(StoreSale::getStoreId, storeId).eq(StoreSale::getStoreCusId, storeCusId) - .eq(StoreSale::getDelFlag, "0").between(StoreSale::getVoucherDate, pastDate, nowDate)); + .eq(StoreSale::getDelFlag, Constants.UNDELETED).between(StoreSale::getVoucherDate, pastDate, nowDate)); // 初始化返回对象 StoreCusGeneralSaleDTO generalSaleDTO = StoreCusGeneralSaleDTO.builder().storeId(storeId).storeCusId(storeCusId) .storeCusName(storeCus.getCusName()).saleAmount(BigDecimal.ZERO).debtAmount(BigDecimal.ZERO) @@ -86,7 +89,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService { // 总的销售数量 Long saleCount = saleList.stream().map(x -> x.getQuantity() == null ? 0L : x.getQuantity()).reduce(0L, Long::sum); // 总的欠款金额 - BigDecimal debtAmount = saleList.stream().filter(x -> Objects.equals(x.getPaymentStatus(), "DEBT")) + BigDecimal debtAmount = saleList.stream().filter(x -> Objects.equals(x.getPaymentStatus(), PaymentStatus.DEBT.getValue())) .map(x -> ObjectUtils.defaultIfNull(x.getAmount(), BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add); return generalSaleDTO.setSaleAmount(saleAmount).setSaleCount(saleCount).setDebtAmount(debtAmount); } @@ -115,14 +118,14 @@ public class StoreSaleServiceImpl implements IStoreSaleService { @Transactional public void clearStoreCusDebt(StoreSalePayStatusDTO payStatusDTO) { List storeSaleList = Optional.ofNullable(this.storeSaleMapper.selectList(new LambdaQueryWrapper() - .in(StoreSale::getId, payStatusDTO.getStoreSaleIdList()).eq(StoreSale::getDelFlag, "0"))) + .in(StoreSale::getId, payStatusDTO.getStoreSaleIdList()).eq(StoreSale::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("没有找到对应的销售出库单!", HttpStatus.ERROR)); // 勾选订单是否有已结算的 - List settledList = storeSaleList.stream().filter(x -> Objects.equals(x.getPaymentStatus(), "SETTLED")).collect(Collectors.toList()); + List settledList = storeSaleList.stream().filter(x -> Objects.equals(x.getPaymentStatus(), PaymentStatus.SETTLED.getValue())).collect(Collectors.toList()); if (CollectionUtils.isNotEmpty(settledList)) { throw new ServiceException("当前订单已结算!" + settledList.stream().map(StoreSale::getCode).collect(Collectors.toList()), HttpStatus.ERROR); } - storeSaleList.forEach(x -> x.setPaymentStatus("SETTLED")); + storeSaleList.forEach(x -> x.setPaymentStatus(PaymentStatus.SETTLED.getValue())); this.storeSaleMapper.updateById(storeSaleList); } @@ -137,7 +140,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService { public int insertStoreSale(StoreSaleDTO storeSaleDTO) { StoreSale storeSale = BeanUtil.toBean(storeSaleDTO, StoreSale.class); // 生成code - String code = this.sequenceService.generateCode(storeSaleDTO.getStoreId(), "STORE_SALE", DateUtils.parseDateToStr(DateUtils.YYYYMMDD, new Date())); + String code = this.sequenceService.generateCode(storeSaleDTO.getStoreId(), EVoucherSequenceType.STORE_SALE.getValue(), DateUtils.parseDateToStr(DateUtils.YYYYMMDD, new Date())); // 总的数量 Integer quantity = storeSaleDTO.getDetailList().stream().map(x -> ObjectUtils.defaultIfNull(x.getQuantity(), 0)).reduce(0, Integer::sum); // 总的金额 @@ -176,11 +179,11 @@ public class StoreSaleServiceImpl implements IStoreSaleService { // 当前登录用户 LoginUser loginUser = SecurityUtils.getLoginUser(); StoreSale storeSale = Optional.ofNullable(this.storeSaleMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreSale::getId, storeSaleDTO.getStoreSaleId()).eq(StoreSale::getDelFlag, "0"))) + .eq(StoreSale::getId, storeSaleDTO.getStoreSaleId()).eq(StoreSale::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口销售出库订单不存在!", HttpStatus.ERROR)); // 档口销售出库明细列表 List saleDetailList = this.storeSaleDetailMapper.selectList(new LambdaQueryWrapper() - .eq(StoreSaleDetail::getStoreSaleId, storeSaleDTO.getStoreSaleId()).eq(StoreSaleDetail::getDelFlag, "0")); + .eq(StoreSaleDetail::getStoreSaleId, storeSaleDTO.getStoreSaleId()).eq(StoreSaleDetail::getDelFlag, Constants.UNDELETED)); // 若为返单,则将之前数据记录到返单记录表中 if (Objects.equals(storeSaleDTO.getRefund(), Boolean.TRUE)) { // 订单记录到StoreSaleRefundRecord @@ -201,7 +204,7 @@ public class StoreSaleServiceImpl implements IStoreSaleService { int count = this.storeSaleMapper.updateById(storeSale.setQuantity(quantity).setAmount(amount) .setOperatorId(loginUser.getUserId()).setOperatorName(loginUser.getUsername())); // 先将所有明细置为无效,再新增 - this.storeSaleDetailMapper.updateById(saleDetailList.stream().peek(x -> x.setDelFlag("2")).collect(Collectors.toList())); + this.storeSaleDetailMapper.updateById(saleDetailList.stream().peek(x -> x.setDelFlag(Constants.DELETED)).collect(Collectors.toList())); // 再新增档口销售出库明细数据 List detailList = storeSaleDTO.getDetailList().stream().map(x -> BeanUtil.toBean(x, StoreSaleDetail.class) .setSaleType(storeSaleDTO.getSaleType()).setStoreSaleId(storeSale.getId())).collect(Collectors.toList()); @@ -230,12 +233,12 @@ public class StoreSaleServiceImpl implements IStoreSaleService { @Transactional(readOnly = true) public StoreSaleDTO selectStoreSaleByStoreSaleId(Long storeSaleId) { StoreSale storeSale = Optional.ofNullable(this.storeSaleMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreSale::getId, storeSaleId).eq(StoreSale::getDelFlag, "0"))) + .eq(StoreSale::getId, storeSaleId).eq(StoreSale::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口销售出库订单不存在!", HttpStatus.ERROR)); StoreSaleDTO storeSaleDTO = BeanUtil.toBean(storeSale, StoreSaleDTO.class); // 查询销售出库明细 List saleDetailList = this.storeSaleDetailMapper.selectList(new LambdaQueryWrapper() - .eq(StoreSaleDetail::getStoreSaleId, storeSaleId).eq(StoreSaleDetail::getDelFlag, "0")); + .eq(StoreSaleDetail::getStoreSaleId, storeSaleId).eq(StoreSaleDetail::getDelFlag, Constants.UNDELETED)); storeSaleDTO.setDetailList(saleDetailList.stream().map(x -> BeanUtil.toBean(x, StoreSaleDTO.SaleDetailVO.class)).collect(Collectors.toList())); return storeSaleDTO; } @@ -251,14 +254,14 @@ public class StoreSaleServiceImpl implements IStoreSaleService { public int deleteStoreSaleByStoreSaleId(Long storeSaleId) { // 删除档口销售出库数据 StoreSale storeSale = Optional.ofNullable(this.storeSaleMapper.selectOne(new LambdaQueryWrapper() - .eq(StoreSale::getId, storeSaleId).eq(StoreSale::getDelFlag, "0"))) + .eq(StoreSale::getId, storeSaleId).eq(StoreSale::getDelFlag, Constants.UNDELETED))) .orElseThrow(() -> new ServiceException("档口销售出库订单不存在!", HttpStatus.ERROR)); - storeSale.setDelFlag("2"); + storeSale.setDelFlag(Constants.DELETED); int count = this.storeSaleMapper.updateById(storeSale); // 删除档口销售出库明细数据 List saleDetailList = this.storeSaleDetailMapper.selectList(new LambdaQueryWrapper() - .eq(StoreSaleDetail::getStoreSaleId, storeSaleId).eq(StoreSaleDetail::getDelFlag, "0")); - this.storeSaleDetailMapper.updateById(saleDetailList.stream().peek(x -> x.setDelFlag("2")).collect(Collectors.toList())); + .eq(StoreSaleDetail::getStoreSaleId, storeSaleId).eq(StoreSaleDetail::getDelFlag, Constants.UNDELETED)); + this.storeSaleDetailMapper.updateById(saleDetailList.stream().peek(x -> x.setDelFlag(Constants.DELETED)).collect(Collectors.toList())); // 先汇总当前这笔订单商品明细的销售数量,包括销售及退货 key: prodArtNum + storeProdId + storeProdColorId + colorName, value: map(key:size,value:count) Map> saleCountMap = saleDetailList.stream().collect(Collectors .groupingBy(x -> x.getProdArtNum() + ":" + x.getStoreProdId() + ":" + x.getStoreProdColorId() + ":" + x.getColorName(), Collectors