From f682213b9ff8a7d41ea16edfb1b68d996c46e080 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期六, 29 三月 2025 14:03:36 +0800 Subject: [PATCH] 1.清除无用方法 2.检测项目预警修改 3.数采绑定调整 --- inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 95 +++++++++++++++++++++++++---------------------- 1 files changed, 50 insertions(+), 45 deletions(-) diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java index f8d709c..8daa256 100644 --- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java +++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java @@ -527,55 +527,60 @@ // 娣诲姞璁惧璁板綍 threadPoolTaskExecutor.execute(() -> { - InsOrder order = insOrderMapper.selectById(insSample.getInsOrderId()); - User user = userMapper.selectById(userId); - // 鏌ヨ璁惧浣跨敤璁板綍鏌ヨ璇ヨ鍗曠殑浣跨敤璁板綍 - List<InsOrderDeviceRecordDto> deviceRecordDtoList = insOrderDeviceRecordMapper.selectDeviceNumber(insSample.getInsOrderId()); - Set<String> recordCodeset = deviceRecordDtoList.stream().map(InsOrderDeviceRecordDto::getManagementNumber).collect(Collectors.toSet()); + // 娣诲姞璁惧浣跨敤璁板綍 + addDeviceRecord(insSample, userId); + }); + } - // 鑾峰彇璁㈠崟璁惧缂栧彿 - List<InsProductResult> resultList = insProductResultMapper.selectResultByOrderId(insSample.getInsOrderId()); - Set<String> deviceCodeSet = new HashSet<>(); - for (InsProductResult result : resultList) { - // 娣诲姞璁惧缂栧彿 - List<JSONObject> jsonObjects = JSON.parseArray(result.getEquipValue(), JSONObject.class); - for (JSONObject jsonObject : jsonObjects) { - if (!"".equals(jsonObject.get("v") + "")) { - List<String> v = StrUtil.split(jsonObject.get("v") + "", "锛�"); - deviceCodeSet.addAll(v); - } + private synchronized void addDeviceRecord(InsSample insSample, Integer userId) { + InsOrder order = insOrderMapper.selectById(insSample.getInsOrderId()); + User user = userMapper.selectById(userId); + // 鏌ヨ璁惧浣跨敤璁板綍鏌ヨ璇ヨ鍗曠殑浣跨敤璁板綍 + List<InsOrderDeviceRecordDto> deviceRecordDtoList = insOrderDeviceRecordMapper.selectDeviceNumber(insSample.getInsOrderId()); + Set<String> recordCodeset = deviceRecordDtoList.stream().map(InsOrderDeviceRecordDto::getManagementNumber).collect(Collectors.toSet()); + + // 鑾峰彇璁㈠崟璁惧缂栧彿 + List<InsProductResult> resultList = insProductResultMapper.selectResultByOrderId(insSample.getInsOrderId()); + Set<String> deviceCodeSet = new HashSet<>(); + for (InsProductResult result : resultList) { + // 娣诲姞璁惧缂栧彿 + List<JSONObject> jsonObjects = JSON.parseArray(result.getEquipValue(), JSONObject.class); + for (JSONObject jsonObject : jsonObjects) { + if (!"".equals(jsonObject.get("v") + "")) { + List<String> v = StrUtil.split(jsonObject.get("v") + "", "锛�"); + deviceCodeSet.addAll(v); } } - // 1.鍒ゆ柇鏄惁鏈夋病鏈夋坊鍔犵殑浣跨敤璁板綍 - Set<String> orderDeviceNumbers = getDeviceDifference(deviceCodeSet, recordCodeset); - // 娣诲姞浣跨敤璁板綍, 鏍规嵁缂栧彿鏌ヨ璁惧id - if (CollectionUtils.isNotEmpty(orderDeviceNumbers)) { - List<Integer> orderDeviceIds = insOrderDeviceRecordMapper.selectDeviceIdsByNumbers(orderDeviceNumbers); - List<InsOrderDeviceRecord> collect = orderDeviceIds.stream().map(deviceId -> { - InsOrderDeviceRecord insOrderDeviceRecord = new InsOrderDeviceRecord(); - insOrderDeviceRecord.setInsOrderId(insSample.getInsOrderId()); - insOrderDeviceRecord.setDeviceId(deviceId); - insOrderDeviceRecord.setSampleCode(order.getEntrustCode()); - insOrderDeviceRecord.setUseBefore(1); - insOrderDeviceRecord.setUseAfter(1); - insOrderDeviceRecord.setUsePerson(user.getName()); - insOrderDeviceRecord.setUsePersonId(user.getId()); - return insOrderDeviceRecord; - }).collect(Collectors.toList()); + } + // 1.鍒ゆ柇鏄惁鏈夋病鏈夋坊鍔犵殑浣跨敤璁板綍 + Set<String> orderDeviceNumbers = getDeviceDifference(deviceCodeSet, recordCodeset); + // 娣诲姞浣跨敤璁板綍, 鏍规嵁缂栧彿鏌ヨ璁惧id + if (CollectionUtils.isNotEmpty(orderDeviceNumbers)) { + List<Integer> orderDeviceIds = insOrderDeviceRecordMapper.selectDeviceIdsByNumbers(orderDeviceNumbers); + List<InsOrderDeviceRecord> collect = orderDeviceIds.stream().map(deviceId -> { + InsOrderDeviceRecord insOrderDeviceRecord = new InsOrderDeviceRecord(); + insOrderDeviceRecord.setInsOrderId(insSample.getInsOrderId()); + insOrderDeviceRecord.setDeviceId(deviceId); + insOrderDeviceRecord.setSampleCode(order.getEntrustCode()); + insOrderDeviceRecord.setUseBefore(1); + insOrderDeviceRecord.setUseAfter(1); + insOrderDeviceRecord.setUsePerson(user.getName()); + insOrderDeviceRecord.setUsePersonId(user.getId()); + return insOrderDeviceRecord; + }).collect(Collectors.toList()); - insOrderDeviceRecordService.saveBatch(collect); + insOrderDeviceRecordService.saveBatch(collect); - } + } - // 2.鍒ゆ柇鏄惁鍙栨秷浜嗚澶囦娇鐢� - Set<String> repoprNumbers = getDeviceDifference(recordCodeset, deviceCodeSet); - if (CollectionUtils.isNotEmpty(repoprNumbers)) { - List<Integer> reportDeviceIds = insOrderDeviceRecordMapper.selectDeviceIdsByNumbers(repoprNumbers); - insOrderDeviceRecordMapper.delete(Wrappers.<InsOrderDeviceRecord>lambdaQuery() - .in(InsOrderDeviceRecord::getDeviceId, reportDeviceIds) - .eq(InsOrderDeviceRecord::getInsOrderId, insSample.getInsOrderId())); - } - }); + // 2.鍒ゆ柇鏄惁鍙栨秷浜嗚澶囦娇鐢� + Set<String> repoprNumbers = getDeviceDifference(recordCodeset, deviceCodeSet); + if (CollectionUtils.isNotEmpty(repoprNumbers)) { + List<Integer> reportDeviceIds = insOrderDeviceRecordMapper.selectDeviceIdsByNumbers(repoprNumbers); + insOrderDeviceRecordMapper.delete(Wrappers.<InsOrderDeviceRecord>lambdaQuery() + .in(InsOrderDeviceRecord::getDeviceId, reportDeviceIds) + .eq(InsOrderDeviceRecord::getInsOrderId, insSample.getInsOrderId())); + } } private static Set<String> getDeviceDifference(Set<String> number1, Set<String> number2) { @@ -674,7 +679,7 @@ } /** - * todo: 娓呴櫎娌℃湁浣跨敤鐨勬楠岄」 + * todo: 鍘熷璁板綍妯℃澘娓呴櫎娌℃湁浣跨敤鐨勬楠岄」(鏆傛椂鏈塨ug鏃犳硶浣跨敤) * @param sheet * @param itemNameList */ @@ -980,7 +985,7 @@ private void addAnalysis(List<InsProduct> productList, IfsInventoryQuantity ifsInventoryQuantity, InsOrder order) { for (InsProduct insProduct : productList) { // todo: 鏆傛椂鍒ゆ柇鏄惁鏄�佸寲 - if (insProduct.getInspectionItem().contains("鑰佸寲")) { + if (insProduct.getInspectionItem().contains("鑰佸寲") && insProduct.getInsResult().equals(1)) { List<InsProductDeviationWarningDetail> insProductAnalysisDtoList = insProductMapper.selectAnalysis(insProduct, ifsInventoryQuantity.getSupplierName()); if (insProductAnalysisDtoList.size() < 10) { -- Gitblit v1.9.3