From f8193b239dac7276cb9203af51ad9b424fa5e90d Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 28 二月 2026 15:17:25 +0800
Subject: [PATCH] 发货时间限制
---
src/main/java/com/zy/asrs/controller/PlaController.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java
index b4b08f2..55473bc 100644
--- a/src/main/java/com/zy/asrs/controller/PlaController.java
+++ b/src/main/java/com/zy/asrs/controller/PlaController.java
@@ -14,6 +14,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.GlobleParameter;
import com.zy.asrs.entity.result.KeyValueVo;
+import com.zy.asrs.mapper.ManPakOutMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.PlaExcelListener;
import com.zy.asrs.utils.SaasUtils;
@@ -36,6 +37,8 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -234,11 +237,43 @@
return R.ok(plaQtyService.getDeliveryDate());
}
+ @Resource
+ private ManPakOutMapper manPakOutMapper;
+
@RequestMapping(value = "/pla/sellout/auth")
@ManagerAuth(memo = "sellout")
@Transactional
@Synchronized
public R sellout(@RequestBody List<Pla> plas) {
+ // 鍒ゆ柇鍙戣揣鏃堕棿娈靛唴锛屾槸鍚﹁秴
+ String pakoutTime = plas.get(0).getPakoutTime().split("\\(")[0];
+ if (!Cools.isEmpty(pakoutTime)) {
+ // 鑾峰彇鏃堕棿娈靛唴鍙戣揣閲嶉噺闄愰
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "MAX_WEIGHT_PER_HOUR").eq("status", 1));
+ if (config != null) {
+ pakoutTime = pakoutTime.split("\\(")[0].trim();
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ // 瑙f瀽
+ LocalDateTime dateTime = LocalDateTime.parse(pakoutTime, formatter);
+
+ // 褰撳皬鏃惰捣鐐�
+ LocalDateTime startHour = dateTime.withMinute(0).withSecond(0);
+
+ // 涓嬩竴涓皬鏃�
+ LocalDateTime endHour = startHour.plusHours(1); // 鑷姩澶勭悊璺ㄥぉ
+
+ // 杞洖瀛楃涓�
+ String startStr = startHour.format(formatter); // 2026-01-28 23:00:00
+ String endStr = endHour.format(formatter); // 2026-01-29 00:00:00
+
+ long anfme = manPakOutMapper.maxWeightPerHour(startStr, endStr);
+ long weightMax = Long.parseLong(config.getValue());
+ if (anfme + plas.get(0).getOrderWeight().longValue() > weightMax) {
+ throw new CoolException("瓒呭皬鏃堕噸閲忛檺棰�:" + weightMax + "锛岃灏忔椂鍙戣揣閲忓凡鏈夛細" + anfme);
+ }
+ }
+ }
String orderNo = plas.get(0).getOrderNo();
String maktx = plas.get(0).getBrand();
--
Gitblit v1.9.1