Commit e31e92a8 authored by cq990612's avatar cq990612

优化代码结构

parent acd39d15
......@@ -7,4 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface WorkCentreMapper extends BaseMapper<WorkCollect> {
WorkCentre getByManagerId(Integer userId);
}
......@@ -18,9 +18,27 @@ import java.util.List;
*/
public interface WorkCollectMapper extends BaseMapper<WorkCollect> {
/**
* 获取用户当月的填报信息
* @param userId 用户id
* @param workMonth 日期
* @return 自定义dto
*/
List<CalendarDto> getWorkMonth(@Param("userId") Integer userId,@Param("workMonth") Date workMonth);
/**
* 插入一条记录
* @param workCollect 实体类
* @return 插入成功的条数
*/
int insertWorkCollect(WorkCollect workCollect);
/**
* 根据工单id 修改当日填报状态和工时
* @param id 工单id
* @param status 状态
* @param totalTime 工时
* @return 修改成功的条数
*/
int updateStatusOrTotalTime(@Param("id") Integer id,@Param("status") Integer status,@Param("totalTime") Integer totalTime);
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkLevel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public interface WorkLevelMapper extends BaseMapper<WorkLevel> {
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ManagerProjectsDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
......@@ -26,4 +27,6 @@ public interface WorkProjectMapper extends BaseMapper<WorkProject> {
List<WorkProject> getProjectsByIds(@Param("ids") List<Integer> ids, @Param("isConclusion") Integer isConclusion);
List<ManagerProjectsDto> getManagerProjectsDto(@Param("userId") Integer userId, @Param("type") Integer type, @Param("isConclusion") Integer isConclusion,@Param("deptIds") List<Integer> deptIds);
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkRoleLevel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public interface WorkRoleLevelMapper extends BaseMapper<WorkRoleLevel> {
List<Integer> getLevelIds(@Param("roleIds") List<Integer> roleIds);
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public interface WorkRoleMapper extends BaseMapper<WorkRole> {
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkUserRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
public interface WorkUserRoleMapper extends BaseMapper<WorkUserRole> {
List<Integer> getRole(Integer userId);
}
......@@ -72,8 +72,42 @@
AND is_conclusion = #{isConclusion}
</if>
</where>
</select>
<select id="getManagerProjectsDto" resultType="cn.wisenergy.model.dto.ManagerProjectsDto">
select p.id,p.oa_project_id,p.project_name,p.type,p.create_time,p.is_conclusion,
GROUP_CONCAT(DISTINCT(u.name)) as 'Participants',p.cost_budget,p.work_time,p.start_time,p.end_time,
SUM(o.work_time)/8 as 'currentLaborCost',SUM(o.work_time) as 'totalCurrentWorkingHours',
if(now() BETWEEN p.start_time and p.end_time,'否','是') as 'isItOverdue',
if(p.create_time = p.modify_time,'否','是') as 'isThereABudgetChange'
from work_project p LEFT JOIN work_time_order o on p.id = o.project_id
LEFT JOIN work_user u on p.manager_id = u.id
<where>
<if test="null != userId">
AND p.manager_id = #{userId}
</if>
<if test="null !=type">
AND p.type = #{type}
</if>
<if test="null !=isConclusion">
AND p.is_conclusion = #{isConclusion}
</if>
<if test="deptIds != null">
OR p.dept_id IN
<foreach collection="deptIds" item="deptId" separator="," open="(" close=")">
#{deptId}
</foreach>
</if>
</where>
GROUP BY p.id
</select>
</mapper>
<?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.WorkRoleLevelMapper">
<select id="getLevelIds" resultType="java.lang.Integer">
SELECT level_id
FROM work_role_level
<where>
<if test="roleIds != null">
AND role_id IN
<foreach collection="roleIds" item="roleId" open="(" close=")" separator=",">
#{roleId}
</foreach>
</if>
</where>
</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.WorkUserRoleMapper">
<select id="getRole" resultType="java.lang.Integer">
SELECT role_id
FROM work_user_role
WHERE user_id = #{userId}
</select>
</mapper>
\ No newline at end of file
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="WorkLevel", description="权限实体类")
public class WorkLevel {
@ApiModelProperty(name = "id",value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(name = "name",value = "权限名")
private String name;
@ApiModelProperty(name = "rank",value = "权限等级->1:项目级 2:部门级 3:中心级")
private Integer rank;
}
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="WorkRole", description="角色实体类")
public class WorkRole {
@ApiModelProperty(name = "id",value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(name = "name",value = "角色名")
private String name;
}
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="WorkRoleLevel", description="角色实体类")
public class WorkRoleLevel {
@ApiModelProperty(name = "id",value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(name = "roleId",value = "角色id")
private Integer roleId;
@ApiModelProperty(name = "levelId",value = "权限id")
private Integer levelId;
}
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="WorkUserRole", description="用户角色关联类")
public class WorkUserRole {
@ApiModelProperty(name = "id",value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(name = "userId",value = "用户id")
private Integer userId;
@ApiModelProperty(name = "roleId",value = "角色id")
private Integer roleId;
}
......@@ -2,6 +2,7 @@ package cn.wisenergy.model.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -54,15 +55,16 @@ public class ManagerProjectsDto implements Serializable {
@ApiModelProperty(name = "endTime",value = "项目结束时间")
private Date endTime;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd")
@ApiModelProperty(name = "createTime",value = "创建时间")
private Date createTime;
@ApiModelProperty(name = "modifyTime",value = "修改时间")
private Date modifyTime;
//其他
/**其他*/
@ApiModelProperty(name = "Participants",value = "参与人员")
private String Participants;
private String participants;
@ApiModelProperty(name = "currentLaborCost",value = "当前工时成本")
private String currentLaborCost;
......
package cn.wisenergy.model.enums;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public enum LevelRankEnum {
PROJECT_LEVEL(1,"项目级"),
DEPARTMENT_LEVEL(2,"部门级"),
CENTRAL_LEVEL(3, "中心级"),
;
private Integer rank;
private String msg;
LevelRankEnum(Integer rank, String msg){
this.rank = rank;
this.msg = msg;
}
public Integer getRank(){
return rank;
}
public String getMsg(){
return msg;
}
}
......@@ -20,8 +20,8 @@ public class GetManagerProjectsVo {
@ApiModelProperty(name = "userId",value = "用户id")
private Integer userId;
@ApiModelProperty(name = "projectId",value = "项目id")
private Integer projectId;
@ApiModelProperty(name = "type",value = "类型:1:项目 2:商机")
private Integer type;
@ApiModelProperty(name = "isConclusion",value = "是否结项:0:结项,1:未结束")
private Integer isConclusion;
......
......@@ -2,6 +2,8 @@ package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.vo.GetManagerProjectsVo;
import com.github.pagehelper.PageInfo;
import java.util.List;
......@@ -17,30 +19,41 @@ public interface WorkProjectService {
/**
* 功能:根据项目id获取项目
* @param id
* @return
* @param id 项目id
* @return 项目
*/
WorkProject getById(Integer id);
/**
* 根据项目ids获取项目
* @param ids 项目id
* @param isConclusion 是否结项
* @return 项目集合
*/
List<WorkProject> getNameByIds(List<Integer> ids,Integer isConclusion);
/**
* 功能: 查询当前用户所管理的项目
* @param id
* @return
* @param id 用户id
* @param isConclusion 是否结项
* @return 项目内容
*/
List<ProjectDto> getByManagerId(Integer id,Integer isConclusion);
/**
* 获取用户管理的项目
* @param userId
* @return
* @param userId 用户id
* @return 项目集合
*/
List<WorkProject> getUserManageProjects(Integer userId);
/**
* 获取当前用户所管理的项目/商机
* @param gmpv 自定义VO
* @return 分页
*/
PageInfo getManagerProjects(GetManagerProjectsVo gmpv);
}
......@@ -62,7 +62,7 @@ public interface WorkTimeOrderService {
* @param userId 用户id
* @param projectId 项目Id
* @param type 类型
* @return
* @return 小程序Dto
*/
List<AppletsPendApprovalDto> getExamineApplets(Integer userId, Integer projectId, Integer type);
......
......@@ -61,7 +61,7 @@ public class WorkHolidayServiceImpl implements WorkHolidayService {
return lDate;
}
*/
// 判断某个时间是否在时间段内
/** 判断某个时间是否在时间段内*/
private static boolean yearMonthBetween(Date nowDate, Date startDate, Date endDate) {
long nowTime = nowDate.getTime();
......
......@@ -5,15 +5,18 @@ import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkCentreMapper;
import cn.wisenergy.mapper.WorkDeptMapper;
import cn.wisenergy.mapper.WorkProjectMapper;
import cn.wisenergy.model.app.WorkCentre;
import cn.wisenergy.model.app.WorkDept;
import cn.wisenergy.model.app.WorkProject;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.ManagerProjectsDto;
import cn.wisenergy.model.dto.ProjectDto;
import cn.wisenergy.model.enums.LevelRankEnum;
import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.service.WorkProjectService;
import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.service.utils.UserRoleLevelUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -69,7 +72,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
}
@Override
public List<WorkProject> getNameByIds(List<Integer> ids,Integer isConclusion) {
public List<WorkProject> getNameByIds(List<Integer> ids, Integer isConclusion) {
log.info("WorkProjectServiceImpl[]getNameById[]input.param.ids:" + ids);
if (CollectionUtils.isEmpty(ids)) {
return null;
......@@ -88,7 +91,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
* @return dto
*/
@Override
public List<ProjectDto> getByManagerId(Integer id,Integer isConclusion) {
public List<ProjectDto> getByManagerId(Integer id, Integer isConclusion) {
log.info("WorkProjectServiceImpl[]getByManagerId[]input.param.id:" + id);
if (null == id) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
......@@ -103,7 +106,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
return null;
}
// WorkProject转ProjectDto
/**WorkProject转ProjectDto*/
private List<ProjectDto> workProjectToDto(List<WorkProject> workProjects) {
List<ProjectDto> projectDtos = new ArrayList<>();
......@@ -125,13 +128,13 @@ public class WorkProjectServiceImpl implements WorkProjectService {
}
WorkUser user = workUserService.getById(userId);
//普通用户
if (user.getLevel().equals(ManagerEnum.NOT_MANAGER)) {
if (user.getLevel().equals(ManagerEnum.NOT_MANAGER.getCode())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
//存放项目列表
List<WorkProject> workProjects;
//存放查询条件
HashMap<String, Object> map = new HashMap<>();
HashMap<String, Object> map = new HashMap<>(10);
//项目级别查询项目管理员为用户的项目
if (user.getLevel().equals(ManagerEnum.IS_PROJECT_DIRECTOR.getCode())) {
map.put("managerId", userId);
......@@ -147,7 +150,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
if (workCentre == null) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.CENTRE_NOT_FOUND);
}
map.put("centreId",workCentre.getId());
map.put("centreId", workCentre.getId());
//获取中心下的部门信息
List<WorkDept> workDepts = workDeptMapper.getDeptByCondition(map);
if (CollectionUtils.isEmpty(workDepts)) {
......@@ -162,4 +165,85 @@ public class WorkProjectServiceImpl implements WorkProjectService {
return workProjects;
}
@Override
public PageInfo getManagerProjects(GetManagerProjectsVo gmpv) {
if (null == gmpv) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
// 判断user是否是管理
WorkUser user = workUserService.getById(gmpv.getUserId());
if (null == user) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_USER_INFO_FAIL);
}
// 判断用户权限
List<Integer> roles = UserRoleLevelUtils.getRole(gmpv.getUserId());
if (roles.get(0).equals(ManagerEnum.NOT_MANAGER.getCode())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
List<Integer> levelIds = UserRoleLevelUtils.getlevelIds(roles);
if (CollectionUtils.isEmpty(levelIds)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.LEAVE_JOB_USER);
}
List<WorkLevel> workLevels = UserRoleLevelUtils.getlevelByIds(levelIds);
if (CollectionUtils.isEmpty(workLevels)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.LEAVE_JOB_USER);
}
for (WorkLevel workLevel : workLevels) {
System.out.println("workLevel = " + workLevel);
}
Integer rank = null;
for (WorkLevel level : workLevels) {
if ("项目/商机管理".equals(level.getName())) {
rank = level.getRank();
break;
}
}
if (null == rank) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.LEAVE_JOB_USER);
}
int page = gmpv.getPage() == null ? 1 : gmpv.getPage();
int pageSize = gmpv.getPageSize() == null ? 10 : gmpv.getPageSize();
int isConclusion = gmpv.getIsConclusion() == null ? 1 : gmpv.getIsConclusion();
int type = gmpv.getType() == null ? 1 : gmpv.getType();
PageHelper.startPage(page, pageSize);
List<ManagerProjectsDto> managerProjectsDto;
// 中心负责人
if (rank.equals(LevelRankEnum.CENTRAL_LEVEL.getRank())) {
List<Integer> deptIds = new ArrayList<>();
WorkCentre workCentre = workCentreMapper.getByManagerId(user.getId());
HashMap<String, Object> map = new HashMap<>(5);
map.put("centre_id", workCentre.getId());
List<WorkDept> workDeptList = workDeptMapper.getDeptByCondition(map);
workDeptList.forEach(workDept -> deptIds.add(workDept.getId()));
managerProjectsDto = workProjectMapper.getManagerProjectsDto(gmpv.getUserId(), type, isConclusion, deptIds);
return returnPageInfo(managerProjectsDto);
}
// 部门经理
if (rank.equals(LevelRankEnum.DEPARTMENT_LEVEL.getRank())) {
List<Integer> deptIds = new ArrayList<>();
deptIds.add(user.getDeptId());
managerProjectsDto = workProjectMapper.getManagerProjectsDto(gmpv.getUserId(), type, isConclusion, deptIds);
return returnPageInfo(managerProjectsDto);
}
// 项目经理
if (rank.equals(LevelRankEnum.PROJECT_LEVEL.getRank())) {
managerProjectsDto = workProjectMapper.getManagerProjectsDto(gmpv.getUserId(), type, isConclusion, null);
return returnPageInfo(managerProjectsDto);
}
throw new BaseCustomException(BASE_RESP_CODE_ENUM.LEAVE_JOB_USER);
}
private PageInfo returnPageInfo(List<ManagerProjectsDto> managerProjectsDto) {
if (CollectionUtils.isEmpty(managerProjectsDto)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_PROJECT_IS_NULL);
}
PageInfo pageInfo = new PageInfo<>(managerProjectsDto);
pageInfo.setList(managerProjectsDto);
return pageInfo;
}
}
......@@ -13,6 +13,7 @@ import cn.wisenergy.model.enums.StatusEnum;
import cn.wisenergy.service.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
......@@ -208,7 +209,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 1.判断是否重复填报
isRepeat(workTimeOrders);
// 2.每天工时累加不得超过八小时
timeNotEight(0, workTimeOrders);
timeNotEight(workTimeOrders);
int totalTime = 0;
List<WorkTimeOrder> addList = new ArrayList<>();
for (WorkTimeOrderDto dto : workTimeOrders) {
......@@ -563,14 +564,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
projectManagerDtos.add(projectManagerDto);
}
}
List<WorkType> WorkTypes = workTypeService.getByManagerId(userId);
List<WorkType> workTypes = workTypeService.getByManagerId(userId);
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.in("type", EXTERNAL_BUSINESS, INTERNAL_TRAINING, OTHER_NON_PROJECTS);
wrapper.eq("dept_id", user.getDeptId());
wrapper.in("status", COMPLETED, RE_SUBMIT);
List<WorkTimeOrder> timeOrders = workTimeOrderMapper.selectList(wrapper);
ProjectManagerDto projectManagerDto1;
for (WorkType workType : WorkTypes) {
for (WorkType workType : workTypes) {
projectManagerDto1 = new ProjectManagerDto();
Integer pendingApprovalTimes = 0;
for (WorkTimeOrder timeOrder : timeOrders) {
......@@ -628,6 +629,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// workTimeOrder TO WorkTimeOrderDto
@Override
public List<WorkTimeOrderDto> wtoToWtod(List<WorkTimeOrder> workTimeOrders) {
List<WorkTimeOrderDto> dtos = new ArrayList<>();
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
......@@ -649,21 +651,22 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 判断工单是否合法
private void isEmpty(WorkTimeOrderDto dto) {
int size = 0;
int range = 2;
if (null == dto.getType()) {
size++;
}
if (null == dto.getWorkTime() || 0 == dto.getWorkTime()) {
size++;
}
if (1 == dto.getType() || 2 == dto.getType()) {
if (null == dto.getProjectId())
if (1 == dto.getType() || range == dto.getType()) {
if (null == dto.getProjectId()) {
size++;
}
}
if (null == dto.getDes() || "".equals(dto.getDes())) {
size++;
}
if (size >= 2) {
if (size >= range) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INCOMPLETE_WORK_ORDER_INFORMATION);
}
......@@ -688,8 +691,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (CollectionUtils.isEmpty(workProjects)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.ItemType_Does_NotMatch);
}
if (null == dto.getProjectId())
if (null == dto.getProjectId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NO_JOIN_EVERY_PROJECT_PLASE_JION);
}
}
for (ProjectTypeEnum value : ProjectTypeEnum.values()) {
if (value.getReviewer() == 2) {
......@@ -704,7 +708,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
//3.每天工时累加不得超过八小时
private void timeNotEight(int count, List<WorkTimeOrderDto> list) {
private void timeNotEight( List<WorkTimeOrderDto> list) {
int count = 0;
for (WorkTimeOrderDto workOrder : list) {
isEmpty(workOrder);
count = count + workOrder.getWorkTime();
......@@ -728,16 +733,18 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
log.info("WorkOrderServiceImpl[]pageExamine[]input.param.user:{},projectId:{},type:{},page:{},size:{},status:{}" + user, projectId, type, page, size, status);
page = page == null ? 1 : page;
size = size == null ? 10 : size;
PageHelper.startPage(page, size);
if (null == projectId && null == type) {
List<ProjectManagerDto> projectManagerDto = getProjectDto(user.getId()).getProjectManagerDto();
projectId = projectManagerDto.get(0).getId();
type = projectManagerDto.get(0).getType();
}
Page<WorkTimeOrderDto> pageHelper = PageHelper.startPage(page, size);
List<WorkTimeOrder> workTimeOrders = null;
Integer level = user.getLevel();
if (0 != level) {
Integer deptId = user.getDeptId();
workTimeOrders = workTimeOrderMapper.queryByPage(status, projectId, type, deptId);
}
List<WorkTimeOrderDto> workTimeOrderDtos = new ArrayList<>();
List<WorkUser> workUsers = workUserMapper.selectList(new QueryWrapper<>());
......@@ -758,7 +765,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType()));
workTimeOrderDtos.add(workTimeOrderDto);
}
return new PageInfo<>(workTimeOrderDtos);
PageInfo<WorkTimeOrderDto> pageInfo = pageHelper.toPageInfo();
pageInfo.setList(workTimeOrderDtos);
return pageInfo;
}
......@@ -797,7 +806,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return null;
}
// 判断当天是否全部审批通过
/** 判断当天是否全部审批通过*/
@Override
public int statusYes(Integer userId, Date workDay) {
int status = PROJECT;
int size = 0;
......
package cn.wisenergy.service.utils;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkLevelMapper;
import cn.wisenergy.mapper.WorkRoleLevelMapper;
import cn.wisenergy.mapper.WorkRoleMapper;
import cn.wisenergy.mapper.WorkUserRoleMapper;
import cn.wisenergy.model.app.WorkLevel;
import cn.wisenergy.model.app.WorkRole;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import javax.annotation.PostConstruct;
import java.util.Comparator;
import java.util.List;
@Component
public class UserRoleLevelUtils {
@Autowired
private WorkRoleMapper workRoleMapper;
@Autowired
private WorkLevelMapper workLevelMapper;
@Autowired
private WorkRoleLevelMapper workRoleLevelMapper;
@Autowired
private WorkUserRoleMapper workUserRoleMapper;
public static UserRoleLevelUtils utils;
@PostConstruct
public void init(){
utils = this;
utils.workRoleMapper = workRoleMapper;
utils.workLevelMapper = workLevelMapper;
utils.workRoleLevelMapper = workRoleLevelMapper;
utils.workUserRoleMapper = workUserRoleMapper;
}
/**
* 获取用户的角色
* @param userId 用户id
* @return 角色id
*/
public static List<Integer> getRole(Integer userId) {
if (null == userId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<Integer> roleIds = utils.workUserRoleMapper.getRole(userId);
for (Integer roleId : roleIds) {
System.out.println(roleId);
}
if (CollectionUtils.isEmpty(roleIds)) {
roleIds.add(0);
return roleIds;
}
roleIds.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
});
return roleIds;
}
/**
* 获取角色的所有权限
* @param roleIds 角色ids
* @return 权限
*/
public static List<Integer> getlevelIds(List<Integer> roleIds) {
if (CollectionUtils.isEmpty(roleIds)) {
return null;
}
List<Integer> levelIds = utils.workRoleLevelMapper.getLevelIds(roleIds);
if (CollectionUtils.isEmpty(levelIds)) {
return null;
}
return levelIds;
}
public static List<WorkLevel> getlevelByIds(List<Integer> ids) {
if (CollectionUtils.isEmpty(ids)) {
return null;
}
List<WorkLevel> workLevels =utils. workLevelMapper.selectBatchIds(ids);
if (CollectionUtils.isEmpty(workLevels)) {
return null;
}
workLevels.sort(new Comparator<WorkLevel>() {
@Override
public int compare(WorkLevel o1, WorkLevel o2) {
return o2.getId()-o1.getId();
}
});
return workLevels;
}
/**
* 获取所有的角色
* @return List<WorkRole>
*/
public static List<WorkRole> getAllWorkRole() {
List<WorkRole> workRoles = utils.workRoleMapper.selectList(new QueryWrapper<>());
if (CollectionUtils.isEmpty(workRoles)) {
return null;
}
return workRoles;
}
/**
* 获取所有的权限
* @return List<WorkLevel>
*/
public static List<WorkLevel> getAllWorkLevel() {
List<WorkLevel> workLevels = utils.workLevelMapper.selectList(new QueryWrapper<>());
if (CollectionUtils.isEmpty(workLevels)) {
return null;
}
return workLevels;
}
}
package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.Result;
import cn.wisenergy.model.dto.ManagerProjectsDto;
import cn.wisenergy.model.vo.GetManagerProjectsVo;
import cn.wisenergy.service.WorkProjectService;
import cn.wisenergy.web.admin.controller.common.BaseController;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
......@@ -12,9 +23,21 @@ import org.springframework.web.bind.annotation.RestController;
**/
@RestController
@Api(tags = "项目模块")
@RequestMapping(value = "/work/project")
@Slf4j
public class WorkProjectController {
public class WorkProjectController extends BaseController {
@Autowired
private WorkProjectService workProjectService;
@ApiOperation(value = "项目/商机基础信息", notes = "项目/商机基础信息", httpMethod = "POST")
@ApiImplicitParam(name = "gmpv",value = "获取管理的项目/商机",dataType = "GetManagerProjectsVo")
@PostMapping(value = "/getProject")
public Result<PageInfo> getProject(@RequestBody GetManagerProjectsVo gmpv) {
log.info("WorkProjectController[]getProject[]input.param.GetManagerProjectsVo:{}" + gmpv);
PageInfo<ManagerProjectsDto> managerProjeets = workProjectService.getManagerProjects(gmpv);
return getResult(managerProjeets);
}
......
......@@ -112,7 +112,6 @@ public class WorkTimeOrderController extends BaseController {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
String[] split = ids.split("\\,");
System.out.println("我是传进来的数据:" + ids);
Integer[] newIds = (Integer[]) ConvertUtils.convert(split, Integer.class);
List<Integer> lists = new ArrayList<>(Arrays.asList(newIds));
System.out.println(lists);
......
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