修改VDR问题

This commit is contained in:
高嵩
2023-09-14 21:05:21 +08:00
parent d38458fe38
commit 8099e7aab2
3 changed files with 82 additions and 48 deletions
@@ -153,6 +153,7 @@
oma.attestation_schedule,
oma.project_version,
pni.project_name car,
oma.vehicle_type,
pyni.year_name
FROM
project_library_base plb
@@ -1303,61 +1303,91 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl<OtaManageApplyEOMap
*/
@Override
public List<VersionVO> getVersionInfo(String vdr, String car, String cut) {
//认证进度数据字典 certification_progress
List<SysDictItem> regionDictList = sysDictItemServiceImpl.selectItemsByDictCode("certification_progress");
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
List<VersionVO> versionVOList = this.getBaseMapper().getVersionInfo(vdr);
List<VersionVO> result = new LinkedList<>();
if (!versionVOList.isEmpty()) {
List<VersionVO> oneList = versionVOList.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList());
List<VersionVO> twoList = versionVOList.stream().filter(e -> StringUtils.isNotBlank(e.getParentId())).collect(Collectors.toList());
OtaManageReceive omr = otaManageReceiveService.getById(vdr);
//获取到版本号,然后获取所有车型
String plannedBpLaunchBatch = omr.getPlannedBpLaunchBatch();
if (StringUtils.isNotEmpty(plannedBpLaunchBatch)) {
List<OtaManageReceiveNsdp> dataList = otaManageReceiveNsdpService.getListByReleaseName(plannedBpLaunchBatch);
//车型
Set<String> vehicleSet = new HashSet<>();
for (OtaManageReceiveNsdp omrn : dataList) {
String appliedVehicleProject = omrn.getVehicle();
if (StringUtils.isNotEmpty(appliedVehicleProject)) {
for (String s : appliedVehicleProject.split(",")) {
String[] split = s.split(" ");
if (split.length == 3) {
vehicleSet.add(split[0] + " " + split[2]);
}
}
}
}
for (VersionVO versionVO : oneList) {
result.add(versionVO);
List<VersionVO> collect = twoList.stream().filter(e -> versionVO.getProjectId().equals(e.getParentId())).collect(Collectors.toList());
Collections.sort(collect, new Comparator<VersionVO>() {
@Override
public int compare(VersionVO o1, VersionVO o2) {
return Integer.valueOf(o1.getVersionNumber()).compareTo(Integer.valueOf(o2.getVersionNumber()));
//认证进度数据字典 certification_progress
List<SysDictItem> regionDictList = sysDictItemServiceImpl.selectItemsByDictCode("certification_progress");
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
List<VersionVO> versionVOList = this.getBaseMapper().getVersionInfo(vdr);
if (!versionVOList.isEmpty()) {
List<VersionVO> oneList = versionVOList.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList());
List<VersionVO> twoList = versionVOList.stream().filter(e -> StringUtils.isNotBlank(e.getParentId())).collect(Collectors.toList());
for (VersionVO versionVO : oneList) {
result.add(versionVO);
List<VersionVO> collect = twoList.stream().filter(e -> versionVO.getProjectId().equals(e.getParentId())).collect(Collectors.toList());
Collections.sort(collect, new Comparator<VersionVO>() {
@Override
public int compare(VersionVO o1, VersionVO o2) {
return Integer.valueOf(o1.getVersionNumber()).compareTo(Integer.valueOf(o2.getVersionNumber()));
}
});
result.addAll(collect);
}
for (VersionVO versionVO : result) {
String market = versionVO.getMarket();
List<String> list = new LinkedList<>();
for (String s : market.split(",")) {
List<DictModel> collect = regionList.stream().filter(e -> e.getValue().equals(s)).collect(Collectors.toList());
if (!collect.isEmpty()) {
list.add(collect.get(0).getTextEn());
}
}
});
result.addAll(collect);
}
for (VersionVO versionVO : result) {
String market = versionVO.getMarket();
List<String> list = new LinkedList<>();
for (String s : market.split(",")) {
List<DictModel> collect = regionList.stream().filter(e -> e.getValue().equals(s)).collect(Collectors.toList());
if (!collect.isEmpty()) {
list.add(collect.get(0).getTextEn());
if (!list.isEmpty()) {
market = StringUtils.join(list, ",");
}
}
if (!list.isEmpty()) {
market = StringUtils.join(list, ",");
}
if (StringUtils.isBlank(versionVO.getProjectVersion())) {
versionVO.setVersionName(versionVO.getCar() + "-" + market);
} else {
versionVO.setVersionName(versionVO.getCar() + "-" + versionVO.getYearName() + "-" + market + "-" + versionVO.getVersionNumber());
}
//认证进度
if (StringUtils.isNotBlank(versionVO.getAttestationSchedule())) {
List<SysDictItem> collect = regionDictList.stream()
.filter(e -> e.getItemValue().equals(versionVO.getAttestationSchedule())).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(cut)) {
versionVO.setAttestationSchedule(collect.get(0).getItemText());
if (StringUtils.isBlank(versionVO.getProjectVersion())) {
versionVO.setVersionName(versionVO.getCar() + "-" + market);
} else {
versionVO.setAttestationSchedule(collect.get(0).getEnName());
versionVO.setVersionName(versionVO.getCar() + "-" + versionVO.getYearName() + "-" + market + "-" + versionVO.getVersionNumber());
}
//认证进度
if (StringUtils.isNotBlank(versionVO.getAttestationSchedule())) {
List<SysDictItem> collect = regionDictList.stream()
.filter(e -> e.getItemValue().equals(versionVO.getAttestationSchedule())).collect(Collectors.toList());
if (CutEnum.CN.getValue().equals(cut)) {
versionVO.setAttestationSchedule(collect.get(0).getItemText());
} else {
versionVO.setAttestationSchedule(collect.get(0).getEnName());
}
}
}
}
}
if (result.isEmpty()) {
VersionVO versionVO = new VersionVO();
versionVO.setVersionName(car);
result.add(versionVO);
for (String vehicleStr : vehicleSet) {
boolean flag = false;
for (VersionVO ver : result) {
if(ver.getVehicleType().equals(vehicleStr)){
flag = true;
break;
}
}
if(!flag){
VersionVO versionVO = new VersionVO();
versionVO.setVersionName(vehicleStr);
versionVO.setVehicleType(vehicleStr);
result.add(versionVO);
}
}
}
return result;
}
@@ -62,6 +62,9 @@ public class VersionVO {
private String versionName;
@ApiModelProperty(value = "项目版本-id")
private java.lang.String projectVersion;
private String projectVersion;
@ApiModelProperty(value = "适用车型")
private String vehicleType;
}