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