From 3b57ceae3bf1339b8f902f1b40daa1588960314b Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期一, 22 七月 2024 18:28:51 +0800
Subject: [PATCH] 数采配置完成

---
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java     |    2 
 cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java              |    4 
 cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceConfigDtoPage.java            |   66 ++++++++++++++++
 cnas-server/src/main/java/com/yuanchu/mom/dto/DataConfigDto.java                  |   15 +++
 cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java        |   44 +++++++++-
 cnas-server/src/main/resources/mapper/DataConfigMapper.xml                        |   23 +++++
 cnas-server/src/main/java/com/yuanchu/mom/mapper/DataConfigMapper.java            |    6 +
 cnas-server/src/main/java/com/yuanchu/mom/service/DataConfigService.java          |    6 +
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DataConfigServiceImpl.java |   19 ++++
 9 files changed, 170 insertions(+), 15 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
index eb36cf3..6a73257 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -26,9 +26,11 @@
 import java.io.File;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 璁惧(DeviceController)琛ㄦ帶鍒跺眰
@@ -190,26 +192,54 @@
     @ValueClassify("璁惧")
     @ApiOperation(value = "缁存姢鏁伴噰閰嶇疆")
     @PostMapping("/saveDataAcquisitionConfiguration")
-    public Result<?> saveDataAcquisitionConfiguration(@RequestBody DataConfigDto dataConfigList) {
-        dataConfigService.saveOrUpdateBatch(dataConfigList.getDataConfigList());
+    public Result<?> saveDataAcquisitionConfiguration(@RequestParam(value = "deviceId") Integer deviceId, @RequestBody DataConfigDto dataConfigList) {
+        if (dataConfigList.getIsDevice()) {
+            Device device = new Device();
+            device.setId(deviceId);
+            device.setCollectUrl(dataConfigList.getCollectUrl());
+            device.setStorageUrl(dataConfigList.getStorageUrl());
+            device.setIp(dataConfigList.getIp());
+            device.setFileType(device.getFileType());
+            deviceService.updateById(device);
+        } else {
+            dataConfigService.saveOrUpdateBatch(dataConfigList.getDataConfigList());
+        }
         return Result.success();
     }
+
+//    @ValueClassify("璁惧")
+//    @ApiOperation(value = "鏌ヨ鏁伴噰閰嶇疆")
+//    @GetMapping("/queryDataAcquisitionConfiguration")
+//    public Result<?> queryDataAcquisitionConfiguration(@RequestParam("deviceId") Integer deviceId, @RequestParam("insProductItem") String insProductItem) {
+//        List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
+//                .eq(DataConfig::getDeviceId, deviceId)
+//                .eq(DataConfig::getInsProductItem, insProductItem));
+//        return Result.success(list);
+//    }
 
     @ValueClassify("璁惧")
     @ApiOperation(value = "鏌ヨ鏁伴噰閰嶇疆")
     @GetMapping("/queryDataAcquisitionConfiguration")
-    public Result<?> queryDataAcquisitionConfiguration(@RequestParam("deviceId") Integer deviceId, @RequestParam("insProductItem") String insProductItem) {
-        List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
+    public Result<?> queryDataAcquisitionConfiguration(@RequestParam("deviceId") Integer deviceId,
+                                                       @RequestParam("isDevice") Boolean isDevice,
+                                                       @RequestParam(value = "insProductItem", required = false) String insProductItem) {
+        if (isDevice) {
+            List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery()
                 .eq(DataConfig::getDeviceId, deviceId)
                 .eq(DataConfig::getInsProductItem, insProductItem));
-        return Result.success(list);
+            return Result.success(list);
+        } else {
+            return Result.success(dataConfigService.selectDataConfigList(deviceId));
+        }
     }
 
     @ValueClassify("璁惧")
     @ApiOperation(value = "鍒犻櫎鏁伴噰閰嶇疆")
     @DeleteMapping("/deleteDataAcquisitionConfiguration")
-    public Result<?> deleteDataAcquisitionConfiguration(@RequestParam("id") Integer id) {
-        dataConfigService.removeById(id);
+    public Result<?> deleteDataAcquisitionConfiguration(@RequestParam("ids") String ids) {
+        List<String> split = Arrays.asList(ids.split(","));
+        List<String> collect = split.stream().distinct().collect(Collectors.toList());
+        dataConfigService.removeBatchByIds(collect);
         return Result.success();
     }
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DataConfigDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DataConfigDto.java
index 2f60a45..d3fafcc 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/dto/DataConfigDto.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DataConfigDto.java
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.dto;
 
 import com.yuanchu.mom.pojo.DataConfig;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.List;
@@ -9,4 +10,18 @@
 public class DataConfigDto {
 
     private List<DataConfig> dataConfigList;
+
+    private Boolean isDevice;
+
+    @ApiModelProperty("鏂囦欢鍚庣紑")
+    private String fileType;
+
+    @ApiModelProperty("閲囬泦鍦板潃")
+    private String collectUrl;
+
+    @ApiModelProperty("瀛樺偍鍦板潃")
+    private String storageUrl;
+
+    @ApiModelProperty("璁惧IP")
+    private String ip;
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceConfigDtoPage.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceConfigDtoPage.java
new file mode 100644
index 0000000..779fce1
--- /dev/null
+++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceConfigDtoPage.java
@@ -0,0 +1,66 @@
+package com.yuanchu.mom.dto;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.yuanchu.mom.annotation.ValueTableShow;
+import com.yuanchu.mom.common.OrderBy;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class DeviceConfigDtoPage extends OrderBy {
+
+    @ValueTableShow(2)
+    @ApiModelProperty(value = "璁惧鍚嶇О")
+    private String deviceName;
+
+    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ValueTableShow(3)
+    @ApiModelProperty(value = "鏂囦欢鍚庣紑")
+    private String fileType;
+
+    @ValueTableShow(4)
+    @ApiModelProperty(value = "閲囬泦鍦板潃")
+    private String collectUrl;
+
+    @ValueTableShow(5)
+    @ApiModelProperty(value = "瀛樺偍鍦板潃")
+    private String storageUrl;
+
+    @ValueTableShow(6)
+    @ApiModelProperty(value = "IP鍦板潃")
+    private String ip;
+
+    @ValueTableShow(7)
+    @ApiModelProperty(value = "妫�楠岄」")
+    private String inspectionItem;
+
+    @ValueTableShow(8)
+    @ApiModelProperty(value = "妫�楠岄」瀛愰」")
+    private String inspectionItemSubClass;
+
+    @ValueTableShow(9)
+    @ApiModelProperty(value = "鍏紡")
+    private String formula;
+
+    @ValueTableShow(10)
+    @ApiModelProperty(value = "鍙傜収X")
+    private String referx;
+
+    @ValueTableShow(11)
+    @ApiModelProperty(value = "X")
+    private String x;
+
+    @ValueTableShow(12)
+    @ApiModelProperty(value = "鍙傜収Y")
+    private String refery;
+
+    @ValueTableShow(13)
+    @ApiModelProperty(value = "Y")
+    private String y;
+
+    private Integer id;
+}
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DataConfigMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DataConfigMapper.java
index c7184eb..277160f 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DataConfigMapper.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DataConfigMapper.java
@@ -1,7 +1,10 @@
 package com.yuanchu.mom.mapper;
 
-import com.yuanchu.mom.pojo.DataConfig;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.mom.dto.DeviceConfigDtoPage;
+import com.yuanchu.mom.pojo.DataConfig;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,5 @@
  */
 public interface DataConfigMapper extends BaseMapper<DataConfig> {
 
+    List<DeviceConfigDtoPage> selectDataConfigList(Integer deviceId);
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DataConfigService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DataConfigService.java
index 5ca0df5..96133f1 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/DataConfigService.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DataConfigService.java
@@ -1,7 +1,10 @@
 package com.yuanchu.mom.service;
 
-import com.yuanchu.mom.pojo.DataConfig;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.mom.dto.DeviceConfigDtoPage;
+import com.yuanchu.mom.pojo.DataConfig;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,5 @@
  */
 public interface DataConfigService extends IService<DataConfig> {
 
+    List<DeviceConfigDtoPage> selectDataConfigList(Integer deviceId);
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DataConfigServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DataConfigServiceImpl.java
index 766cf89..8035161 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DataConfigServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DataConfigServiceImpl.java
@@ -1,10 +1,15 @@
 package com.yuanchu.mom.service.impl;
 
-import com.yuanchu.mom.pojo.DataConfig;
-import com.yuanchu.mom.mapper.DataConfigMapper;
-import com.yuanchu.mom.service.DataConfigService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.common.GetLook;
+import com.yuanchu.mom.dto.DeviceConfigDtoPage;
+import com.yuanchu.mom.mapper.DataConfigMapper;
+import com.yuanchu.mom.pojo.DataConfig;
+import com.yuanchu.mom.service.DataConfigService;
+import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * <p>
@@ -15,6 +20,14 @@
  * @since 2024-07-13 12:23:00
  */
 @Service
+@AllArgsConstructor
 public class DataConfigServiceImpl extends ServiceImpl<DataConfigMapper, DataConfig> implements DataConfigService {
 
+    private GetLook getLook;
+
+    private DataConfigMapper dataConfigMapper;
+    @Override
+    public List<DeviceConfigDtoPage> selectDataConfigList(Integer deviceId) {
+        return dataConfigMapper.selectDataConfigList(deviceId);
+    }
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
index 7768262..79c8bf5 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -156,6 +156,8 @@
                     .orderBy(false, false, DataConfig::getId));
             hashMap.putAll(DataAcquisition.dataAcquisitionEntrance(request, list, i, entrustCode, sampleCode, ip));
         });
+        String frequency = DataAcquisition.createFrequency(entrustCode, sampleCode);
+        hashMap.put("frequency", frequency);
         return Result.success(hashMap);
     }
 }
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java b/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
index 505a27f..a0387db 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java
@@ -95,13 +95,11 @@
                     }
                 }
             }
