fix(项目管理产品需求重构): 完善产品需求规格逻辑
需求规格变更时需校验附件置空的情况 Signed-off-by: OTTO <731554297@qq.com>
This commit is contained in:
parent
dbd21d9aa8
commit
9e236c206d
|
|
@ -12,6 +12,7 @@ import lombok.Data;
|
|||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 产品需求对象 pms_product_requirement
|
||||
|
|
@ -55,7 +56,7 @@ public class ProductReqSpecsChangeVo {
|
|||
if (StringUtils.isNotEmpty(this.getTitle()) && !this.title.equals(oldPmsProductRequirement.getTitle())) {
|
||||
return true;
|
||||
}
|
||||
return this.getFileIdentifiers() != null && !this.getFileIdentifiers().equals(oldPmsProductRequirement.getFileIdentifiers());
|
||||
return !Objects.equals(this.getFileIdentifiers(), oldPmsProductRequirement.getFileIdentifiers());
|
||||
}
|
||||
|
||||
public PmsProductRequirement toPmsProductRequirement() {
|
||||
|
|
|
|||
|
|
@ -47,12 +47,11 @@ import static com.microservices.common.httpClient.constant.GitLinkConstants.DATA
|
|||
|
||||
/**
|
||||
* 项目Service业务层处理
|
||||
*
|
||||
*
|
||||
* @author wanjia
|
||||
*/
|
||||
@Service
|
||||
public class PmsProjectServiceImpl implements IPmsProjectService
|
||||
{
|
||||
public class PmsProjectServiceImpl implements IPmsProjectService {
|
||||
@Resource
|
||||
private PmsProjectMapper pmsProjectMapper;
|
||||
|
||||
|
|
@ -105,11 +104,10 @@ public class PmsProjectServiceImpl implements IPmsProjectService
|
|||
* @return 项目
|
||||
*/
|
||||
@Override
|
||||
public PmsProjectDetailVo selectPmsProjectById(Long id)
|
||||
{
|
||||
public PmsProjectDetailVo selectPmsProjectById(Long id) {
|
||||
PmsProject pmsProject = selectAndCheckPmsProjectById(id);
|
||||
PmsProjectDetailVo pmsProjectDetailVo = new PmsProjectDetailVo();
|
||||
BeanUtils.copyProperties(pmsProject,pmsProjectDetailVo);
|
||||
BeanUtils.copyProperties(pmsProject, pmsProjectDetailVo);
|
||||
pmsProjectDetailVo.setProjectMemberCount(pmsProjectMembersMapper.countMemberByProjectId(pmsProject.getId()));
|
||||
pmsProjectDetailVo.setProjectRepositoryCount(pmsProjectRepositoryMapper.countRepositoryByProjectId(pmsProject.getId()));
|
||||
pmsProjectDetailVo.setProjectAssignee(pmsCommonService.getSimpleSysUserByGitlinkUserId(pmsProject.getProjectAssigneeId()));
|
||||
|
|
@ -123,13 +121,12 @@ public class PmsProjectServiceImpl implements IPmsProjectService
|
|||
|
||||
/**
|
||||
* 查询项目列表
|
||||
*
|
||||
*
|
||||
* @param pmsProject 项目
|
||||
* @return 项目
|
||||
*/
|
||||
@Override
|
||||
public List<PmsProject> selectPmsProjectList(PmsProject pmsProject)
|
||||
{
|
||||
public List<PmsProject> selectPmsProjectList(PmsProject pmsProject) {
|
||||
return pmsProjectMapper.selectPmsProjectList(pmsProject);
|
||||
}
|
||||
|
||||
|
|
@ -190,14 +187,13 @@ public class PmsProjectServiceImpl implements IPmsProjectService
|
|||
|
||||
/**
|
||||
* 新增项目
|
||||
*
|
||||
*
|
||||
* @param pmsProjectInputVo 项目
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int insertPmsProject(PmsProjectInputVo pmsProjectInputVo)
|
||||
{
|
||||
public int insertPmsProject(PmsProjectInputVo pmsProjectInputVo) {
|
||||
PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseById(pmsProjectInputVo.getPmsEnterpriseId());
|
||||
PmsUtils.validStartTimeAndEndTime(pmsProjectInputVo.getStartTime(), pmsProjectInputVo.getEndTime());
|
||||
if (pmsProjectInputVo.getPmsProductId() != null) {
|
||||
|
|
@ -250,14 +246,13 @@ public class PmsProjectServiceImpl implements IPmsProjectService
|
|||
|
||||
/**
|
||||
* 批量删除项目
|
||||
*
|
||||
*
|
||||
* @param ids 需要删除的项目主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deletePmsProjectByIds(Long[] ids)
|
||||
{
|
||||
public boolean deletePmsProjectByIds(Long[] ids) {
|
||||
for (Long projectId : ids) {
|
||||
selectAndCheckPmsProjectById(projectId);
|
||||
// 删除项目关联仓库
|
||||
|
|
@ -294,19 +289,18 @@ public class PmsProjectServiceImpl implements IPmsProjectService
|
|||
//同步更新项目-仓库数据
|
||||
if (pmsProjectUpdateVo.getIsResetRepositoryIdsToNull() != null && pmsProjectUpdateVo.getIsResetRepositoryIdsToNull()) {
|
||||
pmsProjectRepositoryMapper.deletePmsProjectRepositoryByProjectId(updatedPmsProjectId);
|
||||
} else
|
||||
if (StringUtils.isNotEmpty(pmsProjectUpdateVo.getProjectRepositoryIds())) {
|
||||
List<String> repositoryIdList = Arrays.asList(pmsProjectUpdateVo.getProjectRepositoryIds().split(","));
|
||||
if (!repositoryIdList.isEmpty()) {
|
||||
pmsProjectRepositoryMapper.deletePmsProjectRepositoryByProjectId(updatedPmsProjectId);
|
||||
for (String repoId : repositoryIdList) {
|
||||
PmsProjectRepository pmsProjectRepository = new PmsProjectRepository();
|
||||
pmsProjectRepository.setProjectRepositoryId(Long.valueOf(repoId));
|
||||
pmsProjectRepository.setPmsProjectId(updatedPmsProjectId);
|
||||
pmsProjectRepositoryService.insertPmsProjectRepository(pmsProjectRepository);
|
||||
}
|
||||
} else if (StringUtils.isNotEmpty(pmsProjectUpdateVo.getProjectRepositoryIds())) {
|
||||
List<String> repositoryIdList = Arrays.asList(pmsProjectUpdateVo.getProjectRepositoryIds().split(","));
|
||||
if (!repositoryIdList.isEmpty()) {
|
||||
pmsProjectRepositoryMapper.deletePmsProjectRepositoryByProjectId(updatedPmsProjectId);
|
||||
for (String repoId : repositoryIdList) {
|
||||
PmsProjectRepository pmsProjectRepository = new PmsProjectRepository();
|
||||
pmsProjectRepository.setProjectRepositoryId(Long.valueOf(repoId));
|
||||
pmsProjectRepository.setPmsProjectId(updatedPmsProjectId);
|
||||
pmsProjectRepositoryService.insertPmsProjectRepository(pmsProjectRepository);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//同步更新项目-成员数据
|
||||
if (StringUtils.isNotEmpty(pmsProjectUpdateVo.getPmsProjectMemberIds())) {
|
||||
|
|
@ -314,7 +308,7 @@ public class PmsProjectServiceImpl implements IPmsProjectService
|
|||
if (!memberIdList.isEmpty()) {
|
||||
pmsProjectMembersMapper.deletePmsProjectMembersByProjectId(updatedPmsProjectId);
|
||||
for (String memberId : memberIdList) {
|
||||
PmsProjectMembers pmsProjectMembers= new PmsProjectMembers();
|
||||
PmsProjectMembers pmsProjectMembers = new PmsProjectMembers();
|
||||
pmsProjectMembers.setPmsProjectMemberId(Long.valueOf(memberId));
|
||||
pmsProjectMembers.setPmsProjectId(updatedPmsProjectId);
|
||||
pmsProjectMembersService.insertPmsProjectMembersWithoutAuthCheck(pmsProjectMembers);
|
||||
|
|
@ -374,6 +368,9 @@ public class PmsProjectServiceImpl implements IPmsProjectService
|
|||
*/
|
||||
@Override
|
||||
public PmsProject selectAndCheckPmsProjectById(Long id) {
|
||||
if (id == null) {
|
||||
throw new ServiceException(HttpStatus.FORBIDDEN, "项目ID不能为空");
|
||||
}
|
||||
PmsProject pmsProjectSearch = new PmsProject();
|
||||
pmsProjectSearch.setId(id);
|
||||
List<PmsProject> projectList = pmsProjectMapper.selectPmsProjectList(pmsProjectSearch);
|
||||
|
|
|
|||
Loading…
Reference in New Issue