OTA列表和全车型列表
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
|||||||
|
package com.jero.common.util;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* @date 2022/12/7 14:02
|
||||||
|
* @auth zhn
|
||||||
|
*/
|
||||||
|
public class PageUtil {
|
||||||
|
public static Page getPages(Integer currentPage, Integer pageSize, List<?> entityList){
|
||||||
|
Page page =new Page();
|
||||||
|
if(entityList==null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
int size = entityList.size();
|
||||||
|
if(pageSize > size){
|
||||||
|
pageSize = size;
|
||||||
|
}
|
||||||
|
if(pageSize!=0){
|
||||||
|
//求出最⼤页数,防⽌currentPage越界
|
||||||
|
int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1;
|
||||||
|
if(currentPage > maxPage){
|
||||||
|
currentPage = maxPage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//当前页第⼀条数据的下标
|
||||||
|
int curIdx = currentPage >1?(currentPage -1)* pageSize :0;
|
||||||
|
List pageList =new ArrayList();
|
||||||
|
//将当前页的数据放进pageList
|
||||||
|
for(int i =0; i < pageSize && curIdx + i < size; i++){
|
||||||
|
pageList.add(entityList.get(curIdx + i));
|
||||||
|
}
|
||||||
|
page.setCurrent(currentPage).setSize(pageSize).setTotal(entityList.size()).setRecords(pageList);
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
}
|
||||||
+5
-1
@@ -100,7 +100,11 @@ public class OtaManageApplyEO implements Serializable {
|
|||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "软件发布时间")
|
@ApiModelProperty(value = "软件发布时间")
|
||||||
private java.util.Date softwareIssueTime;
|
private String releaseName;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
@ApiModelProperty(value = "软件发布时间")
|
||||||
|
private java.util.Date releaseNameDate;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "软件发布时间-开始")
|
@ApiModelProperty(value = "软件发布时间-开始")
|
||||||
|
|||||||
+17
@@ -0,0 +1,17 @@
|
|||||||
|
package com.jero.modules.ota.entity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description
|
||||||
|
* @date 2023/8/17 18:38
|
||||||
|
* @auth zhn
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OtaManageReceiveNsdpEO {
|
||||||
|
//软件版本
|
||||||
|
private String releaseName;
|
||||||
|
|
||||||
|
//发布时间
|
||||||
|
private String releaseDate;
|
||||||
|
}
|
||||||
+6
-1
@@ -2,10 +2,12 @@ package com.jero.modules.ota.mapper;
|
|||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.jero.modules.ota.entity.OtaManageReceiveNsdpEO;
|
||||||
import com.jero.modules.ota.vo.VersionVO;
|
import com.jero.modules.ota.vo.VersionVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.jero.modules.ota.entity.OtaManageApplyEO;
|
import com.jero.modules.ota.entity.OtaManageApplyEO;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.pptx4j.pml.STTLTriggerRuntimeNode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -17,7 +19,8 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public interface OtaManageApplyEOMapper extends BaseMapper<OtaManageApplyEO> {
|
public interface OtaManageApplyEOMapper extends BaseMapper<OtaManageApplyEO> {
|
||||||
|
|
||||||
Page<OtaManageApplyEO> getOtaPage(Page<OtaManageApplyEO> page, @Param("otaManageApplyEO") OtaManageApplyEO otaManageApplyEO);
|
// Page<OtaManageApplyEO> getOtaPage(Page<OtaManageApplyEO> page, @Param("otaManageApplyEO") OtaManageApplyEO otaManageApplyEO);
|
||||||
|
List<OtaManageApplyEO> getOtaList(@Param("otaManageApplyEO") OtaManageApplyEO otaManageApplyEO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分车型列表-分页列表查询
|
* 分车型列表-分页列表查询
|
||||||
@@ -31,4 +34,6 @@ public interface OtaManageApplyEOMapper extends BaseMapper<OtaManageApplyEO> {
|
|||||||
|
|
||||||
List<OtaManageApplyEO> getOtaCarList();
|
List<OtaManageApplyEO> getOtaCarList();
|
||||||
|
|
||||||
|
List<OtaManageReceiveNsdpEO> getReleaseDate(@Param("plannedBpLaunchBatchList") List<String> plannedBpLaunchBatchList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+50
-24
@@ -15,44 +15,62 @@
|
|||||||
<result column="remark" property="remark" />
|
<result column="remark" property="remark" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="getOtaPage" resultType="com.jero.modules.ota.entity.OtaManageApplyEO">
|
<select id="getOtaList" resultType="com.jero.modules.ota.entity.OtaManageApplyEO">
|
||||||
select * from ota_manage_receive
|
select * from ota_manage_receive
|
||||||
<where>
|
<where>
|
||||||
1=1
|
<if test="otaManageApplyEO.plannedBpLaunchBatch != null and otaManageApplyEO.plannedBpLaunchBatch != ''">
|
||||||
<if test="otaManageApplyEO.softwareVersion != null and otaManageApplyEO.softwareVersion != ''">
|
planned_bp_launch_batch_ =#{otaManageApplyEO.plannedBpLaunchBatch}
|
||||||
and trim( REPLACE ( software_version, ' ', '' ) ) LIKE trim(
|
|
||||||
REPLACE ( CONCAT( '%', #{otaManageApplyEO.softwareVersion}, '%' ), ' ', '' ))
|
|
||||||
</if>
|
|
||||||
<if test="otaManageApplyEO.platform != null and otaManageApplyEO.platform != ''">
|
|
||||||
and ts.platform LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.platform}),'%')
|
|
||||||
</if>
|
|
||||||
<if test="otaManageApplyEO.appliedVehicleProject != null and otaManageApplyEO.appliedVehicleProject != ''">
|
|
||||||
and ts.applied_vehicle_project LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.appliedVehicleProject}),'%')
|
|
||||||
</if>
|
|
||||||
<if test="otaManageApplyEO.market != null and otaManageApplyEO.market != ''">
|
|
||||||
and ts.market LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.market}),'%')
|
|
||||||
</if>
|
|
||||||
<if test="otaManageApplyEO.softwareIssueTimeStart != null">
|
|
||||||
and ts.software_issue_time >=#{otaManageApplyEO.softwareIssueTimeStart}
|
|
||||||
</if>
|
|
||||||
<if test="otaManageApplyEO.softwareIssueTimeEnd != null">
|
|
||||||
and ts.software_issue_time <=#{otaManageApplyEO.softwareIssueTimeEnd}
|
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
<if test="otaManageApplyEO.appliedVehicleProject != null and otaManageApplyEO.appliedVehicleProject != ''">
|
||||||
|
and applied_vehicle_project LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.appliedVehicleProject}),'%')
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="otaManageApplyEO.market != null and otaManageApplyEO.market != ''">
|
||||||
|
and applied_vehicle_project LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.market}),'%')
|
||||||
|
</if>
|
||||||
|
|
||||||
<if test="otaManageApplyEO.issueKey != null and otaManageApplyEO.issueKey != ''">
|
<if test="otaManageApplyEO.issueKey != null and otaManageApplyEO.issueKey != ''">
|
||||||
and ts.issue_key LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.issueKey}),'%')
|
and id LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.issueKey}),'%')
|
||||||
</if>
|
</if>
|
||||||
<if test="otaManageApplyEO.summary != null and otaManageApplyEO.summary != ''">
|
<if test="otaManageApplyEO.summary != null and otaManageApplyEO.summary != ''">
|
||||||
and ts.summary LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.summary}),'%')
|
and summary LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.summary}),'%')
|
||||||
</if>
|
</if>
|
||||||
<if test="otaManageApplyEO.impactHomo != null and otaManageApplyEO.impactHomo != ''">
|
<if test="otaManageApplyEO.impactHomo != null and otaManageApplyEO.impactHomo != ''">
|
||||||
and (ts.impact_cn_homo LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.impactHomo}),'%')
|
and (impact_cn_homo LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.impactHomo}),'%')
|
||||||
or impact_eu_homo ts.impact_cn_homo LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.impactHomo}),'%'))
|
or impact_eu_homo impact_cn_homo LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.impactHomo}),'%'))
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
order by create_time desc
|
order by create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
<!-- <select id="getOtaPage" resultType="com.jero.modules.ota.entity.OtaManageApplyEO">-->
|
||||||
|
<!-- select * from ota_manage_receive-->
|
||||||
|
<!-- <where>-->
|
||||||
|
<!-- <if test="otaManageApplyEO.plannedBpLaunchBatch != null and otaManageApplyEO.plannedBpLaunchBatch != ''">-->
|
||||||
|
<!-- planned_bp_launch_batch_ =#{otaManageApplyEO.plannedBpLaunchBatch}-->
|
||||||
|
<!-- </if>-->
|
||||||
|
|
||||||
|
<!-- <if test="otaManageApplyEO.appliedVehicleProject != null and otaManageApplyEO.appliedVehicleProject != ''">-->
|
||||||
|
<!-- and applied_vehicle_project LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.appliedVehicleProject}),'%')-->
|
||||||
|
<!-- </if>-->
|
||||||
|
|
||||||
|
<!-- <if test="otaManageApplyEO.market != null and otaManageApplyEO.market != ''">-->
|
||||||
|
<!-- and applied_vehicle_project LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.market}),'%')-->
|
||||||
|
<!-- </if>-->
|
||||||
|
|
||||||
|
<!-- <if test="otaManageApplyEO.issueKey != null and otaManageApplyEO.issueKey != ''">-->
|
||||||
|
<!-- and id LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.issueKey}),'%')-->
|
||||||
|
<!-- </if>-->
|
||||||
|
<!-- <if test="otaManageApplyEO.summary != null and otaManageApplyEO.summary != ''">-->
|
||||||
|
<!-- and summary LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.summary}),'%')-->
|
||||||
|
<!-- </if>-->
|
||||||
|
<!-- <if test="otaManageApplyEO.impactHomo != null and otaManageApplyEO.impactHomo != ''">-->
|
||||||
|
<!-- and (impact_cn_homo LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.impactHomo}),'%')-->
|
||||||
|
<!-- or impact_eu_homo impact_cn_homo LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.impactHomo}),'%'))-->
|
||||||
|
<!-- </if>-->
|
||||||
|
<!-- </where>-->
|
||||||
|
<!-- order by create_time desc-->
|
||||||
|
<!-- </select>-->
|
||||||
<select id="getOtaCarPage" resultType="com.jero.modules.ota.entity.OtaManageApplyEO">
|
<select id="getOtaCarPage" resultType="com.jero.modules.ota.entity.OtaManageApplyEO">
|
||||||
select omr.*,
|
select omr.*,
|
||||||
oma.project_version,oma.attestation_schedule.oma.match_status,oma.remark,
|
oma.project_version,oma.attestation_schedule.oma.match_status,oma.remark,
|
||||||
@@ -83,4 +101,12 @@
|
|||||||
select * from ota_manage_receive
|
select * from ota_manage_receive
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getReleaseDate" resultType="com.jero.modules.ota.entity.OtaManageReceiveNsdpEO">
|
||||||
|
select * from ota_manage_receive_nsdp
|
||||||
|
where release_name in
|
||||||
|
<foreach collection="plannedBpLaunchBatchList" index="index" item="item" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
+72
-2
@@ -3,17 +3,24 @@ package com.jero.modules.ota.service.impl;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.hankcs.hanlp.dependency.nnparser.util.Log;
|
||||||
|
import com.jero.common.util.PageUtil;
|
||||||
import com.jero.modules.ota.entity.OtaManageApplyEO;
|
import com.jero.modules.ota.entity.OtaManageApplyEO;
|
||||||
|
import com.jero.modules.ota.entity.OtaManageReceiveNsdpEO;
|
||||||
import com.jero.modules.ota.enums.OtaCarEnum;
|
import com.jero.modules.ota.enums.OtaCarEnum;
|
||||||
import com.jero.modules.ota.mapper.OtaManageApplyEOMapper;
|
import com.jero.modules.ota.mapper.OtaManageApplyEOMapper;
|
||||||
import com.jero.modules.ota.service.IOtaManageApplyEOService;
|
import com.jero.modules.ota.service.IOtaManageApplyEOService;
|
||||||
import com.jero.modules.ota.vo.VersionVO;
|
import com.jero.modules.ota.vo.VersionVO;
|
||||||
import com.jero.modules.system.util.StringUtils;
|
import com.jero.modules.system.util.StringUtils;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -115,8 +122,71 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl<OtaManageApplyEOMap
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IPage<OtaManageApplyEO> getOtaPage(OtaManageApplyEO otaManageApplyEO, Integer pageNo, Integer pageSize) {
|
public IPage<OtaManageApplyEO> getOtaPage(OtaManageApplyEO otaManageApplyEO, Integer pageNo, Integer pageSize) {
|
||||||
Page<OtaManageApplyEO> page = new Page<OtaManageApplyEO>(pageNo, pageSize);
|
List<OtaManageApplyEO> otaManageApplyEOList = otaManageApplyEOMapper.getOtaList(otaManageApplyEO);
|
||||||
return otaManageApplyEOMapper.getOtaPage(page, otaManageApplyEO);
|
if(!otaManageApplyEOList.isEmpty()){
|
||||||
|
List<String> otaNameList = OtaCarEnum.getOtaNameList();
|
||||||
|
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
|
||||||
|
List<String> plannedBpLaunchBatchList = otaManageApplyEOList.stream()
|
||||||
|
.filter(e -> StringUtils.isNotBlank(e.getPlannedBpLaunchBatch()))
|
||||||
|
.map(OtaManageApplyEO::getPlannedBpLaunchBatch).distinct().collect(Collectors.toList());
|
||||||
|
if(!plannedBpLaunchBatchList.isEmpty()){
|
||||||
|
List<OtaManageReceiveNsdpEO> manageReceiveNsdpEOList = otaManageApplyEOMapper.getReleaseDate(plannedBpLaunchBatchList);
|
||||||
|
for (OtaManageApplyEO manageApplyEO : otaManageApplyEOList) {
|
||||||
|
List<OtaManageReceiveNsdpEO> collect = manageReceiveNsdpEOList.stream()
|
||||||
|
.filter(e -> StringUtils.isNotBlank(e.getReleaseName())
|
||||||
|
&& e.getReleaseName().equals(manageApplyEO.getPlannedBpLaunchBatch())).collect(Collectors.toList());
|
||||||
|
if(!collect.isEmpty()){
|
||||||
|
List<String> releaseDateList = collect.stream().map(OtaManageReceiveNsdpEO::getReleaseDate).distinct().collect(Collectors.toList());
|
||||||
|
List<Integer> list = new ArrayList<>();
|
||||||
|
for (String s : releaseDateList) {
|
||||||
|
list.add(Integer.parseInt(s.replaceAll("-","")));
|
||||||
|
}
|
||||||
|
Integer max = Collections.max(list);
|
||||||
|
try {
|
||||||
|
//发布时间
|
||||||
|
manageApplyEO.setReleaseName(sdf.format(dateFormat.parse(max.toString())));
|
||||||
|
manageApplyEO.setReleaseNameDate(dateFormat.parse(max.toString()));
|
||||||
|
} catch (ParseException e) {
|
||||||
|
log.error(e.getMessage(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//市场
|
||||||
|
String appliedVehicleProject = manageApplyEO.getAppliedVehicleProject();
|
||||||
|
if(StringUtils.isNotBlank(appliedVehicleProject)){
|
||||||
|
Set<String> marketSet = new HashSet<>();
|
||||||
|
for (String s : appliedVehicleProject.split(",")) {
|
||||||
|
String[] split = s.split(" ");
|
||||||
|
if(split.length == 2){
|
||||||
|
if (!otaNameList.contains(s)) {
|
||||||
|
marketSet.add(split[1]);
|
||||||
|
}
|
||||||
|
}else if(split.length == 3){
|
||||||
|
if (!otaNameList.contains(s)) {
|
||||||
|
marketSet.add(split[2]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!marketSet.isEmpty()){
|
||||||
|
manageApplyEO.setMarket(StringUtils.join(marketSet, ","));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(ObjectUtils.isNotEmpty(otaManageApplyEO.getSoftwareIssueTimeStart())){
|
||||||
|
otaManageApplyEOList = otaManageApplyEOList.stream()
|
||||||
|
.filter(e->StringUtils.isNotBlank(e.getReleaseName())
|
||||||
|
&& (e.getReleaseNameDate().after(otaManageApplyEO.getSoftwareIssueTimeStart())
|
||||||
|
|| e.getReleaseNameDate().equals(otaManageApplyEO.getSoftwareIssueTimeStart()))).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
if(ObjectUtils.isNotEmpty(otaManageApplyEO.getSoftwareIssueTimeEnd())){
|
||||||
|
otaManageApplyEOList = otaManageApplyEOList.stream().filter(e-> StringUtils.isNotBlank(e.getReleaseName())
|
||||||
|
&& (e.getReleaseNameDate().before(otaManageApplyEO.getSoftwareIssueTimeEnd())
|
||||||
|
|| e.getReleaseNameDate().equals(otaManageApplyEO.getSoftwareIssueTimeEnd()))).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
Page pages = PageUtil.getPages(pageNo, pageSize, otaManageApplyEOList);
|
||||||
|
return pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user