Parcourir la source

重新生成账单限制传入的月份 与定时任务区分

zxf il y a 4 semaines
Parent
commit
718016156d

+ 6 - 0
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/controller/RptFinancialMonthSummaryController.java

@@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.logistics.annotation.SimpleDictExportUtil;
+import com.ruoyi.logistics.util.TimeUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -116,6 +117,11 @@ public class RptFinancialMonthSummaryController extends BaseController
         if(StringUtils.isBlank(deptId)||StringUtils.isBlank(monthCode)){
          return    AjaxResult.error("供应商id或账单月份不能为空!");
         }
+        if(!TimeUtil.isBeforeCurrentMonth(monthCode)){
+            return    AjaxResult.error("重新生成月份必须为当月之前!");
+        }
+
+
         boolean result=rptFinancialMonthSummaryService.verification( monthCode, deptId );
         if(result){
             rptFinancialMonthSummaryService.creatMontSummary(param);

+ 26 - 0
jd-logistics-modules/jd-logistics-system/src/main/java/com/ruoyi/logistics/util/TimeUtil.java

@@ -0,0 +1,26 @@
+package com.ruoyi.logistics.util;
+
+import java.time.YearMonth;
+import java.time.format.DateTimeFormatter;
+
+public class TimeUtil {
+
+    /**
+     * 判断传入的 年月字符串 是否 早于 当前年月
+     * @param yearMonthStr 格式:yyyy.MM 例如 2026.02
+     * @return true=是之前的月份(允许),false=当月/未来(不允许)
+     */
+    public static boolean isBeforeCurrentMonth(String yearMonthStr) {
+        // 定义格式匹配器:对应 2026.02
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM");
+
+        // 把字符串转成 年月对象
+        YearMonth inputYearMonth = YearMonth.parse(yearMonthStr, formatter);
+
+        // 获取当前系统的年月
+        YearMonth currentYearMonth = YearMonth.now();
+
+        // 判断:输入年月 是否 早于 当前年月
+        return inputYearMonth.isBefore(currentYearMonth);
+    }
+}