wangxiaoming před 5 roky
rodič
revize
c0f34e5723

+ 45 - 0
watero-rst-web/src/main/java/com/iamberry/rst/utils/ExcelUtil.java

@@ -12,6 +12,7 @@ import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -475,7 +476,9 @@ public class ExcelUtil {
         // 读取数据
         int oid = 0;
         int errorNum = 0;
+        int rowNum=0;
         while (rows.hasNext()) {
+            rowNum ++;
             Row temp = rows.next();
             try {
                 if (errorNum > 5) {
@@ -664,6 +667,19 @@ public class ExcelUtil {
                     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();
                 boolean flag = true;
                 if(order.getStoreId() != null){
@@ -760,6 +776,35 @@ public class ExcelUtil {
         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文档)

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/order/excel_to_order_new.ftl

@@ -45,7 +45,7 @@
             <tr class="text-c">
                 <td width="55">收货人姓名</td>
                 <td style="text-align: left;">
-                    <select class="my-select" name="addr-name" id="addr-name" matchSelect="收件人|收货人|客户姓名|收件人姓名|收货人姓名" style="height: 30px;width: 180px;margin: 0px;">
+                    <select class="my-select" name="addr-name" id="addr-name" matchSelect="姓名|收件人|收货人|客户姓名|收件人姓名|收货人姓名" style="height: 30px;width: 180px;margin: 0px;">
                         <#list heads as head>
                             <option value="${head}" >${head}</option>
                         </#list>