-            String frequency = createFrequency(entrustCode, sampleCode);
-            map.put("frequency", frequency);
             return map;
         }
     }
 
-    private static String createFrequency(String entrustCode, String sampleCode) {
+    public static String createFrequency(String entrustCode, String sampleCode) {
         String key = frequency + ":" + entrustCode + ":" + sampleCode;
         boolean b = RedisUtil.hasKey(key);
         String frequencyValue;
diff --git a/cnas-server/src/main/resources/mapper/DataConfigMapper.xml b/cnas-server/src/main/resources/mapper/DataConfigMapper.xml
index 135e544..7701b02 100644
--- a/cnas-server/src/main/resources/mapper/DataConfigMapper.xml
+++ b/cnas-server/src/main/resources/mapper/DataConfigMapper.xml
@@ -12,4 +12,27 @@
         <result column="y" property="y" />
     </resultMap>
 
+    <select id="selectDataConfigList" resultType="com.yuanchu.mom.dto.DeviceConfigDtoPage">
+        SELECT d.device_name,
+               d.file_type,
+               d.collect_url,
+               d.storage_url,
+               d.ip,
+               ip.inspection_item,
+               if(ip.inspection_item_subclass is not null and ip.inspection_item_subclass != '',
+                  ip.inspection_item_subclass, ip.inspection_item) inspection_item_subclass,
+               ddc.formula,
+               ddc.referx,
+               ddc.refery,
+               ddc.x,
+               ddc.y,
+               ddc.id
+        FROM device d
+                 left join structure_item_parameter ip on FIND_IN_SET(ip.id, d.ins_product_ids)
+                 left join device_data_config ddc on ddc.device_id = d.id and
+                                                     if(ip.inspection_item_subclass is not null and
+                                                        ip.inspection_item_subclass != '', ip.inspection_item_subclass,
+                                                        ip.inspection_item) = ddc.ins_product_item
+        where d.id = #{deviceId}
+    </select>
 </mapper>

--
Gitblit v1.9.3