From e7d8e2c64facfa261e8b168b84e81ef6c835f57d Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 03 九月 2025 09:25:19 +0800
Subject: [PATCH] 许可证到期提醒,系统30分钟无操作下线账号
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 163 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 129 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 395bd6a..adae54a 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -7,10 +7,7 @@
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.EmptyPlateOutParam;
-import com.zy.asrs.entity.param.FullStoreParam;
-import com.zy.asrs.entity.param.LocDetlAdjustParam;
-import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.*;
@@ -155,31 +152,81 @@
return null;
}
+// @Override
+// @Transactional
+// public void startupFullTakeStore(StockOutFloorParam param, Long userId) {
+// // 鐩爣绔欑偣鐘舵�佹娴�
+// BasDevp staNo = null;
+// // 鑾峰彇搴撲綅鏄庣粏
+// List<LocDetlDto> locDetlDtos = new ArrayList<>();
+// for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) {
+// staNo = basDevpService.checkSiteStatus(paramLocDetl.getSiteId());
+//
+// if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
+// LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
+// if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+// }
+// }
+// if (!locDetlDtos.isEmpty()) {
+// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+// if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
+// // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+// stockOut(staNo, locDetlDtos, null, userId);
+// } else {
+// throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
+// }
+// } else {
+// throw new CoolException("搴撳瓨涓嶅瓨鍦�");
+// }
+// }
+
@Override
@Transactional
- public void startupFullTakeStore(StockOutParam param, Long userId) {
- // 鐩爣绔欑偣鐘舵�佹娴�
- BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
- // 鑾峰彇搴撲綅鏄庣粏
- List<LocDetlDto> locDetlDtos = new ArrayList<>();
- for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
+ public void startupFullTakeStore(StockOutFloorParam param, Long userId) {
+ // 鎸� siteId 鍒嗙粍
+ Map<Integer, List<LocDetlDto>> siteIdToLocDetlsMap = new HashMap<>();
+
+ for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
- if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+ if (one != null) {
+ LocDetlDto dto = new LocDetlDto(one, paramLocDetl.getCount());
+ Integer siteId = paramLocDetl.getSiteId();
+
+ if (siteId != null) {
+ siteIdToLocDetlsMap.computeIfAbsent(siteId, k -> new ArrayList<>()).add(dto);
+ }
+ }
}
}
- if (!locDetlDtos.isEmpty()) {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
- if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
- // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
- stockOut(staNo, locDetlDtos, null, userId);
- } else {
- throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
- }
- } else {
+
+ if (siteIdToLocDetlsMap.isEmpty()) {
throw new CoolException("搴撳瓨涓嶅瓨鍦�");
}
+
+ // 閬嶅巻鍒嗙粍鍚庣殑姣忎釜 siteId锛岄�愪釜鍑哄簱
+ for (Map.Entry<Integer, List<LocDetlDto>> entry : siteIdToLocDetlsMap.entrySet()) {
+ Integer siteId = entry.getKey();
+ List<LocDetlDto> locDetlDtos = entry.getValue();
+
+ // 鏍¢獙搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectOne(
+ new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())
+ );
+
+ if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
+ // 鏍¢獙鐩爣绔欑偣
+ BasDevp staNo = basDevpService.checkSiteStatus(siteId);
+
+ // 鎵ц鍑哄簱
+ stockOut(staNo, locDetlDtos, null, userId);
+ } else {
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" +
+ locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
+ }
+ }
}
+
@Override
@Transactional
@@ -653,29 +700,77 @@
return wrkMast;
}
+// @Override
+// @Transactional
+// public void locCheckOut(StockOutParam param, Long userId) {
+// // 鐩爣绔欑偣鐘舵�佹娴�
+// BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+// // 鑾峰彇搴撲綅鏄庣粏
+// List<LocDetlDto> locDetlDtos = new ArrayList<>();
+// for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
+// if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
+// LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
+// if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+// }
+// }
+// if (!locDetlDtos.isEmpty()) {
+// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+// if (locMast.getLocSts().equals("F")) {
+// // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
+// stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
+// } else {
+// throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
+// }
+// } else {
+// throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
+// }
+// }
+
@Override
@Transactional
- public void locCheckOut(StockOutParam param, Long userId) {
- // 鐩爣绔欑偣鐘舵�佹娴�
- BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
- // 鑾峰彇搴撲綅鏄庣粏
- List<LocDetlDto> locDetlDtos = new ArrayList<>();
- for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
+ public void locCheckOut(StockOutFloorParam param, Long userId) {
+
+ // 鎸� siteId 鍒嗙粍
+ Map<Integer, List<LocDetlDto>> siteIdToLocDetlsMap = new HashMap<>();
+
+ for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) {
if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
- if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+ if (one != null) {
+ LocDetlDto dto = new LocDetlDto(one, paramLocDetl.getCount());
+ Integer siteId = paramLocDetl.getSiteId();
+
+ if (siteId != null) {
+ siteIdToLocDetlsMap.computeIfAbsent(siteId, k -> new ArrayList<>()).add(dto);
+ }
+ }
}
}
- if (!locDetlDtos.isEmpty()) {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
- if (locMast.getLocSts().equals("F")) {
- // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
+
+ if (siteIdToLocDetlsMap.isEmpty()) {
+ throw new CoolException("搴撳瓨涓嶅瓨鍦�");
+ }
+
+ // 閬嶅巻鍒嗙粍鍚庣殑姣忎釜 siteId锛岄�愪釜鍑哄簱
+ for (Map.Entry<Integer, List<LocDetlDto>> entry : siteIdToLocDetlsMap.entrySet()) {
+ Integer siteId = entry.getKey();
+ List<LocDetlDto> locDetlDtos = entry.getValue();
+
+ // 鏍¢獙搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectOne(
+ new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())
+ );
+
+ if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
+ // 鏍¢獙鐩爣绔欑偣
+ BasDevp staNo = basDevpService.checkSiteStatus(siteId);
+
+ // 鎵ц鍑哄簱
stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
} else {
- throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
+ throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" +
+ locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
}
- } else {
- throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
}
}
--
Gitblit v1.9.1