From 8cf45c13890f1c537cd4bf224bcedf95db091fcb Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Tue, 10 Dec 2024 12:33:46 +0100 Subject: [PATCH] feat: (WIP) download invoice details over period, MabangSkuStockUpdateJob added clients param, fixes --- .../admin/PurchaseOrderController.java | 23 ++++++-- .../controller/admin/SkuController.java | 1 + .../shippingInvoice/InvoiceController.java | 29 +++++++++++ .../mabang/doSearchSkuListNew/SkuData.java | 13 +++-- .../stockDoAddStock/SkuAddRequestBody.java | 2 +- .../domain/job/MabangSkuStockUpdateJob.java | 15 +++++- .../business/mapper/FactureDetailMapper.java | 2 + .../mapper/ShippingInvoiceMapper.java | 3 ++ .../modules/business/mapper/SkuMapper.java | 2 + .../mapper/xml/FactureDetailMapper.xml | 52 +++++++++++++++++++ .../mapper/xml/ShippingInvoiceMapper.xml | 12 ++++- .../modules/business/mapper/xml/SkuMapper.xml | 7 +++ .../service/IProviderMabangService.java | 2 +- .../service/IShippingInvoiceService.java | 3 ++ .../modules/business/service/ISkuService.java | 2 + .../PlatformOrderShippingInvoiceService.java | 6 +++ .../impl/ProviderMabangServiceImpl.java | 24 ++++----- .../impl/ShippingInvoiceServiceImpl.java | 6 +++ .../impl/SkuListMabangServiceImpl.java | 2 +- .../business/service/impl/SkuServiceImpl.java | 5 ++ .../modules/business/vo/InvoiceType.java | 32 ++++++++++++ .../org/jeecg/modules/business/vo/Period.java | 8 +-- 22 files changed, 222 insertions(+), 29 deletions(-) create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/FactureDetailMapper.xml create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/InvoiceType.java 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 bea6b8e16..65d6efe2e 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 @@ -590,20 +590,33 @@ public class PurchaseOrderController { .filter(entry -> entry.getValue() > 0) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); InvoiceMetaData metaData = purchaseOrderService.getMetaDataFromInvoiceNumbers(invoiceNumber); - boolean success = providerMabangService.addPurchaseOrderToMabang(skuQtyNotEmptyMap, metaData, providersHistory); - return success ? invoiceNumber : "failed"; + List errors = providerMabangService.addPurchaseOrderToMabang(skuQtyNotEmptyMap, metaData, providersHistory); + return errors.isEmpty() ? invoiceNumber : errors.toString(); },throttlingExecutorService)) .collect(Collectors.toList()); List results = future.stream().map(CompletableFuture::join).collect(Collectors.toList()); - long nbSuccesses = results.stream().filter(Objects::nonNull).count(); + long nbSuccesses = results.stream().filter(PurchaseOrderController::isInvoiceNumber).count(); log.info("{}/{} purchase order requests have succeeded.", nbSuccesses, invoiceNumbers.size()); Map> data = new HashMap<>(); - List failedInvoices = results.stream().filter(s -> s.equals("failed")).collect(Collectors.toList()); - List successInvoices = results.stream().filter(s -> !s.equals("failed")).collect(Collectors.toList()); + + List failedInvoices = new ArrayList<>(); + List successInvoices = new ArrayList<>(); + + results.forEach(result -> { + if(isInvoiceNumber(result)) { + successInvoices.add(result); + } else { + failedInvoices.add(result); + } + }); + data.put("fail", failedInvoices); 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/SkuController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SkuController.java index 4f739968f..85247be72 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SkuController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/admin/SkuController.java @@ -492,6 +492,7 @@ public class SkuController { @PostMapping("/syncSkuQty") public Result syncSkuQty(@RequestBody List erpCodes) { + log.info("Syncing sku stock for SKUs : {}", erpCodes); skuListMabangService.mabangSkuStockUpdate(erpCodes); return Result.OK(); } 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 52f45a405..c4f039f8a 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 @@ -229,6 +229,21 @@ public class InvoiceController { return Result.OK(period); else return Result.error("No package in the selected period"); } + + /** + * Fetches dates of first invoice and last invoice for given shops (only return earliest and latest) + * @param shopIds + * @return + */ + @GetMapping(value = "/invoicePeriod") + public Result getInvoicePeriod(@RequestParam("shopIds") String shopIds) { + log.info("Request for invoice period for shops: {}", shopIds); + List shopIdList = Arrays.asList(shopIds.split(",")); + Period period = iShippingInvoiceService.getInvoicePeriod(shopIdList); + if (period.isValid()) + return Result.OK(period); + else return Result.error("No package in the selected period"); + } /** * Make shipping invoice for shops between 2 dates and orders with specified status. * @@ -741,6 +756,20 @@ public class InvoiceController { List extraFees = extraFeeService.findByInvoiceNumber(invoiceNumber); return shippingInvoiceService.exportToExcel(factureDetails, refunds, extraFees, invoiceNumber, invoiceEntity, internalCode); } + @GetMapping(value = "/downloadInvoiceDetailByClientAndPeriod") + public byte[] downloadInvoiceDetailByClientAndPeriod(@RequestParam("clientId") String clientId, + @RequestParam("shopIds[]")List shopIds, + @RequestParam("startDate") String startDate, + @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); + 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()); + + } @GetMapping(value = "/downloadInvoiceInventory") public byte[] downloadInvoiceInventory(@RequestParam("invoiceCode") String invoiceCode, @RequestParam("internalCode") String internalCode, @RequestParam("invoiceEntity") String invoiceEntity) throws IOException { InvoiceMetaData metaData = new InvoiceMetaData("", invoiceCode, internalCode, invoiceEntity, ""); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/doSearchSkuListNew/SkuData.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/doSearchSkuListNew/SkuData.java index e053acca0..b69934545 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/doSearchSkuListNew/SkuData.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/doSearchSkuListNew/SkuData.java @@ -53,8 +53,8 @@ public class SkuData { @JSONField(name="purchasePrice") private BigDecimal purchasePrice; /**默认供应商名称,接口参数传showProvider才返回*/ - @JSONField(name="provider") - private String provider; + @JSONField(name="warehouse") + private String warehouse; /** * if stockPicture is empty, we use it */ @@ -146,7 +146,14 @@ public class SkuData { "\nStock Picture : " + this.stockPicture + "\nsale Picture : " + this.salePicture + "\nBattery : " + this.hasBattery + - "\nMagnetic : " + this.magnetic + "\nMagnetic : " + this.magnetic + + "\nPowder : " + this.powder + + "\nIs Paste : " + this.isPaste + + "\nNo Liquid Cosmetic : " + this.noLiquidCosmetic + + "\nIs Flammable : " + this.isFlammable + + "\nIs Knife : " + this.isKnife + + "\nIs Gift : " + this.isGift + + "\nProvider : " + this.supplier ; } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/stockDoAddStock/SkuAddRequestBody.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/stockDoAddStock/SkuAddRequestBody.java index 8eb10dd2e..290c3e759 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/stockDoAddStock/SkuAddRequestBody.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/stockDoAddStock/SkuAddRequestBody.java @@ -85,7 +85,7 @@ public class SkuAddRequestBody implements RequestBody { this.declareValue = data.getDeclareValue(); this.declareName = data.getDeclareNameZh(); this.declareEname = data.getDeclareNameEn(); - this.warehouse = data.getProvider(); + this.warehouse = data.getWarehouse(); this.remark = data.getSaleRemark(); this.hasBattery = data.getHasBattery(); this.magnetic = data.getMagnetic(); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangSkuStockUpdateJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangSkuStockUpdateJob.java index 6b5aba241..edfd724e8 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangSkuStockUpdateJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/MabangSkuStockUpdateJob.java @@ -33,7 +33,18 @@ public class MabangSkuStockUpdateJob implements Job { if (parameter != null) { try { JSONObject jsonObject = new JSONObject(parameter); - if (!jsonObject.isNull("skus")) { + if(!jsonObject.isNull("clients")) { + log.info("Request to sync stock for all SKUs of clients: {}", jsonObject.getJSONArray("clients")); + erpCodes.clear(); + JSONArray array = jsonObject.getJSONArray("clients"); + for(int i = 0; i < array.length(); i++) { + String clientCode = array.getString(i); + erpCodes.addAll(skuService.fetchAllClientSkuCodes(clientCode)); + } + } + if (!jsonObject.isNull("skus") && jsonObject.isNull("clients")) { + log.info("Request to sync stock for specific SKUs: {}", jsonObject.getJSONArray("skus")); + erpCodes.clear(); JSONArray array = jsonObject.getJSONArray("skus"); for(int i = 0; i < array.length(); i++) { erpCodes.add(array.getString(i)); @@ -42,6 +53,8 @@ public class MabangSkuStockUpdateJob implements Job { } catch (JSONException e) { log.error("Error while parsing parameter as JSON, falling back to default parameters."); } + } else { + log.info("No parameter provided, syncing stock for all SKUs."); } skuListMabangService.mabangSkuStockUpdate(erpCodes); log.info("Sku stock update Job has ended."); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/FactureDetailMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/FactureDetailMapper.java index 904feef4c..eab29f4fa 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/FactureDetailMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/FactureDetailMapper.java @@ -1,6 +1,7 @@ package org.jeecg.modules.business.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.business.vo.FactureDetail; import org.springframework.stereotype.Repository; @@ -9,4 +10,5 @@ import java.util.List; @Repository public interface FactureDetailMapper extends BaseMapper { + List selectByShopsAndPeriod(@Param("shopIds") List shopIds, @Param("start") String startDate, @Param("end") String endDate, @Param("type") String type); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/ShippingInvoiceMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/ShippingInvoiceMapper.java index d6be546cd..64654c6fb 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/ShippingInvoiceMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/ShippingInvoiceMapper.java @@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Param; import org.jeecg.modules.business.entity.*; import org.jeecg.modules.business.vo.InvoiceKpi; import org.jeecg.modules.business.vo.ParcelInfos; +import org.jeecg.modules.business.vo.Period; import org.springframework.stereotype.Repository; import java.time.LocalDateTime; import java.util.List; @@ -28,4 +29,6 @@ public interface ShippingInvoiceMapper extends BaseMapper { Client getClientByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber); List getPackageStatusInPeriod(@Param("period") int period); + + Period getInvoicePeriod(@Param("shops") List shopIdList); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java index 7e3f64a63..3c06561ae 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/SkuMapper.java @@ -78,4 +78,6 @@ public interface SkuMapper extends BaseMapper { List searchExistingSkuByKeywords(@Param("keywords") List keywords); List listImgUrls(); + + List fetchAllClientSkuCodes(@Param("clientCode") String clientCode); } 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 new file mode 100644 index 000000000..6ed79e7dd --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/FactureDetailMapper.xml @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/ShippingInvoiceMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/ShippingInvoiceMapper.xml index a959f6dd8..cb684a0b4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/ShippingInvoiceMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/ShippingInvoiceMapper.xml @@ -100,6 +100,16 @@ AND erp_status IN (3,4) AND parcel_trace.id IN (SELECT id FROM latest_parcel_trace_id) - + SELECT MIN(po.order_time) as 'start', + MAX(po.order_time) as 'end', + '' as type + FROM platform_order po + JOIN shop s ON po.shop_id = s.id + WHERE s.id IN + + #{shopId} + + AND po.shipping_invoice_number IS NOT NULL \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml index 3e5fb7785..c9e06aeb8 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/SkuMapper.xml @@ -779,4 +779,11 @@ FROM sku WHERE image_source IS NOT NULL + diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IProviderMabangService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IProviderMabangService.java index b18c3948b..678c241a4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IProviderMabangService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IProviderMabangService.java @@ -17,5 +17,5 @@ public interface IProviderMabangService extends IService { */ void saveProviderFromMabang(List providerDataList); - boolean addPurchaseOrderToMabang(Map skuQuantities, InvoiceMetaData metaData, AtomicReference> providersHistory); + List addPurchaseOrderToMabang(Map skuQuantities, InvoiceMetaData metaData, AtomicReference> providersHistory); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IShippingInvoiceService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IShippingInvoiceService.java index 89dcfb50c..534e17dc0 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IShippingInvoiceService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IShippingInvoiceService.java @@ -2,6 +2,7 @@ package org.jeecg.modules.business.service; import org.jeecg.modules.business.entity.*; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.business.vo.Period; import java.io.Serializable; import java.nio.file.Path; @@ -48,4 +49,6 @@ public interface IShippingInvoiceService extends IService { boolean deleteAttachmentFile(String filename); void setPaid(List invoiceNumbers); + + Period getInvoicePeriod(List shopIdList); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISkuService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISkuService.java index b1ed9155d..f42e4ba91 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISkuService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/ISkuService.java @@ -122,4 +122,6 @@ public interface ISkuService extends IService { List listSelectableSkuIds(String clientId); List listImgUrls(); + + List fetchAllClientSkuCodes(String clientCode); } 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 c5a26cefb..fafd5a0e7 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 @@ -430,6 +430,12 @@ public class PlatformOrderShippingInvoiceService { return factureDetailMapper.selectList(queryWrapper); } + public List getInvoiceDetailByShopsAndPeriod(List shopIds, String startDate, String endDate, String type) throws UserException { + if(!type.equals(InvoiceType.SHIPPING_INVOICE.getCode()) && !type.equals(InvoiceType.COMPLETE_INVOICE.getCode())) + throw new UserException("Invalid invoice type"); + return factureDetailMapper.selectByShopsAndPeriod(shopIds, startDate, endDate, type); + } + public byte[] exportToExcel(List details, List refunds, List extraFees, String invoiceNumber, String invoiceEntity, String internalCode) throws IOException { SheetManager sheetManager = SheetManager.createXLSX(); sheetManager.startDetailsSheet(); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/ProviderMabangServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/ProviderMabangServiceImpl.java index 3f98af35b..28409bc13 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/ProviderMabangServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/ProviderMabangServiceImpl.java @@ -26,10 +26,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; import java.time.ZoneOffset; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; @@ -79,7 +76,7 @@ public class ProviderMabangServiceImpl extends ServiceImpl skuQuantities, InvoiceMetaData metaData, AtomicReference> providersHistory) { + public List addPurchaseOrderToMabang(Map skuQuantities, InvoiceMetaData metaData, AtomicReference> providersHistory) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String mabangUsername = sysUser.getMabangUsername(); String content = metaData.getFilename(); @@ -118,7 +115,7 @@ public class ProviderMabangServiceImpl extends ServiceImpl errors = new ArrayList<>(); List groupIds = new ArrayList<>(); // results from Mabang API List> changeOrderFutures = stockProviderMap.entrySet().stream() .map(entry -> CompletableFuture.supplyAsync(() -> { @@ -174,9 +171,10 @@ public class ProviderMabangServiceImpl extends ServiceImpl invoiceNumbers) { shippingInvoiceMapper.setPaid(invoiceNumbers); } + + @Override + public Period getInvoicePeriod(List shopIdList) { + return shippingInvoiceMapper.getInvoicePeriod(shopIdList); + } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SkuListMabangServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SkuListMabangServiceImpl.java index 7658ab7ee..3d2ef35ba 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SkuListMabangServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/SkuListMabangServiceImpl.java @@ -544,7 +544,7 @@ public class SkuListMabangServiceImpl extends ServiceImpl implements ISkuS return skuMapper.listImgUrls(); } + @Override + public List fetchAllClientSkuCodes(String clientCode) { + return skuMapper.fetchAllClientSkuCodes(clientCode); + } + } \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/InvoiceType.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/InvoiceType.java new file mode 100644 index 000000000..2aca57567 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/InvoiceType.java @@ -0,0 +1,32 @@ +package org.jeecg.modules.business.vo; + +public enum InvoiceType { + PURCHASE_INVOICE(1, "purchase_invoice"), + SHIPPING_INVOICE(2, "shipping_invoice"), + COMPLETE_INVOICE(7, "complete_invoice"); + + private final int code; + private final String text; + + InvoiceType(int code, String text) { + this.code = code; + this.text = text; + } + + public String getCode() { + return String.valueOf(code); + } + + public String text() { + return text; + } + + public static InvoiceType fromCode(Integer code) { + for (InvoiceType invoiceType : InvoiceType.values()) { + if (invoiceType.code == code) { + return invoiceType; + } + } + return null; + } +} \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/Period.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/Period.java index 9280d88e5..be3aa795a 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/Period.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/vo/Period.java @@ -1,16 +1,18 @@ package org.jeecg.modules.business.vo; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; import java.util.Date; +@Data public class Period { - @JsonProperty + @JsonProperty("start") private final Date start; - @JsonProperty + @JsonProperty("end") private final Date end; - @JsonProperty + @JsonProperty("type") private final String type; public Period(Date start, Date end, String type) {