From 22837aa98ddddb25764d6d97e0e13c3df45df5be Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期三, 24 七月 2024 17:31:07 +0800 Subject: [PATCH] 数采bug调整 --- cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 44 insertions(+), 2 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 1a4aa31..453ff9a 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 @@ -8,16 +8,22 @@ import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.dto.DeviceDto; -import com.yuanchu.mom.dto.DeviceDto1; +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 javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -35,6 +41,9 @@ private DeviceMapper deviceMapper; private StructureItemParameterMapper structureItemParameterMapper; + + @Autowired + private DataConfigService dataConfigService; @Override public Map<String, Object> selectDeviceParameter(Page page, DeviceDto itemParameter) { @@ -119,5 +128,38 @@ 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) { + String ipAddress = request.getRemoteAddr(); + // 闃叉鍥炵幆鍦板潃鍙樹负IPv6 + String ip = ipAddress.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ipAddress; + 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<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