diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxAqcs.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxAqcs.java index 60608f241..7b73501d0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxAqcs.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxAqcs.java @@ -72,21 +72,25 @@ public class OtaBaCxAqcs implements Serializable { /**保护机制*/ @Excel(name = "保护机制", width = 15) @ApiModelProperty(value = "保护机制") + @Dict(dicCode = "protection_mechanism") private java.lang.String bhjz; /**防失效机制*/ @Excel(name = "防失效机制", width = 15) @ApiModelProperty(value = "防失效机制") + @Dict(dicCode = "fail_safe_mechanism") private java.lang.String fsxjz; /**升级失败措施*/ @Excel(name = "升级失败措施", width = 15) @ApiModelProperty(value = "升级失败措施") + @Dict(dicCode = "upgrade_failure") private java.lang.String sjsbcs; /**信息安全机制*/ @Excel(name = "信息安全机制", width = 15) @ApiModelProperty(value = "信息安全机制") + @Dict(dicCode = "Information_security_mechanism") private java.lang.String xxaqjz; /**证明材料*/ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxJbxx.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxJbxx.java index 7f3a82fec..9d7a9858e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxJbxx.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxJbxx.java @@ -119,6 +119,7 @@ public class OtaBaCxJbxx implements Serializable { /**通信终端*/ @Excel(name = "通信终端", width = 15) @ApiModelProperty(value = "通信终端") + @Dict(dicCode = "communication_terminal") private java.lang.String txzd; /**车端OTA升级管理系统*/ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxKsjjsmccs.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxKsjjsmccs.java index ae65cfd70..7211a2f6c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxKsjjsmccs.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaBaCxKsjjsmccs.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -84,6 +85,7 @@ public class OtaBaCxKsjjsmccs implements Serializable { /**驾驶自动化级别*/ @Excel(name = "驾驶自动化级别", width = 15) @ApiModelProperty(value = "驾驶自动化级别") + @Dict(dicCode = "driving_automation_level") private java.lang.String jszdhjb; /**升级可能变更的《公告》技术参数*/ @@ -141,4 +143,7 @@ public class OtaBaCxKsjjsmccs implements Serializable { @ApiModelProperty(value = "附件") private java.lang.String fj; + @TableField(exist = false) + private java.lang.String dictCode = "driving_automation_level"; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/enums/OtaTitleEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/enums/OtaTitleEnum.java index 2eb4d1e6e..d114a3063 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/enums/OtaTitleEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/enums/OtaTitleEnum.java @@ -3,202 +3,214 @@ package com.jero.modules.ota.enums; public enum OtaTitleEnum { - CPDJBH("cpdjbh", "产品登记编号"), - GGPC("ggpc", "公告批次"), - CPSB("cpsb", "产品商标"), - CPMC("cpmc", "产品名称"), - CPXH("cpxh", "产品型号"), - BAZT("bazt", "备案状态"), - BATJSJ("batjsj", "备案提交时间"), - CJSJ("cjsj", "创建时间"), - BZ("bz", "备注"), - CXMB("cxmb", "车型模板"), - QYMC("qymc", "企业名称"), - DJBH("djbh", "产品登记编号"), - CPLB("cplb", "产品类别"), - DLLX1("dllx1", "车辆动力类型"), - DLLX2("dllx2", "车辆动力类型"), - TXZD("txzd", "通信终端"), - CDOTASJ("cdotasj", "车端OTA升级管理系统"), - BHSJB("bhsjb", "保护升级包"), - BHCLBB("bhclbb", "保护车辆版本"), - CLGXNL("clgxnl", "车辆更新能力"), - CLSJTJ("clsjtj", "车辆升级条件"), - CLSJDL("clsjdl", "车辆升级所需电量"), - SJBHAQ("sjbhaq", "升级保护车辆安全"), - SJANTJ("sjantj", "升级所满足的安全条件"), - SJSBAQ("sjsbaq", "升级失败安全状态"), - SJGG("sjgg", "升级公告"), - SJZT("sjzt", "升级结果状态"), - ZMCL("zmcl", "证明材料"), - BHJZ("bhjz", "保护机制"), - FSXJZ("fsxjz", "防失效机制"), - SJSBCS("sjsbcs", "升级失败措施"), - XXAQJZ("xxaqjz", "信息安全机制"), - XTLB("xtlb", "系统类别"), - SFKSJ("sfksj", "是否可升级"), - SJBGCS("sjbgcs", "升级变更技术参数"), - TPT("tpt", "系统电子控制器架构拓扑图"), - KZQMC("kzqmc", "电子控制器名称"), - AQWZXDJ("aqwzxdj", "安全完整性等级"), - KZQSCQY("kzqscqy", "电子控制器生产企业"), - KZQXH("kzqxh", "电子控制器型号"), - YJBBXX("yjbbxx", "硬件版本信息"), - CSRJBBH("csrjbbh", "初始软件版本号"), - CSRJBWZSJ("csrjbwzsj", "初始软件包完整数据"), - SJSFYX("sjsfyx", "升级是否影响整车安全、节能、环保、防盗等"), - CZXTLX("czxtlx", "操作系统类型"), - CZXTSCQY("czxtscqy", "操作系统生产企业"), - CZXTBBH("czxtbbh", "操作系统版本号"), - GNMC("gnmc", "功能名称"), - PZQK("pzqk", "配置情况"), - JSZDHJB("jszdhjb", "驾驶自动化级别"), - SJGGCS("sjggcs", "升级可能变更的《公告》技术参数"), - GNMS("gnms", "功能描述"), - SYTJ("sytj", "适用条件"), - RJKFQY("rjkfqy", "软件开发企业"), - CSYZSJ("csyzsj", "初始软件包的完整性验证数据"), - FJ("fj", "附件"), - WLAQYQ_PZ("wlaqyqPz", "网络安全要求配置"), - WLAQYQ_SL("wlaqyqSl", "网络安全要求数量"), - WLAQYQ_BZWZ("wlaqyqBzwz", "网络安全要求布置位置"), - WLAQYQ_GGXH("wlaqyqGgxh", "网络安全要求规格型号"), - WLAQYQ_SCQY("wlaqyqScqy", "网络安全要求生产企业"), - HMBLD_PZ("hmbldPz", "毫米波雷达配置"), - HMBLD_SL("hmbldSl", "毫米波雷达数量"), - HMBLD_BZWZ("hmbldBzwz", "毫米波雷达布置位置"), - HMBLD_GGXH("hmbldGgxh", "毫米波雷达规格型号"), - HMBLD_SCQY("hmbldScqy", "毫米波雷达生产企业"), - CSBLD_PZ("csbldPz", "超声波雷达配置"), - CSBLD_SL("csbldSl", "超声波雷达数量"), - CSBLD_BZWZ("csbldBzwz", "超声波雷达布置位置"), - CSBLD_GGXH("csbldGgxh", "超声波雷达规格型号"), - CSBLD_SCQY("csbldScqy", "超声波雷达生产企业"), - SXTHS_PZ("sxthsPz", "摄像头倒车影像/(环视)配置"), - SXTHS_SL("sxthsSl", "摄像头倒车影像/(环视)数量"), - SXTHS_BZWZ("sxthsBzwz", "摄像头倒车影像/(环视)布置位置"), - SXTHS_GGXH("sxthsGgxh", "摄像头倒车影像/(环视)规格型号"), - SXTHS_SCQY("sxthsScqy", "摄像头倒车影像/(环视)生产企业"), - SXTDSD_PZ("sxtdsdPz", "摄像头单双多目配置"), - SXTDSD_SL("sxtdsdSl", "摄像头单双多目数量"), - SXTDSD_BZWZ("sxtdsdBzwz", "摄像头单双多目布置位置"), - SXTDSD_GGXH("sxtdsdGgxh", "摄像头单双多目规格型号"), - SXTDSD_SCQY("sxtdsdScqy", "摄像头单双多目生产企业"), - JSYJK_PZ("jsyjkPz", "驾驶员监控摄像头配置"), - JSYJK_SL("jsyjkSl", "驾驶员监控摄像头数量"), - JSYJK_BZWZ("jsyjkBzwz", "驾驶员监控摄像头布置位置"), - JSYJK_GGXH("jsyjkGgxh", "驾驶员监控摄像头规格型号"), - JSYJK_SCQY("jsyjkScqy", "驾驶员监控摄像头生产企业"), - JSYHW_PZ("jsyhwPz", "驾驶员监控红外传感器配置"), - JSYHW_SL("jsyhwSl", "驾驶员监控红外传感器数量"), - JSYHW_BZWZ("jsyhwBzwz", "驾驶员监控红外传感器布置位置"), - JSYHW_GGXH("jsyhwGgxh", "驾驶员监控红外传感器规格型号"), - JSYHW_SCQY("jsyhwScqy", "驾驶员监控红外传感器生产企业"), - CZWXDW_PZ("czwxdwPz", "车载卫星定位设备配置"), - CZWXDW_GGXH("czwxdwGgxh", "车载卫星定位设备规格型号"), - CZWXDW_SCQY("czwxdwScqy", "车载卫星定位设备生产企业"), - GXDH_PZ("gxdhPz", "惯性导航系统配置"), - GXDH_GGXH("gxdhGgxh", "惯性导航系统规格型号"), - GXDH_SCQY("gxdhScqy", "惯性导航系统生产企业"), - LSJ_PZ("lsjPz", "轮速计配置"), - LSJ_GGXH("lsjGgxh", "轮速计规格型号"), - LSJ_SCQY("lsjScqy", "轮速计生产企业"), - GJDDT_PZ("gjddtPz", "高精度地图配置"), - GJDDT_GGXH("gjddtGgxh", "高精度地图规格型号"), - GJDDT_SCQY("gjddtScqy", "高精度地图生产企业"), - DZWL_PZ("dzwlPz", "电子围栏配置"), - DZWL_DXXGCS("dzwlDxxgcs", "电子围栏"), - CZTX_PZ("cztxPz", "车载通信系统配置"), - CZTX_XTMC("cztx_xtmc", "车载通信系统系统名称"), - CZTX_GGXH("cztxGgxh", "车载通信系统规格型号"), - CZTX_SCQY("cztxScqy", "车载通信系统生产企业"), - CZTX_BBH("cztxBbh", "车载通信系统版本号"), - CZTX_KFQY("cztx_kfqy", "车载通信系统软件开发企业"), - JSFZCZJ_PZ("jsfzczjPz", "驾驶辅助功能操纵件配置"), - JSFZCZJ_MC("jsfzczjMc", "驾驶辅助功能操纵件名称"), - JSFZCZJ_YJXH("jsfzczjYjxh", "驾驶辅助功能操纵件硬件规格型号"), - JSFZCZJ_SCQY("jsfzczjScqy", "驾驶辅助功能操纵件生产企业"), - JSFZZSQ_PZ("jsfzzsqPz", "驾驶辅助功能指示器配置"), - JSFZZSQ_MC("jsfzzsqMc", "驾驶辅助功能指示器名称"), - JSFZZSQ_YJXH("jsfzzsqYjxh", "驾驶辅助功能指示器硬件规格型号"), - JSFZZSQ_SCQY("jsfzzsqScqy", "驾驶辅助功能指示器生产企业"), - FXPTSTS_PZ("fxptstsPz", "方向盘脱手提示器配置"), - FXPTSTS_MC("fxptstsMc", "方向盘脱手提示器名称"), - FXPTSTS_YJXH("fxptstsYjxh", "方向盘脱手提示器硬件规格型号"), - FXPTSTS_SCQY("fxptstsScqy", "方向盘脱手提示器生产企业"), - JSYZYLTS_PZ("jsyzyltsPz", "驾驶员注意力提醒指示器配置"), - JSYZYLTS_MC("jsyzyltsMc", "驾驶员注意力提醒指示器名称"), - JSYZYLTS_YJXH("jsyzyltsYjxh", "驾驶员注意力提醒指示器硬件规格型号"), - JSYZYLTS_SCQY("jsyzyltsScqy", "驾驶员注意力提醒指示器生产企业"), - DSSAD_PZ("dssadPz", "自动驾驶数据记录系统配置"), - DSSAD_GGXH("dssadGgxh", "自动驾驶数据记录系统规格型号"), - DSSAD_SCQY("dssadScqy", "自动驾驶数据记录系统生产企业"), - EDR_PZ("edrPz", "事件数据记录系统配置"), - EDR_GGXH("edrGgxh", "事件数据记录系统规格型号"), - EDR_SCQY("edrScqy", "事件数据记录系统生产企业"), - BJMC("bjmc", "部件名称"), - YJGGXH("yjggxh", "硬件规格型号"), - YJSCQY("yjscqy", "硬件生产企业"), - RJBB("rjbb", "软件版本"), - BZWZ("bzwz", "布置位置"), - SJBBHCS("sjbbhcs", "升级包保护措施"), - BABH("babh", "备案编号"), - BAPC("bapc", "备案批次"), - ZSL("zsl", "总数量"), - SCRQKS("scrqks", "生产日期开始"), - SCRQJS("scrqjs", "生产日期结束"), - VIN_LIST("vinList", "VIN码清单"), - SJMD("sjmd", "升级目的"), - SFBGCS("sfbgcs", "是否变更对应车型的《公告》技术参数"), - JSXNBH("jsxnbh", "是否涉及性能变化"), - FHGD("fhgd", "是否符合国家法律、行政法规、规章规定,以及道路机动车辆公告管理相关国家技术标准及安全技术条件等"), - ZDJSXG("zdjsxg", "是否涉及汽车自动驾驶功能相关升级"), - JRXXG("jrxxg", "兼容性评估相关"), - ZXSJ("zxsj", "如何执行升级"), - AQJZ("aqjz", "升级失败或中断后,车辆采取的安全机制"), - SFYXAQ("sfyxaq", "升级活动是否影响车辆安全"), - YHQR("yhqr", "升级活动是否提供用户确认选项"), - SJBCS("sjbcs", "升级包测试"), - AQKKX("aqkkx", "是杏已验证确认在线升级活动的安全性和可靠性"), - BGFJ("bgfj", "提供变更或扩展后的《公告》批次及证明材料"), - CLFJ("clfj", "提供证明材料"), - XTMC("xtmc", "系统名称"), - SJQBGCS("sjqbgcs", "升级前已变更《公告》参数的对应调整"), - SJHBGCS("sjhbgcs", "升级后已变更《公告》参数的对应调整"), - SJKZQMC("sjkzqmc", "升级的电子控制器名称"), - YJBB("yjbb", "适配的硬件版本"), - SJQRJBB("sjqrjbb", "软件版本号升级前"), - SJHRJBB("sjhrjbb", "软件版本号升级后"), - SJQCZXT("sjqczxt", "操作系统版本号升级前"), - SJHCZXT("sjhczxt", "操作系统版本号升级后"), - CSRJSJ("csrjsj", "初始软件包的完整性数据"), - SJBYZSJ("sjbyzsj", "升级包完整性验证数据"), - SJBDX("sjbdx", "升级包大小"), - SFCFSJ("sfcfsj", "是否差分升级"), - SJMDLX("sjmdlx", "升级目的类型"), - GNBGMS("gnbgms", "功能变更描述"), - SYTJBG("sytjbg", "适用条件变更"), - SJSJKZQ("sjsjkzq", "升级涉及的电子控制器"), - GXBH("gxbh", "由于软件升级活动而导致的车辆功能的任何变化"), - SJSJ("sjsj", "升级执行预计时间(分钟)"), - SJKY("sjky", "升级执行期问,车辆是否可用"), - SJBKYGN("sjbkygn", "升级执行期间不可用的车辆功能"), - ZDXX("zdxx", "帮助车辆用户安全执行升级的任何指导信息"), - SJSFCG("sjsfcg", "告知用户升级成功或失败"), - GZBG("gzbg", "告知实施的变更"), - GZSCNR("gzscnr", "告知了对用户手册的全部更新内容"), - GZYHFS("gzyhfs", "告知用户方式(可多选)"), - XGWJ("xgwj", "用户告知相关文件"), - RWMC("rwmc", "任务名称"), - SJFBSJ("sjfbsj", "升级发布时间"), - SJJZSJ("sjjzsj", "升级计划截止时间"); + CPDJBH("cpdjbh", "产品登记编号", "0"), + GGPC("ggpc", "公告批次", "0"), + CPSB("cpsb", "产品商标", "0"), + CPMC("cpmc", "产品名称", "0"), + CPXH("cpxh", "产品型号", "0"), + BAZT("bazt", "备案状态", "1"), + BATJSJ("batjsj", "备案提交时间", "0"), + CJSJ("cjsj", "创建时间", "0"), + BZ("bz", "备注", "0"), + + CXMB("cxmb", "车型模板", "0"), + QYMC("qymc", "企业名称", "0"), + DJBH("djbh", "产品登记编号", "0"), + CPLB("cplb", "产品类别", "0"), + DLLX1("dllx1", "车辆动力类型", "0"), + DLLX2("dllx2", "车辆动力类型", "0"), + TXZD("txzd", "通信终端", "1"), + CDOTASJ("cdotasj", "车端OTA升级管理系统", "0"), + + BHSJB("bhsjb", "保护升级包", "2"), + BHCLBB("bhclbb", "保护车辆版本", "2"), + CLGXNL("clgxnl", "车辆更新能力", "2"), + CLSJTJ("clsjtj", "车辆升级条件", "2"), + CLSJDL("clsjdl", "车辆升级所需电量", "2"), + SJBHAQ("sjbhaq", "升级保护车辆安全", "2"), + SJANTJ("sjantj", "升级所满足的安全条件", "2"), + SJSBAQ("sjsbaq", "升级失败安全状态", "2"), + SJGG("sjgg", "升级公告", "2"), + SJZT("sjzt", "升级结果状态", "2"), + ZMCL("zmcl", "证明材料", "0"), + + BHJZ("bhjz", "保护机制", "1"), + FSXJZ("fsxjz", "防失效机制", "1"), + SJSBCS("sjsbcs", "升级失败措施", "1"), + XXAQJZ("xxaqjz", "信息安全机制", "1"), + + XTLB("xtlb", "系统类别", "0"), + SFKSJ("sfksj", "是否可升级", "2"), + SJBGCS("sjbgcs", "升级变更技术参数", "0"), + TPT("tpt", "系统电子控制器架构拓扑图", "0"), + KZQMC("kzqmc", "电子控制器名称", "0"), + AQWZXDJ("aqwzxdj", "安全完整性等级", "0"), + KZQSCQY("kzqscqy", "电子控制器生产企业", "0"), + KZQXH("kzqxh", "电子控制器型号", "0"), + YJBBXX("yjbbxx", "硬件版本信息", "0"), + CSRJBBH("csrjbbh", "初始软件版本号", "0"), + CSRJBWZSJ("csrjbwzsj", "初始软件包完整数据", "0"), + SJSFYX("sjsfyx", "升级是否影响整车安全、节能、环保、防盗等", "0"), + CZXTLX("czxtlx", "操作系统类型", "0"), + CZXTSCQY("czxtscqy", "操作系统生产企业", "0"), + CZXTBBH("czxtbbh", "操作系统版本号", "0"), + + GNMC("gnmc", "功能名称", "0"), + PZQK("pzqk", "配置情况", "2"), + JSZDHJB("jszdhjb", "驾驶自动化级别", "1"), + SJGGCS("sjggcs", "升级可能变更的《公告》技术参数", "0"), + GNMS("gnms", "功能描述", "0"), + SYTJ("sytj", "适用条件", "0"), + RJKFQY("rjkfqy", "软件开发企业", "0"), + CSYZSJ("csyzsj", "初始软件包的完整性验证数据", "0"), + FJ("fj", "附件", "0"), + + WLAQYQ_PZ("wlaqyqPz", "网络安全要求配置", "2"), + WLAQYQ_SL("wlaqyqSl", "网络安全要求数量", "0"), + WLAQYQ_BZWZ("wlaqyqBzwz", "网络安全要求布置位置", "0"), + WLAQYQ_GGXH("wlaqyqGgxh", "网络安全要求规格型号", "0"), + WLAQYQ_SCQY("wlaqyqScqy", "网络安全要求生产企业", "0"), + HMBLD_PZ("hmbldPz", "毫米波雷达配置", "2"), + HMBLD_SL("hmbldSl", "毫米波雷达数量", "0"), + HMBLD_BZWZ("hmbldBzwz", "毫米波雷达布置位置", "0"), + HMBLD_GGXH("hmbldGgxh", "毫米波雷达规格型号", "0"), + HMBLD_SCQY("hmbldScqy", "毫米波雷达生产企业", "0"), + CSBLD_PZ("csbldPz", "超声波雷达配置", "2"), + CSBLD_SL("csbldSl", "超声波雷达数量", "0"), + CSBLD_BZWZ("csbldBzwz", "超声波雷达布置位置", "0"), + CSBLD_GGXH("csbldGgxh", "超声波雷达规格型号", "0"), + CSBLD_SCQY("csbldScqy", "超声波雷达生产企业", "0"), + SXTHS_PZ("sxthsPz", "摄像头倒车影像/(环视)配置", "2"), + SXTHS_SL("sxthsSl", "摄像头倒车影像/(环视)数量", "0"), + SXTHS_BZWZ("sxthsBzwz", "摄像头倒车影像/(环视)布置位置", "0"), + SXTHS_GGXH("sxthsGgxh", "摄像头倒车影像/(环视)规格型号", "0"), + SXTHS_SCQY("sxthsScqy", "摄像头倒车影像/(环视)生产企业", "0"), + SXTDSD_PZ("sxtdsdPz", "摄像头单双多目配置", "2"), + SXTDSD_SL("sxtdsdSl", "摄像头单双多目数量", "0"), + SXTDSD_BZWZ("sxtdsdBzwz", "摄像头单双多目布置位置", "0"), + SXTDSD_GGXH("sxtdsdGgxh", "摄像头单双多目规格型号", "0"), + SXTDSD_SCQY("sxtdsdScqy", "摄像头单双多目生产企业", "0"), + JSYJK_PZ("jsyjkPz", "驾驶员监控摄像头配置", "2"), + JSYJK_SL("jsyjkSl", "驾驶员监控摄像头数量", "0"), + JSYJK_BZWZ("jsyjkBzwz", "驾驶员监控摄像头布置位置", "0"), + JSYJK_GGXH("jsyjkGgxh", "驾驶员监控摄像头规格型号", "0"), + JSYJK_SCQY("jsyjkScqy", "驾驶员监控摄像头生产企业", "0"), + JSYHW_PZ("jsyhwPz", "驾驶员监控红外传感器配置", "2"), + JSYHW_SL("jsyhwSl", "驾驶员监控红外传感器数量", "0"), + JSYHW_BZWZ("jsyhwBzwz", "驾驶员监控红外传感器布置位置", "0"), + JSYHW_GGXH("jsyhwGgxh", "驾驶员监控红外传感器规格型号", "0"), + JSYHW_SCQY("jsyhwScqy", "驾驶员监控红外传感器生产企业", "0"), + CZWXDW_PZ("czwxdwPz", "车载卫星定位设备配置", "2"), + CZWXDW_GGXH("czwxdwGgxh", "车载卫星定位设备规格型号", "0"), + CZWXDW_SCQY("czwxdwScqy", "车载卫星定位设备生产企业", "0"), + GXDH_PZ("gxdhPz", "惯性导航系统配置", "2"), + GXDH_GGXH("gxdhGgxh", "惯性导航系统规格型号", "0"), + GXDH_SCQY("gxdhScqy", "惯性导航系统生产企业", "0"), + LSJ_PZ("lsjPz", "轮速计配置", "2"), + LSJ_GGXH("lsjGgxh", "轮速计规格型号", "0"), + LSJ_SCQY("lsjScqy", "轮速计生产企业", "0"), + GJDDT_PZ("gjddtPz", "高精度地图配置", "2"), + GJDDT_GGXH("gjddtGgxh", "高精度地图规格型号", "0"), + GJDDT_SCQY("gjddtScqy", "高精度地图生产企业", "0"), + DZWL_PZ("dzwlPz", "电子围栏配置", "2"), + DZWL_DXXGCS("dzwlDxxgcs", "电子围栏", "0"), + CZTX_PZ("cztxPz", "车载通信系统配置", "2"), + CZTX_XTMC("cztx_xtmc", "车载通信系统系统名称", "0"), + CZTX_GGXH("cztxGgxh", "车载通信系统规格型号", "0"), + CZTX_SCQY("cztxScqy", "车载通信系统生产企业", "0"), + CZTX_BBH("cztxBbh", "车载通信系统版本号", "0"), + CZTX_KFQY("cztx_kfqy", "车载通信系统软件开发企业", "0"), + JSFZCZJ_PZ("jsfzczjPz", "驾驶辅助功能操纵件配置", "2"), + JSFZCZJ_MC("jsfzczjMc", "驾驶辅助功能操纵件名称", "0"), + JSFZCZJ_YJXH("jsfzczjYjxh", "驾驶辅助功能操纵件硬件规格型号", "0"), + JSFZCZJ_SCQY("jsfzczjScqy", "驾驶辅助功能操纵件生产企业", "0"), + JSFZZSQ_PZ("jsfzzsqPz", "驾驶辅助功能指示器配置", "2"), + JSFZZSQ_MC("jsfzzsqMc", "驾驶辅助功能指示器名称", "0"), + JSFZZSQ_YJXH("jsfzzsqYjxh", "驾驶辅助功能指示器硬件规格型号", "0"), + JSFZZSQ_SCQY("jsfzzsqScqy", "驾驶辅助功能指示器生产企业", "0"), + FXPTSTS_PZ("fxptstsPz", "方向盘脱手提示器配置", "2"), + FXPTSTS_MC("fxptstsMc", "方向盘脱手提示器名称", "0"), + FXPTSTS_YJXH("fxptstsYjxh", "方向盘脱手提示器硬件规格型号", "0"), + FXPTSTS_SCQY("fxptstsScqy", "方向盘脱手提示器生产企业", "0"), + JSYZYLTS_PZ("jsyzyltsPz", "驾驶员注意力提醒指示器配置", "2"), + JSYZYLTS_MC("jsyzyltsMc", "驾驶员注意力提醒指示器名称", "0"), + JSYZYLTS_YJXH("jsyzyltsYjxh", "驾驶员注意力提醒指示器硬件规格型号", "0"), + JSYZYLTS_SCQY("jsyzyltsScqy", "驾驶员注意力提醒指示器生产企业", "0"), + DSSAD_PZ("dssadPz", "自动驾驶数据记录系统配置", "2"), + DSSAD_GGXH("dssadGgxh", "自动驾驶数据记录系统规格型号", "0"), + DSSAD_SCQY("dssadScqy", "自动驾驶数据记录系统生产企业", "0"), + EDR_PZ("edrPz", "事件数据记录系统配置", "2"), + EDR_GGXH("edrGgxh", "事件数据记录系统规格型号", "0"), + EDR_SCQY("edrScqy", "事件数据记录系统生产企业", "0"), + + BJMC("bjmc", "部件名称", "0"), + YJGGXH("yjggxh", "硬件规格型号", "0"), + YJSCQY("yjscqy", "硬件生产企业", "0"), + RJBB("rjbb", "软件版本", "0"), + BZWZ("bzwz", "布置位置", "0"), + + SJBBHCS("sjbbhcs", "升级包保护措施", "0"), + BABH("babh", "备案编号", "0"), + BAPC("bapc", "备案批次", "0"), + ZSL("zsl", "总数量", "0"), + SCRQKS("scrqks", "生产日期开始", "0"), + SCRQJS("scrqjs", "生产日期结束", "0"), + VIN_LIST("vinList", "VIN码清单", "0"), + SJMD("sjmd", "升级目的", "0"), + SFBGCS("sfbgcs", "是否变更对应车型的《公告》技术参数", "0"), + JSXNBH("jsxnbh", "是否涉及性能变化", "0"), + FHGD("fhgd", "是否符合国家法律、行政法规、规章规定,以及道路机动车辆公告管理相关国家技术标准及安全技术条件等", "0"), + ZDJSXG("zdjsxg", "是否涉及汽车自动驾驶功能相关升级", "0"), + JRXXG("jrxxg", "兼容性评估相关", "0"), + ZXSJ("zxsj", "如何执行升级", "0"), + AQJZ("aqjz", "升级失败或中断后,车辆采取的安全机制", "0"), + SFYXAQ("sfyxaq", "升级活动是否影响车辆安全", "0"), + YHQR("yhqr", "升级活动是否提供用户确认选项", "0"), + SJBCS("sjbcs", "升级包测试", "0"), + AQKKX("aqkkx", "是杏已验证确认在线升级活动的安全性和可靠性", "0"), + BGFJ("bgfj", "提供变更或扩展后的《公告》批次及证明材料", "0"), + CLFJ("clfj", "提供证明材料", "0"), + XTMC("xtmc", "系统名称", "0"), + SJQBGCS("sjqbgcs", "升级前已变更《公告》参数的对应调整", "0"), + SJHBGCS("sjhbgcs", "升级后已变更《公告》参数的对应调整", "0"), + SJKZQMC("sjkzqmc", "升级的电子控制器名称", "0"), + YJBB("yjbb", "适配的硬件版本", "0"), + SJQRJBB("sjqrjbb", "软件版本号升级前", "0"), + SJHRJBB("sjhrjbb", "软件版本号升级后", "0"), + SJQCZXT("sjqczxt", "操作系统版本号升级前", "0"), + SJHCZXT("sjhczxt", "操作系统版本号升级后", "0"), + CSRJSJ("csrjsj", "初始软件包的完整性数据", "0"), + SJBYZSJ("sjbyzsj", "升级包完整性验证数据", "0"), + SJBDX("sjbdx", "升级包大小", "0"), + SFCFSJ("sfcfsj", "是否差分升级", "0"), + SJMDLX("sjmdlx", "升级目的类型", "0"), + GNBGMS("gnbgms", "功能变更描述", "0"), + SYTJBG("sytjbg", "适用条件变更", "0"), + SJSJKZQ("sjsjkzq", "升级涉及的电子控制器", "0"), + GXBH("gxbh", "由于软件升级活动而导致的车辆功能的任何变化", "0"), + SJSJ("sjsj", "升级执行预计时间(分钟)", "0"), + SJKY("sjky", "升级执行期问,车辆是否可用", "0"), + SJBKYGN("sjbkygn", "升级执行期间不可用的车辆功能", "0"), + ZDXX("zdxx", "帮助车辆用户安全执行升级的任何指导信息", "0"), + SJSFCG("sjsfcg", "告知用户升级成功或失败", "0"), + GZBG("gzbg", "告知实施的变更", "0"), + GZSCNR("gzscnr", "告知了对用户手册的全部更新内容", "0"), + GZYHFS("gzyhfs", "告知用户方式(可多选)", "0"), + XGWJ("xgwj", "用户告知相关文件", "0"), + RWMC("rwmc", "任务名称", "0"), + SJFBSJ("sjfbsj", "升级发布时间", "0"), + SJJZSJ("sjjzsj", "升级计划截止时间", "0"); String name; String value; - OtaTitleEnum(String name, String value) { + //0为不处理。1为数据字典2为处理是否 是1 否2 + String type; + + OtaTitleEnum(String name, String value, String type) { this.name = name; this.value = value; + this.type = type; } public String getName() { @@ -218,14 +230,20 @@ public enum OtaTitleEnum { this.value = value; } - public static String getVal(String name){ - String res = ""; - for (OtaTitleEnum e:values()) { - if(e.getName().equals(name)){ - res = e.getValue(); - break; + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public static OtaTitleEnum getOtaTitleEnum(String name) { + for (OtaTitleEnum e : values()) { + if (e.getName().equals(name)) { + return e; } } - return res; + return null; } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxAqcsServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxAqcsServiceImpl.java index 119ffe6b3..20cf6dc90 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxAqcsServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxAqcsServiceImpl.java @@ -59,6 +59,9 @@ public class OtaBaCxAqcsServiceImpl extends ServiceImpl reList = cu.comparisonRecord(otaBaCxAqcsOld.getOtaId(), OtaModuleEnum.CX_AQCS, otaBaCxAqcsOld, otaBaCxAqcs); otaBaCxTxjlService.saveBatch(reList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxJsfzbacsServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxJsfzbacsServiceImpl.java index 607e6364f..7ff8d142f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxJsfzbacsServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxJsfzbacsServiceImpl.java @@ -51,6 +51,9 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl reList = cu.comparisonRecord(otaId, OtaModuleEnum.CX_JSFZXTJCBACS, otaBaCxJsfzbacsOld, otaBaCxJsfzbacs); //处理控制器列表,先删除,后添加 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxKsjjsmccsServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxKsjjsmccsServiceImpl.java index ea68bd088..e2c2643ed 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxKsjjsmccsServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxKsjjsmccsServiceImpl.java @@ -74,7 +74,7 @@ public class OtaBaCxKsjjsmccsServiceImpl extends ServiceImpl reList = cu.comparisonRecord(otaBaCxQt.getOtaId(), OtaModuleEnum.CX_QT, otaBaCxQtOld, otaBaCxQt); otaBaCxTxjlService.saveBatch(reList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxZxsjyqServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxZxsjyqServiceImpl.java index 9a6b9fd24..c176fe6bf 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxZxsjyqServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxZxsjyqServiceImpl.java @@ -34,6 +34,7 @@ public class OtaBaCxZxsjyqServiceImpl extends ServiceImpl reList = cu.comparisonRecord(otaBaCxZxsjyq.getOtaId(), OtaModuleEnum.CX_ZXSJYQ, otaBaCxZxsjyqOld, otaBaCxZxsjyq); otaBaCxTxjlService.saveBatch(reList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/utils/ComparisonUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/utils/ComparisonUtil.java index ca0d1b446..571bf280f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/utils/ComparisonUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/utils/ComparisonUtil.java @@ -27,28 +27,18 @@ public class ComparisonUtil { List resList = new ArrayList<>(); Field[] fields = newClazz.getClass().getDeclaredFields(); for (Field field : fields) { - try { - String title = OtaTitleEnum.getVal(field.getName()); - if (ObjectUtils.isEmpty(title)) { - continue; - } - field.setAccessible(true); - Object newVal = field.get(newClazz); - Object oldVal = field.get(oldClazz); - String newStr = "空"; - if (ObjectUtils.isNotEmpty(newVal)) { - newStr = newVal.toString(); - } - String oldStr = "空"; - if (ObjectUtils.isNotEmpty(oldVal)) { - oldStr = oldVal.toString(); - } - if (!newStr.equals(oldStr)) { - String content = "由" + title + "的" + oldStr + "改为" + newStr; - resList.add(new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content)); - } - } catch (IllegalAccessException e) { - e.printStackTrace(); + String title = ""; + OtaTitleEnum ote = OtaTitleEnum.getOtaTitleEnum(field.getName()); + if (null == ote) { + continue; + } + title = ote.getValue(); + field.setAccessible(true); + String newStr = parseDictText(ote, field, newClazz); + String oldStr = parseDictText(ote, field, oldClazz); + if (!newStr.equals(oldStr)) { + String content = "由" + title + "的" + oldStr + "改为" + newStr; + resList.add(new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content)); } } return resList; @@ -60,16 +50,19 @@ public class ComparisonUtil { for (T newObj : newList) { if (ObjectUtils.isNotEmpty(newObj)) { Field idField = newObj.getClass().getDeclaredField("id"); + idField.setAccessible(true); Object id = idField.get(newObj); if (ObjectUtils.isEmpty(id)) { String content = "新增了一条" + newObj.getClass().getDeclaredField(tableTitle).get(newObj).toString(); resList.add(new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content)); Field[] fields = newObj.getClass().getDeclaredFields(); for (Field field : fields) { - String title = OtaTitleEnum.getVal(field.getName()); - if (ObjectUtils.isEmpty(title)) { + String title = ""; + OtaTitleEnum ote = OtaTitleEnum.getOtaTitleEnum(field.getName()); + if (null == ote) { continue; } + title = ote.getValue(); field.setAccessible(true); Object newVal = field.get(newObj); String newStr = "空"; @@ -92,6 +85,7 @@ public class ComparisonUtil { for (T oldObj : oldList) { if (ObjectUtils.isNotEmpty(oldObj)) { Field idField = oldObj.getClass().getDeclaredField("id"); + idField.setAccessible(true); String oldId = idField.get(oldObj).toString(); for (T newObj : newList) { if (ObjectUtils.isNotEmpty(newObj)) { @@ -101,7 +95,14 @@ public class ComparisonUtil { } } } - String content = "删除了" + oldObj.getClass().getDeclaredField(tableTitle).get(oldObj).toString(); + Field tableTitleField = oldObj.getClass().getDeclaredField(tableTitle); + tableTitleField.setAccessible(true); + Object tableTitleObj = tableTitleField.get(oldObj); + String tableTitleObjStr = "空"; + if (ObjectUtils.isNotEmpty(tableTitleObj)) { + tableTitleObjStr = tableTitleObj.toString(); + } + String content = "删除了" + tableTitleObjStr; resList.add(new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content)); } } @@ -118,23 +119,25 @@ public class ComparisonUtil { Field[] fields = newClazz.getClass().getDeclaredFields(); for (Field field : fields) { try { - String title = OtaTitleEnum.getVal(field.getName()); - if (ObjectUtils.isEmpty(title)) { + String title = ""; + OtaTitleEnum ote = OtaTitleEnum.getOtaTitleEnum(field.getName()); + if (null == ote) { continue; } + title = ote.getValue(); field.setAccessible(true); - Object newVal = field.get(newClazz); - Object oldVal = field.get(oldClazz); - String newStr = "空"; - if (ObjectUtils.isNotEmpty(newVal)) { - newStr = newVal.toString(); - } - String oldStr = "空"; - if (ObjectUtils.isNotEmpty(oldVal)) { - oldStr = oldVal.toString(); - } + String newStr = parseDictText(ote, field, newClazz); + String oldStr = parseDictText(ote, field, oldClazz); + if (!newStr.equals(oldStr)) { - String content = newVal.getClass().getDeclaredField(tableTitle).get(newVal).toString() + "的" + title + "由" + oldStr + "改为" + newStr; + //TODO null + Object newVal = field.get(newClazz); + Object newTitleVal = newVal.getClass().getDeclaredField(tableTitle).get(newVal); + String newTitleStr = "空"; + if (ObjectUtils.isNotEmpty(newTitleVal)) { + newTitleStr = newTitleVal.toString(); + } + String content = newTitleStr + "的" + title + "由" + oldStr + "改为" + newStr; resList.add(new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content)); } } catch (IllegalAccessException | NoSuchFieldException e) { @@ -143,4 +146,39 @@ public class ComparisonUtil { } return resList; } + + private String parseDictText(OtaTitleEnum ote, Field field, T clazz) { + String res = "空"; + try { + Object newVal = field.get(clazz); + if ("1".equals(ote.getType())) { + try { + Field fieldDict = clazz.getClass().getDeclaredField(field.getName() + "_dictText"); + fieldDict.setAccessible(true); + Object newValDict = fieldDict.get(clazz); + if (ObjectUtils.isNotEmpty(newValDict)) { + res = newValDict.toString(); + } + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } + } else if ("2".equals(ote.getType())) { + if (ObjectUtils.isNotEmpty(newVal)) { + if ("1".equals(newVal.toString())) { + res = "是"; + } else if ("2".equals(newVal.toString())) { + res = "否"; + } + } + } else { + if (ObjectUtils.isNotEmpty(newVal)) { + res = newVal.toString(); + } + } + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + return res; + } + }