diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/controller/OtaManageApplyEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/controller/OtaManageApplyEOController.java index 6df4df01d..27a5e7036 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/controller/OtaManageApplyEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/controller/OtaManageApplyEOController.java @@ -157,4 +157,12 @@ public class OtaManageApplyEOController extends JeroController getVersionInfo(String vdr) { + List result = otaManageApplyEOService.getVersionInfo(vdr); + return Result.OK(result); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/OtaManageApplyEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/OtaManageApplyEOMapper.java index 1cd0a4751..0fa2821d2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/OtaManageApplyEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/OtaManageApplyEOMapper.java @@ -37,4 +37,6 @@ public interface OtaManageApplyEOMapper extends BaseMapper { List getProjectVersion(@Param("car") String car, @Param("market") String market); + List getVersionInfo(@Param("vdr") String vdr); + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/xml/OtaManageApplyEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/xml/OtaManageApplyEOMapper.xml index df1a21771..63b72b1f7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/xml/OtaManageApplyEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/mapper/xml/OtaManageApplyEOMapper.xml @@ -115,15 +115,41 @@ + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/IOtaManageApplyEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/IOtaManageApplyEOService.java index 06c766131..1bb9086e4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/IOtaManageApplyEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/IOtaManageApplyEOService.java @@ -98,4 +98,11 @@ public interface IOtaManageApplyEOService extends IService { * @return */ List getProjectVersionList(String carMarket); + + /** + * 全车型和分车型详情 + * @param vdr + * @return + */ + List getVersionInfo(String vdr); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java index 4153b19de..ca0c33c32 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaManageApplyEOServiceImpl.java @@ -13,7 +13,9 @@ import com.jero.modules.ota.service.IOtaManageApplyEOService; import com.jero.modules.ota.vo.VersionVO; import com.jero.modules.project.entity.ProjectTaskPlanning; import com.jero.modules.project.service.impl.ProjectTaskPlanningServiceImpl; +import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.service.impl.SysBaseApiImpl; +import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -24,6 +26,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -48,6 +51,8 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl getProjectVersionList(String carMarket) { - List versionVOList = new LinkedList<>(); + + List result = new LinkedList<>(); if(StringUtils.isNotBlank(carMarket)){ + List versionVOList = new LinkedList<>(); //根据适用车型查询项目版本 String[] conditionSplit = carMarket.split(" "); String car = conditionSplit[0]; String market = conditionSplit[1]; versionVOList = otaManageApplyEOMapper.getProjectVersion(car, market); - for (VersionVO versionVO : versionVOList) { + List oneList = versionVOList.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList()); + List twoList = versionVOList.stream().filter(e -> StringUtils.isNotBlank(e.getParentId())).collect(Collectors.toList()); + + for (VersionVO versionVO : oneList) { + result.add(versionVO); + List collect = twoList.stream().filter(e -> versionVO.getProjectId().equals(e.getParentId())).collect(Collectors.toList()); + Collections.sort(collect, new Comparator() { + @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) { versionVO.setVersionName(versionVO.getCar() + "-" + versionVO.getYearName() + "-" + versionVO.getMarket() + "-" +versionVO.getVersionNumber()); } } - return versionVOList; + return result; + } + + + /** + * 全车型和分车型详情 + * @param vdr + * @return + */ + @Override + public List getVersionInfo(String vdr) { + //认证进度数据字典 certification_progress + List regionDictList = sysDictItemServiceImpl.selectItemsByDictCode("certification_progress"); + + List versionVOList = otaManageApplyEOMapper.getVersionInfo(vdr); + List result = new LinkedList<>(); + if(!versionVOList.isEmpty()){ + List oneList = versionVOList.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList()); + List twoList = versionVOList.stream().filter(e -> StringUtils.isNotBlank(e.getParentId())).collect(Collectors.toList()); + + for (VersionVO versionVO : oneList) { + result.add(versionVO); + List collect = twoList.stream().filter(e -> versionVO.getProjectId().equals(e.getParentId())).collect(Collectors.toList()); + Collections.sort(collect, new Comparator() { + @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) { + if(StringUtils.isBlank(versionVO.getProjectVersion())){ + versionVO.setVersionName(versionVO.getCar() + "-" + versionVO.getMarket()); + }else{ + versionVO.setVersionName(versionVO.getCar() + "-" + versionVO.getYearName() + "-" + versionVO.getMarket() + "-" +versionVO.getVersionNumber()); + } + //认证进度 + if(StringUtils.isNotBlank(versionVO.getAttestationSchedule())){ + List collect = regionDictList.stream() + .filter(e -> e.getItemValue().equals(versionVO.getAttestationSchedule())).collect(Collectors.toList()); + versionVO.setAttestationScheduleText(collect.get(0).getItemText()); + } + } + } + return result; } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/VersionVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/VersionVO.java index adf720d23..9e385b27a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/VersionVO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/vo/VersionVO.java @@ -16,6 +16,9 @@ public class VersionVO { @ApiModelProperty(value = "项目id") private String projectId; + @ApiModelProperty(value = "父id") + private String parentId; + @ApiModelProperty(value = "认证开始") private Date attestationStartTime; @@ -25,6 +28,12 @@ public class VersionVO { @ApiModelProperty(value = "认证批准") private Date attestationEndTime; + @ApiModelProperty(value = "认证进度") + private String attestationSchedule; + + @ApiModelProperty(value = "认证进度") + private String attestationScheduleText; + @ApiModelProperty(value = "车型") private String car; @@ -44,4 +53,7 @@ public class VersionVO { @ApiModelProperty(value = "项目版本名称") private String versionName; + @ApiModelProperty(value = "项目版本-id") + private java.lang.String projectVersion; + }