From 669fe984048785873c20fbd0ce8abb3cd52c1fce Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 29 四月 2025 15:22:24 +0800
Subject: [PATCH] 新增出库单优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java |   32 +++++++++++++++++++++-----------
 1 files changed, 21 insertions(+), 11 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java
index 33a5a6c..9f28a03 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java
@@ -27,32 +27,42 @@
     @Override
     public boolean initSites(DeviceSiteParame param) {
         if (param.getFlagInit() == 1) {
-            if (!this.remove(new LambdaQueryWrapper<>())) {
-                throw new CoolException("鍒濆鍖栧け璐ワ細 鍒犻櫎绔欑偣澶辫触锛侊紒");
+            List<DeviceSite> list = this.list(new LambdaQueryWrapper<DeviceSite>().select(DeviceSite::getId).last("limit 1"));
+            if (!list.isEmpty()) {
+                if (!this.remove(new LambdaQueryWrapper<>())) {
+                    throw new CoolException("鍒濆鍖栧け璐ワ細 鍒犻櫎绔欑偣澶辫触锛侊紒");
+                }
             }
         }
         if (Objects.isNull(param.getDeviceSites()) || StringUtils.isBlank(param.getDeviceSites())) {
             throw new CoolException("鍒濆鍖栧け璐ワ細 璁惧浣滀笟绔欑偣涓嶈兘涓虹┖锛侊紒");
         }
-        if (Objects.isNull(param.getSites()) || StringUtils.isBlank(param.getSites())) {
+        if (Objects.isNull(param.getSite()) || StringUtils.isBlank(param.getSite())) {
             throw new CoolException("鍒濆鍖栧け璐�: 浣滀笟绔欑偣涓嶈兘涓虹┖锛侊紒");
         }
         if (Objects.isNull(param.getTypeIds()) || param.getTypeIds().isEmpty()) {
             throw new CoolException("鍒濆鍖栧け璐ワ細 浣滀笟绫诲瀷涓嶈兘涓虹┖锛侊紒");
         }
-        List<String> sites = Arrays.asList(StringUtils.split(param.getSites(), ","));
+        if (Objects.isNull(param.getTarget()) || param.getTarget().isEmpty()) {
+            throw new CoolException("鍒濆鍖栧け璐ワ細 鐩爣绔欑偣涓嶈兘涓虹┖锛侊紒");
+        }
+        List<String> sites = Arrays.asList(StringUtils.split(param.getSite(), ","));
         List<String> dvSites = Arrays.asList(StringUtils.split(param.getDeviceSites(), ","));
+        List<String> targets = Arrays.asList(StringUtils.split(param.getTarget(), ","));
         List<DeviceSite> deviceSites =  new ArrayList<>();
         for (String site : sites) {
             for (String deviceSite : dvSites) {
                 for (Long id : param.getTypeIds()) {
-                    DeviceSite site1 = new DeviceSite();
-                    site1.setType(id + "")
-                            .setSite(site)
-                            .setDevice(param.getDeviceType())
-                            .setDeviceSite(deviceSite)
-                            .setDeviceCode(param.getDeviceCode());
-                    deviceSites.add(site1);
+                    for (String target : targets) {
+                        DeviceSite site1 = new DeviceSite();
+                        site1.setType(id + "")
+                                .setSite(site)
+                                .setDevice(param.getDeviceType())
+                                .setDeviceSite(deviceSite)
+                                .setTarget(target)
+                                .setDeviceCode(param.getDeviceCode());
+                        deviceSites.add(site1);
+                    }
                 }
             }
         }

--
Gitblit v1.9.1