From bcf39531dcfaea85297312405fbecc7eebccf7d0 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 25 四月 2025 09:33:21 +0800
Subject: [PATCH] #新增  1. 新增波次列表及详情  2. 新增立库站点绑定

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java |   39 ++++++++++++++++++++++++++-------------
 1 files changed, 26 insertions(+), 13 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 9328ef1..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
@@ -1,5 +1,6 @@
 package com.vincent.rsf.server.manager.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.manager.controller.params.DeviceSiteParame;
@@ -26,30 +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()) || param.getDeviceSites().isEmpty()) {
+        if (Objects.isNull(param.getDeviceSites()) || StringUtils.isBlank(param.getDeviceSites())) {
             throw new CoolException("鍒濆鍖栧け璐ワ細 璁惧浣滀笟绔欑偣涓嶈兘涓虹┖锛侊紒");
         }
-        if (Objects.isNull(param.getSites()) || param.getSites().isEmpty()) {
+        if (Objects.isNull(param.getSite()) || StringUtils.isBlank(param.getSite())) {
             throw new CoolException("鍒濆鍖栧け璐�: 浣滀笟绔欑偣涓嶈兘涓虹┖锛侊紒");
         }
         if (Objects.isNull(param.getTypeIds()) || param.getTypeIds().isEmpty()) {
             throw new CoolException("鍒濆鍖栧け璐ワ細 浣滀笟绫诲瀷涓嶈兘涓虹┖锛侊紒");
         }
+        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 : param.getSites()) {
-            for (String deviceSite : param.getDeviceSites()) {
+        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