|
@@ -12,6 +12,7 @@ import org.apache.poi.hssf.usermodel.HSSFCell;
|
|
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
|
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
import org.apache.poi.ss.usermodel.*;
|
|
import org.apache.poi.ss.usermodel.*;
|
|
|
|
+import org.apache.poi.ss.util.CellRangeAddress;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -475,7 +476,9 @@ public class ExcelUtil {
|
|
// 读取数据
|
|
// 读取数据
|
|
int oid = 0;
|
|
int oid = 0;
|
|
int errorNum = 0;
|
|
int errorNum = 0;
|
|
|
|
+ int rowNum=0;
|
|
while (rows.hasNext()) {
|
|
while (rows.hasNext()) {
|
|
|
|
+ rowNum ++;
|
|
Row temp = rows.next();
|
|
Row temp = rows.next();
|
|
try {
|
|
try {
|
|
if (errorNum > 5) {
|
|
if (errorNum > 5) {
|
|
@@ -664,6 +667,19 @@ public class ExcelUtil {
|
|
order.setOrderTotal(orderTotal.intValue());
|
|
order.setOrderTotal(orderTotal.intValue());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if(order.getOrderTotal() < 0){
|
|
|
|
+ Map megerMap = isMergedRegion(sheet,rowNum,discountColumnIndex);
|
|
|
|
+ boolean merged = (boolean) megerMap.get("merged");
|
|
|
|
+ if(merged){
|
|
|
|
+ BeanUtils.copyProperties(remmendOrder,order);
|
|
|
|
+ order.setOrderProductBarCode(OrderProductBarCodeValue);
|
|
|
|
+ order.setOrderNum(orderNumByInt);
|
|
|
|
+ order.setOrderProductName(price.get(order.getOrderProductBarCode()).getColorName());
|
|
|
|
+ orderEfasts.add(order);
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/* DealerChannel dealerChannel = new DealerChannel();
|
|
/* DealerChannel dealerChannel = new DealerChannel();
|
|
boolean flag = true;
|
|
boolean flag = true;
|
|
if(order.getStoreId() != null){
|
|
if(order.getStoreId() != null){
|
|
@@ -760,6 +776,35 @@ public class ExcelUtil {
|
|
return orderEfasts;
|
|
return orderEfasts;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 判断这个单元格是否合并
|
|
|
|
+ * @param sheet
|
|
|
|
+ * @param row
|
|
|
|
+ * @param column
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private Map isMergedRegion(Sheet sheet,int row ,int column) {
|
|
|
|
+ Map map = new HashMap();
|
|
|
|
+ int sheetMergeCount = sheet.getNumMergedRegions();
|
|
|
|
+ for (int i = 0; i < sheetMergeCount; i++) {
|
|
|
|
+ CellRangeAddress range = sheet.getMergedRegion(i);
|
|
|
|
+ int firstColumn = range.getFirstColumn();
|
|
|
|
+ int lastColumn = range.getLastColumn();
|
|
|
|
+ int firstRow = range.getFirstRow();
|
|
|
|
+ int lastRow = range.getLastRow();
|
|
|
|
+ if (row >= firstRow && row <= lastRow) {
|
|
|
|
+ if (column >= firstColumn && column <= lastColumn) {
|
|
|
|
+ map.put("merged", true);
|
|
|
|
+ map.put("startRow", firstRow + 1);
|
|
|
|
+ map.put("endRow", lastRow + 1);
|
|
|
|
+ map.put("startCol", firstColumn + 1);
|
|
|
|
+ map.put("endCol", lastColumn + 1);
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 读取Excel内容(上传excel文档)
|
|
* 读取Excel内容(上传excel文档)
|