接口逻辑补充零碎修改等
This commit is contained in:
@ -121,4 +121,9 @@ public class Project extends BaseEntity
|
||||
@ApiModelProperty("项目所属机构名称")
|
||||
private String deptName;
|
||||
|
||||
/** 项目级别:市,县 */
|
||||
@Excel(name = "项目级别:市,县")
|
||||
@ApiModelProperty("项目级别:市,县")
|
||||
private String level;
|
||||
|
||||
}
|
||||
|
@ -62,6 +62,11 @@ public interface IProjectService
|
||||
*/
|
||||
public int deleteProjectByProjectId(Long projectId);
|
||||
|
||||
/**
|
||||
* 查询项目基本信息
|
||||
* @param userId 用户ID
|
||||
* @return 项目信息
|
||||
*/
|
||||
Map<String,Object> selectProjectByUserId(Long userId);
|
||||
|
||||
/**
|
||||
@ -70,4 +75,10 @@ public interface IProjectService
|
||||
*/
|
||||
List<SysDept> getUnbindDeptList();
|
||||
|
||||
/**
|
||||
* 查询管理员项目切换下拉框数据
|
||||
* @return 项目列表
|
||||
*/
|
||||
List<Project> selectAdminProjectList();
|
||||
|
||||
}
|
||||
|
@ -2,14 +2,17 @@ package com.fastbee.project.service.impl;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||
import com.fastbee.common.constant.ProjectLevelConstant;
|
||||
import com.fastbee.common.core.domain.entity.SysDept;
|
||||
import com.fastbee.common.exception.ServiceException;
|
||||
import com.fastbee.common.holder.ProjectHolder;
|
||||
import com.fastbee.common.utils.DateUtils;
|
||||
import com.fastbee.project.domain.Project;
|
||||
import com.fastbee.project.mapper.ProjectMapper;
|
||||
import com.fastbee.project.service.IProjectService;
|
||||
|
||||
import com.fastbee.system.mapper.SysDeptMapper;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -51,7 +54,13 @@ public class ProjectServiceImpl implements IProjectService
|
||||
@Override
|
||||
public List<Project> selectProjectList(Project project)
|
||||
{
|
||||
return projectMapper.selectProjectList(project);
|
||||
return new LambdaQueryChainWrapper<>(projectMapper)
|
||||
.select(Project::getProjectId, Project::getProjectName, Project::getScope,
|
||||
Project::getAdministrativeArea, Project::getDeptId,Project::getAdministrativeAreaCode,
|
||||
Project::getLogo, Project::getImage, Project::getLevel, Project::getDeptName,
|
||||
Project::getCreateTime)
|
||||
.like(StringUtils.isNotBlank(project.getSearchValue()),Project::getProjectName, project.getSearchValue())
|
||||
.list();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -63,9 +72,10 @@ public class ProjectServiceImpl implements IProjectService
|
||||
@Override
|
||||
public int insertProject(Project project)
|
||||
{ //判断选择的机构下是否已经绑定项目
|
||||
Project one = new LambdaQueryChainWrapper<>(projectMapper).select(Project::getProjectId, Project::getProjectName)
|
||||
.eq(Project::getDeptId, project.getDeptId()).one();
|
||||
if(Objects.nonNull(one)){
|
||||
List<Project> projectList = new LambdaQueryChainWrapper<>(projectMapper)
|
||||
.select(Project::getProjectId, Project::getProjectName)
|
||||
.eq(Project::getDeptId, project.getDeptId()).list();
|
||||
if(!projectList.isEmpty()){
|
||||
throw new ServiceException("该机构下已经存在项目");
|
||||
}
|
||||
project.setCreateTime(DateUtils.getNowDate());
|
||||
@ -82,7 +92,8 @@ public class ProjectServiceImpl implements IProjectService
|
||||
public int updateProject(Project project)
|
||||
{
|
||||
//判断选择的机构下是否已经绑定项目
|
||||
Project one = new LambdaQueryChainWrapper<>(projectMapper).select(Project::getProjectId, Project::getProjectName,Project::getDeptId)
|
||||
Project one = new LambdaQueryChainWrapper<>(projectMapper)
|
||||
.select(Project::getProjectId, Project::getProjectName,Project::getDeptId)
|
||||
.eq(Project::getDeptId, project.getDeptId()).one();
|
||||
if(Objects.isNull(one)){
|
||||
throw new ServiceException("项目不存在!");
|
||||
@ -128,7 +139,7 @@ public class ProjectServiceImpl implements IProjectService
|
||||
public Map<String, Object> selectProjectByUserId(Long userId) {
|
||||
//查询该管理员所管理的项目id以及子项目id列表
|
||||
Project project = new LambdaQueryChainWrapper<>(projectMapper)
|
||||
.select(Project::getProjectId, Project::getProjectName)
|
||||
.select(Project::getProjectId, Project::getProjectName,Project::getLevel,Project::getDeptId)
|
||||
.eq(Project::getOwnerId, userId)
|
||||
.one();
|
||||
if(Objects.isNull(project)){
|
||||
@ -142,6 +153,7 @@ public class ProjectServiceImpl implements IProjectService
|
||||
map.put("projectIds",projectsBase64);
|
||||
map.put("projectId",project.getProjectId());
|
||||
map.put("projectName", project.getProjectName());
|
||||
map.put("projectLevel",project.getLevel().equals("市级")? ProjectLevelConstant.LEVEL_CITY :ProjectLevelConstant.LEVEL_COUNTY);
|
||||
return map;
|
||||
}
|
||||
|
||||
@ -168,6 +180,31 @@ public class ProjectServiceImpl implements IProjectService
|
||||
return sysDeptList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Project> selectAdminProjectList() {
|
||||
Map<String, Object> rest = new HashMap<>();
|
||||
//判断管理员级别
|
||||
List<Project> projectList=new ArrayList<>();
|
||||
//超级管理员
|
||||
if(Objects.isNull(ProjectHolder.getProjectInfo().getProjectIdList())){
|
||||
//查询所有一级项目列表
|
||||
projectList = new LambdaQueryChainWrapper<>(projectMapper)
|
||||
.select(Project::getProjectId, Project::getProjectName)
|
||||
.isNull(Project::getParentId)
|
||||
.list();
|
||||
}
|
||||
//市级/县级项目
|
||||
else if(Objects.nonNull(ProjectHolder.getProjectInfo().getProjectIdList())){
|
||||
//查询所有子一级项目列表
|
||||
projectList = new LambdaQueryChainWrapper<>(projectMapper)
|
||||
.select(Project::getProjectId, Project::getProjectName)
|
||||
.in(Project::getParentId, ProjectHolder.getProjectInfo().getProjectIdList())
|
||||
.list();
|
||||
}
|
||||
|
||||
return projectList;
|
||||
}
|
||||
|
||||
public List<Long> getAllProjects(Long projectId) {
|
||||
List<Long> allProjects = new ArrayList<>();
|
||||
|
||||
|
@ -30,10 +30,11 @@
|
||||
<result property="deptId" column="dept_id" />
|
||||
<result property="administrativeAreaCode" column="administrative_area_code" />
|
||||
<result property="deptName" column="dept_name" />
|
||||
<result property="level" column="level" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectProjectVo">
|
||||
select project_id, project_name, sys_show_name, central_coordinates, scope, administrative_area, owner, logo, image, video_introduction, remark, p_params, introduce, del_flag, create_time, create_by, update_time, remarks, tenant_id, tenant_name, owner_id, parent_id, dept_id, administrative_area_code, dept_name from project
|
||||
select project_id, project_name, sys_show_name, central_coordinates, scope, administrative_area, owner, logo, image, video_introduction, remark, p_params, introduce, del_flag, create_time, create_by, update_time, remarks, tenant_id, tenant_name, owner_id, parent_id, dept_id, administrative_area_code, dept_name, level from project
|
||||
</sql>
|
||||
|
||||
<select id="selectProjectList" parameterType="Project" resultMap="ProjectResult">
|
||||
@ -58,6 +59,7 @@
|
||||
<if test="deptId != null "> and dept_id = #{deptId}</if>
|
||||
<if test="administrativeAreaCode != null and administrativeAreaCode != ''"> and administrative_area_code = #{administrativeAreaCode}</if>
|
||||
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
|
||||
<if test="level != null and level != ''"> and level = #{level}</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
@ -94,6 +96,7 @@
|
||||
<if test="deptId != null">dept_id,</if>
|
||||
<if test="administrativeAreaCode != null">administrative_area_code,</if>
|
||||
<if test="deptName != null">dept_name,</if>
|
||||
<if test="level != null">level,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="projectId != null">#{projectId},</if>
|
||||
@ -121,6 +124,7 @@
|
||||
<if test="deptId != null">#{deptId},</if>
|
||||
<if test="administrativeAreaCode != null">#{administrativeAreaCode},</if>
|
||||
<if test="deptName != null">#{deptName},</if>
|
||||
<if test="level != null">#{level},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
@ -151,6 +155,7 @@
|
||||
<if test="deptId != null">dept_id = #{deptId},</if>
|
||||
<if test="administrativeAreaCode != null">administrative_area_code = #{administrativeAreaCode},</if>
|
||||
<if test="deptName != null">dept_name = #{deptName},</if>
|
||||
<if test="level != null">level = #{level},</if>
|
||||
</trim>
|
||||
where project_id = #{projectId}
|
||||
</update>
|
||||
|
Reference in New Issue
Block a user