From 2de0bc2174bbec2a48db059d3850f0529c0539fc Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期四, 25 七月 2024 23:09:05 +0800 Subject: [PATCH] 数采bug调整 --- cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java | 70 +++++++++++++++++++++++++++++++++-- 1 files changed, 66 insertions(+), 4 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 8f9872a..a6554fd 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 @@ -1,21 +1,30 @@ package com.yuanchu.mom.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.dto.DeviceDto; +import com.yuanchu.mom.exception.ErrorException; import com.yuanchu.mom.mapper.DeviceMapper; import com.yuanchu.mom.mapper.StructureItemParameterMapper; +import com.yuanchu.mom.pojo.DataConfig; import com.yuanchu.mom.pojo.Device; import com.yuanchu.mom.pojo.StructureItemParameter; +import com.yuanchu.mom.service.DataConfigService; import com.yuanchu.mom.service.DeviceService; +import com.yuanchu.mom.utils.DataAcquisition; import com.yuanchu.mom.utils.QueryWrappers; +import com.yuanchu.mom.vo.Result; 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; import java.util.HashMap; import java.util.List; @@ -33,6 +42,9 @@ private DeviceMapper deviceMapper; private StructureItemParameterMapper structureItemParameterMapper; + + @Autowired + private DataConfigService dataConfigService; @Override public Map<String, Object> selectDeviceParameter(Page page, DeviceDto itemParameter) { @@ -55,8 +67,11 @@ return deviceMapper.deleteById(id); } + @Transactional(rollbackFor = Exception.class) @Override public int upDeviceParameter(Device itemParameter) { + // 鍒犻櫎鏁伴噰闆嗛厤缃暟鎹� + dataConfigService.deleteDataConfig(); return deviceMapper.updateById(itemParameter); } @@ -84,16 +99,27 @@ public List<Device> selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass) { Integer id; try { - id = structureItemParameterMapper.selectOne(Wrappers.<StructureItemParameter>lambdaQuery().eq(StructureItemParameter::getInspectionItem, inspectionItem).eq(StructureItemParameter::getInspectionItemSubclass, inspectionItemSubclass).last("limit 1").select(StructureItemParameter::getId)).getId(); + if (ObjectUtils.isEmpty(inspectionItemSubclass)) { + id = structureItemParameterMapper.selectOne(Wrappers.<StructureItemParameter>lambdaQuery() + .eq(StructureItemParameter::getInspectionItem, inspectionItem) + .last("limit 1").select(StructureItemParameter::getId)).getId(); + }else { + id = structureItemParameterMapper.selectOne(Wrappers.<StructureItemParameter>lambdaQuery() + .eq(StructureItemParameter::getInspectionItem, inspectionItem) + .eq(StructureItemParameter::getInspectionItemSubclass, inspectionItemSubclass) + .last("limit 1").select(StructureItemParameter::getId)).getId(); + } } catch (Exception e) { return null; } - List<Device> devices = deviceMapper.selectList(Wrappers.<Device>lambdaQuery().eq(Device::getDeviceStatus, 0).isNotNull(Device::getInsProductIds)); + List<Device> devices = deviceMapper.selectList(Wrappers.<Device>lambdaQuery() + .eq(Device::getDeviceStatus, 0) + .isNotNull(Device::getInsProductIds)); List<Device> devices2 = new ArrayList<>(); for (Device device : devices) { String[] ids = device.getInsProductIds().split(","); for (String i : ids) { - if (i.equals(id+"")) { + if (i.equals(id + "")) { devices2.add(device); break; } @@ -106,5 +132,41 @@ public Device selectDeviceByCode(String code) { return deviceMapper.selectOne(Wrappers.<Device>lambdaQuery().eq(Device::getFactoryNo, code).last("limit 1")); } -} + @Override + public Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode) { + // 闃叉鍥炵幆鍦板潃鍙樹负IPv6 + String ip = DataAcquisition.getIp(request); + List<Device> device = baseMapper.selectList(Wrappers.<Device>lambdaQuery() + .eq(Device::getIp, ip)); + if(device.size() > 1) { + String str = ""; + for (Device device1 : device) { + str += device1.getDeviceName() + "锛�"; + } + throw new ErrorException("IP锛�" + ip + "閰嶇疆浜嗚澶囧涓澶囷細" + str + "锛屾棤娉曡繘琛屾暟閲囷紒"); + } + if (ObjectUtils.isEmpty(device)) { + throw new ErrorException("鏈粰璇P锛�" + 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); + }); + 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