From 042849a820408af542d5a9695487f34b96e7dd3e Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Thu, 28 Mar 2024 11:01:03 +0100 Subject: [PATCH] code cleanup --- .../modules/business/entity/Invoice.java | 22 +++++++++++++++++++ .../PlatformOrderShippingInvoiceService.java | 6 ++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/Invoice.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/Invoice.java index 02a4520a9..cc9e788a2 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/Invoice.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/Invoice.java @@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.Getter; import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; @@ -93,4 +94,25 @@ public class Invoice implements Serializable { @Excel(name = "type", width = 15) @ApiModelProperty(value = "type") private String type; + + @Getter + public enum InvoiceType { + PURCHASE('1'), + SHIPPING('2'), + COMPLETE('7'); + + private final char type; + + InvoiceType(char type) { + this.type = type; + } + } + + public static String getType(String invoiceNumber) { + for(InvoiceType type : InvoiceType.values()) { + if(type.getType() == invoiceNumber.charAt(8)) + return type.name(); + } + throw new IllegalArgumentException("Incorrect invoice number : " + invoiceNumber); + } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/PlatformOrderShippingInvoiceService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/PlatformOrderShippingInvoiceService.java index 0ce26160e..635f83b67 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/PlatformOrderShippingInvoiceService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/PlatformOrderShippingInvoiceService.java @@ -813,13 +813,13 @@ public class PlatformOrderShippingInvoiceService { purchaseOrderService, purchaseOrderContentMapper, skuPromotionHistoryMapper, savRefundService, savRefundWithDetailService, emailService, env); Path out = null; if(filetype.equals("invoice")) { - if(invoiceNumber.charAt(8) == '1') { + if(Invoice.getType(invoiceNumber).equalsIgnoreCase(Invoice.InvoiceType.PURCHASE.name())) { PurchaseInvoice invoice = factory.buildExistingPurchaseInvoice(invoiceNumber); InvoiceMetaData invoiceMetaData = getInvoiceMetaData(invoice); String filename = "Invoice N°" + invoice.code() + " (" + invoice.client().getInvoiceEntity() + ").xlsx"; out = Paths.get(PURCHASE_INVOICE_DIR, filename); } - if(invoiceNumber.charAt(8) == '2') { + if(Invoice.getType(invoiceNumber).equalsIgnoreCase(Invoice.InvoiceType.SHIPPING.name())) { Client client = shippingInvoiceMapper.getClientByInvoiceNumber(invoiceNumber); Map period = platformOrderService.fetchShippingPeriodAndType(invoiceNumber); String clientId = client.getId(); @@ -829,7 +829,7 @@ public class PlatformOrderShippingInvoiceService { String filename = "Invoice N°" + invoice.code() + " (" + invoice.client().getInvoiceEntity() + ").xlsx"; out = Paths.get(INVOICE_DIR, filename); } - if(invoiceNumber.charAt(8) == '7') { + if(Invoice.getType(invoiceNumber).equalsIgnoreCase(Invoice.InvoiceType.COMPLETE.name())) { Client client = shippingInvoiceMapper.getClientByInvoiceNumber(invoiceNumber); Map period = platformOrderService.fetchShippingPeriodAndType(invoiceNumber); String clientId = client.getId();