From 2fa75417c23efbdfe0c5c08f72613beaa15c31c8 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 26 五月 2025 16:17:57 +0800
Subject: [PATCH] #站点初始化

---
 rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteList.jsx                                      |    3 +--
 rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx                                           |   31 +++++++++++++++++++------------
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeviceSiteServiceImpl.java |   16 ++++++++++++++++
 3 files changed, 36 insertions(+), 14 deletions(-)

diff --git a/rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteList.jsx b/rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteList.jsx
index 6a3ae77..7fa227c 100644
--- a/rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteList.jsx
+++ b/rsf-admin/src/page/basicInfo/deviceSite/DeviceSiteList.jsx
@@ -136,8 +136,7 @@
                 actions={(
                     <TopToolbar>
                         <FilterButton />
-                        <InitButton />
-                        <MyCreateButton onClick={() => { setCreateDialog(true) }} />
+                        <InitButton />                        
                         <SelectColumnsButton preferenceKey='deviceSite' />
                         <MyExportButton />
                     </TopToolbar>
diff --git a/rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx b/rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx
index 57c9d8c..9d5545b 100644
--- a/rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx
+++ b/rsf-admin/src/page/basicInfo/deviceSite/InitModal.jsx
@@ -128,22 +128,29 @@
                                 />
                             </Grid>
                             <Grid item xs={4}>
-                                <TextInput
-                                    label={translate("table.field.deviceSite.deviceSite")}
-                                    name="deviceSites"
-                                    placeholder={translate('common.action.inputPlaceholder')}
-                                    size="small"
-                                // type="number"
+                            <ReferenceInput
+                                source="deviceSites"
+                                reference="basStation"                               
+                            >
+                                <SelectInput
+                                    label="table.field.deviceSite.deviceSite"
+                                    optionText="stationName"
+                                    optionValue="stationName"                                   
                                 />
+                            </ReferenceInput>                                
                             </Grid>
                             <Grid item xs={4}>
-                                <TextInput
-                                    label={translate("table.field.deviceSite.site")}
-                                    name="site"
-                                    placeholder={translate('common.action.inputPlaceholder')}
-                                    size="small"
-                                // type="number"
+                            <ReferenceInput
+                                source="site"
+                                reference="basStation"                                
+                            >
+                                <SelectInput
+                                    label="table.field.deviceSite.site"
+                                    optionText="stationName"
+                                    optionValue="stationName"                                    
                                 />
+                            </ReferenceInput> 
+                                
                             </Grid>
                             <Grid item xs={4}>
                                 <TextInput
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 6526f3b..b49ac55 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
@@ -4,11 +4,15 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.manager.controller.params.DeviceSiteParame;
+import com.vincent.rsf.server.manager.entity.BasDevice;
+import com.vincent.rsf.server.manager.entity.BasStation;
 import com.vincent.rsf.server.manager.mapper.DeviceSiteMapper;
 import com.vincent.rsf.server.manager.entity.DeviceSite;
+import com.vincent.rsf.server.manager.service.BasStationService;
 import com.vincent.rsf.server.manager.service.DeviceSiteService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -18,6 +22,10 @@
 
 @Service("deviceSiteService")
 public class DeviceSiteServiceImpl extends ServiceImpl<DeviceSiteMapper, DeviceSite> implements DeviceSiteService {
+
+    @Autowired
+    private BasStationService basStationService;
+
 
     /**
      * 鍒濆鍖栫珯鐐�
@@ -51,7 +59,15 @@
         List<String> targets = Arrays.asList(StringUtils.split(param.getTarget(), ","));
         List<DeviceSite> deviceSites =  new ArrayList<>();
         for (String site : sites) {
+            BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, site));
+            if (null == basStation) {
+                throw new CoolException("鍒濆鍖栧け璐ワ細 绔欑偣鏈壘鍒帮紒锛�");
+            }
             for (String deviceSite : dvSites) {
+                BasStation basStation2 = basStationService.getOne(new LambdaQueryWrapper<BasStation>().eq(BasStation::getStationName, deviceSite));
+                if (null == basStation2) {
+                    throw new CoolException("鍒濆鍖栧け璐ワ細 浣滀笟绔欑偣鏈壘鍒帮紒锛�");
+                }
                 for (Long id : param.getTypeIds()) {
                     for (String target : targets) {
                         DeviceSite site1 = new DeviceSite();

--
Gitblit v1.9.1