|
|
|
@ -28,6 +28,7 @@ import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.poi.ss.usermodel.Cell; |
|
|
|
import org.apache.poi.ss.usermodel.CellType; |
|
|
|
import org.apache.poi.ss.usermodel.DataFormatter; |
|
|
|
import org.apache.poi.ss.usermodel.Row; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
@ -240,7 +241,18 @@ public class PartServiceImpl extends ServiceImpl<PartMapper, Part> implements Pa |
|
|
|
// 读取工作表 |
|
|
|
XSSFSheet sheet = workbook.getSheetAt(0); |
|
|
|
// 获取行数 |
|
|
|
int rows = sheet.getPhysicalNumberOfRows(); |
|
|
|
int rows = 0; |
|
|
|
// 获取行数 |
|
|
|
for (int i = 0; i < sheet.getPhysicalNumberOfRows(); i++) { |
|
|
|
//获取索引为i的行,以0开始 |
|
|
|
XSSFRow row = sheet.getRow(i); |
|
|
|
// 过滤掉空行 |
|
|
|
if (isEmptyRow(row)) { |
|
|
|
continue; |
|
|
|
} else { |
|
|
|
rows += 1; |
|
|
|
} |
|
|
|
} |
|
|
|
ArrayList<Part> partList = new ArrayList<>(); |
|
|
|
ArrayList<ExternalPartCustomer> externalPartCustomerList = new ArrayList<>(); |
|
|
|
ArrayList<ExternalPartManufacturer> externalPartManufacturerList = new ArrayList<>(); |
|
|
|
@ -562,6 +574,16 @@ public class PartServiceImpl extends ServiceImpl<PartMapper, Part> implements Pa |
|
|
|
return formatter.formatCellValue(cell); |
|
|
|
} |
|
|
|
|
|
|
|
// 检查行是否为空的方法 |
|
|
|
private boolean isEmptyRow(XSSFRow row) { |
|
|
|
for (int j = 0; j < row.getPhysicalNumberOfCells(); j++) { |
|
|
|
if (row.getCell(j) != null && !getStringCellValue(row,j).trim().isEmpty()) { |
|
|
|
return false; // 至少有一个非空单元格,该行不为空 |
|
|
|
} |
|
|
|
} |
|
|
|
return true; // 所有单元格都为空,该行为空行 |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void provisionalDataAlterHandle(Part data, Integer type) { |
|
|
|
if (type == 1){ |
|
|
|
|