|
@@ -11,6 +11,7 @@ import com.ruoyi.common.log.annotation.Log;
|
|
|
import com.ruoyi.common.log.enums.BusinessType;
|
|
import com.ruoyi.common.log.enums.BusinessType;
|
|
|
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
|
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
|
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
|
|
|
|
+import com.ruoyi.logistics.constant.ImportTemplateConstants;
|
|
|
import com.ruoyi.logistics.constant.JDDictConstants;
|
|
import com.ruoyi.logistics.constant.JDDictConstants;
|
|
|
import com.ruoyi.logistics.domain.BizWaybillOrder;
|
|
import com.ruoyi.logistics.domain.BizWaybillOrder;
|
|
|
import com.ruoyi.logistics.domain.SysDeptRate;
|
|
import com.ruoyi.logistics.domain.SysDeptRate;
|
|
@@ -20,6 +21,7 @@ import com.ruoyi.logistics.domain.dto.SfOrderImportDTO;
|
|
|
import com.ruoyi.logistics.handler.SFOrderDynamicTemplateHandler;
|
|
import com.ruoyi.logistics.handler.SFOrderDynamicTemplateHandler;
|
|
|
import com.ruoyi.logistics.service.IBizWaybillOrderService;
|
|
import com.ruoyi.logistics.service.IBizWaybillOrderService;
|
|
|
import com.ruoyi.logistics.service.impl.SysDeptRateServiceImpl;
|
|
import com.ruoyi.logistics.service.impl.SysDeptRateServiceImpl;
|
|
|
|
|
+import com.ruoyi.logistics.util.ExcelImportValidato;
|
|
|
import com.ruoyi.system.api.domain.SysDictData;
|
|
import com.ruoyi.system.api.domain.SysDictData;
|
|
|
import com.ruoyi.system.api.model.LoginUser;
|
|
import com.ruoyi.system.api.model.LoginUser;
|
|
|
import com.ruoyi.system.service.ISysDictTypeService;
|
|
import com.ruoyi.system.service.ISysDictTypeService;
|
|
@@ -201,6 +203,17 @@ public class BizWaybillOrderController extends BaseController
|
|
|
if (orderList == null || orderList.isEmpty()) {
|
|
if (orderList == null || orderList.isEmpty()) {
|
|
|
return AjaxResult.error("Excel 文件中没有有效的订单数据");
|
|
return AjaxResult.error("Excel 文件中没有有效的订单数据");
|
|
|
}
|
|
}
|
|
|
|
|
+ // 标准校验:是否为规定模板
|
|
|
|
|
+ boolean isTemplate = ExcelImportValidato.isValidTemplate(
|
|
|
|
|
+ file,
|
|
|
|
|
+ ImportTemplateConstants.JD_TEMPLATE_HEAD
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ if (!isTemplate) {
|
|
|
|
|
+ return AjaxResult.error("请使用系统提供的导入模板,请勿修改表头!");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
Map<String,Object> result = bizWaybillOrderService.validateAndGetErrorJd(orderList);
|
|
Map<String,Object> result = bizWaybillOrderService.validateAndGetErrorJd(orderList);
|
|
|
if (StringUtils.isNotBlank(result.get("errorMsg").toString())) {
|
|
if (StringUtils.isNotBlank(result.get("errorMsg").toString())) {
|
|
|
return AjaxResult.error(result.get("errorMsg").toString());
|
|
return AjaxResult.error(result.get("errorMsg").toString());
|
|
@@ -215,6 +228,7 @@ public class BizWaybillOrderController extends BaseController
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
if (2 == orderType) {
|
|
if (2 == orderType) {
|
|
|
|
|
+
|
|
|
ExcelUtil<SfOrderImportDTO> util = new ExcelUtil<>(SfOrderImportDTO.class);
|
|
ExcelUtil<SfOrderImportDTO> util = new ExcelUtil<>(SfOrderImportDTO.class);
|
|
|
List<SfOrderImportDTO> orderList = EasyExcel.read(file.getInputStream())
|
|
List<SfOrderImportDTO> orderList = EasyExcel.read(file.getInputStream())
|
|
|
.head(SfOrderImportDTO.class)
|
|
.head(SfOrderImportDTO.class)
|
|
@@ -225,6 +239,20 @@ public class BizWaybillOrderController extends BaseController
|
|
|
if (orderList == null || orderList.isEmpty()) {
|
|
if (orderList == null || orderList.isEmpty()) {
|
|
|
return AjaxResult.error("Excel 文件中没有有效的订单数据");
|
|
return AjaxResult.error("Excel 文件中没有有效的订单数据");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ // 标准校验:是否为规定模板
|
|
|
|
|
+ boolean isTemplate = ExcelImportValidato.isValidTemplate(
|
|
|
|
|
+ file,
|
|
|
|
|
+ ImportTemplateConstants.SF_TEMPLATE_HEAD
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ if (!isTemplate) {
|
|
|
|
|
+ return AjaxResult.error("请使用系统提供的导入模板,请勿修改表头!");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
// 2. 统一校验(返回错误字符串)
|
|
// 2. 统一校验(返回错误字符串)
|
|
|
Map<String,Object> result = bizWaybillOrderService.validateAndGetError(orderList);
|
|
Map<String,Object> result = bizWaybillOrderService.validateAndGetError(orderList);
|
|
|
// 3. 有错误 → 直接返回字符串
|
|
// 3. 有错误 → 直接返回字符串
|