mirror of https://github.com/jeecgboot/jeecg-boot
feat: added a date filter
parent
14b31ca05d
commit
4aa2ffdf3f
|
@ -29,6 +29,7 @@ import org.jeecg.modules.quartz.service.IQuartzJobService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
|
import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
@ -532,7 +533,9 @@ public class InvoiceController {
|
||||||
@RequestParam(name = "order", defaultValue = "ASC") String order,
|
@RequestParam(name = "order", defaultValue = "ASC") String order,
|
||||||
@RequestParam(name ="shippingAvailable[]", required = false) List<Integer> shippingAvailable,
|
@RequestParam(name ="shippingAvailable[]", required = false) List<Integer> shippingAvailable,
|
||||||
@RequestParam(name ="purchaseAvailable[]", required = false) List<Integer> purchaseAvailable,
|
@RequestParam(name ="purchaseAvailable[]", required = false) List<Integer> purchaseAvailable,
|
||||||
@RequestParam(name = "productAvailable[]", required = false) List<Integer> productAvailable
|
@RequestParam(name = "productAvailable[]", required = false) List<Integer> 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 : [{}]",
|
log.info("User : {} is requesting uninvoiced orders for shops : [{}]",
|
||||||
((LoginUser) SecurityUtils.getSubject().getPrincipal()).getUsername(),
|
((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 parsedColumn = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, column.replace("_dictText",""));
|
||||||
String parsedOrder = order.toUpperCase();
|
String parsedOrder = order.toUpperCase();
|
||||||
if(!parsedOrder.equals("ASC") && !parsedOrder.equals("DESC")) {
|
if(!parsedOrder.equals("ASC") && !parsedOrder.equals("DESC")) {
|
||||||
return Result.error("Error 400 Bad Request");
|
return Result.error(400,"Error 400 Bad Request");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
specialFilterContentForDictSql(parsedColumn);
|
specialFilterContentForDictSql(parsedColumn);
|
||||||
|
@ -553,8 +556,14 @@ public class InvoiceController {
|
||||||
// // checking shipping data availability
|
// // checking shipping data availability
|
||||||
List<String> shopIdList = Arrays.asList(shopIds.split(","));
|
List<String> shopIdList = Arrays.asList(shopIds.split(","));
|
||||||
|
|
||||||
|
if(startDate != null && endDate != null) {
|
||||||
|
if (startDate.after(endDate)) {
|
||||||
|
return Result.error("startDate can not after endDate!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
List<PlatformOrderFront> orders = platformOrderService.fetchUninvoicedOrdersByShopForClientFullSQL(shopIdList, Collections.singletonList(1), parsedColumn, parsedOrder, pageNo, pageSize,
|
List<PlatformOrderFront> 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;
|
int total = !order.isEmpty() ? orders.get(0).getTotalCount() : 0;
|
||||||
|
|
||||||
IPage<PlatformOrderFront> page = new Page<>();
|
IPage<PlatformOrderFront> page = new Page<>();
|
||||||
|
|
|
@ -193,7 +193,8 @@ public interface PlatformOrderMapper extends BaseMapper<PlatformOrder> {
|
||||||
@Param("column") String column, @Param("order") String order, @Param("offset") Integer offset, @Param("size") Integer pageSize);
|
@Param("column") String column, @Param("order") String order, @Param("offset") Integer offset, @Param("size") Integer pageSize);
|
||||||
List<PlatformOrderFront> fetchUninvoicedOrdersByShopForClientFullSQL(@Param("shopIds") List<String> shopIds, @Param("erpStatuses") List<Integer> erpStatuses,
|
List<PlatformOrderFront> fetchUninvoicedOrdersByShopForClientFullSQL(@Param("shopIds") List<String> shopIds, @Param("erpStatuses") List<Integer> erpStatuses,
|
||||||
@Param("column") String column, @Param("order") String order, @Param("offset") Integer offset, @Param("size") Integer pageSize,
|
@Param("column") String column, @Param("order") String order, @Param("offset") Integer offset, @Param("size") Integer pageSize,
|
||||||
@Param("productStatuses") List<Integer> productStatuses, @Param("shippingStatuses") List<Integer> shippingStatuses, @Param("purchaseStatuses") List<Integer> purchaseStatuses);
|
@Param("productStatuses") List<Integer> productStatuses, @Param("shippingStatuses") List<Integer> shippingStatuses, @Param("purchaseStatuses") List<Integer> purchaseStatuses,
|
||||||
|
@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
||||||
List<String> findUninvoicedOrderIdsByShopForClient(@Param("shopIds") List<String> shopIds, @Param("erpStatuses") List<Integer> erpStatuses);
|
List<String> findUninvoicedOrderIdsByShopForClient(@Param("shopIds") List<String> shopIds, @Param("erpStatuses") List<Integer> erpStatuses);
|
||||||
|
|
||||||
List<PlatformOrder> fetchEmptyLogisticChannelOrders(@Param("startDate") String startDate,@Param("endDate") String endDate);
|
List<PlatformOrder> fetchEmptyLogisticChannelOrders(@Param("startDate") String startDate,@Param("endDate") String endDate);
|
||||||
|
|
|
@ -747,6 +747,10 @@
|
||||||
#{erpStatus}
|
#{erpStatus}
|
||||||
</foreach>
|
</foreach>
|
||||||
AND poc.erp_status <> 5
|
AND poc.erp_status <> 5
|
||||||
|
<if test = "startDate != null and endDate != null">
|
||||||
|
AND po.order_time >= #{startDate}
|
||||||
|
AND po.order_time <= #{endDate}
|
||||||
|
</if>
|
||||||
AND (po.shipping_invoice_number IS NULL
|
AND (po.shipping_invoice_number IS NULL
|
||||||
OR (po.shipping_invoice_number LIKE '%%%%-%%-2%%%'
|
OR (po.shipping_invoice_number LIKE '%%%%-%%-2%%%'
|
||||||
AND po.purchase_invoice_number IS NULL
|
AND po.purchase_invoice_number IS NULL
|
||||||
|
|
|
@ -221,7 +221,7 @@ public interface IPlatformOrderService extends IService<PlatformOrder> {
|
||||||
List<PlatformOrder> findUninvoicedOrdersByShopForClient(List<String> shopIds, List<Integer> erpStatuses, String column, String order, Integer pageNo, Integer pageSize);
|
List<PlatformOrder> findUninvoicedOrdersByShopForClient(List<String> shopIds, List<Integer> erpStatuses, String column, String order, Integer pageNo, Integer pageSize);
|
||||||
|
|
||||||
List<PlatformOrderFront> fetchUninvoicedOrdersByShopForClientFullSQL(List<String> shopIds, List<Integer> erpStatuses, String column, String order, Integer pageNo, Integer pageSize,
|
List<PlatformOrderFront> fetchUninvoicedOrdersByShopForClientFullSQL(List<String> shopIds, List<Integer> erpStatuses, String column, String order, Integer pageNo, Integer pageSize,
|
||||||
List<Integer> productAvailable, List<Integer> shippingAvailable, List<Integer> purchaseAvailable);
|
List<Integer> productAvailable, List<Integer> shippingAvailable, List<Integer> purchaseAvailable, Date startDate, Date endDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get ids of all order that can be invoiced by small clients (type 2) themselves.
|
* Get ids of all order that can be invoiced by small clients (type 2) themselves.
|
||||||
|
|
|
@ -436,9 +436,9 @@ public class PlatformOrderServiceImpl extends ServiceImpl<PlatformOrderMapper, P
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public List<PlatformOrderFront> fetchUninvoicedOrdersByShopForClientFullSQL(List<String> shopIds, List<Integer> erpStatuses, String column, String order, Integer pageNo, Integer pageSize,
|
public List<PlatformOrderFront> fetchUninvoicedOrdersByShopForClientFullSQL(List<String> shopIds, List<Integer> erpStatuses, String column, String order, Integer pageNo, Integer pageSize,
|
||||||
List<Integer> productAvailable, List<Integer> shippingAvailable, List<Integer> purchaseAvailable) {
|
List<Integer> productAvailable, List<Integer> shippingAvailable, List<Integer> purchaseAvailable, Date startDate, Date endDate) {
|
||||||
int offset = (pageNo - 1) * pageSize;
|
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
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue