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 e8f396246..9086fb2d2 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 @@ -29,6 +29,7 @@ import org.jeecg.modules.quartz.service.IQuartzJobService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.env.Environment; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.freemarker.FreeMarkerTemplateUtils; import org.springframework.web.bind.annotation.*; @@ -532,7 +533,9 @@ public class InvoiceController { @RequestParam(name = "order", defaultValue = "ASC") String order, @RequestParam(name ="shippingAvailable[]", required = false) List shippingAvailable, @RequestParam(name ="purchaseAvailable[]", required = false) List purchaseAvailable, - @RequestParam(name = "productAvailable[]", required = false) List productAvailable + @RequestParam(name = "productAvailable[]", required = false) List productAvailable, + @RequestParam(name = "startDate" , required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, + @RequestParam(name = "endDate" , required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate ) { log.info("User : {} is requesting uninvoiced orders for shops : [{}]", ((LoginUser) SecurityUtils.getSubject().getPrincipal()).getUsername(), @@ -541,7 +544,7 @@ public class InvoiceController { String parsedColumn = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, column.replace("_dictText","")); String parsedOrder = order.toUpperCase(); if(!parsedOrder.equals("ASC") && !parsedOrder.equals("DESC")) { - return Result.error("Error 400 Bad Request"); + return Result.error(400,"Error 400 Bad Request"); } try { specialFilterContentForDictSql(parsedColumn); @@ -553,8 +556,14 @@ public class InvoiceController { // // checking shipping data availability List shopIdList = Arrays.asList(shopIds.split(",")); + if(startDate != null && endDate != null) { + if (startDate.after(endDate)) { + return Result.error("startDate can not after endDate!"); + } + } + List orders = platformOrderService.fetchUninvoicedOrdersByShopForClientFullSQL(shopIdList, Collections.singletonList(1), parsedColumn, parsedOrder, pageNo, pageSize, - productStatuses, shippingAvailable, purchaseAvailable); + productStatuses, shippingAvailable, purchaseAvailable, startDate, endDate); int total = !order.isEmpty() ? orders.get(0).getTotalCount() : 0; IPage page = new Page<>(); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PlatformOrderMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PlatformOrderMapper.java index e9bbc05a3..a559a4932 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PlatformOrderMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PlatformOrderMapper.java @@ -193,7 +193,8 @@ public interface PlatformOrderMapper extends BaseMapper { @Param("column") String column, @Param("order") String order, @Param("offset") Integer offset, @Param("size") Integer pageSize); List fetchUninvoicedOrdersByShopForClientFullSQL(@Param("shopIds") List shopIds, @Param("erpStatuses") List erpStatuses, @Param("column") String column, @Param("order") String order, @Param("offset") Integer offset, @Param("size") Integer pageSize, - @Param("productStatuses") List productStatuses, @Param("shippingStatuses") List shippingStatuses, @Param("purchaseStatuses") List purchaseStatuses); + @Param("productStatuses") List productStatuses, @Param("shippingStatuses") List shippingStatuses, @Param("purchaseStatuses") List purchaseStatuses, + @Param("startDate") Date startDate, @Param("endDate") Date endDate); List findUninvoicedOrderIdsByShopForClient(@Param("shopIds") List shopIds, @Param("erpStatuses") List erpStatuses); List fetchEmptyLogisticChannelOrders(@Param("startDate") String startDate,@Param("endDate") String endDate); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PlatformOrderMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PlatformOrderMapper.xml index 186241de9..f7f093639 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PlatformOrderMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PlatformOrderMapper.xml @@ -747,6 +747,10 @@ #{erpStatus} AND poc.erp_status <> 5 + + AND po.order_time >= #{startDate} + AND po.order_time <= #{endDate} + AND (po.shipping_invoice_number IS NULL OR (po.shipping_invoice_number LIKE '%%%%-%%-2%%%' AND po.purchase_invoice_number IS NULL diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IPlatformOrderService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IPlatformOrderService.java index bb9bbd90d..dbe9c508e 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IPlatformOrderService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IPlatformOrderService.java @@ -221,7 +221,7 @@ public interface IPlatformOrderService extends IService { List findUninvoicedOrdersByShopForClient(List shopIds, List erpStatuses, String column, String order, Integer pageNo, Integer pageSize); List fetchUninvoicedOrdersByShopForClientFullSQL(List shopIds, List erpStatuses, String column, String order, Integer pageNo, Integer pageSize, - List productAvailable, List shippingAvailable, List purchaseAvailable); + List productAvailable, List shippingAvailable, List purchaseAvailable, Date startDate, Date endDate); /** * Get ids of all order that can be invoiced by small clients (type 2) themselves. diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderServiceImpl.java index bdda7a8d6..22da64273 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderServiceImpl.java @@ -436,9 +436,9 @@ public class PlatformOrderServiceImpl extends ServiceImpl fetchUninvoicedOrdersByShopForClientFullSQL(List shopIds, List erpStatuses, String column, String order, Integer pageNo, Integer pageSize, - List productAvailable, List shippingAvailable, List purchaseAvailable) { + List productAvailable, List shippingAvailable, List purchaseAvailable, Date startDate, Date endDate) { int offset = (pageNo - 1) * pageSize; - return platformOrderMap.fetchUninvoicedOrdersByShopForClientFullSQL(shopIds, erpStatuses, column, order, offset, pageSize, productAvailable, shippingAvailable, purchaseAvailable); + return platformOrderMap.fetchUninvoicedOrdersByShopForClientFullSQL(shopIds, erpStatuses, column, order, offset, pageSize, productAvailable, shippingAvailable, purchaseAvailable, startDate, endDate); } @Override 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 b219dd653..c3007caf8 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 @@ -757,6 +757,15 @@ public class SkuListMabangServiceImpl extends ServiceImpl