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

This commit is contained in:
高嵩
2023-03-28 12:37:48 +08:00
parent 531d1ed989
commit bbd076b7aa
11 changed files with 122 additions and 469 deletions
@@ -6,6 +6,7 @@ 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.OtaBaCxAqcs;
import com.jero.modules.ota.entity.OtaBaSjSjyxpg;
import com.jero.modules.ota.service.IOtaBaSjSjyxpgService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -144,6 +145,24 @@ public class OtaBaSjSjyxpgController extends JeroController<OtaBaSjSjyxpg, IOtaB
return Result.OK(otaBaSjSjyxpg);
}
/**
* 通过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,
@RequestParam(name = "otaIdT", required = true) String otaIdT) {
OtaBaSjSjyxpg otaBaSjSjyxpg = otaBaSjSjyxpgService.queryByOtaId(otaId, otaIdT);
if (otaBaSjSjyxpg == null) {
return Result.error("未找到对应数据");
}
return Result.OK(otaBaSjSjyxpg);
}
/**
* 导出excel
*
@@ -1,170 +0,0 @@
package com.jero.modules.ota.controller;
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.OtaBaSjTxjl;
import com.jero.modules.ota.service.IOtaBaSjTxjlService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
* @Description: 车型升级-填写记录表
* @Author: jero-boot
* @Date: 2023-03-25
* @Version: V1.0
*/
@Api(tags="车型升级-填写记录表")
@RestController
@RequestMapping("/ota/otaBaSjTxjl")
@Slf4j
public class OtaBaSjTxjlController extends JeroController<OtaBaSjTxjl, IOtaBaSjTxjlService> {
@Autowired
private IOtaBaSjTxjlService otaBaSjTxjlService;
/**
* 分页列表查询
*
* @param otaBaSjTxjl
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "车型升级-填写记录表-分页列表查询")
@ApiOperation(value="车型升级-填写记录表-分页列表查询", notes="车型升级-填写记录表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(OtaBaSjTxjl otaBaSjTxjl,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<OtaBaSjTxjl> queryWrapper = QueryGenerator.initQueryWrapper(otaBaSjTxjl, req.getParameterMap());
Page<OtaBaSjTxjl> page = new Page<OtaBaSjTxjl>(pageNo, pageSize);
IPage<OtaBaSjTxjl> pageList = otaBaSjTxjlService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "车型升级-填写记录表-列表查询")
@ApiOperation(value="车型升级-填写记录表-列表查询", notes="车型升级-填写记录表-列表查询")
@GetMapping(value = "/list")
public Result<List<OtaBaSjTxjl>> queryList() {
List<OtaBaSjTxjl> list = otaBaSjTxjlService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param otaBaSjTxjl
* @return
*/
@AutoLog(value = "车型升级-填写记录表-添加")
@ApiOperation(value="车型升级-填写记录表-添加", notes="车型升级-填写记录表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody OtaBaSjTxjl otaBaSjTxjl) {
otaBaSjTxjlService.add(otaBaSjTxjl);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param otaBaSjTxjl
* @return
*/
@AutoLog(value = "车型升级-填写记录表-编辑")
@ApiOperation(value="车型升级-填写记录表-编辑", notes="车型升级-填写记录表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody OtaBaSjTxjl otaBaSjTxjl) {
otaBaSjTxjlService.editById(otaBaSjTxjl);
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) {
otaBaSjTxjlService.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.otaBaSjTxjlService.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) {
OtaBaSjTxjl otaBaSjTxjl = otaBaSjTxjlService.queryById(id);
if(otaBaSjTxjl==null) {
return Result.error("未找到对应数据");
}
return Result.OK(otaBaSjTxjl);
}
/**
* 导出excel
*
* @param request
* @param otaBaSjTxjl
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, OtaBaSjTxjl otaBaSjTxjl) {
return super.exportXls(request, otaBaSjTxjl, OtaBaSjTxjl.class, "车型升级-填写记录表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, OtaBaSjTxjl.class);
}
}
@@ -69,6 +69,7 @@ public class OtaBaSjSjyxpg implements Serializable {
/**升级目的*/
@Excel(name = "升级目的", width = 15)
@ApiModelProperty(value = "升级目的")
@Dict(dicCode = "uipgrade_purpose")
private java.lang.String sjmd;
/**是否变更对应车型的《公告》技术参数*/
@@ -99,11 +100,13 @@ public class OtaBaSjSjyxpg implements Serializable {
/**如何执行升级*/
@Excel(name = "如何执行升级", width = 15)
@ApiModelProperty(value = "如何执行升级")
@Dict(dicCode = "conditions_upgrades")
private java.lang.String zxsj;
/**升级失败或中断后,车辆采取的安全机制*/
@Excel(name = "升级失败或中断后,车辆采取的安全机制", width = 15)
@ApiModelProperty(value = "升级失败或中断后,车辆采取的安全机制")
@Dict(dicCode = "upgrade_failed")
private java.lang.String aqjz;
/**升级活动是否影响车辆安全*/
@@ -119,6 +122,7 @@ public class OtaBaSjSjyxpg implements Serializable {
/**升级包测试*/
@Excel(name = "升级包测试", width = 15)
@ApiModelProperty(value = "升级包测试")
@Dict(dicCode = "package_test")
private java.lang.String sjbcs;
/**是杏已验证确认在线升级活动的安全性和可靠性*/
@@ -1,79 +0,0 @@
package com.jero.modules.ota.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 车型升级-填写记录表
* @Author: jero-boot
* @Date: 2023-03-25
* @Version: V1.0
*/
@Data
@TableName("ota_ba_sj_txjl")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ota_ba_sj_txjl对象", description="车型升级-填写记录表")
public class OtaBaSjTxjl implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**ota_id*/
@Excel(name = "ota_id", width = 15)
@ApiModelProperty(value = "ota_id")
private String otaId;
/**模块*/
@Excel(name = "模块", width = 15)
@ApiModelProperty(value = "模块")
private String module;
/**填写内容*/
@Excel(name = "填写内容", width = 15)
@ApiModelProperty(value = "填写内容")
private String content;
}
@@ -156,17 +156,17 @@ public enum OtaTitleEnum {
SCRQKS("scrqks", "生产日期开始", "0"),
SCRQJS("scrqjs", "生产日期结束", "0"),
VIN_LIST("vinList", "VIN码清单", "0"),
SJMD("sjmd", "升级目的", "0"),
SJMD("sjmd", "升级目的", "uipgrade_purpose"),
SFBGCS("sfbgcs", "是否变更对应车型的《公告》技术参数", "0"),
JSXNBH("jsxnbh", "是否涉及性能变化", "0"),
FHGD("fhgd", "是否符合国家法律、行政法规、规章规定,以及道路机动车辆公告管理相关国家技术标准及安全技术条件等", "0"),
ZDJSXG("zdjsxg", "是否涉及汽车自动驾驶功能相关升级", "0"),
JRXXG("jrxxg", "兼容性评估相关", "0"),
ZXSJ("zxsj", "如何执行升级", "0"),
AQJZ("aqjz", "升级失败或中断后,车辆采取的安全机制", "0"),
ZXSJ("zxsj", "如何执行升级", "conditions_upgrades"),
AQJZ("aqjz", "升级失败或中断后,车辆采取的安全机制", "upgrade_failed"),
SFYXAQ("sfyxaq", "升级活动是否影响车辆安全", "0"),
YHQR("yhqr", "升级活动是否提供用户确认选项", "0"),
SJBCS("sjbcs", "升级包测试", "0"),
SJBCS("sjbcs", "升级包测试", "package_test"),
AQKKX("aqkkx", "是杏已验证确认在线升级活动的安全性和可靠性", "0"),
BGFJ("bgfj", "提供变更或扩展后的《公告》批次及证明材料", "0"),
CLFJ("clfj", "提供证明材料", "0"),
@@ -1,9 +1,5 @@
package com.jero.modules.ota.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.ota.entity.OtaBaSjTxjl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.ota.mapper.OtaBaSjTxjlMapper">
<resultMap id="OtaBaSjTxjlResultMap" type="com.jero.modules.ota.entity.OtaBaSjTxjl">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="ota_id" property="otaId" />
<result column="module" property="module" />
<result column="content" property="content" />
</resultMap>
</mapper>
@@ -58,4 +58,6 @@ public interface IOtaBaSjSjyxpgService extends IService<OtaBaSjSjyxpg> {
* @return
*/
List<OtaBaSjSjyxpg> queryList();
OtaBaSjSjyxpg queryByOtaId(String otaId, String otaIdT);
}
@@ -1,61 +0,0 @@
package com.jero.modules.ota.service;
import com.jero.modules.ota.entity.OtaBaSjTxjl;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 车型升级-填写记录表
* @Author: jero-boot
* @Date: 2023-03-25
* @Version: V1.0
*/
public interface IOtaBaSjTxjlService extends IService<OtaBaSjTxjl> {
/**
* 保存
*
* @param otaBaSjTxjl
* @return
*/
void add(OtaBaSjTxjl otaBaSjTxjl);
/**
* 更新
*
* @param otaBaSjTxjl
* @return
*/
void editById(OtaBaSjTxjl otaBaSjTxjl);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
OtaBaSjTxjl queryById(String id);
/**
* 列表查询
*
* @return
*/
List<OtaBaSjTxjl> queryList();
}
@@ -1,89 +1,135 @@
package com.jero.modules.ota.service.impl;
import com.jero.modules.ota.entity.OtaBaSjSjyxpg;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.modules.ota.entity.*;
import com.jero.modules.ota.enums.OtaModuleEnum;
import com.jero.modules.ota.mapper.OtaBaSjSjyxpgMapper;
import com.jero.modules.ota.service.IOtaBaCxTxjlService;
import com.jero.modules.ota.service.IOtaBaSjSjyxpgService;
import com.jero.modules.ota.utils.ComparisonUtil;
import com.jero.modules.system.service.ISysDictService;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 升级备案-升级影响评估
* @Author: jero-boot
* @Date: 2023-03-17
* @Date: 2023-03-17
* @Version: V1.0
*/
@Service
public class OtaBaSjSjyxpgServiceImpl extends ServiceImpl<OtaBaSjSjyxpgMapper, OtaBaSjSjyxpg> implements IOtaBaSjSjyxpgService {
/**
* 保存
*
* @param otaBaSjSjyxpg
* @return
*/
@Override
@Autowired
private ISysDictService sysDictService;
@Autowired
private IOtaBaCxTxjlService otaBaCxTxjlService;
/**
* 保存
*
* @param otaBaSjSjyxpg
* @return
*/
@Override
public void add(OtaBaSjSjyxpg otaBaSjSjyxpg) {
Date now = new Date();
otaBaSjSjyxpg.setCreateTime(now);
otaBaSjSjyxpg.setUpdateTime(now);
save(otaBaSjSjyxpg);
if (null != otaBaSjSjyxpg) {
OtaBaSjSjyxpg otaBaSjSjyxpgOld = this.getByOtaId(otaBaSjSjyxpg.getOtaId());
if (null != otaBaSjSjyxpgOld) {
otaBaSjSjyxpg.setId(otaBaSjSjyxpgOld.getId());
} else {
otaBaSjSjyxpg.setCreateTime(now);
}
otaBaSjSjyxpg.setUpdateTime(now);
saveOrUpdate(otaBaSjSjyxpg);
ComparisonUtil cu = new ComparisonUtil();
if (ObjectUtils.isEmpty(otaBaSjSjyxpgOld)) {
otaBaSjSjyxpgOld = new OtaBaSjSjyxpg();
}
List<OtaBaCxTxjl> reList = cu.comparisonRecord(otaBaSjSjyxpg.getOtaId(), OtaModuleEnum.SJ_SJYXPG, otaBaSjSjyxpgOld, otaBaSjSjyxpg, sysDictService);
otaBaCxTxjlService.saveBatch(reList);
}
}
/**
* 更新
*
* @param otaBaSjSjyxpg
* @return
*/
@Override
/**
* 更新
*
* @param otaBaSjSjyxpg
* @return
*/
@Override
public void editById(OtaBaSjSjyxpg otaBaSjSjyxpg) {
Date now = new Date();
Date now = new Date();
otaBaSjSjyxpg.setUpdateTime(now);
saveOrUpdate(otaBaSjSjyxpg);
saveOrUpdate(otaBaSjSjyxpg);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public OtaBaSjSjyxpg queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
* 列表查询
*
* @return
*/
@Override
public List<OtaBaSjSjyxpg> queryList() {
return list();
}
@Override
public OtaBaSjSjyxpg queryByOtaId(String otaId, String otaIdT) {
OtaBaSjSjyxpg res = getByOtaId(otaId);
if (ObjectUtils.isEmpty(res)) {
res = getByOtaId(otaIdT);
}
return res;
}
private OtaBaSjSjyxpg getByOtaId(String otaId) {
LambdaQueryWrapper<OtaBaSjSjyxpg> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OtaBaSjSjyxpg::getOtaId, otaId);
return this.getOne(queryWrapper, false);
}
}
@@ -1,89 +0,0 @@
package com.jero.modules.ota.service.impl;
import com.jero.modules.ota.entity.OtaBaSjTxjl;
import com.jero.modules.ota.mapper.OtaBaSjTxjlMapper;
import com.jero.modules.ota.service.IOtaBaSjTxjlService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 车型升级-填写记录表
* @Author: jero-boot
* @Date: 2023-03-25
* @Version: V1.0
*/
@Service
public class OtaBaSjTxjlServiceImpl extends ServiceImpl<OtaBaSjTxjlMapper, OtaBaSjTxjl> implements IOtaBaSjTxjlService {
/**
* 保存
*
* @param otaBaSjTxjl
* @return
*/
@Override
public void add(OtaBaSjTxjl otaBaSjTxjl) {
Date now = new Date();
otaBaSjTxjl.setCreateTime(now);
otaBaSjTxjl.setUpdateTime(now);
save(otaBaSjTxjl);
}
/**
* 更新
*
* @param otaBaSjTxjl
* @return
*/
@Override
public void editById(OtaBaSjTxjl otaBaSjTxjl) {
Date now = new Date();
otaBaSjTxjl.setUpdateTime(now);
saveOrUpdate(otaBaSjTxjl);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public OtaBaSjTxjl queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<OtaBaSjTxjl> queryList() {
return list();
}
}