修改项目库版本号重复后排序

This commit is contained in:
高嵩
2023-03-22 09:18:19 +08:00
parent 810eaf8173
commit a34d0f908e
2 changed files with 34 additions and 2 deletions
@@ -9719,7 +9719,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String dueDate = null;
QueryWrapper<ProjectTaskInventoryEO> queryProjectTaskInventoryWrapper = new QueryWrapper<>();
queryProjectTaskInventoryWrapper.isNotNull("design_p_id");
queryProjectTaskInventoryWrapper.isNotNull("design_p_id").or().isNotNull("verify_p_id");
queryProjectTaskInventoryWrapper.lambda().eq(ProjectTaskInventoryEO::getProjectLawsInventoryId, projectLawsInventoryId);
List<ProjectTaskInventoryEO> list = projectTaskInventoryEOService.list(queryProjectTaskInventoryWrapper);
@@ -221,6 +221,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
}
/**
* 项目扩展(添加子项目--子项目基本信息、相关人员名单、法规/认证任务计划与被扩展项目保持一致)
* @param projectLibraryBase
@@ -239,8 +241,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
projectLibraryBaseTemp.setExplanation(projectLibraryBase.getExplanation());
this.save(projectLibraryBaseTemp);
Date now = new Date();
//处理版本号排序问题,如果版本号插入到中间,后面版本数字顺眼
checkVersionOrder(id,projectLibraryBase.getProjectVersion(),projectId);
Date now = new Date();
//相关人员名单中添加数据
List<ProjectRelatedPersonnel> projectRelatedPersonnelList = projectRelatedPersonnelMapper.queryPageList(id,
DictCodeEnum.DUTY_TERRITORY.getValue(),
@@ -339,6 +343,33 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
}
}
/**
* 如果创建的子项目版本号重复,处理排序
* @param id
* @param version
* @param projectId
*/
private void checkVersionOrder(String id,String version,String projectId) {
LambdaQueryWrapper<ProjectLibraryBase> wrapperVer = new LambdaQueryWrapper<>();
//查找其他统计子版本项目
wrapperVer.eq(ProjectLibraryBase::getParentId, id);
wrapperVer.orderByAsc(ProjectLibraryBase::getProjectVersion);
List<ProjectLibraryBase> clist = this.list(wrapperVer);
int tmpInt = Integer.parseInt(version);
for (ProjectLibraryBase plb : clist) {
int ver = Integer.parseInt(plb.getProjectVersion());
if(!plb.getId().equals(projectId) && ver == tmpInt){
tmpInt++;
String verStr = String.valueOf(tmpInt);
if(verStr.length() <= 1){
verStr= "0" + verStr;
}
plb.setProjectVersion(verStr);
this.updateById(plb);
}
}
}
/**检查车型名称id,年款号,目标市场,版本同时存在,报错*/
public void checkExitData(ProjectLibraryBase projectLibraryBase){
@@ -379,6 +410,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
checkExitData(projectLibraryBase);
saveOrUpdate(projectLibraryBase);
checkVersionOrder(projectLibraryBase.getParentId(),projectLibraryBase.getProjectVersion(),projectLibraryBase.getId());
// 删除当前项目的studio与项目库 角色关系
QueryWrapper<ProjectLibraryRoleRelEO> deleteLibraryRoleRelWrapper = new QueryWrapper<>();