From 0087434cc70ca8cee692be654d9e1c6ec82c3da7 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期三, 24 七月 2024 21:09:21 +0800
Subject: [PATCH] 数采bug调整
---
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java | 7 ++-
cnas-server/src/main/java/com/yuanchu/mom/utils/DataAcquisition.java | 7 +++
cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceConfigDtoPage.java | 6 +++
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 6 +-
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java | 9 +++-
cnas-server/src/main/resources/mapper/DataConfigMapper.xml | 17 +++++---
cnas-server/src/main/java/com/yuanchu/mom/mapper/DataConfigMapper.java | 2 +
cnas-server/src/main/java/com/yuanchu/mom/service/DataConfigService.java | 2 +
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DataConfigServiceImpl.java | 5 ++
cnas-server/src/main/java/com/yuanchu/mom/pojo/DataConfig.java | 3 +
10 files changed, 50 insertions(+), 14 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 262ec8b..71f8b14 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
@@ -13,6 +13,7 @@
import com.yuanchu.mom.pojo.Device;
import com.yuanchu.mom.service.DataConfigService;
import com.yuanchu.mom.service.DeviceService;
+import com.yuanchu.mom.utils.DataAcquisition;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
@@ -177,11 +178,13 @@
@ValueAuth
@ApiOperation(value = "鍒ゆ柇璇ヨ澶囨槸鍚﹀彲浠ユ暟閲�")
@GetMapping("/determineWhetherToCollectData")
- public Result<?> determineWhetherToCollectData(@RequestParam("managementNumber") String managementNumber) {
+ public Result<?> determineWhetherToCollectData(@RequestParam("managementNumber") String managementNumber, HttpServletRequest request) {
+ String ip = DataAcquisition.getIp(request);
Device device = deviceService.getOne(Wrappers.<Device>lambdaQuery()
- .eq(Device::getManagementNumber, managementNumber));
+ .eq(Device::getManagementNumber, managementNumber)
+ .eq(Device::getIp, ip));
if (ObjectUtils.isEmpty(device)) {
- return Result.fail("璁惧缂栧彿閿欒锛�");
+ return Result.success(false);
}
if (ObjectUtils.isEmpty(device.getFileType()) || ObjectUtils.isEmpty(device.getCollectUrl())) {
return Result.success(false);
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
index 311ff58..73ad6d8 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceConfigDtoPage.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceConfigDtoPage.java
@@ -63,4 +63,10 @@
private String y;
private Integer id;
+
+ @ApiModelProperty(value = "妫�楠屽璞�")
+ private String sample;
+
+ @ApiModelProperty(value = "妫�楠岄」鐩甶d")
+ private Integer structureItemParameterId;
}
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 277160f..56572b2 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
@@ -17,4 +17,6 @@
public interface DataConfigMapper extends BaseMapper<DataConfig> {
List<DeviceConfigDtoPage> selectDataConfigList(Integer deviceId);
+
+ List<DataConfig> deleteDataConfig();
}
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DataConfig.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DataConfig.java
index 50ac66b..6c4c769 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/DataConfig.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/DataConfig.java
@@ -60,4 +60,7 @@
@TableField(exist = false)
@ApiModelProperty("妫�楠岄」瀛愰」")
private String insProductItem;
+
+ @ApiModelProperty("妫�楠岄」id")
+ private Integer structureItemParameterId;
}
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 96133f1..32959f0 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
@@ -17,4 +17,6 @@
public interface DataConfigService extends IService<DataConfig> {
List<DeviceConfigDtoPage> selectDataConfigList(Integer deviceId);
+
+ List<DataConfig> deleteDataConfig();
}
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 8035161..7c8c492 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
@@ -30,4 +30,9 @@
public List<DeviceConfigDtoPage> selectDataConfigList(Integer deviceId) {
return dataConfigMapper.selectDataConfigList(deviceId);
}
+
+ @Override
+ public List<DataConfig> deleteDataConfig() {
+ return dataConfigMapper.deleteDataConfig();
+ }
}
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 453ff9a..b9adeff 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
@@ -22,6 +22,7 @@
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
@@ -66,8 +67,11 @@
return deviceMapper.deleteById(id);
}
+ @Transactional(rollbackFor = Exception.class)
@Override
public int upDeviceParameter(Device itemParameter) {
+ // 鍒犻櫎鏁伴噰闆嗛厤缃暟鎹�
+ dataConfigService.deleteDataConfig();
return deviceMapper.updateById(itemParameter);
}
@@ -131,9 +135,8 @@
@Override
public Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode) {
- String ipAddress = request.getRemoteAddr();
// 闃叉鍥炵幆鍦板潃鍙樹负IPv6
- String ip = ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
+ String ip = DataAcquisition.getIp(request);
List<Device> device = baseMapper.selectList(Wrappers.<Device>lambdaQuery()
.eq(Device::getIp, ip));
if(device.size() > 1) {
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 5a2126d..066c05a 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
@@ -10,6 +10,7 @@
import com.yuanchu.mom.pojo.DataConfig;
import com.yuanchu.mom.pojo.Device;
+import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -390,4 +391,10 @@
return value;
}
}
+
+ public static String getIp(HttpServletRequest request) {
+ String ipAddress = request.getRemoteAddr();
+ // 闃叉鍥炵幆鍦板潃鍙樹负IPv6
+ return ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress;
+ }
}
diff --git a/cnas-server/src/main/resources/mapper/DataConfigMapper.xml b/cnas-server/src/main/resources/mapper/DataConfigMapper.xml
index e8b009f..592af80 100644
--- a/cnas-server/src/main/resources/mapper/DataConfigMapper.xml
+++ b/cnas-server/src/main/resources/mapper/DataConfigMapper.xml
@@ -21,19 +21,24 @@
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,
+ TRIM(BOTH '["]' FROM SUBSTRING_INDEX(REPLACE(ip.sample, '[["', ''), '"]]', 1)) sample,
ddc.formula,
ddc.referx,
ddc.refery,
ddc.x,
ddc.y,
- ddc.id
+ ddc.id,
+ ip.id structureItemParameterId
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.inspection_item_subclass and
- ip.inspection_item = ddc.inspection_item
+ left join device_data_config ddc on ddc.device_id = d.id and ddc.structure_item_parameter_id = ip.id
where d.id = #{deviceId}
</select>
+
+ <select id="deleteDataConfig" resultType="com.yuanchu.mom.pojo.DataConfig">
+ SELECT ddc.*
+ FROM device d
+ left join structure_item_parameter ip on not FIND_IN_SET(ip.id, d.ins_product_ids)
+ inner join device_data_config ddc on ddc.device_id = d.id and ddc.structure_item_parameter_id = ip.id
+ </select>
</mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index ca5e74e..af29ddc 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -461,11 +461,11 @@
select d.device_name, d.management_number, d.file_type, d.collect_url
FROM
device d,
- structure_item_parameter sip
+ device_data_config ddc
where d.ip = #{ip}
- and sip.inspection_item = #{inspectionItem}
+ and ddc.inspection_item = #{inspectionItem}
<if test="inspectionItemSubclass != '' and inspectionItemSubclass != null">
- and sip.inspection_item_subclass = #{inspectionItemSubclass}
+ and ddc.inspection_item_subclass = #{inspectionItemSubclass}
</if>
and d.device_status = 0
and d.ins_product_ids is not null
--
Gitblit v1.9.3