Ota状态统计
This commit is contained in:
+4
-4
@@ -1,13 +1,11 @@
|
|||||||
package com.jero.modules.ota.mapper;
|
package com.jero.modules.ota.mapper;
|
||||||
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.jero.modules.ota.entity.OtaManageApplyEO;
|
||||||
import com.jero.modules.ota.entity.OtaManageReceiveNsdpEO;
|
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.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import org.pptx4j.pml.STTLTriggerRuntimeNode;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -29,6 +27,8 @@ public interface OtaManageApplyEOMapper extends BaseMapper<OtaManageApplyEO> {
|
|||||||
*/
|
*/
|
||||||
List<OtaManageApplyEO> getOtaCarPage(@Param("otaManageApplyEO") OtaManageApplyEO otaManageApplyEO);
|
List<OtaManageApplyEO> getOtaCarPage(@Param("otaManageApplyEO") OtaManageApplyEO otaManageApplyEO);
|
||||||
|
|
||||||
|
List<OtaManageApplyEO> getOtaCarInfoList(@Param("otaManageApplyEO") OtaManageApplyEO otaManageApplyEO);
|
||||||
|
|
||||||
List<VersionVO> getByAppliedVehicleProject(@Param("appliedVehicleProject") String appliedVehicleProject);
|
List<VersionVO> getByAppliedVehicleProject(@Param("appliedVehicleProject") String appliedVehicleProject);
|
||||||
|
|
||||||
List<OtaManageApplyEO> getOtaCarList(@Param("plannedBpLaunchBatch") String plannedBpLaunchBatch);
|
List<OtaManageApplyEO> getOtaCarList(@Param("plannedBpLaunchBatch") String plannedBpLaunchBatch);
|
||||||
|
|||||||
+35
@@ -101,6 +101,41 @@
|
|||||||
</where>
|
</where>
|
||||||
order by omr.id desc
|
order by omr.id desc
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getOtaCarInfoList" resultType="com.jero.modules.ota.entity.OtaManageApplyEO">
|
||||||
|
select omr.vdr_id,omr.id as vdr,omr.planned_bp_launch_batch,omr.update_date,
|
||||||
|
omr.summary,omr.status,
|
||||||
|
omr.homologation_impact,omr.homologation,
|
||||||
|
omr.impact_cn_homo,omr.impact_eu_homo,
|
||||||
|
omr.master_domain,omr.applied_vehicle_project,omr.vehicle_match,omr.is_del,
|
||||||
|
oma.id,oma.project_version,oma.attestation_schedule,oma.match_status,oma.remark,oma.vehicle_type
|
||||||
|
from ota_manage_receive omr
|
||||||
|
left join ota_manage_apply oma on oma.vdr_id = omr.vdr_id
|
||||||
|
<where>
|
||||||
|
1=1
|
||||||
|
<if test="otaManageApplyEO.plannedBpLaunchBatch != null and otaManageApplyEO.plannedBpLaunchBatch != ''">
|
||||||
|
and omr.planned_bp_launch_batch =#{otaManageApplyEO.plannedBpLaunchBatch}
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="otaManageApplyEO.vdr != null and otaManageApplyEO.vdr != ''">
|
||||||
|
and omr.id LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.vdr}),'%')
|
||||||
|
</if>
|
||||||
|
<if test="otaManageApplyEO.summary != null and otaManageApplyEO.summary != ''">
|
||||||
|
and omr.summary LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.summary}),'%')
|
||||||
|
</if>
|
||||||
|
<if test="otaManageApplyEO.impactHomo != null and otaManageApplyEO.impactHomo != ''">
|
||||||
|
and (omr.impact_cn_homo LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.impactHomo}),'%')
|
||||||
|
and omr.impact_eu_homo LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.impactHomo}),'%'))
|
||||||
|
</if>
|
||||||
|
<if test="otaManageApplyEO.homologationImpact != null and otaManageApplyEO.homologationImpact != ''">
|
||||||
|
and omr.homologation_impact LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.homologationImpact}),'%')
|
||||||
|
</if>
|
||||||
|
<if test="otaManageApplyEO.homologation != null and otaManageApplyEO.homologation != ''">
|
||||||
|
and omr.homologation LIKE CONCAT(CONCAT('%',#{otaManageApplyEO.homologation}),'%')
|
||||||
|
</if>
|
||||||
|
and omr.is_del is null
|
||||||
|
</where>
|
||||||
|
order by omr.id desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="getByAppliedVehicleProject" resultType="com.jero.modules.ota.vo.VersionVO">
|
<select id="getByAppliedVehicleProject" resultType="com.jero.modules.ota.vo.VersionVO">
|
||||||
|
|||||||
+184
-28
@@ -792,29 +792,191 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl<OtaManageApplyEOMap
|
|||||||
if (StringUtils.isNotBlank(appliedVehicleProject)) {
|
if (StringUtils.isNotBlank(appliedVehicleProject)) {
|
||||||
String[] appliedVehicleProjectArr = appliedVehicleProject.split(",");
|
String[] appliedVehicleProjectArr = appliedVehicleProject.split(",");
|
||||||
for (String appliedVehicleProjectTemp : appliedVehicleProjectArr) {
|
for (String appliedVehicleProjectTemp : appliedVehicleProjectArr) {
|
||||||
for (String s : carMarket.split(",")) {
|
if(carMarket.contains(appliedVehicleProjectTemp)){
|
||||||
if(s.equals(appliedVehicleProjectTemp)){
|
omaMap.put(manageApplyEO.getVdr(), manageApplyEO);
|
||||||
omaMap.put(manageApplyEO.getVdr(), manageApplyEO);
|
break;
|
||||||
break;
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<SysDictItem> regionDictList = sysDictItemServiceImpl.selectItemsByDictCode(DicCodeEnum.CERTIFICATION_PROGRESS.getCode());
|
||||||
|
list = new ArrayList<>(omaMap.values());
|
||||||
|
if (!list.isEmpty()) {
|
||||||
|
List<VersionVO> vprojectVersionList = getProjectVersionList(otaManageApplyEO.getAppliedVehicleProject(), null);
|
||||||
|
//项目版本id
|
||||||
|
List<String> projectVersionList = list.stream()
|
||||||
|
.map(OtaManageApplyEO::getProjectVersion).distinct().collect(Collectors.toList());
|
||||||
|
//studio
|
||||||
|
List<ProjectLibraryBase> projectList = projectLibraryBaseService.queryList(projectVersionList);
|
||||||
|
List<String> studioEngineerUserIdList = projectList.stream().map(ProjectLibraryBase::getStudioEngineer).distinct().collect(Collectors.toList());
|
||||||
|
List<SysUser> studioEngineerUserInfo = this.sysUserService.querySysUserListByIdList(studioEngineerUserIdList);
|
||||||
|
|
||||||
|
String allStudioName = "";
|
||||||
|
List<String> allStudioIdList = vprojectVersionList.stream()
|
||||||
|
.map(VersionVO::getStudio).distinct().collect(Collectors.toList());
|
||||||
|
if(CollectionUtils.isNotEmpty(allStudioIdList)){
|
||||||
|
List<SysUser> allStudioList = this.sysUserService.querySysUserListByIdList(allStudioIdList);
|
||||||
|
List<String> allStudioNameList = allStudioList.stream()
|
||||||
|
.map(SysUser::getUsername).distinct().collect(Collectors.toList());
|
||||||
|
allStudioName = StringUtils.listToString(allStudioNameList);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ProjectTaskPlanning> projectTaskPlanningList = projectTaskPlanningService.queryList(StringUtils.join(projectVersionList, ","));
|
||||||
|
boolean isDisabled = isDisabled();
|
||||||
|
for (OtaManageApplyEO manageApplyEO : list) {
|
||||||
|
if (StringUtils.isBlank(manageApplyEO.getVehicleType())) {
|
||||||
|
manageApplyEO.setVehicleType(otaManageApplyEO.getAppliedVehicleProject());
|
||||||
|
manageApplyEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
manageApplyEO.setProjectVersion(null);
|
||||||
|
manageApplyEO.setAttestationSchedule(null);
|
||||||
|
manageApplyEO.setMatchStatus(null);
|
||||||
|
manageApplyEO.setRemark("--");
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(manageApplyEO.getProjectVersion())) {
|
||||||
|
List<ProjectTaskPlanning> taskPlanningList = projectTaskPlanningList.stream()
|
||||||
|
.filter(e -> manageApplyEO.getProjectVersion().equals(e.getProjectId())).collect(Collectors.toList());
|
||||||
|
//设置认证开始,认证批准,认证申报
|
||||||
|
if (!taskPlanningList.isEmpty()) {
|
||||||
|
Date attestationStartTime = taskPlanningList.get(0).getAttestationStartTime();//认证开始
|
||||||
|
Date attestationEndTime = taskPlanningList.get(0).getAttestationEndTime();//认证批准
|
||||||
|
Date certificationSubmission = taskPlanningList.get(0).getCertificationSubmission();//认证申报
|
||||||
|
manageApplyEO.setAttestationStartTime(attestationStartTime);
|
||||||
|
manageApplyEO.setAttestationEndTime(attestationEndTime);
|
||||||
|
manageApplyEO.setCertificationSubmission(certificationSubmission);
|
||||||
|
}
|
||||||
|
//设置studio
|
||||||
|
boolean havePro = false;
|
||||||
|
for (ProjectLibraryBase pro : projectList) {
|
||||||
|
if (pro.getId().equals(manageApplyEO.getProjectVersion())) {
|
||||||
|
manageApplyEO.setStudio(pro.getStudioEngineer());
|
||||||
|
havePro = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!havePro && !ComplianceFlowStatusEnum.UNINVOLVED.getValue().equals(manageApplyEO.getProjectVersion())) {
|
||||||
|
//找不到项目的话
|
||||||
|
manageApplyEO.setProjectVersion(null);
|
||||||
|
manageApplyEO.setStudio(null);
|
||||||
|
manageApplyEO.setAttestationEndTime(null);
|
||||||
|
manageApplyEO.setAttestationStartTime(null);
|
||||||
|
manageApplyEO.setCertificationSubmission(null);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(manageApplyEO.getStudio())) {
|
||||||
|
if (CollectionUtils.isNotEmpty(studioEngineerUserInfo)) {
|
||||||
|
String studioEngineerUserName = studioEngineerUserInfo.stream().filter(studioEngineerUser -> {
|
||||||
|
boolean flag = false;
|
||||||
|
if (StringUtils.equals(manageApplyEO.getStudio(), studioEngineerUser.getId())) {
|
||||||
|
flag = true;
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}).map(SysUser::getUsername).collect(Collectors.joining(","));
|
||||||
|
manageApplyEO.setStudioText(studioEngineerUserName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//项目版本
|
||||||
|
List<VersionVO> collect = vprojectVersionList.stream().filter(e -> e.getProjectId().equals(manageApplyEO.getProjectVersion())).distinct().collect(Collectors.toList());
|
||||||
|
if (!collect.isEmpty()) {
|
||||||
|
if("NA".equals(collect.get(0).getProjectId())){
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
manageApplyEO.setProjectVersionText("不涉及");
|
||||||
|
} else {
|
||||||
|
manageApplyEO.setProjectVersionText("NA");
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
manageApplyEO.setProjectVersionText(collect.get(0).getCar() + "-" + collect.get(0).getYearName() + "-" + collect.get(0).getMarket()+"-"+collect.get(0).getVersionNumber() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//没有设置项目版本的情况
|
||||||
|
manageApplyEO.setStudioText(allStudioName);
|
||||||
|
}
|
||||||
|
|
||||||
|
manageApplyEO.setDisabled(isDisabled || OtaStatusEnum.LOCKED.getKey().equals(manageApplyEO.getMatchStatus()));
|
||||||
|
if (StringUtils.isBlank(manageApplyEO.getRemark())) {
|
||||||
|
manageApplyEO.setRemark("--");
|
||||||
|
}
|
||||||
|
if (OtaHomoImpactEnum.YES.getValue().equals(manageApplyEO.getHomologationImpact())
|
||||||
|
|| OtaHomoImpactEnum.INTER_VALID.getValue().equals(manageApplyEO.getHomologationImpact())) {
|
||||||
|
manageApplyEO.setMatchStatus(OtaStatusEnum.NA.getKey());
|
||||||
|
manageApplyEO.setDisabled(true);
|
||||||
|
}
|
||||||
|
if(isRegulationOwner && !isStudio){
|
||||||
|
manageApplyEO.setDisabled(true);
|
||||||
|
}
|
||||||
|
if ((StringUtils.isNotBlank(manageApplyEO.getIsDel()) && manageApplyEO.getIsDel().equals("1"))
|
||||||
|
|| (StringUtils.isNotBlank(manageApplyEO.getStatus()) && manageApplyEO.getStatus().equals("Discard"))) {
|
||||||
|
manageApplyEO.setDiscard(true);
|
||||||
|
manageApplyEO.setDisabled(true);
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(manageApplyEO.getAttestationSchedule())) {
|
||||||
|
List<SysDictItem> collect = regionDictList.stream()
|
||||||
|
.filter(e -> e.getItemValue().equals(manageApplyEO.getAttestationSchedule())).collect(Collectors.toList());
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
manageApplyEO.setAttestationScheduleText(collect.get(0).getItemText());
|
||||||
|
} else {
|
||||||
|
manageApplyEO.setAttestationScheduleText(collect.get(0).getEnName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(manageApplyEO.getMatchStatus())) {
|
||||||
|
manageApplyEO.setMatchStatus(OtaStatusEnum.TO_BE_MATCHED.getKey());
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
manageApplyEO.setMatchStatusText(OtaStatusEnum.TO_BE_MATCHED.getNameCN());
|
||||||
|
} else {
|
||||||
|
manageApplyEO.setMatchStatusText(OtaStatusEnum.TO_BE_MATCHED.getNameEN());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
OtaStatusEnum osEnum = OtaStatusEnum.getByKey(manageApplyEO.getMatchStatus());
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
manageApplyEO.setMatchStatusText(osEnum.getNameCN());
|
||||||
|
} else {
|
||||||
|
manageApplyEO.setMatchStatusText(osEnum.getNameEN());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!list.isEmpty()) {
|
||||||
|
//表头排序
|
||||||
|
heartSort(otaManageApplyEO, list);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
public List<OtaManageApplyEO> getOtaCarInfoList(OtaManageApplyEO otaManageApplyEO, String cut) {
|
||||||
|
if(!hasPermission(otaManageApplyEO.getPlannedBpLaunchBatch())){
|
||||||
|
return new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean isStudio = isStudio();
|
||||||
|
boolean isRegulationOwner = isRegulationOwner();
|
||||||
|
List<OtaManageApplyEO> otaManageApplyEOList = this.getBaseMapper().getOtaCarPage(otaManageApplyEO);
|
||||||
|
List<OtaManageApplyEO> list = new ArrayList<>();
|
||||||
|
Map<String, OtaManageApplyEO> omaMap = new HashMap<>();
|
||||||
|
String carMarket = otaManageApplyEO.getAppliedVehicleProject();
|
||||||
|
if (StringUtils.isNotBlank(carMarket) && !"全部".equals(carMarket) && !"All".equals(carMarket) && !otaManageApplyEOList.isEmpty()) {
|
||||||
|
String[] conditionSplit = carMarket.split(" ");
|
||||||
|
for (OtaManageApplyEO manageApplyEO : otaManageApplyEOList) {
|
||||||
|
if (omaMap.containsKey(manageApplyEO.getVdr())
|
||||||
|
&& StringUtils.isNotEmpty(omaMap.get(manageApplyEO.getVdr()).getVehicleType())
|
||||||
|
&& omaMap.get(manageApplyEO.getVdr()).getVehicleType().equals(otaManageApplyEO.getAppliedVehicleProject())) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
if (!otaManageApplyEO.getAppliedVehicleProject().equals(manageApplyEO.getVehicleType())) {
|
||||||
|
manageApplyEO.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||||
|
manageApplyEO.setProjectVersion(null);
|
||||||
|
manageApplyEO.setAttestationSchedule(null);
|
||||||
|
manageApplyEO.setMatchStatus(null);
|
||||||
|
manageApplyEO.setRemark("--");
|
||||||
|
manageApplyEO.setVehicleType("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String appliedVehicleProject = manageApplyEO.getVehicleMatch();
|
||||||
|
if (StringUtils.isNotBlank(appliedVehicleProject)) {
|
||||||
|
String[] appliedVehicleProjectArr = appliedVehicleProject.split(",");
|
||||||
|
for (String appliedVehicleProjectTemp : appliedVehicleProjectArr) {
|
||||||
|
if(carMarket.contains(appliedVehicleProjectTemp)){
|
||||||
|
omaMap.put(manageApplyEO.getVdr(), manageApplyEO);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
// String[] split = appliedVehicleProjectTemp.split(" ");
|
|
||||||
// if (split.length == 1) {
|
|
||||||
// omaMap.put(manageApplyEO.getVdr(), manageApplyEO);
|
|
||||||
// break;
|
|
||||||
// } else if (split.length == 2) {
|
|
||||||
// if (Arrays.equals(conditionSplit, split)) {
|
|
||||||
// omaMap.put(manageApplyEO.getVdr(), manageApplyEO);
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// } else if (split.length == 3) {
|
|
||||||
// List<String> listTemp = Arrays.asList(split);
|
|
||||||
// List<String> conditionList = Arrays.asList(conditionSplit);
|
|
||||||
// if (listTemp.containsAll(conditionList)) {
|
|
||||||
// omaMap.put(manageApplyEO.getVdr(), manageApplyEO);
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2101,13 +2263,7 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl<OtaManageApplyEOMap
|
|||||||
OtaManageApplyEO otaManageApplyEO = new OtaManageApplyEO();
|
OtaManageApplyEO otaManageApplyEO = new OtaManageApplyEO();
|
||||||
otaManageApplyEO.setPlannedBpLaunchBatch(plannedBpLaunchBatch);
|
otaManageApplyEO.setPlannedBpLaunchBatch(plannedBpLaunchBatch);
|
||||||
otaManageApplyEO.setAppliedVehicleProject(appliedVehicleProject);
|
otaManageApplyEO.setAppliedVehicleProject(appliedVehicleProject);
|
||||||
List<OtaManageApplyEO> receiveList = getOtaCarPage(otaManageApplyEO,cut);
|
List<OtaManageApplyEO> receiveList = getOtaCarInfoList(otaManageApplyEO,cut);
|
||||||
|
|
||||||
// List<OtaManageApplyEO> receiveList = this.getBaseMapper().getListByProjectId(null, plannedBpLaunchBatch);
|
|
||||||
// receiveList = receiveList.stream()
|
|
||||||
// .filter(e -> (StringUtils.isNotBlank(e.getProjectVersion()) && projectId.equals(e.getProjectVersion()))
|
|
||||||
// || (StringUtils.isBlank(e.getProjectVersion()) && "to_be_matched".equals(e.getMatchStatus())))
|
|
||||||
// .collect(Collectors.toList());
|
|
||||||
|
|
||||||
if (!receiveList.isEmpty()) {
|
if (!receiveList.isEmpty()) {
|
||||||
List<String> plannedBpLaunchBatchList = receiveList.stream()
|
List<String> plannedBpLaunchBatchList = receiveList.stream()
|
||||||
|
|||||||
+2
-1
@@ -3993,6 +3993,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
|||||||
}
|
}
|
||||||
private void exportOtaCollecting(HSSFWorkbook workbook, Map<String, Object> params) {
|
private void exportOtaCollecting(HSSFWorkbook workbook, Map<String, Object> params) {
|
||||||
String cut = (String) params.get("cut");
|
String cut = (String) params.get("cut");
|
||||||
|
String appliedVehicleProject = (String) params.get("appliedVehicleProject");
|
||||||
String sheetName = "OTA状态";
|
String sheetName = "OTA状态";
|
||||||
String firstTitle = "匹配状态统计,OTA认证进度统计";
|
String firstTitle = "匹配状态统计,OTA认证进度统计";
|
||||||
String secondTitle = "软件版本,待匹配,待审批,锁定,退回,未开始,进行中,实验通过,实验失败,部件报告未提交,部件报告已提交,部件报告已入库";
|
String secondTitle = "软件版本,待匹配,待审批,锁定,退回,未开始,进行中,实验通过,实验失败,部件报告未提交,部件报告已提交,部件报告已入库";
|
||||||
@@ -4040,7 +4041,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
|
|||||||
}
|
}
|
||||||
|
|
||||||
String projectLibraryId = (String) params.get("projectLibraryId");
|
String projectLibraryId = (String) params.get("projectLibraryId");
|
||||||
List<Map<String, Object>> mapList = otaManageApplyEOService.getStatisticalStatus(projectLibraryId, null, cut,null,null);
|
List<Map<String, Object>> mapList = otaManageApplyEOService.getStatisticalStatus(projectLibraryId, null, cut,null,appliedVehicleProject);
|
||||||
|
|
||||||
if(ObjectUtils.isNotEmpty(mapList)){
|
if(ObjectUtils.isNotEmpty(mapList)){
|
||||||
int dataIndex = 2;
|
int dataIndex = 2;
|
||||||
|
|||||||
Reference in New Issue
Block a user