From cc847f63799adfed8124a18cfed4358bc93be633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Thu, 8 Aug 2024 09:11:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=8E=BB=E6=8E=89=E8=8B=B1=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/LawsMarketStandardDetail.java | 40 +++++++++--------- .../entity/LawsMarketStandardDetailExcel.java | 40 +++++++++--------- .../jero/modules/laws/utils/ValidUtil.java | 8 ++-- .../excelTemplate/导入模板-市场法规清单.xls | Bin 28672 -> 28160 bytes .../导入模板-市场法规清单_en.xls | Bin 0 -> 28672 bytes 5 files changed, 44 insertions(+), 44 deletions(-) create mode 100644 laws-modules/src/main/resources/excelTemplate/导入模板-市场法规清单_en.xls diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java index c1bda920..93dcd4bc 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetail.java @@ -80,7 +80,7 @@ public class LawsMarketStandardDetail implements Serializable { */ @NotBlank(message = "标准编号不能为空") @ApiModelProperty(value = "标准编号") - @Excel(name = "标准编号(Regulation No.)", width = 15) + @Excel(name = "标准编号", width = 15) private String standardNumber; /** @@ -88,20 +88,20 @@ public class LawsMarketStandardDetail implements Serializable { */ @ApiModelProperty(value = "标准名称") @NotBlank(message = "标准名称不能为空") - @Excel(name = "标准名称(Regulation Name)", width = 15) + @Excel(name = "标准名称", width = 15) private String standardName; /** * 标准英文名称 */ @ApiModelProperty(value = "标准英文名称") - @Excel(name = "标准英文名称(Regulation English Name)", width = 15) + @Excel(name = "标准英文名称", width = 15) private String standardEnglishName; /** * 新生产车实施日期 */ - @Excel(name = "新生产车实施日期(New Production Vehicle Implementation Date)", width = 15) + @Excel(name = "新生产车实施日期", width = 15) @NotBlank(message = "新生产车实施日期不能为空") @ApiModelProperty(value = "新生产车实施日期") private String newProductImplDate; @@ -109,7 +109,7 @@ public class LawsMarketStandardDetail implements Serializable { /** * 新认证车实施日期 */ - @Excel(name = "新认证车实施日期(New Certified Vehicle Implementation Date)", width = 15) + @Excel(name = "新认证车实施日期", width = 15) @NotBlank(message = "新认证车实施日期不能为空") @ApiModelProperty(value = "新认证车实施日期") private String newAuthImplDate; @@ -117,7 +117,7 @@ public class LawsMarketStandardDetail implements Serializable { /** * 注册日期 */ - @Excel(name = "注册日期(Registration Date)", width = 15) + @Excel(name = "注册日期", width = 15) @NotBlank(message = "注册日期不能为空") @ApiModelProperty(value = "注册日期") private String registrationDate; @@ -125,7 +125,7 @@ public class LawsMarketStandardDetail implements Serializable { /** * 国家 */ - @Excel(name = "适用国家/地区(Country/Region)", width = 15,dicCode = "market_state") + @Excel(name = "适用国家/地区", width = 15,dicCode = "market_state") @NotBlank(message = "适用国家/地区不能为空") @ApiModelProperty(value = "国家") @Dict(dicCode = "market_state") @@ -134,7 +134,7 @@ public class LawsMarketStandardDetail implements Serializable { /** * 适用车型 */ - @Excel(name = "适用车型(Vehicle Category)", width = 15, dicCode = "applicable_vehicle_type") + @Excel(name = "适用车型", width = 15, dicCode = "applicable_vehicle_type") @Dict(dicCode = "applicable_vehicle_type") @ApiModelProperty(value = "适用车型") private String applicableVehicle; @@ -144,21 +144,21 @@ public class LawsMarketStandardDetail implements Serializable { */ @ApiModelProperty(value = "认证对象") @Dict(dicCode = "authentication_object") - @Excel(name = "认证对象(Certification Item)", width = 15, dicCode = "authentication_object") + @Excel(name = "认证对象", width = 15, dicCode = "authentication_object") private String authenticationObject; /** * 认证交付物 */ @ApiModelProperty(value = "认证交付物") - @Excel(name = "认证交付物(Verification)", width = 15) + @Excel(name = "认证交付物", width = 15) private String certifyTheDeliverables; /** * 类型 */ @Dict(dicCode = "type") - @Excel(name = "类型(Requirement Category)", width = 15, dicCode = "type") + @Excel(name = "类型", width = 15, dicCode = "type") @ApiModelProperty(value = "类型") private String type; @@ -167,7 +167,7 @@ public class LawsMarketStandardDetail implements Serializable { */ @Dict(dicCode = "dynamic_type") @ApiModelProperty(value = "动力类型") - @Excel(name = "动力类型(Power Propulsion Type)", width = 15, dicCode = "dynamic_type") + @Excel(name = "动力类型", width = 15, dicCode = "dynamic_type") private String dynamicType; /** @@ -176,7 +176,7 @@ public class LawsMarketStandardDetail implements Serializable { @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "主控部门") @NotBlank(message = "主控部门不能为空") - @Excel(name = "主控部门(Main Responsible Dept.)", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @Excel(name = "主控部门", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") private String mainDept; /** @@ -185,7 +185,7 @@ public class LawsMarketStandardDetail implements Serializable { @ApiModelProperty(value = "主控部门专业模块") @NotBlank(message = "主控部门专业模块不能为空") @Dict(dicCode = "professional_module") - @Excel(name = "主控部门专业模块(Module of Main Responsible Dept.)", width = 15, dicCode = "professional_module") + @Excel(name = "主控部门专业模块", width = 15, dicCode = "professional_module") private String mainDeptProfMode; /** @@ -193,14 +193,14 @@ public class LawsMarketStandardDetail implements Serializable { */ @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "关联部门") - @Excel(name = "关联部门(Related Dept.)", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @Excel(name = "关联部门", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") private String associateDept; /** * 关联部门专业模块 */ @ApiModelProperty(value = "关联部门专业模块") - @Excel(name = "关联部门专业模块(Module of Related Dept.)", width = 15, dicCode = "professional_module") + @Excel(name = "关联部门专业模块", width = 15, dicCode = "professional_module") @Dict(dicCode = "professional_module") private String associateDeptProfMode; @@ -208,7 +208,7 @@ public class LawsMarketStandardDetail implements Serializable { * 批量限制 */ @ApiModelProperty(value = "批量限制") - @Excel(name = "批量限制(Production Amount)", width = 15, dicCode = "batch_restriction") + @Excel(name = "批量限制", width = 15, dicCode = "batch_restriction") @Dict(dicCode = "batch_restriction") private String batchLimit; @@ -217,7 +217,7 @@ public class LawsMarketStandardDetail implements Serializable { */ @Dict(dicCode = "automatic_driving_level") @ApiModelProperty(value = "自动驾驶等级") - @Excel(name = "自动驾驶等级(Automatic Driving Level)", width = 15,dicCode = "automatic_driving_level") + @Excel(name = "自动驾驶等级", width = 15,dicCode = "automatic_driving_level") private String autopilotLevel; /** @@ -225,13 +225,13 @@ public class LawsMarketStandardDetail implements Serializable { */ @Dict(dicCode = "requirement_type") @ApiModelProperty(value = "要求类型") - @Excel(name = "要求类型(Optional/Compulsory)", width = 15,dicCode = "requirement_type") + @Excel(name = "要求类型", width = 15,dicCode = "requirement_type") private String requireType; /** * 备注 */ @ApiModelProperty(value = "备注") - @Excel(name = "备注(Note)", width = 15) + @Excel(name = "备注", width = 15) private String remark; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetailExcel.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetailExcel.java index 457d9d6b..d4481c1b 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetailExcel.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandardDetailExcel.java @@ -78,7 +78,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { */ @NotBlank(message = "标准编号不能为空") @ApiModelProperty(value = "标准编号") - @Excel(name = "*标准编号(Regulation No.)", width = 15) + @Excel(name = "*标准编号", width = 15) private String standardNumber; /** @@ -86,20 +86,20 @@ public class LawsMarketStandardDetailExcel implements Serializable { */ @ApiModelProperty(value = "标准名称") @NotBlank(message = "标准名称不能为空") - @Excel(name = "*标准名称(Regulation Name)", width = 15) + @Excel(name = "*标准名称", width = 15) private String standardName; /** * 标准英文名称 */ @ApiModelProperty(value = "标准英文名称") - @Excel(name = "标准英文名称(Regulation English Name)", width = 15) + @Excel(name = "标准英文名称", width = 15) private String standardEnglishName; /** * 新生产车实施日期 */ - @Excel(name = "*新生产车实施日期(New Production Vehicle Implementation Date)", width = 15) + @Excel(name = "*新生产车实施日期", width = 15) @NotBlank(message = "新生产车实施日期不能为空") @ApiModelProperty(value = "新生产车实施日期") private String newProductImplDate; @@ -107,7 +107,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { /** * 新认证车实施日期 */ - @Excel(name = "*新认证车实施日期(New Certified Vehicle Implementation Date)", width = 15) + @Excel(name = "*新认证车实施日期", width = 15) @NotBlank(message = "新认证车实施日期不能为空") @ApiModelProperty(value = "新认证车实施日期") private String newAuthImplDate; @@ -115,7 +115,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { /** * 注册日期 */ - @Excel(name = "*注册日期(Registration Date)", width = 15) + @Excel(name = "*注册日期", width = 15) @NotBlank(message = "注册日期不能为空") @ApiModelProperty(value = "注册日期") private String registrationDate; @@ -123,7 +123,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { /** * 国家 */ - @Excel(name = "*适用国家/地区(Country/Region)", width = 15,dicCode = "market_state") + @Excel(name = "*适用国家/地区", width = 15,dicCode = "market_state") @NotBlank(message = "适用国家/地区不能为空") @ApiModelProperty(value = "国家") @Dict(dicCode = "market_state") @@ -132,7 +132,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { /** * 适用车型 */ - @Excel(name = "适用车型(Vehicle Category)", width = 15, dicCode = "applicable_vehicle_type") + @Excel(name = "适用车型", width = 15, dicCode = "applicable_vehicle_type") @Dict(dicCode = "applicable_vehicle_type") @ApiModelProperty(value = "适用车型") private String applicableVehicle; @@ -143,21 +143,21 @@ public class LawsMarketStandardDetailExcel implements Serializable { */ @ApiModelProperty(value = "认证对象") @Dict(dicCode = "authentication_object") - @Excel(name = "认证对象(Certification Item)", width = 15, dicCode = "authentication_object") + @Excel(name = "认证对象", width = 15, dicCode = "authentication_object") private String authenticationObject; /** * 认证交付物 */ @ApiModelProperty(value = "认证交付物") - @Excel(name = "认证交付物(Verification)", width = 15) + @Excel(name = "认证交付物", width = 15) private String certifyTheDeliverables; /** * 类型 */ @Dict(dicCode = "type") - @Excel(name = "类型(Requirement Category)", width = 15, dicCode = "type") + @Excel(name = "类型", width = 15, dicCode = "type") @ApiModelProperty(value = "类型") private String type; @@ -166,7 +166,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { */ @Dict(dicCode = "dynamic_type") @ApiModelProperty(value = "动力类型") - @Excel(name = "动力类型(Power Propulsion Type)", width = 15, dicCode = "dynamic_type") + @Excel(name = "动力类型", width = 15, dicCode = "dynamic_type") private String dynamicType; /** @@ -175,7 +175,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "主控部门") @NotBlank(message = "主控部门不能为空") - @Excel(name = "*主控部门(Main Responsible Dept.)", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @Excel(name = "*主控部门", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") private String mainDept; /** @@ -184,7 +184,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { @ApiModelProperty(value = "主控部门专业模块") @NotBlank(message = "主控部门专业模块不能为空") @Dict(dicCode = "professional_module") - @Excel(name = "*主控部门专业模块(Module of Main Responsible Dept.)", width = 15, dicCode = "professional_module") + @Excel(name = "*主控部门专业模块", width = 15, dicCode = "professional_module") private String mainDeptProfMode; /** @@ -192,14 +192,14 @@ public class LawsMarketStandardDetailExcel implements Serializable { */ @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "关联部门") - @Excel(name = "关联部门(Related Dept.)", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @Excel(name = "关联部门", width = 15,dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") private String associateDept; /** * 关联部门专业模块 */ @ApiModelProperty(value = "关联部门专业模块") - @Excel(name = "关联部门专业模块(Module of Related Dept.)", width = 15, dicCode = "professional_module") + @Excel(name = "关联部门专业模块", width = 15, dicCode = "professional_module") @Dict(dicCode = "professional_module") private String associateDeptProfMode; @@ -207,7 +207,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { * 批量限制 */ @ApiModelProperty(value = "批量限制") - @Excel(name = "批量限制(Production Amount)", width = 15, dicCode = "batch_restriction") + @Excel(name = "批量限制", width = 15, dicCode = "batch_restriction") @Dict(dicCode = "batch_restriction") private String batchLimit; @@ -216,7 +216,7 @@ public class LawsMarketStandardDetailExcel implements Serializable { */ @Dict(dicCode = "automatic_driving_level") @ApiModelProperty(value = "自动驾驶等级") - @Excel(name = "自动驾驶等级(Automatic Driving Level)", width = 15,dicCode = "automatic_driving_level") + @Excel(name = "自动驾驶等级", width = 15,dicCode = "automatic_driving_level") private String autopilotLevel; /** @@ -224,14 +224,14 @@ public class LawsMarketStandardDetailExcel implements Serializable { */ @Dict(dicCode = "requirement_type") @ApiModelProperty(value = "要求类型") - @Excel(name = "要求类型(Optional/Compulsory)", width = 15,dicCode = "requirement_type") + @Excel(name = "要求类型", width = 15,dicCode = "requirement_type") private String requireType; /** * 备注 */ @ApiModelProperty(value = "备注") - @Excel(name = "备注(Note)", width = 15) + @Excel(name = "备注", width = 15) private String remark; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/utils/ValidUtil.java b/laws-modules/src/main/java/com/jero/modules/laws/utils/ValidUtil.java index 8018eb3f..f15f93c3 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/utils/ValidUtil.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/utils/ValidUtil.java @@ -108,10 +108,10 @@ public class ValidUtil { if(Objects.equals(constraintViolation.getPropertyPath().toString(),field.getName())){ if (field.isAnnotationPresent(Excel.class) && field.isAnnotationPresent(NotBlank.class)) { String name = field.getAnnotation(Excel.class).name(); - String[] str1 = name.split("\\("); - String en = str1.length > 1 ? str1[1].split("\\)")[0] : str1[0]; - String zh = str1[0]; - name = Objects.equals(locale,Locale.ENGLISH) ? en : zh; +// String[] str1 = name.split("\\("); +// String en = str1.length > 1 ? str1[1].split("\\)")[0] : str1[0]; +// String zh = str1[0]; +// name = Objects.equals(locale,Locale.ENGLISH) ? en : zh; msg.append(MessageUtils.getMessage(ResultCommon.EMPTY_COMMON,name)).append(","); } } diff --git a/laws-modules/src/main/resources/excelTemplate/导入模板-市场法规清单.xls b/laws-modules/src/main/resources/excelTemplate/导入模板-市场法规清单.xls index 53543055b724fd4670fda7cf3a6b0f8b74b869f2..420d32e285f176492ae7b572c9c49eb0084eb862 100644 GIT binary patch delta 3260 zcmcguYiJx*6h3!$c6WAX--(-c(>kkYZPTPlY}2Aa(#@kaQr0FdhBg&iW#fZTQHfBK zb`n9PB+w*R8%e|}1X6s^$5h21w)#W;W2rw@P!Vmx;^H44D5gSP&z(Duo!wcH{^%@s zXTI;8dtP(S-W|V8#=j%eEu?LxwO-r=0B8D65v@oHg#IF~psF{f{opxG=z|_fCr)@8 zwNdZ)f-0l#pT!t{o7czb%TNn9iC0apc)zKR4ZrQ|euIwbY@pe$-#NpgxZtdx#hoC1!CR$*68@bke6@g%SJ8jlg=gso&kEY zc%B(=u6mQV4Dnv6gb(Zzc=d0^M>k%n!l%o59Dp&Y7RF4wCPUvhqb>A`(oVlh)y+m@v@5O9vr59(qw8o7r{9bT zO_|x&y+YJW_qA@;UTnKYR4;_}h_NyKkAK#eRR7vVz=uXdnA{fJ%C9oD@a|s^xvBZU z%VvmK`t606a$L=6N#H7@W0M2uB;)WBfUv;Iiou-DDI-hSp<}NPew4eKQyv2dU{EaE z5O_-h3(zmOq_Fwir5LtpurNH;XB!Gu7?SKl2-9mvu0QntU^BD~+>7P#S15}-iN(oJ zCa(=1m{QB5^4jvn?AO^Ro~cx@%HEz`dbBWIc*U%zBRe}NQ>`YO%HHF?nqUOKns_g6P1o){(`@K6NkPb?=uU5Oz3&3><;x~aV90L;x(2eCb zkq3J8$>*9P$^w?mi-_&#G9PTy|G;tNN1H4vjwIA%CmKfq=vILpWE=)jm7QK3$%xok za1=uK>_p-yjEJ2>97PbZ!-S(KqFM{Z&>=fGxGau{ofaG=5UK2t;IIZE`>AJ$Oz%COc3Fa;0X%j$k4V6m_7O!%W+{05#G_r=p+sr=fza7~Q?dL0DHe-&qWT(Kci~!#YaOlzT>Db&D1VQfL z4Z5)%@L9|5dlOmyHMgGOUCL=91cKQN1b)Tj|ma6a!jy|=wRw(j-MN^EF1KD3iE%L|jFpbkM78snNQCk~(R2^?{umG7 zYJRSTZ&4{dAh~Wv#r=T>PR3ov_xlWN%qXZy)$i@3N9SpK{Ve P)!X! zKP$j%=^JVCH*&~x5jv4W|Me_#?w>PPfNTbn>E8z-J$+QIN?gvulmow)lzY_3-$}MC zIRFKK@+kanmlvAy8`MHHTwxB37jj)1$PFqpH;PgQVf>jXpAf)j>RSoCDT(?stg($yH`*xTczN z%aNLuO!+%9<4n1#gelik$1jn?U^Iu^9L6NkGr?e4VHsMW&OJ&+g3xI<{@{<6s&ty% zxa6x8(~K{Di=C`%{N|fcvBzCXdrUKFyPB^596OtM$$vIr9G_lpT=NG+z43)VY|N|- z82w?VCdgPTEdA)JNMWOi|qDp__v8vAjrQiKN1pGP|3ib-(P&?WU7@5kNZ9 zGdzVTj}HTr`E~z+*kqnogVtt{?4d#0A_=BE+v!y(r@QwYYFD(LM|M3lKzdAa*@iU3 z)F{*C)cdftOER43$0JZF?Pz4^-uf#YH8j6{DeBb-gCUUFF3oC^^;31@G+k6d;@qJR z58dtPJk07bC~{%DbzHh^RbGP)CRIfx%H~}3n`qBKgw{(d*i0~~qK8PbS{6OuHFk9D zc!ZvW#~#@;?&Ki#%MK1gwh`ruA=M^a`w_`&HnbW(jLNzaovr(5lk7fg_90;SKX_CQ zUCe&4b=|Nc#5B|}#o#&>o|P+8iY3u$dbDzDJDQY@#AIH|NN`uWk8p>%R9j@3RJNIo zolfFH+vzqn5G_b@Crk#wOmD%h54GXx=ZdM>Ux#t%he{Qdli0QK^Osvr)U`$M
Y ztS;G4rQCq_nFCQpAre3ByU@1x)Q(eYcAwuHp$4dLheB_%?_IJW1BkVQdOGAxhv^9f z+kq8F$f+du9b6SxWS^3KQ@lE{T_dNj*J5mruA7AG*|B&;9$Ox%DoXU#-W7TU6>0nw z!W@sq54YZqg*KZ1X$GETobnr!LPbFQKBSNjh~I(~@&oZKDik2yPy7a>U=WJ@-l9-3 z5WlS`R071WD2%vFO~fxIqZn#|Z_~f{7E4mhX4$!I$OFV5lQS+z57;cV@to_XW;#ZH4{diM2 z5f{h5Kx*2o^t2=3rH0&BfyVdAQ@i5Dp71z^cVsh_xv3 e@z#Z6Bz{NpHXDD%Ul0!)L%q895p2on!R;T;6}!Ly diff --git a/laws-modules/src/main/resources/excelTemplate/导入模板-市场法规清单_en.xls b/laws-modules/src/main/resources/excelTemplate/导入模板-市场法规清单_en.xls new file mode 100644 index 0000000000000000000000000000000000000000..53543055b724fd4670fda7cf3a6b0f8b74b869f2 GIT binary patch literal 28672 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 oVf$&V{H_RxjR!7mI6IdG->9Mv^mor~(