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 | 47 ++++++++++++++++++++++++++--------------------- 1 files changed, 26 insertions(+), 21 deletions(-) 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 9e25d22..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); } @@ -116,11 +120,6 @@ String[] ids = device.getInsProductIds().split(","); for (String i : ids) { if (i.equals(id + "")) { - if (ObjectUtils.isEmpty(device.getFileType()) || ObjectUtils.isEmpty(device.getCollectUrl())) { - device.setIsItADataAcquisitionDevice(false); - } else { - device.setIsItADataAcquisitionDevice(true); - } devices2.add(device); break; } @@ -136,28 +135,34 @@ @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) { + throw new ErrorException("IP锛�" + ip + "閰嶇疆浜嗚澶囧涓澶囷紝鏃犳硶杩涜鏁伴噰锛�"); + } if (ObjectUtils.isEmpty(device)) { throw new ErrorException("鏈粰璇P锛�" + ip + "閰嶇疆璁惧锛屾棤娉曡繘琛屾暟閲囷紒"); } - List<String> inspectionItemSubclass = baseMapper.getInspectionItemSubclass(id); - Map<String, String> hashMap = new HashMap<>(); - device.forEach(i -> { - if (ObjectUtils.isEmpty(i.getFileType()) || ObjectUtils.isEmpty(i.getCollectUrl())) { - throw new ErrorException("鏈粰璇ワ細" + i.getDeviceName() + "璁惧閰嶇疆閲囬泦璺緞鎴栨枃浠跺悗缂�锛�"); - } - List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery() - .eq(DataConfig::getDeviceId, i.getId()) - .in(DataConfig::getInsProductItem, inspectionItemSubclass) - .orderBy(false, false, DataConfig::getId)); - hashMap.putAll(DataAcquisition.dataAcquisitionEntrance(request, list, i, entrustCode, sampleCode, ip)); + List<Map<String, Object>> inspectionItemSubclass = baseMapper.getInspectionItemSubclass(id); + if (ObjectUtils.isEmpty(device.get(0).getFileType()) || ObjectUtils.isEmpty(device.get(0).getCollectUrl())) { + throw new ErrorException("鏈粰璇ワ細" + device.get(0).getDeviceName() + "璁惧閰嶇疆閲囬泦璺緞鎴栨枃浠跺悗缂�锛�"); + } + List<DataConfig> list1 = new ArrayList<>(); + inspectionItemSubclass.forEach(i -> { + List<DataConfig> list = dataConfigService.list(Wrappers.<DataConfig>lambdaQuery() + .eq(DataConfig::getDeviceId, device.get(0).getId()) + .eq(DataConfig::getInspectionItem, i.get("inspection_item")) + .eq(DataConfig::getInspectionItemSubclass, i.get("inspection_item_subclass")) + .orderBy(false, false, DataConfig::getId)); + list1.addAll(list); }); - String frequency = DataAcquisition.createFrequency(entrustCode, sampleCode); - hashMap.put("frequency", frequency); - return Result.success(hashMap); + Map<String, String> map = DataAcquisition.dataAcquisitionEntrance(list1, device.get(0), entrustCode, sampleCode, ip); + if (ObjectUtils.isNotEmpty(map)) { + String frequency = DataAcquisition.createFrequency(entrustCode, sampleCode); + map.put("frequency", frequency); + } + return Result.success(map); } } -- Gitblit v1.9.3