开发OTA备案工具-车辆升级

This commit is contained in:
高嵩
2023-03-30 02:07:42 +08:00
parent 08f238056c
commit 67650edb5b
4 changed files with 171 additions and 155 deletions
@@ -4,6 +4,7 @@ import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.ota.entity.OtaBaCxTxjl;
@@ -13,6 +14,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -22,164 +24,169 @@ import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
/**
* @Description: 车型备案-填写记录表
* @Author: jero-boot
* @Date: 2023-03-25
* @Date: 2023-03-25
* @Version: V1.0
*/
@Api(tags="车型备案-填写记录表")
@Api(tags = "车型备案-填写记录表")
@RestController
@RequestMapping("/ota/otaBaCxTxjl")
@Slf4j
public class OtaBaCxTxjlController extends JeroController<OtaBaCxTxjl, IOtaBaCxTxjlService> {
@Autowired
private IOtaBaCxTxjlService otaBaCxTxjlService;
/**
* 分页列表查询
*
* @param otaBaCxTxjl
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "车型备案-填写记录表-分页列表查询")
@ApiOperation(value="车型备案-填写记录表-分页列表查询", notes="车型备案-填写记录表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(OtaBaCxTxjl otaBaCxTxjl,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<OtaBaCxTxjl> queryWrapper = QueryGenerator.initQueryWrapper(otaBaCxTxjl, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
Page<OtaBaCxTxjl> page = new Page<OtaBaCxTxjl>(pageNo, pageSize);
IPage<OtaBaCxTxjl> pageList = otaBaCxTxjlService.page(page, queryWrapper);
return Result.OK(pageList);
}
@Autowired
private IOtaBaCxTxjlService otaBaCxTxjlService;
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "车型备案-填写记录表-列表查询")
@ApiOperation(value="车型备案-填写记录表-列表查询", notes="车型备案-填写记录表-列表查询")
@GetMapping(value = "/list")
public Result<List<OtaBaCxTxjl>> queryList() {
* 分页列表查询
*
* @param otaBaCxTxjl
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "车型备案-填写记录表-分页列表查询")
@ApiOperation(value = "车型备案-填写记录表-分页列表查询", notes = "车型备案-填写记录表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(OtaBaCxTxjl otaBaCxTxjl,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
Page<OtaBaCxTxjl> page = new Page<OtaBaCxTxjl>(pageNo, pageSize);
String otaId = req.getParameter("otaId");
if (StringUtils.isEmpty(otaId)) {
return Result.OK(page);
}
QueryWrapper<OtaBaCxTxjl> queryWrapper = QueryGenerator.initQueryWrapper(otaBaCxTxjl, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
IPage<OtaBaCxTxjl> pageList = otaBaCxTxjlService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "车型备案-填写记录表-列表查询")
@ApiOperation(value = "车型备案-填写记录表-列表查询", notes = "车型备案-填写记录表-列表查询")
@GetMapping(value = "/list")
public Result<List<OtaBaCxTxjl>> queryList() {
List<OtaBaCxTxjl> list = otaBaCxTxjlService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param otaBaCxTxjl
* @return
*/
@AutoLog(value = "车型备案-填写记录表-添加")
@ApiOperation(value="车型备案-填写记录表-添加", notes="车型备案-填写记录表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody OtaBaCxTxjl otaBaCxTxjl) {
otaBaCxTxjlService.add(otaBaCxTxjl);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param otaBaCxTxjl
* @return
*/
@AutoLog(value = "车型备案-填写记录表-编辑")
@ApiOperation(value="车型备案-填写记录表-编辑", notes="车型备案-填写记录表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody OtaBaCxTxjl otaBaCxTxjl) {
otaBaCxTxjlService.editById(otaBaCxTxjl);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "车型备案-填写记录表-通过id删除")
@ApiOperation(value="车型备案-填写记录表-通过id删除", notes="车型备案-填写记录表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
otaBaCxTxjlService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "车型备案-填写记录表-批量删除")
@ApiOperation(value="车型备案-填写记录表-批量删除", notes="车型备案-填写记录表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.otaBaCxTxjlService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "车型备案-填写记录表-通过id查询")
@ApiOperation(value="车型备案-填写记录表-通过id查询", notes="车型备案-填写记录表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
OtaBaCxTxjl otaBaCxTxjl = otaBaCxTxjlService.queryById(id);
if(otaBaCxTxjl==null) {
return Result.error("未找到对应数据");
}
return Result.OK(otaBaCxTxjl);
}
/**
* 通过otaId查询
*
* @param otaId
* @return
*/
@AutoLog(value = "车型备案-填写记录表-通过otaId查询")
@ApiOperation(value="车型备案-填写记录表-通过otaId查询", notes="车型备案-填写记录表-通过otaId查询")
@GetMapping(value = "/queryByOtaId")
public Result<?> queryByOtaId(@RequestParam(name="otaId",required=true) String otaId) {
List<OtaBaCxTxjl> otaBaCxTxjlList = otaBaCxTxjlService.queryByOtaId(otaId);
if(otaBaCxTxjlList==null) {
return Result.error("未找到对应数据");
}
return Result.OK(otaBaCxTxjlList);
}
}
/**
* 导出excel
*
* @param request
* @param otaBaCxTxjl
*/
* 添加
*
* @param otaBaCxTxjl
* @return
*/
@AutoLog(value = "车型备案-填写记录表-添加")
@ApiOperation(value = "车型备案-填写记录表-添加", notes = "车型备案-填写记录表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody OtaBaCxTxjl otaBaCxTxjl) {
otaBaCxTxjlService.add(otaBaCxTxjl);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param otaBaCxTxjl
* @return
*/
@AutoLog(value = "车型备案-填写记录表-编辑")
@ApiOperation(value = "车型备案-填写记录表-编辑", notes = "车型备案-填写记录表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody OtaBaCxTxjl otaBaCxTxjl) {
otaBaCxTxjlService.editById(otaBaCxTxjl);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "车型备案-填写记录表-通过id删除")
@ApiOperation(value = "车型备案-填写记录表-通过id删除", notes = "车型备案-填写记录表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
otaBaCxTxjlService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "车型备案-填写记录表-批量删除")
@ApiOperation(value = "车型备案-填写记录表-批量删除", notes = "车型备案-填写记录表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.otaBaCxTxjlService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "车型备案-填写记录表-通过id查询")
@ApiOperation(value = "车型备案-填写记录表-通过id查询", notes = "车型备案-填写记录表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
OtaBaCxTxjl otaBaCxTxjl = otaBaCxTxjlService.queryById(id);
if (otaBaCxTxjl == null) {
return Result.error("未找到对应数据");
}
return Result.OK(otaBaCxTxjl);
}
/**
* 通过otaId查询
*
* @param otaId
* @return
*/
@AutoLog(value = "车型备案-填写记录表-通过otaId查询")
@ApiOperation(value = "车型备案-填写记录表-通过otaId查询", notes = "车型备案-填写记录表-通过otaId查询")
@GetMapping(value = "/queryByOtaId")
public Result<?> queryByOtaId(@RequestParam(name = "otaId", required = true) String otaId) {
List<OtaBaCxTxjl> otaBaCxTxjlList = otaBaCxTxjlService.queryByOtaId(otaId);
if (otaBaCxTxjlList == null) {
return Result.error("未找到对应数据");
}
return Result.OK(otaBaCxTxjlList);
}
/**
* 导出excel
*
* @param request
* @param otaBaCxTxjl
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, OtaBaCxTxjl otaBaCxTxjl) {
return super.exportXls(request, otaBaCxTxjl, OtaBaCxTxjl.class, "车型备案-填写记录表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, OtaBaCxTxjl.class);
@@ -114,6 +114,7 @@ public class OtaBaSjGgnrfs implements Serializable {
/**告知用户方式(可多选)*/
@Excel(name = "告知用户方式(可多选)", width = 15)
@ApiModelProperty(value = "告知用户方式(可多选)")
@Dict(dicCode = "user_notification_mode")
private java.lang.String gzyhfs;
/**用户告知相关文件*/
@@ -154,21 +154,21 @@ public enum OtaTitleEnum {
BABH("babh", "备案编号", "0"),
BAPC("bapc", "备案批次", "0"),
ZSL("zsl", "总数量", "0"),
SCRQKS("scrqks", "生产日期开始", "0"),
SCRQJS("scrqjs", "生产日期结束", "0"),
SCRQKS("scrqks", "生产日期开始", "3"),
SCRQJS("scrqjs", "生产日期结束", "3"),
VIN_LIST("vinList", "VIN码清单", "0"),
SJMD("sjmd", "升级目的", "uipgrade_purpose"),
SFBGCS("sfbgcs", "是否变更对应车型的《公告》技术参数", "0"),
JSXNBH("jsxnbh", "是否涉及性能变化", "0"),
FHGD("fhgd", "是否符合国家法律、行政法规、规章规定,以及道路机动车辆公告管理相关国家技术标准及安全技术条件等", "0"),
ZDJSXG("zdjsxg", "是否涉及汽车自动驾驶功能相关升级", "0"),
JRXXG("jrxxg", "兼容性评估相关", "0"),
SFBGCS("sfbgcs", "是否变更对应车型的《公告》技术参数", "2"),
JSXNBH("jsxnbh", "是否涉及性能变化", "2"),
FHGD("fhgd", "是否符合国家法律、行政法规、规章规定,以及道路机动车辆公告管理相关国家技术标准及安全技术条件等", "2"),
ZDJSXG("zdjsxg", "是否涉及汽车自动驾驶功能相关升级", "2"),
JRXXG("jrxxg", "兼容性评估相关", "2"),
ZXSJ("zxsj", "如何执行升级", "conditions_upgrades"),
AQJZ("aqjz", "升级失败或中断后,车辆采取的安全机制", "upgrade_failed"),
SFYXAQ("sfyxaq", "升级活动是否影响车辆安全", "0"),
YHQR("yhqr", "升级活动是否提供用户确认选项", "0"),
SFYXAQ("sfyxaq", "升级活动是否影响车辆安全", "2"),
YHQR("yhqr", "升级活动是否提供用户确认选项", "2"),
SJBCS("sjbcs", "升级包测试", "package_test"),
AQKKX("aqkkx", "已验证确认在线升级活动的安全性和可靠性", "0"),
AQKKX("aqkkx", "已验证确认在线升级活动的安全性和可靠性", "2"),
// BGFJ("bgfj", "提供变更或扩展后的《公告》批次及证明材料", "0"),
// CLFJ("clfj", "提供证明材料", "0"),
XTMC("xtmc", "系统名称", "0"),
@@ -193,14 +193,14 @@ public enum OtaTitleEnum {
SJKY("sjky", "升级执行期问,车辆是否可用", "0"),
SJBKYGN("sjbkygn", "升级执行期间不可用的车辆功能", "0"),
ZDXX("zdxx", "帮助车辆用户安全执行升级的任何指导信息", "0"),
SJSFCG("sjsfcg", "告知用户升级成功或失败", "0"),
GZBG("gzbg", "告知实施的变更", "0"),
GZSCNR("gzscnr", "告知了对用户手册的全部更新内容", "0"),
GZYHFS("gzyhfs", "告知用户方式(可多选)", "0"),
SJSFCG("sjsfcg", "告知用户升级成功或失败", "2"),
GZBG("gzbg", "告知实施的变更", "2"),
GZSCNR("gzscnr", "告知了对用户手册的全部更新内容", "2"),
GZYHFS("gzyhfs", "告知用户方式(可多选)", "user_notification_mode"),
// XGWJ("xgwj", "用户告知相关文件", "0"),
RWMC("rwmc", "任务名称", "0"),
SJFBSJ("sjfbsj", "升级发布时间", "0"),
SJJZSJ("sjjzsj", "升级计划截止时间", "0");
SJFBSJ("sjfbsj", "升级发布时间", "3"),
SJJZSJ("sjjzsj", "升级计划截止时间", "3");
String name;
String value;
@@ -10,6 +10,7 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
@@ -20,12 +21,14 @@ import java.util.List;
* @param <T>
*/
public class ComparisonUtil<T> {
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
public ComparisonUtil() {
}
public List<OtaBaCxTxjl> comparisonRecord(String otaId, String newFj,String oldFjStr,OtaModuleEnum otaModuleEnum, String title, IOSSFileService ossFileService) {
public List<OtaBaCxTxjl> comparisonRecord(String otaId, String newFj, String oldFjStr, OtaModuleEnum otaModuleEnum, String title, IOSSFileService ossFileService) {
List<OtaBaCxTxjl> reList = new ArrayList<>();
String[] newFjList = {};
if (StringUtils.isNotEmpty(newFj)) {
@@ -57,6 +60,7 @@ public class ComparisonUtil<T> {
}
return reList;
}
public OtaBaCxTxjl addAttRecord(String otaId, OtaModuleEnum otaModuleEnum, String title, String attName) {
String content = title + "中添加了附件:'" + attName;
OtaBaCxTxjl jl = new OtaBaCxTxjl(otaId, otaModuleEnum.getName(), content);
@@ -226,6 +230,10 @@ public class ComparisonUtil<T> {
res = "";
}
}
} else if ("3".equals(ote.getType())) {
if (ObjectUtils.isNotEmpty(newVal)) {
res = sdf.format(newVal);
}
} else {
newVal = field.get(clazz);
if (ObjectUtils.isNotEmpty(newVal)) {