From ef66fc3ed3f99beb854165178066bd2fbc51f084 Mon Sep 17 00:00:00 2001 From: "wenkuan.shi" Date: Fri, 9 Aug 2024 16:39:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=87=87=E9=9B=86=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/EquipmentFolderLocation.java | 2 + .../EquipmentFolderDetailServiceImpl.java | 22 ++--- .../GetInformationForExcelServiceImpl.java | 98 +++++++++++++++++-- 3 files changed, 100 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/reader/entity/EquipmentFolderLocation.java b/src/main/java/com/xujie/sys/modules/reader/entity/EquipmentFolderLocation.java index a478de5d..9b763c01 100644 --- a/src/main/java/com/xujie/sys/modules/reader/entity/EquipmentFolderLocation.java +++ b/src/main/java/com/xujie/sys/modules/reader/entity/EquipmentFolderLocation.java @@ -51,4 +51,6 @@ public class EquipmentFolderLocation { private int registerNumInspection; private String registerNumInspectionColumntype; private int unitId; + + private String cuttingSymbol; } diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderDetailServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderDetailServiceImpl.java index 9f5082d6..6e58dcf3 100644 --- a/src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderDetailServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderDetailServiceImpl.java @@ -20,7 +20,7 @@ import java.util.Map; public class EquipmentFolderDetailServiceImpl extends ServiceImpl implements EquipmentFolderDetailService { public static void main(String[] args) { - String file = "D:\\桌面\\cs\\剥离力.xls"; + String file = "D:\\桌面\\cs\\硬标-2.1.xls"; File excelFile = new File(file); List> list = new ArrayList<>(); try { @@ -30,7 +30,7 @@ public class EquipmentFolderDetailServiceImpl extends ServiceImpl values = new ArrayList<>(); - boolean value=false; -// for (int i = 0; i < list.size(); i++) { -// if (StringUtils.isNotEmpty(list.get(i).get(3)) && list.get(i).get(3).equals("1")){ -// value=true; -// } -// if (value){ -// values.add(list.get(i).get(3)); -// values.add(list.get(i).get(4)); -// } -// } -// log.info("获取的内容为: {}" ,values); + + String[] split = list.get(1).get(0).split("\t"); + String[] split1 = list.get(1).get(0).split("\\s+"); + log.info("获取的内容: {}" ,split); + log.info("获取的内容: {}" ,split1); + } } diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java index da425aae..ff2f634a 100644 --- a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java @@ -131,8 +131,7 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl> resultList = procedureDao.getProcedureData("Equipment_batch_no", params); - - Integer batchNo ; + Integer batchNo =null; //在所有的数据新增玩之后 , 对应的获取批次号进行新增或者修改(数据第一次就新增) if (CollectionUtils.isEmpty(resultList)) { EquipmentFolderSortEntity equipmentFolderSortEntity = new EquipmentFolderSortEntity(); @@ -144,6 +143,15 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl(), split); + }else { + insertByEntity(equipmentDataDetail, list.get(i), null); + } equipmentDataDetail.setNum(index); equipmentDataDetails.add(equipmentDataDetail); index++; } - } else if (equipmentFolderLocation.getInitialLine() != null) { + } else if (equipmentFolderLocation.getInitialLine() != null & equipmentFolderLocation.getDataRow()==null) { if (i == equipmentFolderLocation.getInitialLine() - 1) { value = true; } @@ -332,13 +350,76 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl(), split); + }else { + insertByEntity(equipmentDataDetail, list.get(i), null); + } equipmentDataDetail.setNum(index); equipmentDataDetails.add(equipmentDataDetail); index++; } } } + //从某一行开始获取多少行的值 + if (equipmentFolderLocation.getDataRow()!=null && equipmentFolderLocation.getSkipLine()!=null){ + List> record=new ArrayList<>(); + Integer dataRow = equipmentFolderLocation.getDataRow(); + Integer skipLine = equipmentFolderLocation.getSkipLine(); + Integer initialLine = equipmentFolderLocation.getInitialLine(); + + while (initialLine < list.size()) { + // 取三个数据 + if (initialLine + dataRow <= list.size()) { + List> threeItems = list.subList(initialLine, initialLine + dataRow); + record.addAll(threeItems); // 将取到的三个数据加入结果集合 + } else { + for (int i = 1; i <= dataRow; i++) { + if (initialLine + i> list.size()){ + dataRow=i-1; + if (dataRow!=0){ + List> threeItems = list.subList(initialLine, initialLine + dataRow); + record.addAll(threeItems); // 将取到的三个数据加入结果集合 + } + } + } + } + // 跳过两个数据 + initialLine += dataRow+skipLine; // 跳过两个已取的数据,继续下一个循环 + } + + for (int i = 0; i < record.size(); i++) { + EquipmentDataDetail equipmentDataDetail = new EquipmentDataDetail(); + equipmentDataDetail.setEquipmentNo(equipmentFolderLocation.getEquipmentNo()); + equipmentDataDetail.setBuNo(equipmentFolderLocation.getBuNo()); + equipmentDataDetail.setSite(equipmentFolderLocation.getSite()); + equipmentDataDetail.setBatchNo(batchNo); + equipmentDataDetail.setItemNo(equipmentFolderLocation.getItemNo()); + equipmentDataDetail.setFileNo(equipmentFolderLocation.getFileNo()); + equipmentDataDetail.setCreateDate(new Date()); + if (StringUtils.isNotEmpty(equipmentFolderLocation.getCuttingSymbol())){ + if (equipmentFolderLocation.getExcelCompareFieldsY()==null){ + throw new RuntimeException("读取设备信息为配置"); + } + String data = record.get(i).get(equipmentFolderLocation.getExcelCompareFieldsY()-1); + String[] split = data.split(equipmentFolderLocation.getCuttingSymbol()); + insertByEntity(equipmentDataDetail, new HashMap<>(), split); + }else { + insertByEntity(equipmentDataDetail, record.get(i), null); + } + equipmentDataDetail.setNum(index); + equipmentDataDetails.add(equipmentDataDetail); + index++; + } + + } + + if (CollectionUtils.isNotEmpty(equipmentDataDetails)) { equipmentDataDetails.get(equipmentDataDetails.size() - 1).setFileValue1(file); } else { @@ -381,7 +462,7 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl hashMap, String[] strings) { if (!hashMap.isEmpty() && hashMap != null) { + if (hashMap.get(0) != null) { equipmentDataDetail.setValue0(hashMap.get(0).trim()); }