Commit 87a0a3c1 authored by cq990612's avatar cq990612

优化代码结构

parent 776cace3
...@@ -74,6 +74,8 @@ public enum BASE_RESP_CODE_ENUM { ...@@ -74,6 +74,8 @@ public enum BASE_RESP_CODE_ENUM {
HOLIDAY_NOT_IS_NULL("652", "该节假日已经不存在,请刷新页面!"), HOLIDAY_NOT_IS_NULL("652", "该节假日已经不存在,请刷新页面!"),
ORDINARY_MEMBERS_ARE_MANAGEMENT("653", "普通成员不能有管理角色,请取消普通成员选项"), ORDINARY_MEMBERS_ARE_MANAGEMENT("653", "普通成员不能有管理角色,请取消普通成员选项"),
REPEAT_WITH_OLDTIME("654", "日期与旧时间冲突"), REPEAT_WITH_OLDTIME("654", "日期与旧时间冲突"),
BUDGET_CANNOT_BELESSTHAN_ZERO("655", "预算不能小于0"),
ITEMOADUPLICATE("656", "项目OA重复"),
; ;
......
...@@ -8,4 +8,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -8,4 +8,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @QQ1799796883 * @QQ1799796883
*/ */
public interface WorkLevelMapper extends BaseMapper<WorkLevel> { public interface WorkLevelMapper extends BaseMapper<WorkLevel> {
} }
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkTypeManager;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
public interface WorkTypeManagerMapper extends BaseMapper<WorkTypeManager> {
List<Integer> getTypeByGroup();
}
...@@ -3,7 +3,15 @@ package cn.wisenergy.mapper; ...@@ -3,7 +3,15 @@ package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkType; import cn.wisenergy.model.app.WorkType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public interface WorkTypeMapper extends BaseMapper<WorkType> { public interface WorkTypeMapper extends BaseMapper<WorkType> {
List<WorkType> getAll();
List<Integer> getIdByReviewer(Integer reviewer);
} }
package cn.wisenergy.mapper; package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkUserRole; import cn.wisenergy.model.app.WorkUserRole;
import cn.wisenergy.model.dto.UserRoleLevelDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -14,4 +15,6 @@ public interface WorkUserRoleMapper extends BaseMapper<WorkUserRole> { ...@@ -14,4 +15,6 @@ public interface WorkUserRoleMapper extends BaseMapper<WorkUserRole> {
int deleteByUserId(Integer userId); int deleteByUserId(Integer userId);
int insertBatch(@Param("userId") Integer userId,@Param("roleIds") List<Integer> roleIds); int insertBatch(@Param("userId") Integer userId,@Param("roleIds") List<Integer> roleIds);
List<UserRoleLevelDto> getRoleUserLevel(Integer userId);
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wisenergy.mapper.WorkTypeManagerMapper">
<select id="getTypeByGroup" resultType="java.lang.Integer">
SELECT `type`
FROM work_type_manager
GROUP BY `type`
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wisenergy.mapper.WorkTypeMapper">
<select id="getAll" resultType="cn.wisenergy.model.app.WorkType">
SELECT id,name,reviewer
FROM work_type
</select>
<select id="getIdByReviewer" resultType="java.lang.Integer">
SELECT id
FROM work_type
WHERE reviewer = #{reviewer}
</select>
</mapper>
\ No newline at end of file
...@@ -23,4 +23,13 @@ ...@@ -23,4 +23,13 @@
FROM work_user_role FROM work_user_role
WHERE user_id = #{userId} WHERE user_id = #{userId}
</select> </select>
<select id="getRoleUserLevel" resultType="cn.wisenergy.model.dto.UserRoleLevelDto">
select ur.user_id as 'user_id',r.id as 'role_id',l.name as 'level_name',l.rank as 'rank'
from work_user_role ur join work_role r on ur.role_id = r.id
join work_role_level rl on rl.role_id = r.id JOIN work_level l on l.id = rl.level_id
WHERE ur.user_id = #{userId}
ORDER BY rank desc
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -2,6 +2,7 @@ package cn.wisenergy.model.app; ...@@ -2,6 +2,7 @@ package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -54,9 +55,11 @@ public class WorkProject implements Serializable { ...@@ -54,9 +55,11 @@ public class WorkProject implements Serializable {
@ApiModelProperty(name = "isConclusion",value = "是否结项 :0:项目已结束、1:项目未结束") @ApiModelProperty(name = "isConclusion",value = "是否结项 :0:项目已结束、1:项目未结束")
private Integer isConclusion; private Integer isConclusion;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "startTime",value = "项目开始时间") @ApiModelProperty(name = "startTime",value = "项目开始时间")
private Date startTime; private Date startTime;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "endTime",value = "项目结束时间") @ApiModelProperty(name = "endTime",value = "项目结束时间")
private Date endTime; private Date endTime;
...@@ -67,4 +70,6 @@ public class WorkProject implements Serializable { ...@@ -67,4 +70,6 @@ public class WorkProject implements Serializable {
private Date modifyTime; private Date modifyTime;
} }
...@@ -7,13 +7,14 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -7,13 +7,14 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="WorkType", description="其他项目类型类") @ApiModel(value="WorkType", description="项目类型类")
public class WorkType { public class WorkType {
@ApiModelProperty(name = "id",value = "主键id") @ApiModelProperty(name = "id",value = "主键id")
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
...@@ -21,13 +22,6 @@ public class WorkType { ...@@ -21,13 +22,6 @@ public class WorkType {
@ApiModelProperty(name = "name",value = "类型名") @ApiModelProperty(name = "name",value = "类型名")
private String name; private String name;
@ApiModelProperty(name = "deptId",value = "部门id") @ApiModelProperty(name = "reviewer",value = "检查者:1:该项目负责人 2:系统自动 3:部门或中心负责人")
private Integer deptId; private Integer reviewer;
@ApiModelProperty(name = "managerId",value = "manager_id")
private Integer managerId;
@ApiModelProperty(name = "type",value = "5:外部商务、技术交流 6:内部培训、技术准备、管理 7:其他非项目/商机工作")
private Integer type;
} }
package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="WorkTypeManager", description="其他类型对应管理类")
public class WorkTypeManager {
@ApiModelProperty(name = "id",value = "主键id")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(name = "name",value = "类型名")
private String name;
@ApiModelProperty(name = "deptId",value = "部门id")
private Integer deptId;
@ApiModelProperty(name = "managerId",value = "manager_id")
private Integer managerId;
@ApiModelProperty(name = "type",value = "5:外部商务、技术交流 6:内部培训、技术准备、管理 7:其他非项目/商机工作")
private Integer type;
}
package cn.wisenergy.model.app; package cn.wisenergy.model.dto;
import cn.wisenergy.model.app.WorkLevel;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
......
package cn.wisenergy.model.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class UserRoleLevelDto implements Serializable {
private static final long serialVersionUID = -7689347911723244999L;
private Integer userId;
private Integer roleId;
private String levelName;
private Integer rank;
}
package cn.wisenergy.model.enums;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public enum LevelEnum {
EXAMINE("审批"),
STATISTICS("统计"),
PROJECT_MANAGER( "项目/商机管理"),
;
private String LevelName;
LevelEnum(String LevelName) {
this.LevelName = LevelName;
}
public String getLevelName() {
return LevelName;
}}
package cn.wisenergy.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="CreateProjectVo", description="添加项目/商机Vo类")
public class CreateProjectVo {
@ApiModelProperty(name = "type",value = "1:项目,2:商机")
private Integer type;
@ApiModelProperty(name = "oaProjectId",value = "OA中的项目编号")
private String oaProjectId;
@ApiModelProperty(name = "projectName",value = "项目名称")
private String projectName;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "startTime",value = "项目开始时间")
private Date startTime;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "endTime",value = "项目结束时间")
private Date endTime;
@ApiModelProperty(name = "workTime",value = "工时预算")
private BigDecimal workTime;
@ApiModelProperty(name = "costBudget",value = "成本预算,以万为单位")
private BigDecimal costBudget;
@ApiModelProperty(name = "managerId",value = "项目经理userId")
private Integer managerId;
@ApiModelProperty(name = "userIds",value = "参与人员id")
private List<Integer> userIds;
@ApiModelProperty(name = "deptId",value = "部门id")
private Integer deptId;
}
...@@ -2,6 +2,7 @@ package cn.wisenergy.service; ...@@ -2,6 +2,7 @@ package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkProject; import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ProjectDto; import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo; import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo; import cn.wisenergy.model.vo.ModifyProjectVo;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -67,4 +68,6 @@ public interface WorkProjectService { ...@@ -67,4 +68,6 @@ public interface WorkProjectService {
Boolean endProject(Integer userId,Integer projectId); Boolean endProject(Integer userId,Integer projectId);
Boolean modifyProject(ModifyProjectVo modifyProjectVo); Boolean modifyProject(ModifyProjectVo modifyProjectVo);
Boolean addProject(CreateProjectVo createProjectVo);
} }
package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkTypeManager;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public interface WorkTypeManagerService {
/**
* 功能:根据审核人id获取
* @param userId
* @return
*/
List<WorkTypeManager> getByManagerId(Integer userId);
/**
* 功能:根据部门id获取
* @param deptId
* @return
*/
List<WorkTypeManager> getByDeptId(Integer deptId);
/**
* 功能: 根据类型获取
* @param type
* @return
*/
List<WorkTypeManager> getByType(Integer type);
/**
* 功能:查看有哪些其他Type
* @return
*/
List<WorkTypeManager> getType();
List<Integer> getTypeByGroup();
}
...@@ -10,30 +10,7 @@ import java.util.List; ...@@ -10,30 +10,7 @@ import java.util.List;
*/ */
public interface WorkTypeService { public interface WorkTypeService {
/** List<WorkType> getAll();
* 功能:根据审核人id获取
* @param userId
* @return
*/
List<WorkType> getByManagerId(Integer userId);
/** List<Integer> getIdByReviewer(Integer reviewer);
* 功能:根据部门id获取
* @param deptId
* @return
*/
List<WorkType> getByDeptId(Integer deptId);
/**
* 功能: 根据类型获取
* @param type
* @return
*/
List<WorkType> getByType(Integer type);
/**
* 功能:查看有哪些其他Type
* @return
*/
List<WorkType> getType();
} }
...@@ -58,4 +58,6 @@ public interface WorkUserService { ...@@ -58,4 +58,6 @@ public interface WorkUserService {
AllRoleAndUserRoleDto getUserRoleDto(Integer page, Integer pageSize); AllRoleAndUserRoleDto getUserRoleDto(Integer page, Integer pageSize);
Boolean modifyRole(Integer userId, List<Integer> roleIds); Boolean modifyRole(Integer userId, List<Integer> roleIds);
} }
...@@ -12,12 +12,10 @@ import cn.wisenergy.model.dto.ProjectDto; ...@@ -12,12 +12,10 @@ import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.dto.UserProjectDto; import cn.wisenergy.model.dto.UserProjectDto;
import cn.wisenergy.model.enums.LevelRankEnum; import cn.wisenergy.model.enums.LevelRankEnum;
import cn.wisenergy.model.enums.ManagerEnum; import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo; import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo; import cn.wisenergy.model.vo.ModifyProjectVo;
import cn.wisenergy.service.WorkProjectChangeService; import cn.wisenergy.service.*;
import cn.wisenergy.service.WorkProjectService;
import cn.wisenergy.service.WorkUserProjectService;
import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.service.utils.UserRoleLevelUtils; import cn.wisenergy.service.utils.UserRoleLevelUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
...@@ -29,6 +27,7 @@ import org.springframework.stereotype.Service; ...@@ -29,6 +27,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -65,6 +64,9 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -65,6 +64,9 @@ public class WorkProjectServiceImpl implements WorkProjectService {
@Autowired @Autowired
private WorkProjectChangeService workProjectChangeService; private WorkProjectChangeService workProjectChangeService;
@Autowired
private WorkUserDeptService workUserDeptService;
/** /**
* 功能:根据项目id获取项目 * 功能:根据项目id获取项目
* *
...@@ -365,6 +367,51 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -365,6 +367,51 @@ public class WorkProjectServiceImpl implements WorkProjectService {
return true; return true;
} }
@Transactional
@Override
public Boolean addProject(CreateProjectVo createProjectVo) {
log.info("WorkProjectServiceImpl[]addProject[]input.param.createProjectVo:{}" + createProjectVo);
// 1.验证工单
if (null == createProjectVo) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
if (null == createProjectVo.getManagerId()||null == createProjectVo.getStartTime()||null == createProjectVo.getEndTime() || null ==createProjectVo.getOaProjectId() ||null== createProjectVo.getWorkTime() || null == createProjectVo.getCostBudget() ||
null == createProjectVo.getProjectName() || CollectionUtils.isEmpty(createProjectVo.getUserIds()) || null == createProjectVo.getDeptId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
if (createProjectVo.getStartTime().compareTo(createProjectVo.getEndTime()) > 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.START_NOT_THAN_END_DATE);
}
if (BigDecimal.ZERO.compareTo(createProjectVo.getWorkTime())>0 ||BigDecimal.ZERO.compareTo(createProjectVo.getCostBudget())>0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.BUDGET_CANNOT_BELESSTHAN_ZERO);
}
// 判断oa编号是否重复 TODO
List<WorkProject> workProjects = workProjectMapper.selectList(new QueryWrapper<>());
if (CollectionUtils.isEmpty(workProjects)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_PROJECT_IS_NULL);
}
for (WorkProject workProject : workProjects) {
if (workProject.getOaProjectId().equals(createProjectVo.getOaProjectId())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.ITEMOADUPLICATE);
}
}
// 插入项目信息
Date date = new Date();
WorkProject workProject = new WorkProject();
workProject.setIsConclusion(1);
workProject.setCreateTime(date);
workProject.setModifyTime(date);
BeanUtils.copyProperties(createProjectVo, workProject);
int insert = workProjectMapper.insert(workProject);
if (insert == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INSERT_DATA_IS_FAIL);
}
// 插入参与人员信息
return workUserProjectService.insertBatch(createProjectVo.getUserIds(), workProject.getId());
}
private PageInfo returnPageInfo(List<ManagerProjectsDto> managerProjectsDto) { private PageInfo returnPageInfo(List<ManagerProjectsDto> managerProjectsDto) {
if (CollectionUtils.isEmpty(managerProjectsDto)) { if (CollectionUtils.isEmpty(managerProjectsDto)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_PROJECT_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_PROJECT_IS_NULL);
......
package cn.wisenergy.service.impl;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkTypeManagerMapper;
import cn.wisenergy.model.app.WorkTypeManager;
import cn.wisenergy.service.WorkTypeManagerService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
@Slf4j
@Service
public class WorkTypeManagerServiceImpl implements WorkTypeManagerService {
@Autowired
private WorkTypeManagerMapper workTypeManagerMapper;
/**
* 功能:根据审核人id获取
*
* @param userId
* @return
*/
@Override
public List<WorkTypeManager> getByManagerId(Integer userId) {
log.info("WorkTypeManagerServiceImpl[]getByManagerId[]input.param.userId:{}" + userId);
return getWorkTypes(userId, "manager_id");
}
/**
* 功能:根据部门id获取
*
* @param deptId
* @return
*/
@Override
public List<WorkTypeManager> getByDeptId(Integer deptId) {
log.info("WorkTypeManagerServiceImpl[]getByDeptId[]input.param.deptId:{}" + deptId);
return getWorkTypes(deptId, "dept_id");
}
/**
* 功能: 根据类型获取
*
* @param type
* @return
*/
@Override
public List<WorkTypeManager> getByType(Integer type) {
log.info("WorkTypeManagerServiceImpl[]getByType[]input.param.type:{}" + type);
return getWorkTypes(type, "type");
}
/**
* 功能:查看有哪些其他Type
*
* @return
*/
@Override
public List<WorkTypeManager> getType() {
log.info("WorkTypeManagerServiceImpl[]getType");
QueryWrapper<WorkTypeManager> wrapper = new QueryWrapper<>();
wrapper.groupBy("type");
wrapper.orderByAsc("type");
return workTypeManagerMapper.selectList(wrapper);
}
@Override
public List<Integer> getTypeByGroup() {
log.info("WorkTypeManagerServiceImpl[]getTypeByGroup[]");
List<Integer> typeByGroup = workTypeManagerMapper.getTypeByGroup();
if (CollectionUtils.isEmpty(typeByGroup)) {
return null;
}
return typeByGroup;
}
private List<WorkTypeManager> getWorkTypes(Integer userId, String column) {
if (null == userId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
QueryWrapper<WorkTypeManager> wrapper = new QueryWrapper<>();
wrapper.eq(column, userId);
List<WorkTypeManager> workTypeManagers = workTypeManagerMapper.selectList(wrapper);
return workTypeManagers;
}
}
...@@ -5,78 +5,44 @@ import cn.wisenergy.common.utils.exception.BaseCustomException; ...@@ -5,78 +5,44 @@ import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkTypeMapper; import cn.wisenergy.mapper.WorkTypeMapper;
import cn.wisenergy.model.app.WorkType; import cn.wisenergy.model.app.WorkType;
import cn.wisenergy.service.WorkTypeService; import cn.wisenergy.service.WorkTypeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List; import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Slf4j @Slf4j
@Service @Service
public class WorkTypeServiceImpl implements WorkTypeService { public class WorkTypeServiceImpl implements WorkTypeService {
@Autowired @Autowired
private WorkTypeMapper workTypeMapper; private WorkTypeMapper workTypeMapper;
/**
* 功能:根据审核人id获取
*
* @param userId
* @return
*/
@Override
public List<WorkType> getByManagerId(Integer userId) {
log.info("WorkTypeServiceImpl[]getByManagerId[]input.param.userId:{}" + userId);
return getWorkTypes(userId, "manager_id");
}
/**
* 功能:根据部门id获取
*
* @param deptId
* @return
*/
@Override
public List<WorkType> getByDeptId(Integer deptId) {
log.info("WorkTypeServiceImpl[]getByDeptId[]input.param.deptId:{}" + deptId);
return getWorkTypes(deptId, "dept_id");
}
/**
* 功能: 根据类型获取
*
* @param type
* @return
*/
@Override @Override
public List<WorkType> getByType(Integer type) { public List<WorkType> getAll() {
log.info("WorkTypeServiceImpl[]getByType[]input.param.type:{}" + type); log.info("WorkTypeServiceImpl[]getAll[]");
return getWorkTypes(type, "type"); List<WorkType> workTypes = workTypeMapper.getAll();
if (CollectionUtils.isEmpty(workTypes)) {
return null;
}
return workTypes;
} }
/**
* 功能:查看有哪些其他Type
*
* @return
*/
@Override @Override
public List<WorkType> getType() { public List<Integer> getIdByReviewer(Integer reviewer) {
log.info("WorkTypeServiceImpl[]getType"); log.info("WorkTypeServiceImpl[]getIdByReviewer[]input.param.reviewer:{}" + reviewer);
QueryWrapper<WorkType> wrapper = new QueryWrapper<>(); if (null == reviewer) {
wrapper.groupBy("type");
wrapper.orderByAsc("type");
return workTypeMapper.selectList(wrapper);
}
private List<WorkType> getWorkTypes(Integer userId, String column) {
if (null == userId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
QueryWrapper<WorkType> wrapper = new QueryWrapper<>(); List<Integer> ids = workTypeMapper.getIdByReviewer(reviewer);
wrapper.eq(column, userId); if (CollectionUtils.isEmpty(ids)) {
List<WorkType> workTypes = workTypeMapper.selectList(wrapper); return null;
return workTypes; }
return ids;
} }
} }
...@@ -8,7 +8,9 @@ import cn.wisenergy.mapper.WorkRoleMapper; ...@@ -8,7 +8,9 @@ import cn.wisenergy.mapper.WorkRoleMapper;
import cn.wisenergy.mapper.WorkUserRoleMapper; import cn.wisenergy.mapper.WorkUserRoleMapper;
import cn.wisenergy.model.app.WorkLevel; import cn.wisenergy.model.app.WorkLevel;
import cn.wisenergy.model.app.WorkRole; import cn.wisenergy.model.app.WorkRole;
import cn.wisenergy.model.dto.UserRoleLevelDto;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -55,9 +57,6 @@ public class UserRoleLevelUtils { ...@@ -55,9 +57,6 @@ public class UserRoleLevelUtils {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
List<Integer> roleIds = utils.workUserRoleMapper.getRole(userId); List<Integer> roleIds = utils.workUserRoleMapper.getRole(userId);
for (Integer roleId : roleIds) {
System.out.println(roleId);
}
if (CollectionUtils.isEmpty(roleIds)) { if (CollectionUtils.isEmpty(roleIds)) {
roleIds.add(0); roleIds.add(0);
return roleIds; return roleIds;
...@@ -128,8 +127,36 @@ public class UserRoleLevelUtils { ...@@ -128,8 +127,36 @@ public class UserRoleLevelUtils {
return null; return null;
} }
return workLevels; return workLevels;
}
public static List<UserRoleLevelDto> getRoleUserLevel(Integer userId) {
if (null == userId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<UserRoleLevelDto> roleUserLevels = utils.workUserRoleMapper.getRoleUserLevel(userId);
if (CollectionUtils.isEmpty(roleUserLevels)) {
return null;
}
return roleUserLevels;
} }
/** 是否有管理某方案权限*/
public static Boolean isManagerLevel(Integer userId, String levelEnum) {
if (null == userId || StringUtils.isEmpty(levelEnum)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<UserRoleLevelDto> roleUserLevel = UserRoleLevelUtils.getRoleUserLevel(userId);
if (CollectionUtils.isEmpty(roleUserLevel)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
for (UserRoleLevelDto userRoleLevelDto : roleUserLevel) {
if (levelEnum.equals(userRoleLevelDto.getLevelName())) {
return true;
}
}
return false;
}
} }
...@@ -3,6 +3,7 @@ package cn.wisenergy.web.admin.controller.app; ...@@ -3,6 +3,7 @@ package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.Result; import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.model.app.WorkProjectChange; import cn.wisenergy.model.app.WorkProjectChange;
import cn.wisenergy.model.dto.ManagerProjectsDto; import cn.wisenergy.model.dto.ManagerProjectsDto;
import cn.wisenergy.model.vo.CreateProjectVo;
import cn.wisenergy.model.vo.GetManagerProjectsVo; import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.model.vo.ModifyProjectVo; import cn.wisenergy.model.vo.ModifyProjectVo;
import cn.wisenergy.service.WorkProjectChangeService; import cn.wisenergy.service.WorkProjectChangeService;
...@@ -76,5 +77,15 @@ public class WorkProjectController extends BaseController { ...@@ -76,5 +77,15 @@ public class WorkProjectController extends BaseController {
return getResult(workProjectChanges); return getResult(workProjectChanges);
} }
@ApiOperation(value = "新增项目/商机", notes = "新增项目/商机", httpMethod = "POST")
@ApiImplicitParam(name = "createProjectVo",value = "添加项目Vo类",dataType = "CreateProjectVo",required = true)
@PostMapping(value = "/addProject")
public Result<Boolean> addProject(@RequestBody CreateProjectVo createProjectVo) {
log.info("WorkProjectController[]addProject[]input.param.createProjectVo:{}" + createProjectVo);
Boolean aBoolean = workProjectService.addProject(createProjectVo);
return getResult(aBoolean);
}
} }
package cn.wisenergy.web.admin.controller.app; package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.*; import cn.wisenergy.common.utils.exception.*;
import cn.wisenergy.model.app.UserLevelDto;
import cn.wisenergy.model.app.WorkLevel;
import cn.wisenergy.model.dto.OrganizationStructureDto; import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.model.dto.ResultUser; import cn.wisenergy.model.dto.ResultUser;
import cn.wisenergy.model.dto.UserRoleLevelDto;
import cn.wisenergy.service.WorkUserService; import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.service.utils.UserRoleLevelUtils; import cn.wisenergy.service.utils.UserRoleLevelUtils;
import cn.wisenergy.web.admin.controller.common.BaseController; import cn.wisenergy.web.admin.controller.common.BaseController;
...@@ -89,14 +88,9 @@ public class WorkUserController extends BaseController { ...@@ -89,14 +88,9 @@ public class WorkUserController extends BaseController {
@ApiOperation(value = "权限", notes = "权限", httpMethod = "GET") @ApiOperation(value = "权限", notes = "权限", httpMethod = "GET")
@ApiImplicitParam(name = "userId", value = "用户id", dataType = "int") @ApiImplicitParam(name = "userId", value = "用户id", dataType = "int")
@GetMapping(value = "/getLevel") @GetMapping(value = "/getLevel")
public Result<UserLevelDto> getLevel(Integer userId) { public Result<UserRoleLevelDto> getLevel(Integer userId) {
List<Integer> roles = UserRoleLevelUtils.getRole(userId); List<UserRoleLevelDto> roleUserLevel = UserRoleLevelUtils.getRoleUserLevel(userId);
UserLevelDto userLevelDto = new UserLevelDto(); return getResult(roleUserLevel);
List<Integer> levelIds = UserRoleLevelUtils.getlevelIds(roles);
List<WorkLevel> workLevels = UserRoleLevelUtils.getlevelByIds(levelIds);
userLevelDto.setUserId(userId);
userLevelDto.setWorkLevels(workLevels);
return getResult(userLevelDto);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment