Переглянути джерело

Merge remote-tracking branch 'origin/dev' into dev

xucaiqin 2 роки тому
батько
коміт
05bdde2f95

+ 167 - 15
sckw-common/sckw-common-excel/src/main/java/com/sckw/excel/utils/DateUtil.java

@@ -522,8 +522,8 @@ public class DateUtil {
     }
 
     public static void main(String[] args) throws ParseException {
-        String lastTwoMonthDate = getLastTwoMonthDateStart();
-        String lastTwoMonthDateEnd = getLastTwoMonthDateEnd();
+//        String lastTwoMonthDate = getLastTwoMonthDateStart();
+//        String lastTwoMonthDateEnd = getLastTwoMonthDateEnd();
 //        String s = "2023-12-12";
 //        Date date = DateUtil.stringPatchingStartToDateTime(s);
 //        Date date1 = DateUtil.stringPatchingEndToDateTime(s);
@@ -549,15 +549,42 @@ public class DateUtil {
 //        System.out.println(localDateTime);
 //        LocalDateTime beforeWeekDateEnd = getBeforeWeekDateEnd(6);
 //        System.out.println(beforeWeekDateEnd);
-        String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN));
-        System.out.println(format);
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
-        LocalDateTime parse = LocalDateTime.parse(format, formatter);
-        System.out.println(parse);
-        LocalDateTime lastWeekDateStart = getLastWeekDateStart(6);
-        System.out.println(lastWeekDateStart);
-        LocalDateTime lastWeekDateEnd = getLastWeekDateEnd(6);
-        System.out.println(lastWeekDateEnd);
+//        String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN));
+//        System.out.println(format);
+//        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
+//        LocalDateTime parse = LocalDateTime.parse(format, formatter);
+//        System.out.println(parse);
+//        LocalDateTime lastWeekDateStart = getLastWeekDateStart(6);
+//        System.out.println(lastWeekDateStart);
+//        LocalDateTime lastWeekDateEnd = getLastWeekDateEnd(6);
+//        System.out.println(lastWeekDateEnd);
+
+
+//        //本月
+//        //开始时间
+//
+//        String weekDateStart = getBeforeMonthDateAndDaysStartToString(1, -1);
+//        System.out.println(weekDateStart);
+//        //结束时间
+//        String weekDateEnd = getLastWeekDateEndToString(0);
+//        System.out.println(weekDateEnd);
+//        //环比本月
+//        //开始时间
+//        String beforeMonthDateAndDaysEndToString = getBeforeMonthDateAndDaysStartToString(2, -1);
+//        System.out.println(beforeMonthDateAndDaysEndToString);
+//        //结束时间
+//        String beforeMonthDateAndDaysEndToString1 = getBeforeMonthDateAndDaysEndToString(1, 0);
+//        System.out.println(beforeMonthDateAndDaysEndToString1);
+        //月
+        //开始时间
+        String monthDateStart = DateUtil.getBeforeMonthDateAndDaysStartToString(LocalDateTime.now(), 1, -1);
+        //结束时间
+        String monthDateEnd = DateUtil.getLastWeekDateEndToString(0);
+        //环比上月
+        //开始时间
+        String lastMonthDateStart = DateUtil.getBeforeMonthDateAndDaysStartToString(LocalDateTime.now(), 2, -1);
+        //结束时间
+        String lastMonthDateEnd = DateUtil.getBeforeMonthDateAndDaysEndToString(LocalDateTime.now(),1, 0);
 
     }
 
@@ -749,6 +776,23 @@ public class DateUtil {
         return localDateTime;
     }
 
+    /**
+     * 当前时间的前一个星期[传递6即为一周]
+     *
+     * @return 2023-09-12 00:00:00
+     */
+    public static String getLastWeekDateStartToString(LocalDate localDate,long amount) {
+//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+//        Calendar c = Calendar.getInstance();
+//        c.add(Calendar.DAY_OF_MONTH, -6);
+//        String start = format.format(c.getTime()) + " 00:00:00";
+//        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
+//        LocalDateTime localDateTime = LocalDateTime.parse(start, formatter);
+        LocalDateTime localDateTime = localDate.minusDays(amount).atStartOfDay();
+        String format = localDateTime.format(YYYY_MM_DD_HH_MM_SS);
+        return format;
+    }
+
 
     /**
      * 当前时间的前一个星期 [传递6即为一周]
@@ -765,6 +809,19 @@ public class DateUtil {
         return parse;
     }
 
+    /**
+     * 当前时间的前一个星期 [传递6即为一周]
+     *
+     * @return 2023-09-12 23:59:59
+     */
+    public static String getLastWeekDateEndToString(int amount) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        Calendar c = Calendar.getInstance();
+        c.add(Calendar.DAY_OF_MONTH, -amount);
+        String start = format.format(c.getTime()) + " 23:59:59";
+        return start;
+    }
+
     /**
      * 当前时间的前一个星期
      *
@@ -846,7 +903,7 @@ public class DateUtil {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         Calendar c = Calendar.getInstance();
         c.add(Calendar.MONTH, -1);
-        String start = format.format(c.getTime())+" 00:00:00";
+        String start = format.format(c.getTime()) + " 00:00:00";
         System.out.println(start);
         return start;
     }
@@ -860,7 +917,7 @@ public class DateUtil {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         Calendar c = Calendar.getInstance();
         c.add(Calendar.MONTH, -1);
-        String start = format.format(c.getTime())+" 23:59:59";
+        String start = format.format(c.getTime()) + " 23:59:59";
         return start;
     }
 
@@ -879,11 +936,106 @@ public class DateUtil {
         return start;
     }
 
+    /**
+     * 获取当前日期之前的时间
+     *
+     * @param amount 往前推多久时间[月为单位]
+     * @return 2023-09-13 00:00:00
+     */
+    public static LocalDateTime getBeforeMonthDateStart(int amount) {
+        LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount);
+        String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 00:00:00";
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
+        LocalDateTime returnLocalDateTime = LocalDateTime.parse(start, formatter);
+        return returnLocalDateTime;
+    }
+
+    /**
+     * 获取当前日期之前的时间
+     *
+     * @param amount 往前推多久时间[月为单位]
+     * @return 2023-09-13 00:00:00
+     */
+    public static LocalDateTime getBeforeMonthDateAndDaysStart(int amount, long days) {
+        LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount).minusDays(days);
+        String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 00:00:00";
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
+        LocalDateTime returnLocalDateTime = LocalDateTime.parse(start, formatter);
+        return returnLocalDateTime;
+    }
+
+    /**
+     * 获取当前日期之前的时间
+     *
+     * @param amount 往前推多久时间[月为单位]
+     * @return 2023-09-13 00:00:00
+     */
+    public static String getBeforeMonthDateStartToString(int amount) {
+        LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount);
+        String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 00:00:00";
+        return start;
+    }
+
+    /**
+     * 获取当前日期之前的时间
+     *
+     * @param amount 往前推多久时间[月为单位]
+     * @return 2023-09-13 00:00:00
+     */
+    public static String getBeforeMonthDateAndDaysStartToString(LocalDateTime localDateTime, int amount, long days) {
+        localDateTime = localDateTime.minusMonths(amount).minusDays(days);
+        String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 00:00:00";
+        return start;
+    }
+
+    /**
+     * 获取当前日期之前的时间
+     *
+     * @param amount 往前推多久时间[月为单位]
+     * @return 2023-09-13 23:59:59
+     */
+    public static LocalDateTime getBeforeMonthDateEnd(int amount) {
+        LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount);
+        String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 23:59:59";
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
+        LocalDateTime returnLocalDateTime = LocalDateTime.parse(start, formatter);
+        return returnLocalDateTime;
+    }
+
+
+    /**
+     * 获取当前日期之前的时间
+     *
+     * @param amount 往前推多久时间[月为单位]
+     * @param days   减去几天
+     * @return 2023-09-13 23:59:59
+     */
+    public static String getBeforeMonthDateAndDaysEndToString(LocalDateTime localDateTime, int amount, long days) {
+        localDateTime = localDateTime.minusMonths(amount).minusDays(days);
+        String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 23:59:59";
+        return start;
+    }
+
+    /**
+     * 获取当前日期之前的时间
+     *
+     * @param amount 往前推多久时间[月为单位]
+     * @param days   减去几天
+     * @return 2023-09-13 23:59:59
+     */
+    public static LocalDateTime getBeforeMonthDateAndDaysEndToLocalDateTime(int amount, long days) {
+        LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount).minusDays(days);
+        String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 23:59:59";
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
+        LocalDateTime returnLocalDateTime = LocalDateTime.parse(start, formatter);
+        return returnLocalDateTime;
+    }
+
 
     /**
      * 当天日期前两个月
      *
-     * @return
+     * @return 2023-09-13 00:00:00
      */
     public static String getLastTwoMonthDateStart() {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -897,7 +1049,7 @@ public class DateUtil {
     /**
      * 当天日期前两个月
      *
-     * @return
+     * @return 2023-09-13 23:59:59
      */
     public static String getLastTwoMonthDateEnd() {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -462,7 +462,7 @@ public class KwtWaybillOrderService {
 
                 //当前下游司机委派量 + 历史下游司机委派量 + 分包量
                 BigDecimal actualAmount = ranksAmount.add(entrustAmountTotal);
-                if (actualAmount.compareTo(logisticsOrder.getAmount()) > 0) {
+                if (actualAmount.doubleValue() > logisticsOrder.getAmount().doubleValue()) {
                     return HttpResult.error("累计派车量已大于剩余可运量!");
                 }
             }