|
@@ -66,6 +66,23 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
|
|
|
String userName = SecurityUtils.getUsername();
|
|
|
Integer tenantId = SecurityUtils.getTenantId();
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
+
|
|
|
+ if (project.getVisibleRange() == null){
|
|
|
+ project.setVisibleRange((byte) 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Objects.isNull(project.getId())) {
|
|
|
+ String projectName = project.getProjectName();
|
|
|
+ LambdaQueryWrapper<PmProject> wrapper = Wrappers.lambdaQuery();
|
|
|
+ wrapper.eq(PmProject::getProjectName, projectName)
|
|
|
+ .eq(PmProject::getTenantId, tenantId)
|
|
|
+ .eq(PmProject::getDelFlag, 0);
|
|
|
+ PmProject pmProject = pmProjectMapper.selectOne(wrapper);
|
|
|
+ if (Objects.nonNull(pmProject)) {
|
|
|
+ throw new BusinessException("已存在同名项目!请检查后重试");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (Objects.isNull(project.getProjectWorkload())) {
|
|
|
if (Objects.isNull(project.getId())) {
|
|
|
project.setCreateBy(userName);
|
|
@@ -79,10 +96,10 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
|
|
|
this.updateById(project);
|
|
|
}
|
|
|
} else {
|
|
|
- if (project.getProjectWorkload().scale() > 2) {
|
|
|
- throw new BusinessException("计划人/天小数位超出长度请重新输入");
|
|
|
+ if (project.getProjectWorkload().scale() > 1) {
|
|
|
+ throw new BusinessException("计划人/天小数位超出长度,请重新输入!");
|
|
|
} else if (project.getProjectWorkload().precision() - project.getProjectWorkload().scale() > 4) {
|
|
|
- throw new BusinessException("计划人/天整数位超出长度请重新输入");
|
|
|
+ throw new BusinessException("计划人/天整数位超出长度,请重新输入!");
|
|
|
} else {
|
|
|
if (Objects.isNull(project.getId())) {
|
|
|
project.setCreateBy(userName);
|
|
@@ -187,14 +204,15 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public CommonPage<PmProject> projectList(String projectName, Integer projectType, Integer projectStatus, Integer projectAscription, Integer pageNum, Integer pageSize, Integer projectId) {
|
|
|
+ public CommonPage<PmProject> projectList(String projectName, Integer projectType, Integer projectStatus, Integer projectAscription, Integer pageNum, Integer pageSize, Integer projectId, Byte visibleRange) {
|
|
|
IPage<PmProject> page = new Page<>(pageNum, pageSize);
|
|
|
Long userId = SecurityUtils.getUserId();
|
|
|
String username = SecurityUtils.getUsername();
|
|
|
String nickName = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
|
|
Integer tenantId = SecurityUtils.getTenantId();
|
|
|
LambdaQueryWrapper<PmProject> lambdaQuery = Wrappers.lambdaQuery();
|
|
|
- lambdaQuery.eq(PmProject::getTenantId, SecurityUtils.getTenantId()).eq(PmProject::getDelFlag, 0);
|
|
|
+ lambdaQuery.eq(PmProject::getTenantId, SecurityUtils.getTenantId()).eq(PmProject::getDelFlag, 0)
|
|
|
+ .eq(visibleRange != null, PmProject::getVisibleRange, visibleRange);
|
|
|
if (projectId != null && projectId != 0) {
|
|
|
lambdaQuery.eq(PmProject::getId, projectId);
|
|
|
page = this.page(page, lambdaQuery);
|
|
@@ -202,9 +220,9 @@ public class PmProjectServiceImpl extends AbstractCrudService<PmProjectMapper, P
|
|
|
}
|
|
|
switch (projectAscription) {
|
|
|
case 0:
|
|
|
-/* lambdaQuery.and(q -> q.eq(PmProject::getProjectHead, userId)
|
|
|
- .or().apply(FIND_IN_SET_SQL, userId)
|
|
|
- .or().eq(PmProject::getCreateBy, username));*/
|
|
|
+ lambdaQuery.and(q -> q.eq(PmProject::getProjectHead, userId)
|
|
|
+ .or().apply("FIND_IN_SET('" + SecurityUtils.getUserId() + "', project_member) > 0")
|
|
|
+ .or().eq(PmProject::getCreateBy, username));
|
|
|
break;
|
|
|
case 1:
|
|
|
lambdaQuery.eq(PmProject::getProjectHead, userId);
|