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 9ff31351d..6df4df01d 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 @@ -149,4 +149,12 @@ public class OtaManageApplyEOController extends JeroController getProjectVersionList(String carMarket) { + List result = otaManageApplyEOService.getProjectVersionList(carMarket); + return Result.OK(result); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageApplyEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageApplyEO.java index 0ec1e59e4..7a8297bcc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageApplyEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/entity/OtaManageApplyEO.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.modules.ota.vo.VersionVO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -15,6 +16,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; +import java.util.List; /** @@ -162,6 +164,10 @@ public class OtaManageApplyEO implements Serializable { @ApiModelProperty(value = "认证批准") private Date attestationEndTime; + @TableField(exist = false) + @ApiModelProperty(value = "项目版本下拉选项") + private List versionVOList; + 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 8ba7fdf94..1cd0a4751 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 @@ -24,11 +24,10 @@ public interface OtaManageApplyEOMapper extends BaseMapper { /** * 分车型列表-分页列表查询 - * @param page * @param otaManageApplyEO * @return */ - Page getOtaCarPage(Page page, @Param("otaManageApplyEO") OtaManageApplyEO otaManageApplyEO); + List getOtaCarPage(@Param("otaManageApplyEO") OtaManageApplyEO otaManageApplyEO); List getByAppliedVehicleProject(@Param("appliedVehicleProject") String appliedVehicleProject); @@ -36,4 +35,6 @@ public interface OtaManageApplyEOMapper extends BaseMapper { List getReleaseDate(@Param("plannedBpLaunchBatchList") List plannedBpLaunchBatchList); + List getProjectVersion(@Param("car") String car, @Param("market") String market); + } 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 91ee53ee9..172c2dfe5 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 @@ -73,9 +73,9 @@ + + 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 b406cfc29..06c766131 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 @@ -91,4 +91,11 @@ public interface IOtaManageApplyEOService extends IService { * @return */ List getCarList(); + + /** + * + * @param carMarket + * @return + */ + List getProjectVersionList(String carMarket); } 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 1f00730cc..12fb60300 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 @@ -199,23 +199,38 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl getOtaCarPage(OtaManageApplyEO otaManageApplyEO, Integer pageNo, Integer pageSize) { - Page page = new Page(pageNo, pageSize); - Page otaCarPage = otaManageApplyEOMapper.getOtaCarPage(page, otaManageApplyEO); - List records = otaCarPage.getRecords(); - if(!records.isEmpty()){ - List appliedVehicleProjectList = records.stream().filter(e-> StringUtils.isNotBlank(e.getAppliedVehicleProject())) - .map(OtaManageApplyEO::getAppliedVehicleProject).distinct() - .collect(Collectors.toList()); + List otaManageApplyEOList = otaManageApplyEOMapper.getOtaCarPage(otaManageApplyEO); + List list = new ArrayList<>(); + String carMarket = otaManageApplyEO.getAppliedVehicleProject(); + if(StringUtils.isNotBlank(carMarket) && !"全部".equals(carMarket) && !otaManageApplyEOList.isEmpty()){ - List list = new ArrayList<>(); - for (String appliedVehicleProject : appliedVehicleProjectList) { - list.addAll(Arrays.asList(appliedVehicleProject.split(","))); + String[] conditionSplit = carMarket.split(" "); + + for (OtaManageApplyEO manageApplyEO : otaManageApplyEOList) { + String appliedVehicleProject = manageApplyEO.getAppliedVehicleProject(); + if(StringUtils.isNotBlank(appliedVehicleProject)){ + String[] appliedVehicleProjectArr = appliedVehicleProject.split(","); + for (String appliedVehicleProjectTemp : appliedVehicleProjectArr) { + String[] split = appliedVehicleProjectTemp.split(" "); + if(split.length == 1){ + list.add(manageApplyEO); + }else if(split.length == 2){ + if(Arrays.equals(conditionSplit, split)){ + list.add(manageApplyEO); + } + }else if(split.length == 3){ + List listTemp = Arrays.asList(split); + List conditionList = Arrays.asList(conditionSplit); + if(listTemp.containsAll(conditionList)){ + list.add(manageApplyEO); + } + } + } + } } - - } - - return null; + Page pages = PageUtil.getPages(pageNo, pageSize, list); + return pages; } /** @@ -298,4 +313,20 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl getProjectVersionList(String carMarket) { + List versionVOList = new LinkedList<>(); + if(StringUtils.isNotBlank(carMarket)){ + //根据适用车型查询项目版本 + String[] conditionSplit = carMarket.split(" "); + String car = conditionSplit[0]; + String market = conditionSplit[1]; + versionVOList = otaManageApplyEOMapper.getProjectVersion(car, market); + for (VersionVO versionVO : versionVOList) { + versionVO.setVersionName(versionVO.getCar() + "-" + versionVO.getYearName() + "-" + versionVO.getMarket() + "-" +versionVO.getVersionNumber()); + } + } + return versionVOList; + } } 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 466de57cd..adf720d23 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 @@ -1,6 +1,7 @@ package com.jero.modules.ota.vo; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import java.util.Date; @@ -9,10 +10,11 @@ import java.util.Date; * @date 2023/8/9 11:28 * @auth zhn */ +@Data public class VersionVO { - @ApiModelProperty(value = "版本") - private String version; + @ApiModelProperty(value = "项目id") + private String projectId; @ApiModelProperty(value = "认证开始") private Date attestationStartTime; @@ -22,4 +24,24 @@ public class VersionVO { @ApiModelProperty(value = "认证批准") private Date attestationEndTime; + + + @ApiModelProperty(value = "车型") + private String car; + + @ApiModelProperty(value = "年款") + private String yearName; + + @ApiModelProperty(value = "市场") + private String market; + + @ApiModelProperty(value = "版本号") + private String versionNumber; + + @ApiModelProperty(value = "studio") + private String studio; + + @ApiModelProperty(value = "项目版本名称") + private String versionName; + }