Commit 3619954e authored by nie'hong's avatar nie'hong

Merge remote-tracking branch 'origin/chenqi' into chenqi

parents 5f45b625 34c0c27f
...@@ -79,6 +79,8 @@ public enum BASE_RESP_CODE_ENUM { ...@@ -79,6 +79,8 @@ public enum BASE_RESP_CODE_ENUM {
NO_AUTHORITY("657", "暂无该权限"), NO_AUTHORITY("657", "暂无该权限"),
THEPERIOD_CANNOT_BELESS_THANONEDAY("658", "设置的期限不能小于1天"), THEPERIOD_CANNOT_BELESS_THANONEDAY("658", "设置的期限不能小于1天"),
DUPLICATE_HOLIDAY_NAME("659", "节假日名称重复"), DUPLICATE_HOLIDAY_NAME("659", "节假日名称重复"),
DEPARTMENT_MANAGER_ALREADY_EXISTS("660", "该部门已有部门负责人"),
CENTERMANAGERALREADYEXISTS("661","该中心已经有中心负责人")
; ;
......
package cn.wisenergy.mapper; package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkCentre; import cn.wisenergy.model.app.WorkCentre;
import cn.wisenergy.model.app.WorkCollect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface WorkCentreMapper extends BaseMapper<WorkCollect> { public interface WorkCentreMapper extends BaseMapper<WorkCentre> {
WorkCentre getByManagerId(Integer userId); WorkCentre getByManagerId(Integer userId);
......
...@@ -36,7 +36,7 @@ public class WorkDept implements Serializable { ...@@ -36,7 +36,7 @@ public class WorkDept implements Serializable {
private String oaDeptId; private String oaDeptId;
@ApiModelProperty(name = "centreId", value = "部门所属中心的主键") @ApiModelProperty(name = "centreId", value = "部门所属中心的主键")
private String centreId; private Integer centreId;
@ApiModelProperty(name = "createTime",value = "创建时间") @ApiModelProperty(name = "createTime",value = "创建时间")
private Date createTime; private Date createTime;
......
...@@ -18,4 +18,7 @@ public class WorkRole { ...@@ -18,4 +18,7 @@ public class WorkRole {
@ApiModelProperty(name = "name",value = "角色名") @ApiModelProperty(name = "name",value = "角色名")
private String name; private String name;
@ApiModelProperty(name = "onlyOne",value = "是否只能有一个:0:多个,1:一个")
private Integer onlyOne;
} }
package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkCentre;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public interface WorkCentreService {
WorkCentre getCentreById(Integer id);
Boolean updateManagerIdIsNullById(Integer id);
}
...@@ -25,4 +25,6 @@ public interface WorkDeptService { ...@@ -25,4 +25,6 @@ public interface WorkDeptService {
List<WorkDept> getDeptInfo(Integer deptId); List<WorkDept> getDeptInfo(Integer deptId);
List<OrganizationStructureDto> getAllDeptByAllCentreId(); List<OrganizationStructureDto> getAllDeptByAllCentreId();
Boolean updateManagerIdISNullById(Integer id);
} }
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.WorkCentreMapper;
import cn.wisenergy.model.app.WorkCentre;
import cn.wisenergy.service.WorkCentreService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Service
@Slf4j
public class WorkCentreServiceImpl implements WorkCentreService {
@Autowired
private WorkCentreMapper workCentreMapper;
@Override
public WorkCentre getCentreById(Integer id) {
log.info("WorkCentreServiceImpl[]getCentreById[]input.param.id:{}" + id);
if (null == id) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkCentre workCentre = workCentreMapper.selectById(id);
if (null != workCentre) {
return workCentre;
}
return null;
}
@Override
public Boolean updateManagerIdIsNullById(Integer id) {
log.info("WorkCentreServiceImpl[]updateManagerIdIsNullById[]input.param.id" + id);
if (null == id) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkCentre workCentre = new WorkCentre();
workCentre.setId(id);
workCentre.setCentre_manager_id(null);
int i = workCentreMapper.updateById(workCentre);
return i>0;
}
}
...@@ -67,4 +67,17 @@ public class WorkDeptServiceImpl implements WorkDeptService { ...@@ -67,4 +67,17 @@ public class WorkDeptServiceImpl implements WorkDeptService {
} }
return allDeptByAllCentre; return allDeptByAllCentre;
} }
@Override
public Boolean updateManagerIdISNullById(Integer id) {
log.info("WorkDeptServiceImpl[]updateManagerIdISNullById[]input.param.id:{}" + id);
if (null == id) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkDept workDept = new WorkDept();
workDept.setId(id);
workDept.setDeptManagerId(null);
int i = workDeptMapper.updateById(workDept);
return i > 0;
}
} }
...@@ -320,24 +320,31 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -320,24 +320,31 @@ public class WorkProjectServiceImpl implements WorkProjectService {
// 向workProjectChange插入内容 // 向workProjectChange插入内容
List<WorkProjectChange> workProjectChanges = new ArrayList<>(); List<WorkProjectChange> workProjectChanges = new ArrayList<>();
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason())) { if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason())) {
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
workProjectChange.setChangeType(3); workProjectChange.setChangeType(3);
workProjectChange.setModifyBefore(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(), "yyyy-MM-dd")); workProjectChange.setModifyBefore(DateUtil.convertDateToStr(workProject.getStartTime(), "yyyy-MM-dd"));
workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(), "yyyy-MM-dd")); workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getStartTime(), "yyyy-MM-dd"));
workProjectChange.setReason(modifyProjectVo.getStartTimeReason()); workProjectChange.setReason(modifyProjectVo.getStartTimeReason());
workProjectChanges.add(workProjectChange); workProjectChanges.add(workProjectChange);
} }
if (null != modifyProjectVo.getEndTime()) { if (null != modifyProjectVo.getEndTime())
{WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
workProjectChange.setChangeType(4); workProjectChange.setChangeType(4);
workProjectChange.setModifyBefore(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(), "yyyy-MM-dd")); workProjectChange.setModifyBefore(DateUtil.convertDateToStr(workProject.getEndTime(), "yyyy-MM-dd"));
workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(), "yyyy-MM-dd")); workProjectChange.setModifyAfter(DateUtil.convertDateToStr(modifyProjectVo.getEndTime(), "yyyy-MM-dd"));
workProjectChange.setReason(modifyProjectVo.getEndTimeReason()); workProjectChange.setReason(modifyProjectVo.getEndTimeReason());
workProjectChanges.add(workProjectChange); workProjectChanges.add(workProjectChange);
} }
if (null != modifyProjectVo.getWorkTime()) { if (null != modifyProjectVo.getWorkTime()) {
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
workProjectChange.setChangeType(2); workProjectChange.setChangeType(2);
workProjectChange.setModifyBefore(workProject.getWorkTime().toString()); workProjectChange.setModifyBefore(workProject.getWorkTime().toString());
workProjectChange.setModifyAfter(modifyProjectVo.getWorkTime().setScale(2, BigDecimal.ROUND_HALF_UP).toString()); workProjectChange.setModifyAfter(modifyProjectVo.getWorkTime().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
...@@ -345,6 +352,9 @@ public class WorkProjectServiceImpl implements WorkProjectService { ...@@ -345,6 +352,9 @@ public class WorkProjectServiceImpl implements WorkProjectService {
workProjectChanges.add(workProjectChange); workProjectChanges.add(workProjectChange);
} }
if (null != modifyProjectVo.getCostBudget()) { if (null != modifyProjectVo.getCostBudget()) {
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
workProjectChange.setChangeType(1); workProjectChange.setChangeType(1);
workProjectChange.setModifyBefore(workProject.getCostBudget().toString()); workProjectChange.setModifyBefore(workProject.getCostBudget().toString());
workProjectChange.setModifyAfter(modifyProjectVo.getCostBudget().setScale(2, BigDecimal.ROUND_HALF_UP).toString()); workProjectChange.setModifyAfter(modifyProjectVo.getCostBudget().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
......
...@@ -546,11 +546,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -546,11 +546,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
projectsDto.setProjectInfoDto(getProjectInfoDto(userId)); projectsDto.setProjectInfoDto(getProjectInfoDto(userId));
// 3.获取可审批的项目 // 3.获取可审批的项目
List<UserRoleLevelDto> roleUserLevel = UserRoleLevelUtils.getRoleUserLevel(userId); List<UserRoleLevelDto> roleUserLevel = UserRoleLevelUtils.getRoleUserLevel(userId);
if (CollectionUtils.isEmpty(roleUserLevel)) { if (CollectionUtils.isEmpty(roleUserLevel)) {
return projectsDto; return projectsDto;
} }
for (UserRoleLevelDto userRoleLevelDto : roleUserLevel) { for (UserRoleLevelDto userRoleLevelDto : roleUserLevel) {
// 如果有审批权限 // 如果有审批权限
if (LevelEnum.EXAMINE.getLevelName().equals(userRoleLevelDto.getLevelName())) { if (LevelEnum.EXAMINE.getLevelName().equals(userRoleLevelDto.getLevelName())) {
...@@ -581,26 +579,28 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -581,26 +579,28 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
if (LevelRankEnum.DEPARTMENT_LEVEL.getRank().equals(userRoleLevelDto.getRank()) || LevelRankEnum.CENTRAL_LEVEL.getRank().equals(userRoleLevelDto.getRank())) { if (LevelRankEnum.DEPARTMENT_LEVEL.getRank().equals(userRoleLevelDto.getRank()) || LevelRankEnum.CENTRAL_LEVEL.getRank().equals(userRoleLevelDto.getRank())) {
List<WorkTypeManager> workTypeManagers = workTypeManagerService.getByManagerId(userId); List<WorkTypeManager> workTypeManagers = workTypeManagerService.getByManagerId(userId);
Set<Integer> set = new TreeSet<>(); if (!CollectionUtils.isEmpty(workTypeManagers)) {
workTypeManagers.forEach(type -> set.add(type.getType())); Set<Integer> set = new TreeSet<>();
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>(); workTypeManagers.forEach(type -> set.add(type.getType()));
wrapper.in("type", set); QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("dept_id", user.getDeptId()); wrapper.in("type", set);
wrapper.in("status", COMPLETED, RE_SUBMIT); wrapper.eq("dept_id", user.getDeptId());
List<WorkTimeOrder> timeOrders = workTimeOrderMapper.selectList(wrapper); wrapper.in("status", COMPLETED, RE_SUBMIT);
ProjectManagerDto projectManagerDto1; List<WorkTimeOrder> timeOrders = workTimeOrderMapper.selectList(wrapper);
for (WorkTypeManager workTypeManager : workTypeManagers) { ProjectManagerDto projectManagerDto1;
projectManagerDto1 = new ProjectManagerDto(); for (WorkTypeManager workTypeManager : workTypeManagers) {
Integer pendingApprovalTimes = 0; projectManagerDto1 = new ProjectManagerDto();
for (WorkTimeOrder timeOrder : timeOrders) { Integer pendingApprovalTimes = 0;
if (workTypeManager.getType().equals(timeOrder.getType())) { for (WorkTimeOrder timeOrder : timeOrders) {
pendingApprovalTimes++; if (workTypeManager.getType().equals(timeOrder.getType())) {
pendingApprovalTimes++;
}
} }
} projectManagerDto1.setPendingApprovalTimes(pendingApprovalTimes);
projectManagerDto1.setPendingApprovalTimes(pendingApprovalTimes); projectManagerDto1.setType(workTypeManager.getType()).setTypeName(workTypeManager.getName());
projectManagerDto1.setType(workTypeManager.getType()).setTypeName(workTypeManager.getName()); projectManagerDtos.add(projectManagerDto1);
projectManagerDtos.add(projectManagerDto1);
}
} }
} }
Collections.sort(projectManagerDtos); Collections.sort(projectManagerDtos);
...@@ -615,6 +615,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -615,6 +615,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
private List<ProjectInfoDto> getProjectInfoDto(Integer userId) { private List<ProjectInfoDto> getProjectInfoDto(Integer userId) {
// 获取该用户参与的项目 // 获取该用户参与的项目
List<Integer> projectIds = workUserProjectService.getProjectIdByUserId(userId); List<Integer> projectIds = workUserProjectService.getProjectIdByUserId(userId);
// 1.获取当前用户的部门管理 // 1.获取当前用户的部门管理
Integer deptId = workUserService.getById(userId).getDeptId(); Integer deptId = workUserService.getById(userId).getDeptId();
...@@ -623,16 +624,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -623,16 +624,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<ProjectInfoDto> projectList = new ArrayList<>(); List<ProjectInfoDto> projectList = new ArrayList<>();
// 3.获取正在进行中的项目/商机 // 3.获取正在进行中的项目/商机
List<WorkProject> projects = workProjectService.getNameByIds(projectIds, 1); List<WorkProject> projects = workProjectService.getNameByIds(projectIds, 1);
if (CollectionUtils.isEmpty(projects)) {
return projectList;
}
ProjectInfoDto projectInfoDto; ProjectInfoDto projectInfoDto;
List<WorkType> workTypes = workTypeService.getAll(); List<WorkType> workTypes = workTypeService.getAll();
if (!CollectionUtils.isEmpty(workTypes)) { if (!CollectionUtils.isEmpty(workTypes)) {
for (WorkType value : workTypes) { for (WorkType value : workTypes) {
projectInfoDto = new ProjectInfoDto().setType(value.getId()).setTypeName(value.getName()).setDeptManagerName(deptManagerName); projectInfoDto = new ProjectInfoDto().setType(value.getId()).setTypeName(value.getName()).setDeptManagerName(deptManagerName);
if (1 == value.getReviewer()) { if (1 == value.getReviewer()) {
if (!CollectionUtils.isEmpty(projectIds)) { if (!CollectionUtils.isEmpty(projects)) {
List<ProjectDto> projectDtos = new ArrayList<>(); List<ProjectDto> projectDtos = new ArrayList<>();
for (WorkProject project : projects) { for (WorkProject project : projects) {
if (project.getType().equals(value.getId())) { if (project.getType().equals(value.getId())) {
...@@ -648,6 +647,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -648,6 +647,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
projectList.add(projectInfoDto); projectList.add(projectInfoDto);
} }
} }
return projectList; return projectList;
} }
......
...@@ -7,12 +7,11 @@ import cn.wisenergy.common.utils.exception.BaseCustomException; ...@@ -7,12 +7,11 @@ import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkRoleMapper; import cn.wisenergy.mapper.WorkRoleMapper;
import cn.wisenergy.mapper.WorkUserMapper; import cn.wisenergy.mapper.WorkUserMapper;
import cn.wisenergy.mapper.WorkUserRoleMapper; import cn.wisenergy.mapper.WorkUserRoleMapper;
import cn.wisenergy.model.app.WorkRole; import cn.wisenergy.model.app.*;
import cn.wisenergy.model.app.WorkSubmitAdopt;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.*; import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.enums.LevelEnum; import cn.wisenergy.model.enums.LevelEnum;
import cn.wisenergy.model.enums.ManagerEnum; import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.service.WorkCentreService;
import cn.wisenergy.service.WorkDeptService; import cn.wisenergy.service.WorkDeptService;
import cn.wisenergy.service.WorkSubmitAdoptService; import cn.wisenergy.service.WorkSubmitAdoptService;
import cn.wisenergy.service.WorkUserService; import cn.wisenergy.service.WorkUserService;
...@@ -53,6 +52,10 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -53,6 +52,10 @@ public class WorkUserServiceImpl implements WorkUserService {
@Autowired @Autowired
private WorkDeptService workDeptService; private WorkDeptService workDeptService;
@Autowired
private WorkCentreService workCentreService;
@Autowired @Autowired
private WorkRoleMapper workRoleMapper; private WorkRoleMapper workRoleMapper;
...@@ -190,6 +193,22 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -190,6 +193,22 @@ public class WorkUserServiceImpl implements WorkUserService {
if (null == workUser) { if (null == workUser) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_DATA_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_DATA_IS_NULL);
} }
WorkDept workDept = workDeptService.getById(workUser.getDeptId());
WorkCentre centre = workCentreService.getCentreById(workDept.getCentreId());
List<Integer> roles = workUserRoleMapper.getRole(userId);
if (!CollectionUtils.isEmpty(roles)) {
for (Integer role : roles) {
// 部门经理
// TODO
if (2 == role) {
workDeptService.updateManagerIdISNullById(workDept.getDeptManagerId());
}
if (3 == role) {
workCentreService.updateManagerIdIsNullById(centre.getId());
}
}
}
workUserRoleMapper.deleteByUserId(userId); workUserRoleMapper.deleteByUserId(userId);
if (1 == roleIds.size() && 0 == roleIds.get(0)) { if (1 == roleIds.size() && 0 == roleIds.get(0)) {
return true; return true;
...@@ -202,6 +221,24 @@ public class WorkUserServiceImpl implements WorkUserService { ...@@ -202,6 +221,24 @@ public class WorkUserServiceImpl implements WorkUserService {
} }
} }
for (Integer roleId : roleIds) {
// 设置部门经理
if (2 == roleId) {
if (!(null == workDept.getDeptManagerId() || userId.equals(workDept.getDeptManagerId()))) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPARTMENT_MANAGER_ALREADY_EXISTS);
}
}
// 设置中心管理员
if (3 == roleId) {
if (!(null == centre.getCentre_manager_id() || userId.equals(centre.getCentre_manager_id()))) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.CENTERMANAGERALREADYEXISTS);
}
}
}
workUserRoleMapper.insertBatch(userId, roleIds); workUserRoleMapper.insertBatch(userId, roleIds);
return true; return true;
} }
......
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