From 1ab895aa65c499c4ce6a3b0a26265ac06c7686c8 Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" <925258474@qq.com> Date: Wed, 11 Sep 2024 11:19:34 +0800 Subject: [PATCH] no message --- .../order/pojo/DefaultImportOrderManager.java | 40 ++++++++++++++++++ .../config/origen/base/editPlatFormPage.xml | 2 + .../pojo/DefaultImportOrderManager.class | Bin 41324 -> 42480 bytes .../config/origen/base/editPlatFormPage.xml | 2 + 4 files changed, 44 insertions(+) diff --git a/src/main/java/com/dev/stms/server/service/order/pojo/DefaultImportOrderManager.java b/src/main/java/com/dev/stms/server/service/order/pojo/DefaultImportOrderManager.java index d21ba22..6ec2930 100644 --- a/src/main/java/com/dev/stms/server/service/order/pojo/DefaultImportOrderManager.java +++ b/src/main/java/com/dev/stms/server/service/order/pojo/DefaultImportOrderManager.java @@ -10,6 +10,8 @@ import java.io.UnsupportedEncodingException; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -273,6 +275,14 @@ public class DefaultImportOrderManager extends DefaultBaseManager implements Imp order.setOrderDate(new Date()); }else{ kdrq=format1.parse(orderDate); + Organization contractor=PlatFormHolder.getPlatForm(); + if(contractor.getTaxRate()>0){ + //导入限制 + if (!isOrderDateValid(orderDate, contractor.getTaxRate())) { + throw new BusinessException(contractor.getTaxRate() + "月之前的订单, 不允许导入!"); + } + + } } if(planFromDate==null || "".equals(planFromDate)){ order.setPlanFromDate(new Date()); @@ -516,6 +526,36 @@ public class DefaultImportOrderManager extends DefaultBaseManager implements Imp } } + + /** + * 检查订单日期是否早于指定月份之前的日期(包括当天)。 + * + * @param orderDate 订单日期字符串(格式为 "yyyy/MM/dd") + * @param months 不允许导入的月份数 + * @return 如果订单日期早于日期,则返回 false;否则返回 true。 + */ + public static boolean isOrderDateValid(String orderDate, int months) { + // 定义日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/M/d"); + + // 将订单日期字符串转换为 LocalDate 对象 + try { + LocalDate orderLocalDate = LocalDate.parse(orderDate, formatter); + + // 获取当前日期 + LocalDate currentDate = LocalDate.now(); + + // 计算截止日期 + LocalDate cutoffDate = currentDate.minusMonths(months); + + // 比较订单日期和截止日期 + return !orderLocalDate.isBefore(cutoffDate) || orderLocalDate.equals(cutoffDate); + }catch (Exception e){ + throw new IllegalArgumentException("日期格式错误: " + orderDate, e); + } + + + } public Date ZHdate(String str,int i){ try { diff --git a/src/webapp/WEB-INF/classes/config/origen/base/editPlatFormPage.xml b/src/webapp/WEB-INF/classes/config/origen/base/editPlatFormPage.xml index c5fbc53..e8d53a1 100644 --- a/src/webapp/WEB-INF/classes/config/origen/base/editPlatFormPage.xml +++ b/src/webapp/WEB-INF/classes/config/origen/base/editPlatFormPage.xml @@ -22,6 +22,8 @@ + +