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 386bea44e..1d5a7c11e 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 @@ -1093,6 +1093,17 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl queryProjectName(List list) { + Map res = new HashMap<>(); + List idList = list.stream() + .filter(e -> StringUtils.isNotBlank(e.getProjectVersion())) + .map(OtaManageApplyEO::getProjectVersion).distinct().collect(Collectors.toList()); + List proList = projectLibraryBaseService.queryList(idList); + for (ProjectLibraryBase plb : proList) { + res.put(plb.getId(), plb.getShowName()); + } + return res; + } @Override public void temporarySave(List list, String cut) { @@ -1104,6 +1115,10 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl omaOldList = this.getBaseMapper().selectBatchIds(idList); + List queryProNameList = new ArrayList<>(); + queryProNameList.addAll(omaOldList); + queryProNameList.addAll(list); + Map proNameMap = queryProjectName(queryProNameList); //历史记录 List hisList = new ArrayList<>(); List saveList = new ArrayList<>(); @@ -1127,7 +1142,7 @@ public class OtaManageApplyEOServiceImpl extends ServiceImpl updateVdrBatch(List list, String projectVersion, String attestationSchedule, String remark, String cut) { ProjectLibraryBase plb = projectLibraryBaseService.selectById(projectVersion); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //历史记录 - List hisList = new ArrayList<>(); List msgList = new ArrayList<>(); + List changeList = new ArrayList<>(); + boolean isStudio = isStudio(); + boolean isOtaManager = isOtaManager(); for (OtaManageApplyEO oma : list) { - StringBuilder conOtaCn = new StringBuilder(); - StringBuilder conOtaEn = new StringBuilder(); - conOtaCn.append(user.getUsername() + " 批量编辑了 VDR: ").append(oma.getVdr()); - conOtaEn.append(user.getUsername() + " edited VDR: ").append(oma.getVdr()); boolean isChanged = false; - if (isStudio() && (StringUtils.isEmpty(oma.getMatchStatus()) || oma.getMatchStatus().equals(OtaStatusEnum.TO_BE_MATCHED.getKey()))) { - if (StringUtils.isNotEmpty(projectVersion)) { - isChanged = true; - oma.setProjectVersion(projectVersion); - conOtaCn.append(" 修改了 ").append("项目版本 ").append(" 改为 ").append(plb.getShowName()); - conOtaEn.append(" modified ").append("Project Version change to ").append(plb.getShowName()); - } - if (StringUtils.isNotEmpty(attestationSchedule)) { - isChanged = true; - oma.setAttestationSchedule(attestationSchedule); - conOtaCn.append(" 修改了 ").append("认证进度 ").append(" 改为 ").append(CertificationProgressEnum.getByValue(attestationSchedule).getName()); - conOtaEn.append(" modified ").append("Homologation Progress change to ").append(CertificationProgressEnum.getByValue(attestationSchedule).getValue()); + if (StringUtils.isNotEmpty(projectVersion)) { + if (isStudio) { + if (StringUtils.isEmpty(oma.getMatchStatus()) + || oma.getMatchStatus().equals(OtaStatusEnum.TO_BE_MATCHED.getKey()) + || oma.getMatchStatus().equals(OtaStatusEnum.REJECTED.getKey())) { + isChanged = true; + oma.setProjectVersion(projectVersion); + } else { + if (CutEnum.CN.getValue().equals(cut)) { + msgList.add("VDR:" + oma.getVdr() + " 状态必须为" + OtaStatusEnum.TO_BE_MATCHED.getNameCN() + " 或 " + OtaStatusEnum.REJECTED.getNameCN() + "!"); + } else { + msgList.add("VDR:" + oma.getVdr() + " The state must be" + OtaStatusEnum.TO_BE_MATCHED.getNameEN() + " or " + OtaStatusEnum.REJECTED.getNameEN() + "!"); + } + } + } else { + if (CutEnum.CN.getValue().equals(cut)) { + msgList.add("VDR:" + oma.getVdr() + " 只有Studio角色可以编辑项目版本!"); + } else { + msgList.add("VDR:" + oma.getVdr() + " Only Studio roles can edit Project Version!"); + } } } - if (isStudio() || isOtaManager()) { - if (StringUtils.isNotEmpty(remark)) { - isChanged = true; - oma.setRemark(remark); - conOtaCn.append(" 修改了 ").append("备注 ").append(" 改为 ").append(remark); - conOtaEn.append(" modified ").append("Remark change to ").append(remark); + if (StringUtils.isNotEmpty(attestationSchedule)) { + if (isStudio) { + if (StringUtils.isEmpty(oma.getMatchStatus()) + || oma.getMatchStatus().equals(OtaStatusEnum.TO_BE_MATCHED.getKey()) + || oma.getMatchStatus().equals(OtaStatusEnum.REJECTED.getKey())) { + isChanged = true; + oma.setAttestationSchedule(attestationSchedule); + } else { + if (CutEnum.CN.getValue().equals(cut)) { + msgList.add("VDR:" + oma.getVdr() + " 状态必须为" + OtaStatusEnum.TO_BE_MATCHED.getNameCN() + " 或 " + OtaStatusEnum.REJECTED.getNameCN() + "!"); + } else { + msgList.add("VDR:" + oma.getVdr() + " The state must be" + OtaStatusEnum.TO_BE_MATCHED.getNameEN() + " or " + OtaStatusEnum.REJECTED.getNameEN() + "!"); + } + } + } else { + if (CutEnum.CN.getValue().equals(cut)) { + msgList.add("VDR:" + oma.getVdr() + " 只有Studio角色可以编辑认证进度!"); + } else { + msgList.add("VDR:" + oma.getVdr() + " Only Studio roles can edit Homologation Progress!"); + } } } + if (StringUtils.isNotEmpty(remark) && !remark.equals("--")) { + isChanged = true; + oma.setRemark(remark); + } if (isChanged) { - OtaManageHistory his = new OtaManageHistory(); - his.setApplyId(oma.getId()); - his.setContentCn(conOtaCn.toString()); - his.setContentEn(conOtaEn.toString()); - hisList.add(his); + changeList.add(oma); } } - this.saveOrUpdateBatch(list); - otaManageHistoryService.saveBatch(hisList); + if (CollectionUtils.isNotEmpty(changeList)) { + this.temporarySave(changeList, cut); + } return msgList; }