From 93a1f5c0d39d864383230ab728c3c554678d630a Mon Sep 17 00:00:00 2001 From: wwb <782276617@qq.com> Date: Wed, 18 Mar 2026 14:58:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../saleorder/SaleOrderServiceImpl.java | 53 ++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index 7758229..584d50f 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -842,24 +842,53 @@ public class SaleOrderServiceImpl implements SaleOrderService { LocalDateTime referenceEndTime = reqVO.getBeginTime().minusDays(1); LocalDateTime referenceBeginTime = referenceEndTime.minus(Duration.between(reqVO.getBeginTime(), reqVO.getEndTime())); if(reqVO.getType() == 7){//周 - referenceEndTime = DateUtil.beginOfWeek(DateUtil.offsetWeek(LocalDateTimeUtils.toDate(reqVO.getBeginTime()),-1)).toLocalDateTime(); - referenceBeginTime = DateUtil.endOfWeek(DateUtil.offsetWeek(LocalDateTimeUtils.toDate(reqVO.getBeginTime()),-1)).toLocalDateTime(); + referenceBeginTime = DateUtil.beginOfWeek(DateUtil.offsetWeek(LocalDateTimeUtils.toDate(reqVO.getBeginTime()),-1)).toLocalDateTime(); + referenceEndTime = DateUtil.endOfWeek(DateUtil.offsetWeek(LocalDateTimeUtils.toDate(reqVO.getEndTime()),-1)).toLocalDateTime(); }else if(reqVO.getType() == 30){//月 - referenceEndTime = DateUtil.beginOfMonth(DateUtil.offsetMonth(LocalDateTimeUtils.toDate(reqVO.getBeginTime()),-1)).toLocalDateTime(); - referenceBeginTime = DateUtil.endOfMonth(DateUtil.offsetMonth(LocalDateTimeUtils.toDate(reqVO.getBeginTime()),-1)).toLocalDateTime(); + referenceBeginTime = DateUtil.beginOfMonth(DateUtil.offsetMonth(LocalDateTimeUtils.toDate(reqVO.getBeginTime()),-1)).toLocalDateTime(); + referenceEndTime = DateUtil.endOfMonth(DateUtil.offsetMonth(LocalDateTimeUtils.toDate(reqVO.getEndTime()),-1)).toLocalDateTime(); }else if(reqVO.getType() == 365){//年 - referenceEndTime = DateUtil.beginOfYear(DateUtil.offset(LocalDateTimeUtils.toDate(reqVO.getBeginTime()), DateField.YEAR,-1)).toLocalDateTime(); - referenceBeginTime = DateUtil.endOfYear(DateUtil.offset(LocalDateTimeUtils.toDate(reqVO.getBeginTime()), DateField.YEAR,-1)).toLocalDateTime(); + referenceBeginTime = DateUtil.beginOfYear(DateUtil.offset(LocalDateTimeUtils.toDate(reqVO.getBeginTime()), DateField.YEAR,-1)).toLocalDateTime(); + referenceEndTime = DateUtil.endOfYear(DateUtil.offset(LocalDateTimeUtils.toDate(reqVO.getEndTime()), DateField.YEAR,-1)).toLocalDateTime(); } List> collect = new ArrayList<>(); if(reqVO.getType()>1){ - List reference = getOrderCountTrend(reqVO.getType(), referenceBeginTime, referenceEndTime); + List reference = getOrderCountTrend(reqVO.getType(), referenceBeginTime, referenceEndTime); + for (TradeOrderTrendRespVO tradeOrderTrendRespVO : value) { + DataComparisonRespVO datas = new DataComparisonRespVO<>(); + datas.setValue(tradeOrderTrendRespVO); + collect.add(datas); + } + + for (DataComparisonRespVO tradeOrderTrendRespVODataComparisonRespVO : collect) { + + TradeOrderTrendRespVO tradeOrderTrendRespVO = tradeOrderTrendRespVODataComparisonRespVO.getValue(); + String date = tradeOrderTrendRespVO.getDate(); + String dates = null; + if(reqVO.getType() == 7){//周 + DateTime dateTime = DateUtil.offsetWeek(DateUtil.parse(date, "yyyyMMdd"), -1); + dates = DateUtil.format(dateTime,"yyyyMMdd"); + }else if(reqVO.getType() == 30){//月 + DateTime dateTime = DateUtil.offsetMonth(DateUtil.parse(date, "yyyyMM"), -1); + dates = DateUtil.format(dateTime,"yyyyMM"); + }else if(reqVO.getType() == 365) {//年 + DateTime dateTime = DateUtil.offset(DateUtil.parse(date, "yyyy"),DateField.YEAR, -1); + dates = DateUtil.format(dateTime,"yyyy"); + } + for (TradeOrderTrendRespVO tradeOrderTrendRespVO2 : reference) { + String referenceDate = tradeOrderTrendRespVO2.getDate(); + if(StringUtils.isNotBlank(dates) && dates.equals(referenceDate)){ + tradeOrderTrendRespVODataComparisonRespVO.setReference(tradeOrderTrendRespVO2); + } + } + } + // 顺序对比返回 - collect = IntStream.range(0, value.size()) - .mapToObj(index -> new DataComparisonRespVO() - .setValue(CollUtil.get(value, index)) - .setReference(CollUtil.get(reference, index))) - .collect(Collectors.toList()); +// collect = IntStream.range(0, value.size()) +// .mapToObj(index -> new DataComparisonRespVO() +// .setValue(CollUtil.get(value, index)) +// .setReference(CollUtil.get(reference, index))) +// .collect(Collectors.toList()); }else{ List reference = new ArrayList<>(); // 顺序对比返回