Merge remote-tracking branch 'origin/dev_20230808_OTA' into dev_20230808_OTA

This commit is contained in:
zyx.net
2023-08-19 11:57:13 +08:00
6 changed files with 126 additions and 5 deletions
@@ -157,4 +157,12 @@ public class OtaManageApplyEOController extends JeroController<OtaManageApplyEO,
return Result.OK(result);
}
@AutoLog(value = "全车型和分车型详情")
@ApiOperation(value="分车型详情", notes="分车型详情")
@GetMapping(value = "/getVersionInfo")
public Result<?> getVersionInfo(String vdr) {
List<VersionVO> result = otaManageApplyEOService.getVersionInfo(vdr);
return Result.OK(result);
}
}
@@ -37,4 +37,6 @@ public interface OtaManageApplyEOMapper extends BaseMapper<OtaManageApplyEO> {
List<VersionVO> getProjectVersion(@Param("car") String car, @Param("market") String market);
List<VersionVO> getVersionInfo(@Param("vdr") String vdr);
}
@@ -115,15 +115,41 @@
<select id="getProjectVersion" resultType="com.jero.modules.ota.vo.VersionVO">
SELECT
plb.id projectId,plb.target_market market,plb.studio_engineer studio,plb.project_version versionNumber,
plb.id projectId,
plb.parent_id parentId,
plb.target_market market,
plb.studio_engineer studio,
plb.project_version versionNumber,
pni.project_name car,
pyni.year_name yearName from project_library_base plb
join project_name_info pni on pni.id = plb.project_name_id
join project_year_name_info pyni on pyni.project_name_id = pni.id
where plb.target_market =#{market}
where plb.target_market LIKE CONCAT(CONCAT('%',#{market}),'%')
and pni.project_name =#{car}
GROUP BY plb.id
ORDER BY project_version asc
</select>
<select id="getVersionInfo" resultType="com.jero.modules.ota.vo.VersionVO">
SELECT
plb.id projectId,
plb.parent_id parentId,
plb.target_market market,
plb.project_version versionNumber,
ptp.attestation_start_time,
ptp.attestation_end_time,
ptp.certification_submission,
oma.attestation_schedule,
oma.project_version,
pni.project_name,
pyni.year_name
FROM
project_library_base plb
LEFT JOIN project_task_planning ptp ON plb.id = ptp.project_id
LEFT JOIN ota_manage_apply oma ON oma.project_version = plb.id
LEFT JOIN project_name_info pni ON pni.id = plb.project_name_id
LEFT JOIN project_year_name_info pyni ON pyni.project_name_id = pni.id
WHERE oma.issue_key = #{vdr}
GROUP BY plb.id
</select>
</mapper>
@@ -98,4 +98,11 @@ public interface IOtaManageApplyEOService extends IService<OtaManageApplyEO> {
* @return
*/
List<VersionVO> getProjectVersionList(String carMarket);
/**
* 全车型和分车型详情
* @param vdr
* @return
*/
List<VersionVO> getVersionInfo(String vdr);
}
@@ -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<OtaManageApplyEOMap
private ProjectTaskPlanningServiceImpl projectTaskPlanningService;
@Autowired
private SysBaseApiImpl sysBaseApi;
@Autowired
private SysDictItemServiceImpl sysDictItemServiceImpl;
/**
* 保存
*
@@ -365,17 +370,78 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl<OtaManageApplyEOMap
@Override
public List<VersionVO> getProjectVersionList(String carMarket) {
List<VersionVO> versionVOList = new LinkedList<>();
List<VersionVO> result = new LinkedList<>();
if(StringUtils.isNotBlank(carMarket)){
List<VersionVO> 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<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) {
versionVO.setVersionName(versionVO.getCar() + "-" + versionVO.getYearName() + "-" + versionVO.getMarket() + "-" +versionVO.getVersionNumber());
}
}
return versionVOList;
return result;
}
/**
* 全车型和分车型详情
* @param vdr
* @return
*/
@Override
public List<VersionVO> getVersionInfo(String vdr) {
//认证进度数据字典 certification_progress
List<SysDictItem> regionDictList = sysDictItemServiceImpl.selectItemsByDictCode("certification_progress");
List<VersionVO> versionVOList = otaManageApplyEOMapper.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());
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) {
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<SysDictItem> collect = regionDictList.stream()
.filter(e -> e.getItemValue().equals(versionVO.getAttestationSchedule())).collect(Collectors.toList());
versionVO.setAttestationScheduleText(collect.get(0).getItemText());
}
}
}
return result;
}
}
@@ -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;
}