diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/PurchaseOrderController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/PurchaseOrderController.java index 65d6efe2e..b417b73de 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/PurchaseOrderController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/PurchaseOrderController.java @@ -45,6 +45,8 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; +import static org.jeecg.modules.business.entity.Invoice.isInvoiceNumber; + /** * @Description: API Handler related admin purchase order * @Author: Wenke @@ -596,7 +598,7 @@ public class PurchaseOrderController { .collect(Collectors.toList()); List results = future.stream().map(CompletableFuture::join).collect(Collectors.toList()); - long nbSuccesses = results.stream().filter(PurchaseOrderController::isInvoiceNumber).count(); + long nbSuccesses = results.stream().filter(Invoice::isInvoiceNumber).count(); log.info("{}/{} purchase order requests have succeeded.", nbSuccesses, invoiceNumbers.size()); Map> data = new HashMap<>(); @@ -616,7 +618,4 @@ public class PurchaseOrderController { data.put("success", successInvoices); return Result.OK(data); } - public static boolean isInvoiceNumber(String invoiceNumber) { - return invoiceNumber.matches("^[0-9]{4}-[0-9]{2}-[127][0-9]{3}$"); - } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/shippingInvoice/InvoiceController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/shippingInvoice/InvoiceController.java index c4f039f8a..9e35e2297 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/shippingInvoice/InvoiceController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/shippingInvoice/InvoiceController.java @@ -763,11 +763,11 @@ public class InvoiceController { @RequestParam("endDate") String endDate, @RequestParam("type") String type ) throws IOException, UserException { - // TODO : fix this + fix missing sku_price - System.out.println("Request for downloading invoice detail by client and period : " + clientId + " " + shopIds + " " + startDate + " " + endDate + " " + type); + log.info("Request for downloading invoice detail by client and period : \nclient : {} \nshops : {}\nstart date : {}\nend date : {}\ntype : {}", clientId, shopIds, startDate, endDate, type); List invoiceDetails = shippingInvoiceService.getInvoiceDetailByShopsAndPeriod(shopIds, startDate, endDate, type); Client client = clientService.getById(clientId); - return shippingInvoiceService.exportToExcel(invoiceDetails, Collections.emptyList(), Collections.emptyList(), "", client.getInvoiceEntity(), client.getInternalCode()); + String period = startDate + "-" + endDate; + return shippingInvoiceService.exportToExcel(invoiceDetails, Collections.emptyList(), Collections.emptyList(), period, client.getInvoiceEntity(), client.getInternalCode()); } @GetMapping(value = "/downloadInvoiceInventory") 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 cc9e788a2..26ab74d7b 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 @@ -97,22 +97,29 @@ public class Invoice implements Serializable { @Getter public enum InvoiceType { - PURCHASE('1'), - SHIPPING('2'), - COMPLETE('7'); + PURCHASE(1, "purchase_invoice"), + SHIPPING(2, "shipping_invoice"), + COMPLETE(7, "complete_invoice"); - private final char type; + private final int type; + private final String text; - InvoiceType(char type) { + InvoiceType(int type, String text) { this.type = type; + this.text = text; } } public static String getType(String invoiceNumber) { for(InvoiceType type : InvoiceType.values()) { - if(type.getType() == invoiceNumber.charAt(8)) + // you can get the int value of a decimal digit char by subtracting '0' + int typeNumber = invoiceNumber.charAt(8) - '0'; + if(type.getType() == typeNumber) return type.name(); } throw new IllegalArgumentException("Incorrect invoice number : " + invoiceNumber); } -} + public static boolean isInvoiceNumber(String invoiceNumber) { + return invoiceNumber.matches("^[0-9]{4}-[0-9]{2}-[127][0-9]{3}$"); + } +} \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/FactureDetailMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/FactureDetailMapper.xml index 6ed79e7dd..12b6368e5 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/FactureDetailMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/FactureDetailMapper.xml @@ -2,6 +2,16 @@