|
@@ -4,6 +4,7 @@ import com.iamberry.rst.core.order.EfastOrder;
|
|
|
import com.iamberry.rst.core.order.ProductColor;
|
|
|
import com.iamberry.rst.core.pts.PtsBomComponents;
|
|
|
import com.iamberry.rst.faces.cm.SalesOrderService;
|
|
|
+import com.iamberry.wechat.tools.AddrUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFCell;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
|
@@ -470,14 +471,16 @@ public class ExcelUtil {
|
|
|
break;
|
|
|
}
|
|
|
EfastOrder order = new EfastOrder();
|
|
|
-
|
|
|
- String nameValue = getValue(temp.getCell(nameColumnIndex));
|
|
|
- String platformOrderIdValue = getValue(temp.getCell(platformOrderColumnIndex));
|
|
|
+
|
|
|
+ String nameValue = getValue(temp.getCell(nameColumnIndex));
|
|
|
+
|
|
|
+ String platformOrderIdValue = getValue(temp.getCell(platformOrderColumnIndex));
|
|
|
|
|
|
|
|
|
Cell telCell = temp.getCell(telColumnIndex);
|
|
|
String userTel = String.valueOf(getExcelCell(telCell));
|
|
|
- String OrderProductBarCodeValue = map.get(getValue(temp.getCell(productColumnIndex)).trim());
|
|
|
+
|
|
|
+ String OrderProductBarCodeValue = map.get(getValue(temp.getCell(productColumnIndex)).trim());
|
|
|
if(StringUtils.isEmpty(nameValue)){
|
|
|
errorNum ++;
|
|
|
order.setReturnStatus("error");
|
|
@@ -519,7 +522,6 @@ public class ExcelUtil {
|
|
|
|
|
|
|
|
|
if (userTel.trim().length() < 11 || userTel.trim().length() > 15) {
|
|
|
-
|
|
|
order.setReturnStatus("error");
|
|
|
order.setReturnMsg("手机号码不正确");
|
|
|
order.setPlatformOrderId("1");
|
|
@@ -535,9 +537,11 @@ public class ExcelUtil {
|
|
|
if(orderNum == null || "".equals(orderNum) || Integer.valueOf(orderNum) == 0){
|
|
|
order.setReturnStatus("error");
|
|
|
order.setReturnMsg("数量不正确");
|
|
|
- order.setOrderNum(0);
|
|
|
+
|
|
|
+ order.setOrderNum(0);
|
|
|
}else{
|
|
|
- order.setOrderNum(Integer.valueOf(orderNum));
|
|
|
+
|
|
|
+ order.setOrderNum(Integer.valueOf(orderNum));
|
|
|
}
|
|
|
order.setOrderRemark(orderRemark);
|
|
|
if (infoColumnIndex.length == 1){
|
|
@@ -585,7 +589,7 @@ public class ExcelUtil {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- order.setOrderPayType(1);
|
|
|
+ order.setOrderPayType(1);
|
|
|
order.setOrderPayMoney(price.get(order.getOrderProductBarCode()).getColorDiscount() * order.getOrderNum());
|
|
|
order.setOrderAmount(price.get(order.getOrderProductBarCode()).getColorDiscount() * order.getOrderNum());
|
|
|
order.setOrderOpenId(order.getOrderAddressTel());
|
|
@@ -593,17 +597,20 @@ public class ExcelUtil {
|
|
|
order.setOrderId(OrderNoUtil.createOrderCode(Math.abs(new Random().nextInt(1000))));
|
|
|
|
|
|
if(isOtherStore == 2){
|
|
|
- String storeValue = getValue(temp.getCell(orderStoreInfoStColumnIndex)).trim();
|
|
|
+
|
|
|
+ String storeValue = getValue(temp.getCell(orderStoreInfoStColumnIndex)).trim();
|
|
|
for (int k=0;k<storeArray.length;k++){
|
|
|
String[] stores = storeArray[k].split("_");
|
|
|
if(stores[0].trim().equals(storeValue.trim())){
|
|
|
- order.setStoreId(Integer.valueOf(stores[1]));
|
|
|
+
|
|
|
+ order.setStoreId(Integer.valueOf(stores[1]));
|
|
|
}
|
|
|
}
|
|
|
}else{
|
|
|
- order.setStoreId(Integer.valueOf(storeArray[0]));
|
|
|
+
|
|
|
+ order.setStoreId(Integer.valueOf(storeArray[0]));
|
|
|
}
|
|
|
- order.setOid(oid);
|
|
|
+ order.setOid(oid);
|
|
|
try{
|
|
|
if (postType.equals("ems")) {
|
|
|
if (order.getOrderProvince().contains("广东")) {
|
|
@@ -706,23 +713,29 @@ public class ExcelUtil {
|
|
|
Object obj;
|
|
|
if (null != cell) {
|
|
|
switch (cell.getCellType()) {
|
|
|
- case HSSFCell.CELL_TYPE_NUMERIC:
|
|
|
+
|
|
|
+ case HSSFCell.CELL_TYPE_NUMERIC:
|
|
|
double cellValue = cell.getNumericCellValue();
|
|
|
obj = new DecimalFormat("#").format(cellValue);
|
|
|
break;
|
|
|
- case HSSFCell.CELL_TYPE_STRING:
|
|
|
+
|
|
|
+ case HSSFCell.CELL_TYPE_STRING:
|
|
|
obj = cell.getStringCellValue();
|
|
|
break;
|
|
|
- case HSSFCell.CELL_TYPE_BOOLEAN:
|
|
|
+
|
|
|
+ case HSSFCell.CELL_TYPE_BOOLEAN:
|
|
|
obj = cell.getBooleanCellValue();
|
|
|
break;
|
|
|
- case HSSFCell.CELL_TYPE_FORMULA:
|
|
|
+
|
|
|
+ case HSSFCell.CELL_TYPE_FORMULA:
|
|
|
obj = cell.getCellFormula();
|
|
|
break;
|
|
|
- case HSSFCell.CELL_TYPE_BLANK:
|
|
|
+
|
|
|
+ case HSSFCell.CELL_TYPE_BLANK:
|
|
|
obj = "";
|
|
|
break;
|
|
|
- case HSSFCell.CELL_TYPE_ERROR:
|
|
|
+
|
|
|
+ case HSSFCell.CELL_TYPE_ERROR:
|
|
|
obj = "";
|
|
|
break;
|
|
|
default:
|
|
@@ -785,10 +798,11 @@ public class ExcelUtil {
|
|
|
*/
|
|
|
private static String[] splitAddress(String addrInfo) {
|
|
|
String[] addrs = null;
|
|
|
-
|
|
|
+ String splitCharTemp = null;
|
|
|
|
|
|
for (String charSplit : ENTIRETY_SPLIT) {
|
|
|
addrs = StringUtils.split(addrInfo, charSplit);
|
|
|
+ splitCharTemp = charSplit;
|
|
|
if (addrs != null && addrs.length >= 4) {
|
|
|
break;
|
|
|
} else if (addrs != null && addrs.length == 3 && !addrs[0].contains("省")) {
|
|
@@ -800,18 +814,18 @@ public class ExcelUtil {
|
|
|
if (addrs != null && addrs.length >= 4) {
|
|
|
|
|
|
if (!addrs[2].contains("小区")) {
|
|
|
- return new String[]{addrs[0], addrs[1], addrs[2], addrInfo};
|
|
|
+ String address = AddrUtil.dealAddress(addrs[0].trim(), addrs[1].trim(), addrs[2].trim(), addrInfo, splitCharTemp, false);
|
|
|
+ return new String[]{addrs[0].trim(), addrs[1].trim(), addrs[2].trim(), address};
|
|
|
}
|
|
|
-
|
|
|
} else if (addrs != null && addrs.length == 3) {
|
|
|
|
|
|
if (!addrs[1].contains("小区")) {
|
|
|
- return new String[]{addrs[0], addrs[0], addrs[1], addrInfo};
|
|
|
+ String address = AddrUtil.dealAddress(addrs[0].trim(), addrs[0].trim(), addrs[1].trim(), addrInfo, splitCharTemp, true);
|
|
|
+ return new String[]{addrs[0].trim(), addrs[0].trim(), addrs[1].trim(), address};
|
|
|
}
|
|
|
}
|
|
|
|
|
|
for (String[] splits : PROVINCE_CITY_AERA_SPLIT) {
|
|
|
-
|
|
|
|
|
|
String tempInfo = addrInfo;
|
|
|
addrs = new String[splits.length + 1];
|
|
@@ -837,14 +851,16 @@ public class ExcelUtil {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- return new String[]{addrs[0], addrs[0], addrs[1], addrInfo};
|
|
|
+ String address = AddrUtil.dealAddress(addrs[0].trim(), addrs[0].trim(), addrs[1].trim(), addrInfo, null, true);
|
|
|
+ return new String[]{addrs[0].trim(), addrs[0].trim(), addrs[1].trim(), address};
|
|
|
} else if ((addrs.length - 1) == 3) {
|
|
|
|
|
|
if (addrs[2].contains("小区")) {
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- return new String[]{addrs[0], addrs[1], addrs[2], addrInfo};
|
|
|
+ String address = AddrUtil.dealAddress(addrs[0].trim(), addrs[1].trim(), addrs[2].trim(), addrInfo, null, false);
|
|
|
+ return new String[]{addrs[0].trim(), addrs[1].trim(), addrs[2].trim(), address};
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -853,7 +869,7 @@ public class ExcelUtil {
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) throws IOException {
|
|
|
- String[] add = splitAddress("海南省 临高县 博厚镇衍宏海港小镇(303县道西)衍宏海港小镇37栋602");
|
|
|
+ String[] add = splitAddress("北京 北京市 昌平区 回龙观街道回龙观 冠庭园5号楼2单元502");
|
|
|
if (add == null) {
|
|
|
System.out.println("切割失败...");
|
|
|
}
|