From e538af9a6e7ad57cdb643ecb3854b80d73f3ed03 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 17 Jun 2024 11:57:07 +0800 Subject: [PATCH] =?UTF-8?q?2024-06-17=20=E5=8A=9F=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/service/Impl/QcServiceImpl.java | 48 +++++++++++++------ 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java index 5b83a223..811e310f 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java @@ -4737,20 +4737,24 @@ public class QcServiceImpl implements QcService { // 临时对象 EquipmentDataAcquisitionData tempAcquisitionData = new EquipmentDataAcquisitionData(); BeanUtils.copyProperties(acquisitionData,tempAcquisitionData); - // 循环数据采集方式 - for (int i = 0; i < acquisitionData.getCollectionMethod().split(",").length; i++) { - tempAcquisitionData.setCollectionMethod(acquisitionData.getCollectionMethod().split(",")[i]); + // 循环数据采集来源 + for (int i = 0; i < acquisitionData.getCollectionSource().split(",").length; i++) { tempAcquisitionData.setCollectionSource(acquisitionData.getCollectionSource().split(",")[i]); + if (acquisitionData.getCollectionMethod().split(",").length > 1) { + tempAcquisitionData.setCollectionMethod(acquisitionData.getCollectionMethod().split(",")[i]); + } else { + tempAcquisitionData.setCollectionMethod(acquisitionData.getCollectionMethod()); + } if (acquisitionData.getEquipmentNo().split(",").length > 1) { tempAcquisitionData.setEquipmentNo(acquisitionData.getEquipmentNo().split(",")[i]); } else { tempAcquisitionData.setEquipmentNo(acquisitionData.getEquipmentNo()); } - if ("file".equals(acquisitionData.getCollectionMethod().split(",")[i])) { + if ("file".equals(tempAcquisitionData.getCollectionMethod())) { // 数据采集 List dataList = qcMapper.dataAcquisition(tempAcquisitionData); subDetailList.addAll(dataList); - } else if ("image".equals(acquisitionData.getCollectionMethod().split(",")[i])) { + } else if ("image".equals(tempAcquisitionData.getCollectionMethod())) { // 图片采集 List dataList2 = qcMapper.dataAcquisition2(tempAcquisitionData); List collect = dataList2.stream().map(a -> { @@ -4765,20 +4769,34 @@ public class QcServiceImpl implements QcService { if (subDetailList.isEmpty()) { throw new RuntimeException("未采集到数据信息!"); } - // 新增数据采集信息 - if ("iqc".equals(data.getFlag())) { - qcMapper.saveIQCSubDetailed(subDetailList); - } else if ("ipqc".equals(data.getFlag())) { - qcMapper.saveIPQCSubDetailed(subDetailList); - } else if ("fqc".equals(data.getFlag())) { - qcMapper.saveFQCSubDetailed(subDetailList); - } else if ("fai".equals(data.getFlag())) { - qcMapper.saveFAISubDetailed(subDetailList); + + // 分批插入 + int batchSize = 200; // 假设每批200条记录 + for (int i = 0; i < subDetailList.size(); i += batchSize) { + int end = Math.min(i + batchSize, subDetailList.size()); + List subList = subDetailList.subList(i, end); + // 新增数据采集信息 + if ("iqc".equals(data.getFlag())) { + qcMapper.saveIQCSubDetailed(subList); + } else if ("ipqc".equals(data.getFlag())) { + qcMapper.saveIPQCSubDetailed(subList); + } else if ("fqc".equals(data.getFlag())) { + qcMapper.saveFQCSubDetailed(subList); + } else if ("fai".equals(data.getFlag())) { + qcMapper.saveFAISubDetailed(subList); + } } + // 新增图片采集信息 if (!fileList.isEmpty()) { - qcMapper.saveFileList(fileList); + int batchSize2 = 200; + for (int i = 0; i < fileList.size(); i += batchSize2) { + int end = Math.min(i + batchSize2, fileList.size()); + List subFileList = fileList.subList(i, end); + qcMapper.saveFileList(subFileList); + } } + // 查出来判断是否合格 List allSubDetails = qcMapper.querySubDetails(data); // 记录不符合上下限的实测值数量