From b750f6ecf034de99cb4b5eda6596ab211bfb9385 Mon Sep 17 00:00:00 2001 From: b2894lxlx <517289602@qq.com> Date: Wed, 26 Aug 2026 23:17:56 +0800 Subject: [PATCH] fix bug --- .../common/excel/ImportFailureExcelUtil.java | 4 +- .../springblade/system/cache/RegionCache.java | 40 +++++++++++++++++++ .../transport/pojo/entity/Driver.java | 8 ++++ .../pojo/entity/MaintenanceRecord.java | 3 ++ .../transport/pojo/entity/ProjectApply.java | 8 ++++ .../system/excel/PortTerminalExcel.java | 20 +++++----- .../impl/AirportMasterServiceImpl.java | 8 ++-- .../service/impl/CargoTypeServiceImpl.java | 2 +- .../service/impl/FeeItemServiceImpl.java | 2 +- .../service/impl/PortTerminalServiceImpl.java | 8 ++-- .../impl/RailwayStationServiceImpl.java | 8 ++-- .../service/impl/RegionServiceImpl.java | 22 +++++++--- .../transport/excel/DriverExcel.java | 3 ++ .../excel/OilElectricRecordExcel.java | 2 +- .../transport/mapper/DriverMapper.xml | 2 + .../mapper/MaintenanceRecordMapper.xml | 2 +- .../impl/AccidentRecordServiceImpl.java | 4 +- .../AnnualInspectionRecordServiceImpl.java | 4 +- .../impl/ContractManageServiceImpl.java | 4 +- .../service/impl/DriverServiceImpl.java | 4 ++ .../impl/EquipmentLedgerServiceImpl.java | 4 +- .../service/impl/EtcRecordServiceImpl.java | 4 +- .../impl/InsuranceRecordServiceImpl.java | 4 +- .../impl/MaintenancePlanServiceImpl.java | 4 +- .../impl/MaintenanceRecordServiceImpl.java | 12 ++++-- .../impl/MileageRecordServiceImpl.java | 4 +- .../impl/OilElectricRecordServiceImpl.java | 6 +-- .../impl/OtherExpenseRecordServiceImpl.java | 4 +- .../service/impl/ProjectApplyServiceImpl.java | 17 ++++++-- .../TireReplacementRecordServiceImpl.java | 4 +- .../TransportChangeRecordServiceImpl.java | 4 +- .../impl/ViolationRecordServiceImpl.java | 10 ++--- .../wrapper/MaintenanceRecordWrapper.java | 4 ++ doc/sql/bladex/bladex.mysql.all.create.sql | 4 +- doc/sql/transport/blade_accident_record.sql | 2 +- .../blade_annual_inspection_record.sql | 2 +- doc/sql/transport/blade_etc_record.sql | 2 +- doc/sql/transport/blade_mileage_record.sql | 2 +- .../transport/blade_oil_electric_record.sql | 2 +- .../transport/blade_other_expense_record.sql | 2 +- .../blade_tire_replacement_record.sql | 2 +- .../blade_transport_change_record.sql | 2 +- doc/sql/transport/blade_transport_driver.sql | 1 + ...nsport_driver_driving_vehicle_20260826.sql | 2 + .../blade_vehicle_maintenance_plan.sql | 2 +- .../blade_vehicle_maintenance_record.sql | 2 +- ...hicle_record_attachments_text_20260826.sql | 29 ++++++++++++++ doc/sql/transport/blade_violation_record.sql | 2 +- ...ation_record_attachments_text_20260826.sql | 2 + doc/sql/transport/transport.sql | 22 +++++----- 50 files changed, 227 insertions(+), 94 deletions(-) create mode 100644 doc/sql/transport/blade_transport_driver_driving_vehicle_20260826.sql create mode 100644 doc/sql/transport/blade_vehicle_record_attachments_text_20260826.sql create mode 100644 doc/sql/transport/blade_violation_record_attachments_text_20260826.sql diff --git a/blade-common/src/main/java/org/springblade/common/excel/ImportFailureExcelUtil.java b/blade-common/src/main/java/org/springblade/common/excel/ImportFailureExcelUtil.java index ced6bdf..061b301 100644 --- a/blade-common/src/main/java/org/springblade/common/excel/ImportFailureExcelUtil.java +++ b/blade-common/src/main/java/org/springblade/common/excel/ImportFailureExcelUtil.java @@ -57,8 +57,8 @@ import java.util.Objects; */ public class ImportFailureExcelUtil { - public static String formatErrorMessage(int rowNumber, List validationErrors) { - StringBuilder errorMessage = new StringBuilder("第").append(rowNumber).append("行:"); + public static String formatErrorMessage(List validationErrors) { + StringBuilder errorMessage = new StringBuilder(); for (int index = 0; index < validationErrors.size(); index++) { if (index > 0) { errorMessage.append(System.lineSeparator()); diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/RegionCache.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/RegionCache.java index 0e2ed3e..a00b208 100644 --- a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/RegionCache.java +++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/cache/RegionCache.java @@ -31,6 +31,10 @@ import org.springblade.core.tool.utils.SpringUtil; import org.springblade.system.pojo.entity.Region; import org.springblade.system.feign.ISysClient; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Callable; + import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; /** @@ -50,6 +54,8 @@ public class RegionCache { public static final int VILLAGE_LEVEL = 5; private static final String REGION_CODE = "region:code:"; + private static final String REGION_TREE_CACHE = "region:tree"; + private static final String REGION_LAZY_TREE = "lazy-tree:"; private static ISysClient sysClient; @@ -73,4 +79,38 @@ public class RegionCache { }); } + /** + * 获取行政区划懒加载树 + * + * @param parentCode 父区划编号 + * @param param 查询参数 + * @param loader 数据加载器 + * @return 懒加载树 + */ + public static List> getLazyTree( + String parentCode, + Map param, + Callable>> loader) { + Map query = param == null ? Map.of() : param; + String cacheKey = String.join("|", + cacheKeyPart(parentCode), + cacheKeyPart(query.get("code")), + cacheKeyPart(query.get("name")), + cacheKeyPart(query.get("regionLevel")) + ); + return CacheUtil.get(REGION_TREE_CACHE, REGION_LAZY_TREE, cacheKey, loader, Boolean.FALSE); + } + + /** + * 清除行政区划懒加载树缓存 + */ + public static void clearLazyTree() { + CacheUtil.clear(REGION_TREE_CACHE, Boolean.FALSE); + } + + private static String cacheKeyPart(Object value) { + String text = value == null ? "" : String.valueOf(value); + return text.length() + ":" + text; + } + } diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Driver.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Driver.java index a214768..0ba8076 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Driver.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/Driver.java @@ -25,6 +25,8 @@ */ package org.springblade.transport.pojo.entity; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -88,6 +90,12 @@ public class Driver extends TenantEntity { */ @Schema(description = "详细地址") private String address; + /** + * 驾驶车辆车牌号 + */ + @Schema(description = "驾驶车辆车牌号") + @TableField(updateStrategy = FieldStrategy.ALWAYS) + private String drivingVehicle; /** * 岗位,多个使用逗号分隔 */ diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MaintenanceRecord.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MaintenanceRecord.java index e67742d..34d88f1 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MaintenanceRecord.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/MaintenanceRecord.java @@ -25,6 +25,8 @@ */ package org.springblade.transport.pojo.entity; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -108,6 +110,7 @@ public class MaintenanceRecord extends TenantEntity { * 里程/航程数 */ @Schema(description = "里程/航程数") + @TableField(updateStrategy = FieldStrategy.ALWAYS) private BigDecimal mileage; /** * 里程单位 diff --git a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ProjectApply.java b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ProjectApply.java index f2c7dd5..be872cf 100644 --- a/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ProjectApply.java +++ b/blade-service-api/blade-transport-api/src/main/java/org/springblade/transport/pojo/entity/ProjectApply.java @@ -22,6 +22,8 @@ */ package org.springblade.transport.pojo.entity; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -87,15 +89,18 @@ public class ProjectApply extends TenantEntity { private BigDecimal receivableLimit; @Schema(description = "应收账款回款期限(天)") + @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS) private Integer receivableDays; @Schema(description = "回款账期(天)") + @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS) private Integer paymentDays; @Schema(description = "货物类型") private String cargoType; @Schema(description = "预估货物数量") + @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS) private String cargoQuantity; @Schema(description = "业务周期开始日期") @@ -114,12 +119,15 @@ public class ProjectApply extends TenantEntity { private String businessType; @Schema(description = "项目规模(万元)") + @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS) private BigDecimal projectScale; @Schema(description = "预计利润(万元)") + @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS) private BigDecimal estimatedProfit; @Schema(description = "资金需求(万元)") + @TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS) private BigDecimal fundDemand; @Schema(description = "结算方式") diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/excel/PortTerminalExcel.java b/blade-service/blade-system/src/main/java/org/springblade/system/excel/PortTerminalExcel.java index fa9f4c6..c98be0c 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/excel/PortTerminalExcel.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/excel/PortTerminalExcel.java @@ -53,13 +53,13 @@ public class PortTerminalExcel implements Serializable { @ExcelIgnore private Long id; - @ExcelProperty("*编码") + @ExcelProperty("编码") private String code; - @ExcelProperty("*港口/码头名称") + @ExcelProperty("港口/码头名称") private String name; - @ExcelProperty("*类型") + @ExcelProperty("类型") private String category; @ExcelProperty("上级港口") @@ -68,13 +68,13 @@ public class PortTerminalExcel implements Serializable { @ExcelProperty("上级港口编码") private String parentCode; - @ExcelProperty("*国家") + @ExcelProperty("国家") private String country; - @ExcelProperty("*城市") + @ExcelProperty("城市") private String city; - @ExcelProperty("*区县") + @ExcelProperty("区县") private String districtName; @ExcelProperty("行政区划编码") @@ -83,18 +83,18 @@ public class PortTerminalExcel implements Serializable { @ExcelProperty("详细地址") private String detailAddress; - @ExcelProperty("*经度") + @ExcelProperty("经度") @NumberFormat("0.000000") private BigDecimal longitude; - @ExcelProperty("*纬度") + @ExcelProperty("纬度") @NumberFormat("0.000000") private BigDecimal latitude; - @ExcelIgnore + @ExcelProperty("数据来源") private String dataSource; - @ExcelIgnore + @ExcelProperty("启停状态") private String statusName; @ExcelProperty("备注") diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/AirportMasterServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/AirportMasterServiceImpl.java index ac2c4bc..98c769e 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/AirportMasterServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/AirportMasterServiceImpl.java @@ -142,7 +142,7 @@ public class AirportMasterServiceImpl extends BaseServiceImpl validationErrors = validateImportAirportMaster(airportMaster, iataCodeCountMap, icaoCodeCountMap); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(formatImportErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(formatImportErrorMessage(validationErrors)); errorList.add(excel); continue; } @@ -152,7 +152,7 @@ public class AirportMasterServiceImpl extends BaseServiceImpl validationErrors) { - StringBuilder errorMessage = new StringBuilder("第").append(rowNumber).append("行:"); + private String formatImportErrorMessage(List validationErrors) { + StringBuilder errorMessage = new StringBuilder(); for (int index = 0; index < validationErrors.size(); index++) { if (index > 0) { errorMessage.append(System.lineSeparator()); diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/CargoTypeServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/CargoTypeServiceImpl.java index 3cc6fb2..e7b97e2 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/CargoTypeServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/CargoTypeServiceImpl.java @@ -149,7 +149,7 @@ public class CargoTypeServiceImpl extends BaseServiceImpl save(feeItem); } catch (Exception exception) { String message = exception instanceof ServiceException ? exception.getMessage() : "导入失败"; - failureList.add(toImportFailureExcel(excel, "第" + (index + 2) + "行:" + message)); + failureList.add(toImportFailureExcel(excel, message)); } } return failureList; diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/PortTerminalServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/PortTerminalServiceImpl.java index a518248..14bdfbc 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/PortTerminalServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/PortTerminalServiceImpl.java @@ -149,7 +149,7 @@ public class PortTerminalServiceImpl extends BaseServiceImpl validationErrors = validateImportPortTerminal(portTerminal, codeCountMap); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(formatImportErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(formatImportErrorMessage(validationErrors)); errorList.add(excel); continue; } @@ -159,7 +159,7 @@ public class PortTerminalServiceImpl extends BaseServiceImpl validationErrors) { - StringBuilder errorMessage = new StringBuilder("第").append(rowNumber).append("行:"); + private String formatImportErrorMessage(List validationErrors) { + StringBuilder errorMessage = new StringBuilder(); for (int index = 0; index < validationErrors.size(); index++) { if (index > 0) { errorMessage.append(System.lineSeparator()); diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RailwayStationServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RailwayStationServiceImpl.java index feb506d..af63c0b 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RailwayStationServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RailwayStationServiceImpl.java @@ -148,7 +148,7 @@ public class RailwayStationServiceImpl extends BaseServiceImpl validationErrors) { - StringBuilder errorMessage = new StringBuilder("第").append(rowNumber).append("行:"); + private String formatImportErrorMessage(List validationErrors) { + StringBuilder errorMessage = new StringBuilder(); for (int index = 0; index < validationErrors.size(); index++) { if (index > 0) { errorMessage.append(System.lineSeparator()); diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RegionServiceImpl.java b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RegionServiceImpl.java index d9f76ac..df56649 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RegionServiceImpl.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RegionServiceImpl.java @@ -106,7 +106,11 @@ public class RegionServiceImpl extends ServiceImpl impleme region.setVillageCode(code); region.setVillageName(name); } - return StringUtil.isNotBlank(region.getOriginalCode()) ? this.updateById(region) : this.save(region); + boolean result = StringUtil.isNotBlank(region.getOriginalCode()) ? this.updateById(region) : this.save(region); + if (result) { + clearLazyTree(); + } + return result; } private void validateUniqueCode(Region region) { @@ -130,7 +134,11 @@ public class RegionServiceImpl extends ServiceImpl impleme if (cnt > 0L) { throw new ServiceException("请先删除子节点!"); } - return removeById(id); + boolean result = removeById(id); + if (result) { + clearLazyTree(); + } + return result; } @Override @@ -140,7 +148,7 @@ public class RegionServiceImpl extends ServiceImpl impleme @Override public List> lazyTree(String parentCode, Map param) { - return baseMapper.lazyTree(parentCode, param); + return getLazyTree(parentCode, param, () -> baseMapper.lazyTree(parentCode, param)); } @Override @@ -149,20 +157,24 @@ public class RegionServiceImpl extends ServiceImpl impleme throw new ServiceException("导入数据不能为空"); } List errorList = new ArrayList<>(); + boolean cacheChanged = false; for (int index = 0; index < data.size(); index++) { RegionExcel excel = data.get(index); try { Region region = BeanUtil.copyProperties(excel, Region.class); if (Boolean.TRUE.equals(isCovered)) { - this.saveOrUpdate(region); + cacheChanged = this.saveOrUpdate(region) || cacheChanged; } else { - this.save(region); + cacheChanged = this.save(region) || cacheChanged; } } catch (Exception exception) { excel.setErrorMessage(exception.getMessage()); errorList.add(excel); } } + if (cacheChanged) { + clearLazyTree(); + } return errorList; } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/excel/DriverExcel.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/excel/DriverExcel.java index ed8c9d8..e69a82a 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/excel/DriverExcel.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/excel/DriverExcel.java @@ -74,6 +74,9 @@ public class DriverExcel implements Serializable { @ExcelProperty("住址") private String address; + @ExcelProperty("驾驶车辆") + private String drivingVehicle; + @ExcelProperty("岗位 *") private String posts; diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/excel/OilElectricRecordExcel.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/excel/OilElectricRecordExcel.java index 2b46cbf..b3d88fc 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/excel/OilElectricRecordExcel.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/excel/OilElectricRecordExcel.java @@ -37,7 +37,7 @@ public class OilElectricRecordExcel implements Serializable { @ExcelIgnore private Long id; - @ExcelIgnore + @ExcelProperty("卡号") private String cardNo; @ExcelProperty("*交易时间") diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/DriverMapper.xml b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/DriverMapper.xml index 93cf5d5..b11fd95 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/DriverMapper.xml +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/DriverMapper.xml @@ -20,6 +20,7 @@ + @@ -64,6 +65,7 @@ education, address_region, address, + driving_vehicle, posts, id_card_front, id_card_back, diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/MaintenanceRecordMapper.xml b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/MaintenanceRecordMapper.xml index 55f03fe..91c1744 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/MaintenanceRecordMapper.xml +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/MaintenanceRecordMapper.xml @@ -51,7 +51,7 @@ contact, address, factory_time, - CASE WHEN mileage < 0 THEN 0 ELSE mileage END AS mileage, + CASE WHEN mileage = -1 THEN NULL WHEN mileage < 0 THEN 0 ELSE mileage END AS mileage, mileage_unit, attachments, remark diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/AccidentRecordServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/AccidentRecordServiceImpl.java index d98fd41..0568120 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/AccidentRecordServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/AccidentRecordServiceImpl.java @@ -97,7 +97,7 @@ public class AccidentRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportAccidentRecord(accidentRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } @@ -105,7 +105,7 @@ public class AccidentRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportAnnualInspectionRecord(annualInspectionRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } @@ -104,7 +104,7 @@ public class AnnualInspectionRecordServiceImpl extends BaseServiceImpl imp private static final int NAME_MAX_LENGTH = 10; private static final int ID_CARD_MAX_LENGTH = 18; private static final int MOBILE_MAX_LENGTH = 20; + private static final int VEHICLE_NO_MAX_LENGTH = 30; private static final int SHORT_TEXT_MAX_LENGTH = 50; private static final int ADDRESS_MAX_LENGTH = 200; private static final int REMARK_MAX_LENGTH = 200; @@ -132,6 +133,8 @@ public class DriverServiceImpl extends BaseServiceImpl imp driver.setEducation(trimToNull(driver.getEducation())); driver.setAddressRegion(trimToNull(driver.getAddressRegion())); driver.setAddress(trimToNull(driver.getAddress())); + String drivingVehicle = trimToNull(driver.getDrivingVehicle()); + driver.setDrivingVehicle(drivingVehicle == null ? null : drivingVehicle.toUpperCase()); driver.setPosts(trimToNull(driver.getPosts())); driver.setDrivingType(trimToEmpty(driver.getDrivingType()).toUpperCase()); driver.setDrivingLicenseNo(trimToNull(driver.getDrivingLicenseNo())); @@ -224,6 +227,7 @@ public class DriverServiceImpl extends BaseServiceImpl imp validateLength(driver.getIdCardNo(), ID_CARD_MAX_LENGTH, "身份证号不能超过18字"); validateLength(driver.getMobile(), MOBILE_MAX_LENGTH, "手机号不能超过20字"); validateLength(driver.getEmergencyContactMobile(), MOBILE_MAX_LENGTH, "紧急联系人手机号不能超过20字"); + validateLength(driver.getDrivingVehicle(), VEHICLE_NO_MAX_LENGTH, "驾驶车辆不能超过30字"); validateLength(driver.getDrivingLicenseNo(), SHORT_TEXT_MAX_LENGTH, "驾驶证档案编号不能超过50字"); validateLength(driver.getQualificationNo(), SHORT_TEXT_MAX_LENGTH, "资格证号不能超过50字"); validateLength(driver.getOrganizationName(), SHORT_TEXT_MAX_LENGTH, "所属组织不能超过50字"); diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/EquipmentLedgerServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/EquipmentLedgerServiceImpl.java index 5a89a52..58f0fbd 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/EquipmentLedgerServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/EquipmentLedgerServiceImpl.java @@ -84,7 +84,7 @@ public class EquipmentLedgerServiceImpl extends BaseServiceImpl validationErrors = validateImportEtcRecord(etcRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } etcRecordList.add(etcRecord); } catch (Exception exception) { String message = exception instanceof ServiceException ? exception.getMessage() : "导入失败"; - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, List.of(message))); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(List.of(message))); errorList.add(excel); } } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InsuranceRecordServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InsuranceRecordServiceImpl.java index c821f7e..53136b5 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InsuranceRecordServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/InsuranceRecordServiceImpl.java @@ -125,7 +125,7 @@ public class InsuranceRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportMaintenancePlan(maintenancePlan); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } maintenancePlanList.add(maintenancePlan); } catch (Exception exception) { String message = exception instanceof ServiceException ? exception.getMessage() : "导入失败"; - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, List.of(message))); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(List.of(message))); errorList.add(excel); } } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/MaintenanceRecordServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/MaintenanceRecordServiceImpl.java index 5ae4cb6..e239901 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/MaintenanceRecordServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/MaintenanceRecordServiceImpl.java @@ -61,6 +61,7 @@ public class MaintenanceRecordServiceImpl extends BaseServiceImpl selectMaintenanceRecordPage(IPage page, MaintenanceRecordVO maintenanceRecord) { @@ -94,14 +95,14 @@ public class MaintenanceRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportMaintenanceRecord(maintenanceRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } maintenanceRecordList.add(maintenanceRecord); } catch (Exception exception) { String message = exception instanceof ServiceException ? exception.getMessage() : "导入失败"; - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, List.of(message))); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(List.of(message))); errorList.add(excel); } } @@ -141,7 +142,7 @@ public class MaintenanceRecordServiceImpl extends BaseServiceImpl { MaintenanceRecordExportExcel excel = Objects.requireNonNull(BeanUtil.copyProperties(maintenanceRecord, MaintenanceRecordExportExcel.class)); excel.setCost(scaleAmount(maintenanceRecord.getCost())); - excel.setMileage(scaleAmount(nonNegative(maintenanceRecord.getMileage()))); + excel.setMileage(scaleAmount(nonNegative(normalizeMileage(maintenanceRecord.getMileage())))); excel.setUpdateUserName(UserCache.getUserRealName(maintenanceRecord.getUpdateUser())); if (Func.isEmpty(excel.getMileageUnit())) { excel.setMileageUnit(defaultMileageUnit(maintenanceRecord.getVehicleType())); @@ -159,6 +160,7 @@ public class MaintenanceRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportMileageRecord(mileageRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } @@ -100,7 +100,7 @@ public class MileageRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportOilElectricRecord(oilElectricRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } oilElectricRecordList.add(oilElectricRecord); } catch (Exception exception) { String message = exception instanceof ServiceException ? exception.getMessage() : "导入失败"; - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, List.of(message))); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(List.of(message))); errorList.add(excel); } } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/OtherExpenseRecordServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/OtherExpenseRecordServiceImpl.java index ab1f838..9d5de88 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/OtherExpenseRecordServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/OtherExpenseRecordServiceImpl.java @@ -76,14 +76,14 @@ public class OtherExpenseRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportOtherExpenseRecord(otherExpenseRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } otherExpenseRecordList.add(otherExpenseRecord); } catch (Exception exception) { String message = exception instanceof ServiceException ? exception.getMessage() : "导入失败"; - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, List.of(message))); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(List.of(message))); errorList.add(excel); } } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ProjectApplyServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ProjectApplyServiceImpl.java index dfa503a..d4494d0 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ProjectApplyServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ProjectApplyServiceImpl.java @@ -84,7 +84,7 @@ public class ProjectApplyServiceImpl extends BaseServiceImpl 999) { throw new ServiceException(label + "范围为0到999天"); diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/TireReplacementRecordServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/TireReplacementRecordServiceImpl.java index 1bee220..24ffdd2 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/TireReplacementRecordServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/TireReplacementRecordServiceImpl.java @@ -92,14 +92,14 @@ public class TireReplacementRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportTireReplacementRecord(tireReplacementRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } tireReplacementRecordList.add(tireReplacementRecord); } catch (Exception exception) { String message = exception instanceof ServiceException ? exception.getMessage() : "导入失败"; - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, List.of(message))); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(List.of(message))); errorList.add(excel); } } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/TransportChangeRecordServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/TransportChangeRecordServiceImpl.java index 22737b0..d807c89 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/TransportChangeRecordServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/TransportChangeRecordServiceImpl.java @@ -92,14 +92,14 @@ public class TransportChangeRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportTransportChangeRecord(transportChangeRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } transportChangeRecordList.add(transportChangeRecord); } catch (Exception exception) { String message = exception instanceof ServiceException ? exception.getMessage() : "导入失败"; - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, List.of(message))); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(List.of(message))); errorList.add(excel); } } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ViolationRecordServiceImpl.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ViolationRecordServiceImpl.java index 75200fa..29f16a9 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ViolationRecordServiceImpl.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/ViolationRecordServiceImpl.java @@ -63,7 +63,7 @@ public class ViolationRecordServiceImpl extends BaseServiceImpl validationErrors = validateImportViolationRecord(violationRecord); if (Func.isNotEmpty(validationErrors)) { - excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(index + 2, validationErrors)); + excel.setErrorMessage(org.springblade.common.excel.ImportFailureExcelUtil.formatErrorMessage(validationErrors)); errorList.add(excel); continue; } @@ -112,7 +112,7 @@ public class ViolationRecordServiceImpl extends BaseServiceImpl