Commit 3e19f25c authored by zhengyi's avatar zhengyi

Merge branch 'master' into order-update

parents b26c164d 771f9571
...@@ -13,17 +13,17 @@ alter table `ecw_order` ...@@ -13,17 +13,17 @@ alter table `ecw_order`
CREATE TABLE `compare_air_customer_result` ( CREATE TABLE `compare_air_customer_result` (
`id` bigint NOT NULL AUTO_INCREMENT, `id` bigint NOT NULL AUTO_INCREMENT,
`number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'name', `number` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'name',
`name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'name', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'name',
`phone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'phone', `phone` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'phone',
`old_customer_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'old_customerName', `old_customer_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'old_customerName',
`customer_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'customerName', `customer_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'customerName',
`enter_open_sea_time` datetime DEFAULT NULL COMMENT '入公海时间', `enter_open_sea_time` datetime DEFAULT NULL COMMENT '入公海时间',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_time` datetime DEFAULT NULL COMMENT '创建时间',
`type` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'type', `type` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'type',
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='客户比对表结果表'; ) ENGINE=InnoDB COMMENT='客户比对表结果表';
......
...@@ -2544,7 +2544,7 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl ...@@ -2544,7 +2544,7 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
} }
} else if (vo.getDrawee() == 2) {//收货人付款 层级5 第一个 } else if (vo.getDrawee() == 2) {//收货人付款 层级5 第一个
if (consigneeDO != null) { if (consigneeDO != null) {
vo.setCustomerId(orderConsignorBackVO.getCustomerId()); vo.setCustomerId(orderConsigneeBackVO.getCustomerId());
} else { } else {
//没有收货人 //没有收货人
vo.setCustomerId(0L); vo.setCustomerId(0L);
...@@ -2555,7 +2555,6 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl ...@@ -2555,7 +2555,6 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
} else if (vo.getDrawee() == 3) { //自定义付款 } else if (vo.getDrawee() == 3) { //自定义付款
List<CustomDraweeVO> list = JSONObject.parseArray(vo.getCustomDrawee(), CustomDraweeVO.class); List<CustomDraweeVO> list = JSONObject.parseArray(vo.getCustomDrawee(), CustomDraweeVO.class);
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
List<CustomDraweeVO> freightList = list.stream().filter(s -> s.getName().equals("freight")).collect(Collectors.toList()); List<CustomDraweeVO> freightList = list.stream().filter(s -> s.getName().equals("freight")).collect(Collectors.toList());
List<CustomDraweeVO> clearanceFeeList = list.stream().filter(s -> s.getName().equals("clearanceFee")).collect(Collectors.toList()); List<CustomDraweeVO> clearanceFeeList = list.stream().filter(s -> s.getName().equals("clearanceFee")).collect(Collectors.toList());
int freight = freightList.get(0).getValue();//运费 int freight = freightList.get(0).getValue();//运费
...@@ -2577,7 +2576,6 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl ...@@ -2577,7 +2576,6 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
} else { } else {
//业绩归收货人 //业绩归收货人
vo.setCustomerId(orderConsigneeBackVO.getCustomerId() != null ? orderConsigneeBackVO.getCustomerId() : 0); vo.setCustomerId(orderConsigneeBackVO.getCustomerId() != null ? orderConsigneeBackVO.getCustomerId() : 0);
customerType = 2; customerType = 2;
} }
} }
...@@ -4257,6 +4255,11 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl ...@@ -4257,6 +4255,11 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
case UNLOADED_CABINET: case UNLOADED_CABINET:
// if (Objects.isNull(currentOrderDO.getUnloadTime())) { // if (Objects.isNull(currentOrderDO.getUnloadTime())) {
currentOrderDO.setUnloadTime(now); currentOrderDO.setUnloadTime(now);
// }
break;
case UNLOADED_CABINET_AIR:
// if (Objects.isNull(currentOrderDO.getUnloadTime())) {
currentOrderDO.setUnloadTime(now);
// } // }
break; break;
case PICKED_UP: case PICKED_UP:
......
...@@ -336,8 +336,9 @@ public class MyOrderController { ...@@ -336,8 +336,9 @@ public class MyOrderController {
OrderBackInfoDto dto = orderQueryService.info(orderId); OrderBackInfoDto dto = orderQueryService.info(orderId);
dto.setUserType(UserTypeEnum.MEMBER.getValue()); dto.setUserType(UserTypeEnum.MEMBER.getValue());
if (CollectionUtil.isNotEmpty(dto.getOrderTimeVOList())) { if (CollectionUtil.isNotEmpty(dto.getOrderTimeVOList())) {
List<OrderTimeBackVO> orderTimeVOList = dto.getOrderTimeVOList().stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(OrderTimeBackVO::getStatusType))), ArrayList::new)); List<OrderTimeBackVO> orderTimeVOList = dto.getOrderTimeVOList().stream()
dto.setOrderTimeVOList(orderTimeVOList.stream().sorted(Comparator.comparing(OrderTimeBackVO::getId).reversed()).collect(Collectors.toList())); .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(OrderTimeBackVO::getStatusType))), ArrayList::new));
dto.setOrderTimeVOList(orderTimeVOList.stream().filter(t -> t.getStatus() != 15 && t.getStatus() != 150330).sorted(Comparator.comparing(OrderTimeBackVO::getId).reversed()).collect(Collectors.toList()));
} }
return success(dto); return success(dto);
} }
......
...@@ -78,7 +78,7 @@ public class ProductPriceExcelExportListener { ...@@ -78,7 +78,7 @@ public class ProductPriceExcelExportListener {
String nowTime = formatter.format(LocalDateTime.now()); String nowTime = formatter.format(LocalDateTime.now());
String dir = ueProperties.getTempDir().concat("/productPrice/excel/"); String dir = ueProperties.getTempDir().concat("/productPrice/excel/");
File fileDir = new File(dir); File fileDir = new File(dir);
if(!fileDir.exists()) { if (!fileDir.exists()) {
fileDir.mkdirs(); fileDir.mkdirs();
} }
...@@ -89,11 +89,11 @@ public class ProductPriceExcelExportListener { ...@@ -89,11 +89,11 @@ public class ProductPriceExcelExportListener {
long total = productPriceService.getExcelListCount(exportReqVO); long total = productPriceService.getExcelListCount(exportReqVO);
int pageNumber = (int) Math.ceil((double) total / (double) pageSize); int pageNumber = (int) Math.ceil((double) total / (double) pageSize);
String sheetName = "路线价格第{0}页"; String sheetName = "路线价格第{0}页";
List<CurrencyDO> currencyList = currencyService.getCurrencyList(); List<CurrencyDO> currencyList = currencyService.getCurrencyList();
Map<Integer, CurrencyDO> currencyMap = currencyList.stream() Map<Integer, CurrencyDO> currencyMap = currencyList.stream()
.collect(Collectors.toMap(CurrencyDO::getId, v->v)); .collect(Collectors.toMap(CurrencyDO::getId, v -> v));
List<UnitDO> unitList = unitService.getUnitList(); List<UnitDO> unitList = unitService.getUnitList();
Map<Integer, UnitDO> unitMap = unitList.stream() Map<Integer, UnitDO> unitMap = unitList.stream()
...@@ -113,7 +113,7 @@ public class ProductPriceExcelExportListener { ...@@ -113,7 +113,7 @@ public class ProductPriceExcelExportListener {
List<ProductPriceExcelData> list = List<ProductPriceExcelData> list =
productPriceService.getExcelList(pageSize, maxId, exportReqVO); productPriceService.getExcelList(pageSize, maxId, exportReqVO);
log.error("路线价格数据{}-{}处理成功", start, end); log.error("路线价格数据{}-{}处理成功", start, end);
if(CollectionUtil.isEmpty(list)) continue; if (CollectionUtil.isEmpty(list)) continue;
maxId = list.get(list.size() - 1).getId(); maxId = list.get(list.size() - 1).getId();
for (ProductPriceExcelData item : list) { for (ProductPriceExcelData item : list) {
...@@ -121,7 +121,7 @@ public class ProductPriceExcelExportListener { ...@@ -121,7 +121,7 @@ public class ProductPriceExcelExportListener {
String transportPrice = ""; String transportPrice = "";
String clearancePrice = ""; String clearancePrice = "";
if(item.getStepPrice() == 0) { if (item.getStepPrice() == 0) {
transportPrice = getPrice(item.getTransportPrice(), transportPrice = getPrice(item.getTransportPrice(),
item.getTransportPriceUnit().intValue(), item.getTransportPriceUnit().intValue(),
item.getTransportVolumeUnit().intValue(), currencyMap, unitMap); item.getTransportVolumeUnit().intValue(), currencyMap, unitMap);
...@@ -132,13 +132,13 @@ public class ProductPriceExcelExportListener { ...@@ -132,13 +132,13 @@ public class ProductPriceExcelExportListener {
String allPrice = getPrice(item.getAllPrice(), item.getAllPriceUnit().intValue(), String allPrice = getPrice(item.getAllPrice(), item.getAllPriceUnit().intValue(),
item.getAllVolumeUnit().intValue(), currencyMap, unitMap); item.getAllVolumeUnit().intValue(), currencyMap, unitMap);
if(item.getPriceType() == 1) { if (item.getPriceType() == 1) {
transportPrice = allPrice; transportPrice = allPrice;
clearancePrice = ""; clearancePrice = "";
} }
List<ProductPriceSpecialDO> specialList = item.getSpecialList(); List<ProductPriceSpecialDO> specialList = item.getSpecialList();
if(CollectionUtil.isNotEmpty(specialList)) { if (CollectionUtil.isNotEmpty(specialList)) {
for (ProductPriceSpecialDO specialDO : specialList) { for (ProductPriceSpecialDO specialDO : specialList) {
String key = specialDO.getSpecialDictType(); String key = specialDO.getSpecialDictType();
String specialTransportPrice = getPrice(specialDO.getTransportPrice(), String specialTransportPrice = getPrice(specialDO.getTransportPrice(),
...@@ -151,31 +151,31 @@ public class ProductPriceExcelExportListener { ...@@ -151,31 +151,31 @@ public class ProductPriceExcelExportListener {
String specialAllPrice = getPrice(specialDO.getAllPrice(), specialDO.getAllPriceUnit().intValue(), String specialAllPrice = getPrice(specialDO.getAllPrice(), specialDO.getAllPriceUnit().intValue(),
specialDO.getAllVolumeUnit().intValue(), currencyMap, unitMap); specialDO.getAllVolumeUnit().intValue(), currencyMap, unitMap);
if(item.getPriceType() == 1) { if (item.getPriceType() == 1) {
specialTransportPrice = specialAllPrice; specialTransportPrice = specialAllPrice;
specialClearancePrice = ""; specialClearancePrice = "";
} }
if(key.equals("licensed_price")) { if (key.equals("licensed_price")) {
item.setYpTransportPrice(specialTransportPrice); item.setYpTransportPrice(specialTransportPrice);
item.setYpClearancePrice(specialClearancePrice); item.setYpClearancePrice(specialClearancePrice);
} else if(key.equals("neutral_brand_prices")) { } else if (key.equals("neutral_brand_prices")) {
item.setZxTransportPrice(specialTransportPrice); item.setZxTransportPrice(specialTransportPrice);
item.setZxClearancePrice(specialClearancePrice); item.setZxClearancePrice(specialClearancePrice);
} else if(key.equals("liquid_price")) { } else if (key.equals("liquid_price")) {
item.setYtTransportPrice(specialTransportPrice); item.setYtTransportPrice(specialTransportPrice);
item.setYtClearancePrice(specialClearancePrice); item.setYtClearancePrice(specialClearancePrice);
} else if(key.equals("live_price")) { } else if (key.equals("live_price")) {
item.setDdTransportPrice(specialTransportPrice); item.setDdTransportPrice(specialTransportPrice);
item.setDdClearancePrice(specialClearancePrice); item.setDdClearancePrice(specialClearancePrice);
} }
} }
} }
} else if(item.getStepPrice() == 1) { } else if (item.getStepPrice() == 1) {
//阶梯价格 //阶梯价格
List<ProductPriceStepDO> stepList = item.getStepList(); List<ProductPriceStepDO> stepList = item.getStepList();
if(CollectionUtil.isNotEmpty(stepList)) { if (CollectionUtil.isNotEmpty(stepList)) {
Map<Integer, List<ProductPriceStepDO>> stepTypeMap = stepList.stream() Map<Integer, List<ProductPriceStepDO>> stepTypeMap = stepList.stream()
.collect(Collectors.groupingBy(ProductPriceStepDO::getPriceType)); .collect(Collectors.groupingBy(ProductPriceStepDO::getPriceType));
List<ProductPriceStepDO> yfStepList = stepTypeMap.get(PriceTypeEnum.FREIGHT.getPriceType()); List<ProductPriceStepDO> yfStepList = stepTypeMap.get(PriceTypeEnum.FREIGHT.getPriceType());
...@@ -193,157 +193,158 @@ public class ProductPriceExcelExportListener { ...@@ -193,157 +193,158 @@ public class ProductPriceExcelExportListener {
StringBuilder ytqgfSb = new StringBuilder(); StringBuilder ytqgfSb = new StringBuilder();
StringBuilder ddyfSb = new StringBuilder(); StringBuilder ddyfSb = new StringBuilder();
StringBuilder ddqgfSb = new StringBuilder(); StringBuilder ddqgfSb = new StringBuilder();
if (item.getPriceType() == 0) {
if(CollectionUtil.isNotEmpty(yfStepList)) { if (CollectionUtil.isNotEmpty(yfStepList)) {
yfStepList.sort(Comparator.comparing(ProductPriceStepDO::getRankNum)); yfStepList.sort(Comparator.comparing(ProductPriceStepDO::getRankNum));
for (int j = 1; j <= yfStepList.size(); j++) { for (int j = 1; j <= yfStepList.size(); j++) {
ProductPriceStepDO stepDO = yfStepList.get(j - 1); ProductPriceStepDO stepDO = yfStepList.get(j - 1);
List<ProductPriceStepSpecialDO> stepSpecialDOS = stepDO.getSpecialList(); List<ProductPriceStepSpecialDO> stepSpecialDOS = stepDO.getSpecialList();
if(CollectionUtil.isNotEmpty(stepSpecialDOS)) { if (CollectionUtil.isNotEmpty(stepSpecialDOS)) {
Map<String, ProductPriceStepSpecialDO> stepSpecialDOMap = stepSpecialDOS.stream() Map<String, ProductPriceStepSpecialDO> stepSpecialDOMap = stepSpecialDOS.stream()
.collect(Collectors.toMap(ProductPriceStepSpecialDO::getSpecialDictType, v -> v, (v1,v2) -> v2)); .collect(Collectors.toMap(ProductPriceStepSpecialDO::getSpecialDictType, v -> v, (v1, v2) -> v2));
//有牌 //有牌
ProductPriceStepSpecialDO yp = stepSpecialDOMap.get("licensed_price"); ProductPriceStepSpecialDO yp = stepSpecialDOMap.get("licensed_price");
//中性 //中性
ProductPriceStepSpecialDO zx = stepSpecialDOMap.get("neutral_brand_prices"); ProductPriceStepSpecialDO zx = stepSpecialDOMap.get("neutral_brand_prices");
//液体 //液体
ProductPriceStepSpecialDO yt = stepSpecialDOMap.get("liquid_price"); ProductPriceStepSpecialDO yt = stepSpecialDOMap.get("liquid_price");
//带电 //带电
ProductPriceStepSpecialDO dd = stepSpecialDOMap.get("live_price"); ProductPriceStepSpecialDO dd = stepSpecialDOMap.get("live_price");
String stepInfo = "第" + j + "阶梯: "; String stepInfo = "第" + j + "阶梯: ";
addStepSpecialPrice(yp, currencyMap, unitMap, ypyfSb, stepInfo, PriceTypeEnum.FREIGHT); addStepSpecialPrice(yp, currencyMap, unitMap, ypyfSb, stepInfo, PriceTypeEnum.FREIGHT);
addStepSpecialPrice(zx, currencyMap, unitMap, zxyfSb, stepInfo, PriceTypeEnum.FREIGHT); addStepSpecialPrice(zx, currencyMap, unitMap, zxyfSb, stepInfo, PriceTypeEnum.FREIGHT);
addStepSpecialPrice(yt, currencyMap, unitMap, ytyfSb, stepInfo, PriceTypeEnum.FREIGHT); addStepSpecialPrice(yt, currencyMap, unitMap, ytyfSb, stepInfo, PriceTypeEnum.FREIGHT);
addStepSpecialPrice(dd, currencyMap, unitMap, ddyfSb, stepInfo, PriceTypeEnum.FREIGHT); addStepSpecialPrice(dd, currencyMap, unitMap, ddyfSb, stepInfo, PriceTypeEnum.FREIGHT);
if(i != yfStepList.size()) { if (i != yfStepList.size()) {
ypyfSb.append((char)10); ypyfSb.append((char) 10);
zxyfSb.append((char)10); zxyfSb.append((char) 10);
ytyfSb.append((char)10); ytyfSb.append((char) 10);
ddyfSb.append((char)10); ddyfSb.append((char) 10);
}
} }
}
String stepTransportPrice = getPrice(stepDO.getTransportPrice(), String stepTransportPrice = getPrice(stepDO.getTransportPrice(),
stepDO.getTransportPriceUnit().intValue(), stepDO.getTransportPriceUnit().intValue(),
stepDO.getTransportVolumeUnit().intValue(), currencyMap, unitMap); stepDO.getTransportVolumeUnit().intValue(), currencyMap, unitMap);
Long weightUnit = stepDO.getWeightUnit(); Long weightUnit = stepDO.getWeightUnit();
String unit = ""; String unit = "";
if(weightUnit != null) { if (weightUnit != null) {
UnitDO unitDO = unitMap.get(weightUnit.intValue()); UnitDO unitDO = unitMap.get(weightUnit.intValue());
unit = unitDO.getTitleZh(); unit = Objects.nonNull(unitDO) ? unitDO.getTitleZh() : "空";
} }
BigDecimal startNum = stepDO.getStartNum(); BigDecimal startNum = stepDO.getStartNum();
BigDecimal endNum = stepDO.getEndNum(); BigDecimal endNum = stepDO.getEndNum();
transportPriceSb.append("第").append(j).append("阶梯:").append(startNum) transportPriceSb.append("第").append(j).append("阶梯:").append(startNum)
.append("-").append(endNum).append(unit).append(" ").append(stepTransportPrice); .append("-").append(endNum).append(unit).append(" ").append(stepTransportPrice);
if(i != stepList.size()) { if (i != stepList.size()) {
transportPriceSb.append((char)10); transportPriceSb.append((char) 10);
}
} }
} }
}
if(CollectionUtil.isNotEmpty(qgfStepList)) { if (CollectionUtil.isNotEmpty(qgfStepList)) {
qgfStepList.sort(Comparator.comparing(ProductPriceStepDO::getRankNum)); qgfStepList.sort(Comparator.comparing(ProductPriceStepDO::getRankNum));
for (int j = 1; j <= qgfStepList.size(); j++) { for (int j = 1; j <= qgfStepList.size(); j++) {
ProductPriceStepDO stepDO = qgfStepList.get(j - 1); ProductPriceStepDO stepDO = qgfStepList.get(j - 1);
List<ProductPriceStepSpecialDO> stepSpecialDOS = stepDO.getSpecialList(); List<ProductPriceStepSpecialDO> stepSpecialDOS = stepDO.getSpecialList();
if(CollectionUtil.isNotEmpty(stepSpecialDOS)) { if (CollectionUtil.isNotEmpty(stepSpecialDOS)) {
Map<String, ProductPriceStepSpecialDO> stepSpecialDOMap = stepSpecialDOS.stream() Map<String, ProductPriceStepSpecialDO> stepSpecialDOMap = stepSpecialDOS.stream()
.collect(Collectors.toMap(ProductPriceStepSpecialDO::getSpecialDictType, v -> v, (v1,v2) -> v2)); .collect(Collectors.toMap(ProductPriceStepSpecialDO::getSpecialDictType, v -> v, (v1, v2) -> v2));
//有牌 //有牌
ProductPriceStepSpecialDO yp = stepSpecialDOMap.get("licensed_price"); ProductPriceStepSpecialDO yp = stepSpecialDOMap.get("licensed_price");
//中性 //中性
ProductPriceStepSpecialDO zx = stepSpecialDOMap.get("neutral_brand_prices"); ProductPriceStepSpecialDO zx = stepSpecialDOMap.get("neutral_brand_prices");
//液体 //液体
ProductPriceStepSpecialDO yt = stepSpecialDOMap.get("liquid_price"); ProductPriceStepSpecialDO yt = stepSpecialDOMap.get("liquid_price");
//带电 //带电
ProductPriceStepSpecialDO dd = stepSpecialDOMap.get("live_price"); ProductPriceStepSpecialDO dd = stepSpecialDOMap.get("live_price");
String stepInfo = "第" + j + "阶梯: "; String stepInfo = "第" + j + "阶梯: ";
addStepSpecialPrice(yp, currencyMap, unitMap, ypqgfSb, stepInfo, PriceTypeEnum.CLEARANCE); addStepSpecialPrice(yp, currencyMap, unitMap, ypqgfSb, stepInfo, PriceTypeEnum.CLEARANCE);
addStepSpecialPrice(zx, currencyMap, unitMap, zxqgfSb, stepInfo, PriceTypeEnum.CLEARANCE); addStepSpecialPrice(zx, currencyMap, unitMap, zxqgfSb, stepInfo, PriceTypeEnum.CLEARANCE);
addStepSpecialPrice(yt, currencyMap, unitMap, ytqgfSb, stepInfo, PriceTypeEnum.CLEARANCE); addStepSpecialPrice(yt, currencyMap, unitMap, ytqgfSb, stepInfo, PriceTypeEnum.CLEARANCE);
addStepSpecialPrice(dd, currencyMap, unitMap, ddqgfSb, stepInfo, PriceTypeEnum.CLEARANCE); addStepSpecialPrice(dd, currencyMap, unitMap, ddqgfSb, stepInfo, PriceTypeEnum.CLEARANCE);
if(i != qgfStepList.size()) { if (i != qgfStepList.size()) {
ypqgfSb.append((char)10); ypqgfSb.append((char) 10);
zxqgfSb.append((char)10); zxqgfSb.append((char) 10);
ytqgfSb.append((char)10); ytqgfSb.append((char) 10);
ddqgfSb.append((char)10); ddqgfSb.append((char) 10);
}
} }
}
String stepClearancePrice = getPrice(stepDO.getClearancePrice(), String stepClearancePrice = getPrice(stepDO.getClearancePrice(),
stepDO.getClearancePriceUnit().intValue(), stepDO.getClearancePriceUnit().intValue(),
stepDO.getClearanceVolumeUnit().intValue(), currencyMap, unitMap); stepDO.getClearanceVolumeUnit().intValue(), currencyMap, unitMap);
// //
Long weightUnit = stepDO.getWeightUnit(); Long weightUnit = stepDO.getWeightUnit();
String unit = ""; String unit = "";
if(weightUnit != null) { if (weightUnit != null) {
UnitDO unitDO = unitMap.get(weightUnit.intValue()); UnitDO unitDO = unitMap.get(weightUnit.intValue());
unit = unitDO.getTitleZh(); unit = Objects.nonNull(unitDO) ? unitDO.getTitleZh() : "空";
} }
BigDecimal startNum = stepDO.getStartNum(); BigDecimal startNum = stepDO.getStartNum();
BigDecimal endNum = stepDO.getEndNum(); BigDecimal endNum = stepDO.getEndNum();
clearancePriceSb.append("第").append(j).append("阶梯:").append(startNum) clearancePriceSb.append("第").append(j).append("阶梯:").append(startNum)
.append("-").append(endNum).append(unit).append(" ").append(stepClearancePrice); .append("-").append(endNum).append(unit).append(" ").append(stepClearancePrice);
if(i != stepList.size()) { if (i != stepList.size()) {
clearancePriceSb.append((char)10); clearancePriceSb.append((char) 10);
}
} }
} }
} }
if (item.getPriceType() == 1) {
if(CollectionUtil.isNotEmpty(qbjStepList) && item.getPriceType() == 1) { if (CollectionUtil.isNotEmpty(qbjStepList) && item.getPriceType() == 1) {
qbjStepList.sort(Comparator.comparing(ProductPriceStepDO::getRankNum)); qbjStepList.sort(Comparator.comparing(ProductPriceStepDO::getRankNum));
for (int j = 1; j <= qbjStepList.size(); j++) { for (int j = 1; j <= qbjStepList.size(); j++) {
ProductPriceStepDO stepDO = qbjStepList.get(j - 1); ProductPriceStepDO stepDO = qbjStepList.get(j - 1);
List<ProductPriceStepSpecialDO> stepSpecialDOS = stepDO.getSpecialList(); List<ProductPriceStepSpecialDO> stepSpecialDOS = stepDO.getSpecialList();
if(CollectionUtil.isNotEmpty(stepSpecialDOS)) { if (CollectionUtil.isNotEmpty(stepSpecialDOS)) {
Map<String, ProductPriceStepSpecialDO> stepSpecialDOMap = stepSpecialDOS.stream() Map<String, ProductPriceStepSpecialDO> stepSpecialDOMap = stepSpecialDOS.stream()
.collect(Collectors.toMap(ProductPriceStepSpecialDO::getSpecialDictType, v -> v, (v1,v2) -> v2)); .collect(Collectors.toMap(ProductPriceStepSpecialDO::getSpecialDictType, v -> v, (v1, v2) -> v2));
//有牌 //有牌
ProductPriceStepSpecialDO yp = stepSpecialDOMap.get("licensed_price"); ProductPriceStepSpecialDO yp = stepSpecialDOMap.get("licensed_price");
//中性 //中性
ProductPriceStepSpecialDO zx = stepSpecialDOMap.get("neutral_brand_prices"); ProductPriceStepSpecialDO zx = stepSpecialDOMap.get("neutral_brand_prices");
//液体 //液体
ProductPriceStepSpecialDO yt = stepSpecialDOMap.get("liquid_price"); ProductPriceStepSpecialDO yt = stepSpecialDOMap.get("liquid_price");
//带电 //带电
ProductPriceStepSpecialDO dd = stepSpecialDOMap.get("live_price"); ProductPriceStepSpecialDO dd = stepSpecialDOMap.get("live_price");
String stepInfo = "第" + j + "阶梯: "; String stepInfo = "第" + j + "阶梯: ";
addStepSpecialPrice(yp, currencyMap, unitMap, ypyfSb, stepInfo, PriceTypeEnum.FULL_PRICE); addStepSpecialPrice(yp, currencyMap, unitMap, ypyfSb, stepInfo, PriceTypeEnum.FULL_PRICE);
addStepSpecialPrice(zx, currencyMap, unitMap, zxyfSb, stepInfo, PriceTypeEnum.FULL_PRICE); addStepSpecialPrice(zx, currencyMap, unitMap, zxyfSb, stepInfo, PriceTypeEnum.FULL_PRICE);
addStepSpecialPrice(yt, currencyMap, unitMap, ytyfSb, stepInfo, PriceTypeEnum.FULL_PRICE); addStepSpecialPrice(yt, currencyMap, unitMap, ytyfSb, stepInfo, PriceTypeEnum.FULL_PRICE);
addStepSpecialPrice(dd, currencyMap, unitMap, ddyfSb, stepInfo, PriceTypeEnum.FULL_PRICE); addStepSpecialPrice(dd, currencyMap, unitMap, ddyfSb, stepInfo, PriceTypeEnum.FULL_PRICE);
if(i != qbjStepList.size()) { if (i != qbjStepList.size()) {
ypyfSb.append((char)10); ypyfSb.append((char) 10);
zxyfSb.append((char)10); zxyfSb.append((char) 10);
ytyfSb.append((char)10); ytyfSb.append((char) 10);
ddyfSb.append((char)10); ddyfSb.append((char) 10);
}
} }
}
// //
String stepTransportPrice = getPrice(stepDO.getAllPrice(), stepDO.getAllPriceUnit().intValue(), String stepTransportPrice = getPrice(stepDO.getAllPrice(), stepDO.getAllPriceUnit().intValue(),
stepDO.getAllVolumeUnit().intValue(), currencyMap, unitMap); stepDO.getAllVolumeUnit().intValue(), currencyMap, unitMap);
// //
Long weightUnit = stepDO.getWeightUnit(); Long weightUnit = stepDO.getWeightUnit();
String unit = ""; String unit = "";
if(weightUnit != null) { if (weightUnit != null) {
UnitDO unitDO = unitMap.get(weightUnit.intValue()); UnitDO unitDO = unitMap.get(weightUnit.intValue());
unit = unitDO.getTitleZh(); unit = Objects.nonNull(unitDO) ? unitDO.getTitleZh() : "空";
} }
BigDecimal startNum = stepDO.getStartNum(); BigDecimal startNum = stepDO.getStartNum();
BigDecimal endNum = stepDO.getEndNum(); BigDecimal endNum = stepDO.getEndNum();
transportPriceSb.append("第").append(j).append("阶梯:").append(startNum) transportPriceSb.append("第").append(j).append("阶梯:").append(startNum)
.append("-").append(endNum).append(unit).append(" ").append(stepTransportPrice); .append("-").append(endNum).append(unit).append(" ").append(stepTransportPrice);
if(i != stepList.size()) { if (i != stepList.size()) {
transportPriceSb.append((char)10); transportPriceSb.append((char) 10);
}
} }
} }
} }
transportPrice = transportPriceSb.toString(); transportPrice = transportPriceSb.toString();
clearancePrice = clearancePriceSb.toString(); clearancePrice = clearancePriceSb.toString();
...@@ -363,9 +364,9 @@ public class ProductPriceExcelExportListener { ...@@ -363,9 +364,9 @@ public class ProductPriceExcelExportListener {
statusName(item); statusName(item);
if(item.getNeedPay() == 0) { if (item.getNeedPay() == 0) {
item.setPayType("到付"); item.setPayType("到付");
} else if(item.getNeedPay() == 1) { } else if (item.getNeedPay() == 1) {
item.setPayType("预付"); item.setPayType("预付");
} }
String date = DateUtil.format(item.getUpdateTime(), "yyyy-MM-dd HH:mm:ss"); String date = DateUtil.format(item.getUpdateTime(), "yyyy-MM-dd HH:mm:ss");
...@@ -374,12 +375,12 @@ public class ProductPriceExcelExportListener { ...@@ -374,12 +375,12 @@ public class ProductPriceExcelExportListener {
Date startDate = item.getValidateStartDate(); Date startDate = item.getValidateStartDate();
Date endDate = item.getValidateEndDate(); Date endDate = item.getValidateEndDate();
StringBuilder expireSb = new StringBuilder(); StringBuilder expireSb = new StringBuilder();
if(startDate != null) { if (startDate != null) {
String startDateStr = DateUtil.format(startDate, "yyyy-MM-dd"); String startDateStr = DateUtil.format(startDate, "yyyy-MM-dd");
expireSb.append(startDateStr); expireSb.append(startDateStr);
} }
expireSb.append("~"); expireSb.append("~");
if(endDate != null) { if (endDate != null) {
String endDateStr = DateUtil.format(endDate, "yyyy-MM-dd"); String endDateStr = DateUtil.format(endDate, "yyyy-MM-dd");
expireSb.append(endDateStr); expireSb.append(endDateStr);
} }
...@@ -388,10 +389,10 @@ public class ProductPriceExcelExportListener { ...@@ -388,10 +389,10 @@ public class ProductPriceExcelExportListener {
List<ProductPriceExcelVO> datas = ProductPriceConvert.INSTANCE.convertList02(list); List<ProductPriceExcelVO> datas = ProductPriceConvert.INSTANCE.convertList02(list);
excelWriter.write(datas, writeSheet); excelWriter.write(datas, writeSheet);
list.forEach(m -> { list.forEach(m -> {
if(m.getSpecialList() != null) { if (m.getSpecialList() != null) {
m.getSpecialList().clear(); m.getSpecialList().clear();
} }
if(m.getStepList() != null) { if (m.getStepList() != null) {
m.getStepList().clear(); m.getStepList().clear();
} }
}); });
...@@ -417,8 +418,8 @@ public class ProductPriceExcelExportListener { ...@@ -417,8 +418,8 @@ public class ProductPriceExcelExportListener {
event.setFileId(fileDO.getId()); event.setFileId(fileDO.getId());
} catch (Exception e) { } catch (Exception e) {
// TODO 测试阶段打印堆栈错误信息,便于分析原因 // TODO 测试阶段打印堆栈错误信息,便于分析原因
e.printStackTrace(); log.error(e + "");
event.setResult(e.getMessage()); event.setResult(e + "");
} }
} else { } else {
event.setResult("param fail"); event.setResult("param fail");
...@@ -427,20 +428,20 @@ public class ProductPriceExcelExportListener { ...@@ -427,20 +428,20 @@ public class ProductPriceExcelExportListener {
} }
private void addStepSpecialPrice(ProductPriceStepSpecialDO stepSpecialDO, Map<Integer, CurrencyDO> currencyMap, private void addStepSpecialPrice(ProductPriceStepSpecialDO stepSpecialDO, Map<Integer, CurrencyDO> currencyMap,
Map<Integer, UnitDO> unitMap, StringBuilder sb, String stepInfo, PriceTypeEnum priceTypeEnum) { Map<Integer, UnitDO> unitMap, StringBuilder sb, String stepInfo, PriceTypeEnum priceTypeEnum) {
sb.append(stepInfo); sb.append(stepInfo);
if(stepSpecialDO != null) { if (stepSpecialDO != null) {
if(priceTypeEnum == PriceTypeEnum.FREIGHT) { if (priceTypeEnum == PriceTypeEnum.FREIGHT) {
String specialTransportPrice = getPrice(stepSpecialDO.getTransportPrice(), String specialTransportPrice = getPrice(stepSpecialDO.getTransportPrice(),
stepSpecialDO.getTransportPriceUnit().intValue(), stepSpecialDO.getTransportPriceUnit().intValue(),
stepSpecialDO.getTransportVolumeUnit().intValue(), currencyMap, unitMap); stepSpecialDO.getTransportVolumeUnit().intValue(), currencyMap, unitMap);
sb.append(specialTransportPrice); sb.append(specialTransportPrice);
} else if(priceTypeEnum == PriceTypeEnum.CLEARANCE) { } else if (priceTypeEnum == PriceTypeEnum.CLEARANCE) {
String specialClearancePrice = getPrice(stepSpecialDO.getClearancePrice(), String specialClearancePrice = getPrice(stepSpecialDO.getClearancePrice(),
stepSpecialDO.getClearancePriceUnit().intValue(), stepSpecialDO.getClearancePriceUnit().intValue(),
stepSpecialDO.getClearanceVolumeUnit().intValue(), currencyMap, unitMap); stepSpecialDO.getClearanceVolumeUnit().intValue(), currencyMap, unitMap);
sb.append(specialClearancePrice); sb.append(specialClearancePrice);
} else if(priceTypeEnum == PriceTypeEnum.FULL_PRICE) { } else if (priceTypeEnum == PriceTypeEnum.FULL_PRICE) {
String specialAllPrice = getPrice(stepSpecialDO.getAllPrice(), stepSpecialDO.getAllPriceUnit().intValue(), String specialAllPrice = getPrice(stepSpecialDO.getAllPrice(), stepSpecialDO.getAllPriceUnit().intValue(),
stepSpecialDO.getAllVolumeUnit().intValue(), currencyMap, unitMap); stepSpecialDO.getAllVolumeUnit().intValue(), currencyMap, unitMap);
sb.append(specialAllPrice); sb.append(specialAllPrice);
...@@ -452,8 +453,8 @@ public class ProductPriceExcelExportListener { ...@@ -452,8 +453,8 @@ public class ProductPriceExcelExportListener {
CurrencyDO currencyDO = currencyMap.get(priceUnit); CurrencyDO currencyDO = currencyMap.get(priceUnit);
UnitDO unitDO = unitMap.get(volumeUnit); UnitDO unitDO = unitMap.get(volumeUnit);
return (currencyDO != null ? currencyDO.getFuhao() : "") + price.toString() + (currencyDO != null ? currencyDO.getTitleZh() : "") + "/" + return (currencyDO != null ? currencyDO.getFuhao() : "空") + price.toString() + (currencyDO != null ? currencyDO.getTitleZh() : "空") + "/" +
(unitDO != null ? unitDO.getTitleZh() : ""); (unitDO != null ? unitDO.getTitleZh() : "");
} }
private void statusName(ProductPriceExcelData item) { private void statusName(ProductPriceExcelData item) {
...@@ -461,18 +462,18 @@ public class ProductPriceExcelExportListener { ...@@ -461,18 +462,18 @@ public class ProductPriceExcelExportListener {
Date endDate = item.getValidateEndDate(); Date endDate = item.getValidateEndDate();
boolean notSetPrice = false; boolean notSetPrice = false;
long now = new Date().getTime(); long now = new Date().getTime();
if(startDate != null && startDate.getTime() > now) { if (startDate != null && startDate.getTime() > now) {
notSetPrice = true; notSetPrice = true;
} }
if(endDate != null && endDate.getTime() < now) { if (endDate != null && endDate.getTime() < now) {
notSetPrice = true; notSetPrice = true;
} }
String setPriceText = notSetPrice ? "(未设置价格)" : ""; String setPriceText = notSetPrice ? "(未设置价格)" : "";
if(item.getBlacklist() == 1) { if (item.getBlacklist() == 1) {
item.setStatusName("黑名单" + setPriceText); item.setStatusName("黑名单" + setPriceText);
return; return;
} }
if(item.getAuditStatus() == 0) { if (item.getAuditStatus() == 0) {
item.setStatusName("已审核" + setPriceText); item.setStatusName("已审核" + setPriceText);
return; return;
} }
......
...@@ -3468,29 +3468,29 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper, ...@@ -3468,29 +3468,29 @@ public class ProductPriceServiceImpl extends AbstractService<ProductPriceMapper,
ProductPriceStepDO clear = new ProductPriceStepDO(); ProductPriceStepDO clear = new ProductPriceStepDO();
if (createReqVO.getPriceType() == 1) { if (createReqVO.getPriceType() == 1) {
if (CollectionUtil.isNotEmpty(respVO.getFullPriceStepList())) { if (CollectionUtil.isNotEmpty(respVO.getFullPriceStepList())) {
respVO.getFullPriceStepList().forEach(pack -> { // respVO.getFullPriceStepList().forEach(pack -> {
ProductPriceStepDO priceStepDO = new ProductPriceStepDO(); // ProductPriceStepDO priceStepDO = new ProductPriceStepDO();
BeanUtils.copyProperties(pack, priceStepDO); // BeanUtils.copyProperties(pack, priceStepDO);
priceStepDO.setId(null); // priceStepDO.setId(null);
priceStepDO.setStartNum(BigDecimal.valueOf(0)); // priceStepDO.setStartNum(BigDecimal.valueOf(0));
priceStepDO.setEndNum(BigDecimal.valueOf(0)); // priceStepDO.setEndNum(BigDecimal.valueOf(0));
priceStepDO.setWeightUnit(price.getTransportPriceUnit()); // priceStepDO.setWeightUnit(price.getTransportPriceUnit());
priceStepDO.setAllPrice(respVO.getAllPrice()); // priceStepDO.setAllPrice(respVO.getAllPrice());
priceStepDO.setAllPriceUnit(respVO.getAllPriceUnit()); // priceStepDO.setAllPriceUnit(respVO.getAllPriceUnit());
priceStepDO.setAllVolumeUnit(respVO.getAllVolumeUnit()); // priceStepDO.setAllVolumeUnit(respVO.getAllVolumeUnit());
if (CollectionUtil.isNotEmpty(respVO.getSpecialList())) { // if (CollectionUtil.isNotEmpty(respVO.getSpecialList())) {
List<ProductPriceStepSpecialDO> specialList = new ArrayList<>(); // List<ProductPriceStepSpecialDO> specialList = new ArrayList<>();
respVO.getSpecialList().forEach(sp -> { // respVO.getSpecialList().forEach(sp -> {
ProductPriceStepSpecialDO specialDO = new ProductPriceStepSpecialDO(); // ProductPriceStepSpecialDO specialDO = new ProductPriceStepSpecialDO();
BeanUtils.copyProperties(sp, specialDO); // BeanUtils.copyProperties(sp, specialDO);
specialDO.setId(null); // specialDO.setId(null);
specialList.add(specialDO); // specialList.add(specialDO);
}); // });
priceStepDO.setSpecialList(specialList); // priceStepDO.setSpecialList(specialList);
} // }
fullPriceStepList.add(priceStepDO); // fullPriceStepList.add(priceStepDO);
}); // });
createReqVO.setFullPriceStepList(fullPriceStepList); createReqVO.setFullPriceStepList(respVO.getFullPriceStepList());
} }
} else { } else {
// if (CollectionUtil.isEmpty(respVO.getFreightPriceStepList())) { // if (CollectionUtil.isEmpty(respVO.getFreightPriceStepList())) {
......
...@@ -69,9 +69,8 @@ public class AchievementDetailExcelListener { ...@@ -69,9 +69,8 @@ public class AchievementDetailExcelListener {
event.setUrl(fileDO.getUrl()); event.setUrl(fileDO.getUrl());
event.setFileId(fileDO.getId()); event.setFileId(fileDO.getId());
} catch (Exception e) { } catch (Exception e) {
log.info("业绩明细导出失败",e); log.error("业绩明细导出失败",e);
e.printStackTrace(); event.setResult(e + "");
event.setResult(e.getMessage());
} }
} }
} }
...@@ -1914,7 +1914,7 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements ...@@ -1914,7 +1914,7 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
orderService.updateStatus(orderId, null, orderStatus, null, inWarehouseState, shipmentState, auditType, auditResult, businessTime, "出货操作", null); orderService.updateStatus(orderId, null, orderStatus, null, inWarehouseState, shipmentState, auditType, auditResult, businessTime, "出货操作", null);
} }
// 卸柜/到仓操作时,不在此处更新动态 // 卸柜/到仓操作时,不在此处更新动态
if (TO_WAREHOUSED.getStatus() != shipmentState) { if (Objects.nonNull(shipmentState) && TO_WAREHOUSED.getStatus() != shipmentState) {
this.shipmentAirOrderTimeLog(orderIdList, null, businessTime, shipmentState); this.shipmentAirOrderTimeLog(orderIdList, null, businessTime, shipmentState);
} }
...@@ -1966,6 +1966,10 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements ...@@ -1966,6 +1966,10 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
orderSeaTimeEnum = OrderSeaTimeEnum.SEA_CLEARED; orderSeaTimeEnum = OrderSeaTimeEnum.SEA_CLEARED;
break; break;
case UNLOADED: case UNLOADED:
if (Objects.isNull(businessTime)){
// 到仓业务时间为空时,不更新订单到仓动态
return;
}
orderSeaTimeEnum = OrderSeaTimeEnum.SEA_UNLOADED_CABINET; orderSeaTimeEnum = OrderSeaTimeEnum.SEA_UNLOADED_CABINET;
break; break;
} }
...@@ -2002,6 +2006,10 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements ...@@ -2002,6 +2006,10 @@ public class BoxServiceImpl extends AbstractService<BoxMapper, BoxDO> implements
orderAirTimeEnum = OrderAirTimeEnum.AIR_ARRIVED; orderAirTimeEnum = OrderAirTimeEnum.AIR_ARRIVED;
break; break;
case TO_WAREHOUSED: case TO_WAREHOUSED:
if (Objects.isNull(businessTime)){
// 到仓业务时间为空时,不在做订单到仓动态更新
return;
}
orderAirTimeEnum = OrderAirTimeEnum.AIR_UNLOADED_CABINET; orderAirTimeEnum = OrderAirTimeEnum.AIR_UNLOADED_CABINET;
break; break;
} }
......
...@@ -137,14 +137,14 @@ public class BoxCabinetUnloadServiceImpl extends AbstractService<BoxCabinetUnloa ...@@ -137,14 +137,14 @@ public class BoxCabinetUnloadServiceImpl extends AbstractService<BoxCabinetUnloa
//修改订单状态为已到仓 //修改订单状态为已到仓
boxService.updateOrderStatusByShipmentIdAndTransportType(shipmentId, OrderStatusEnum.UNLOADED_CABINET.getValue(), boxService.updateOrderStatusByShipmentIdAndTransportType(shipmentId, OrderStatusEnum.UNLOADED_CABINET.getValue(),
OrderStatusMsgEnum.UNLOADED_CABINET.getInWarehouseState(), OrderStatusMsgEnum.UNLOADED_CABINET.getInWarehouseState(),
BoxAirStatusEnum.TO_WAREHOUSED.getStatus(), null, null, ulBoxTime, null, Integer.parseInt(boxDO.getTransportType())); BoxAirStatusEnum.TO_WAREHOUSED.getStatus(), null, null, null, null, Integer.parseInt(boxDO.getTransportType()));
boxService.addOrderLogByShipmentId(shipmentId, OrderShipmentLog.CABINET_WAREHOUSE, ""); boxService.addOrderLogByShipmentId(shipmentId, OrderShipmentLog.CABINET_WAREHOUSE, "");
} else { } else {
//修改订单状态为已卸柜 //修改订单状态为已卸柜
boxService.updateOrderStatusByShipmentIdAndTransportType(shipmentId, OrderStatusEnum.UNLOADED_CABINET.getValue(), boxService.updateOrderStatusByShipmentIdAndTransportType(shipmentId, OrderStatusEnum.UNLOADED_CABINET.getValue(),
OrderStatusMsgEnum.UNLOADED_CABINET.getInWarehouseState(), OrderStatusMsgEnum.UNLOADED_CABINET.getInWarehouseState(),
BoxStatusEnum.UNLOADED.getStatus(), null, null, ulBoxTime, null, Integer.parseInt(boxDO.getTransportType())); BoxStatusEnum.UNLOADED.getStatus(), null, null, null, null, Integer.parseInt(boxDO.getTransportType()));
boxService.addOrderLogByShipmentId(shipmentId, OrderShipmentLog.CABINET_UNLOAD, ""); boxService.addOrderLogByShipmentId(shipmentId, OrderShipmentLog.CABINET_UNLOAD, "");
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment