Commit 34c0c27f authored by cq990612's avatar cq990612

优化代码结构

parent ba04204a
......@@ -79,6 +79,8 @@ public enum BASE_RESP_CODE_ENUM {
NO_AUTHORITY("657", "暂无该权限"),
THEPERIOD_CANNOT_BELESS_THANONEDAY("658", "设置的期限不能小于1天"),
DUPLICATE_HOLIDAY_NAME("659", "节假日名称重复"),
DEPARTMENT_MANAGER_ALREADY_EXISTS("660", "该部门已有部门负责人"),
CENTERMANAGERALREADYEXISTS("661","该中心已经有中心负责人")
;
......
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkCentre;
import cn.wisenergy.model.app.WorkCollect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface WorkCentreMapper extends BaseMapper<WorkCollect> {
public interface WorkCentreMapper extends BaseMapper<WorkCentre> {
WorkCentre getByManagerId(Integer userId);
......
......@@ -36,7 +36,7 @@ public class WorkDept implements Serializable {
private String oaDeptId;
@ApiModelProperty(name = "centreId", value = "部门所属中心的主键")
private String centreId;
private Integer centreId;
@ApiModelProperty(name = "createTime",value = "创建时间")
private Date createTime;
......
......@@ -18,4 +18,7 @@ public class WorkRole {
@ApiModelProperty(name = "name",value = "角色名")
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 {
List<WorkDept> getDeptInfo(Integer deptId);
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 {
}
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 {
// 向workProjectChange插入内容
List<WorkProjectChange> workProjectChanges = new ArrayList<>();
if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason())) {
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason())) {
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.setReason(modifyProjectVo.getStartTimeReason());
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.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.setReason(modifyProjectVo.getEndTimeReason());
workProjectChanges.add(workProjectChange);
}
if (null != modifyProjectVo.getWorkTime()) {
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
workProjectChange.setChangeType(2);
workProjectChange.setModifyBefore(workProject.getWorkTime().toString());
workProjectChange.setModifyAfter(modifyProjectVo.getWorkTime().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
......@@ -345,6 +352,9 @@ public class WorkProjectServiceImpl implements WorkProjectService {
workProjectChanges.add(workProjectChange);
}
if (null != modifyProjectVo.getCostBudget()) {
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
workProjectChange.setChangeType(1);
workProjectChange.setModifyBefore(workProject.getCostBudget().toString());
workProjectChange.setModifyAfter(modifyProjectVo.getCostBudget().setScale(2, BigDecimal.ROUND_HALF_UP).toString());
......
......@@ -546,11 +546,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
projectsDto.setProjectInfoDto(getProjectInfoDto(userId));
// 3.获取可审批的项目
List<UserRoleLevelDto> roleUserLevel = UserRoleLevelUtils.getRoleUserLevel(userId);
if (CollectionUtils.isEmpty(roleUserLevel)) {
return projectsDto;
}
for (UserRoleLevelDto userRoleLevelDto : roleUserLevel) {
// 如果有审批权限
if (LevelEnum.EXAMINE.getLevelName().equals(userRoleLevelDto.getLevelName())) {
......@@ -581,6 +579,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
if (LevelRankEnum.DEPARTMENT_LEVEL.getRank().equals(userRoleLevelDto.getRank()) || LevelRankEnum.CENTRAL_LEVEL.getRank().equals(userRoleLevelDto.getRank())) {
List<WorkTypeManager> workTypeManagers = workTypeManagerService.getByManagerId(userId);
if (!CollectionUtils.isEmpty(workTypeManagers)) {
Set<Integer> set = new TreeSet<>();
workTypeManagers.forEach(type -> set.add(type.getType()));
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
......@@ -603,6 +602,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
}
}
Collections.sort(projectManagerDtos);
projectsDto.setProjectManagerDto(projectManagerDtos);
return projectsDto;
......@@ -615,6 +615,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
private List<ProjectInfoDto> getProjectInfoDto(Integer userId) {
// 获取该用户参与的项目
List<Integer> projectIds = workUserProjectService.getProjectIdByUserId(userId);
// 1.获取当前用户的部门管理
Integer deptId = workUserService.getById(userId).getDeptId();
......@@ -623,16 +624,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<ProjectInfoDto> projectList = new ArrayList<>();
// 3.获取正在进行中的项目/商机
List<WorkProject> projects = workProjectService.getNameByIds(projectIds, 1);
if (CollectionUtils.isEmpty(projects)) {
return projectList;
}
ProjectInfoDto projectInfoDto;
List<WorkType> workTypes = workTypeService.getAll();
if (!CollectionUtils.isEmpty(workTypes)) {
for (WorkType value : workTypes) {
projectInfoDto = new ProjectInfoDto().setType(value.getId()).setTypeName(value.getName()).setDeptManagerName(deptManagerName);
if (1 == value.getReviewer()) {
if (!CollectionUtils.isEmpty(projectIds)) {
if (!CollectionUtils.isEmpty(projects)) {
List<ProjectDto> projectDtos = new ArrayList<>();
for (WorkProject project : projects) {
if (project.getType().equals(value.getId())) {
......@@ -648,6 +647,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
projectList.add(projectInfoDto);
}
}
return projectList;
}
......
......@@ -7,12 +7,11 @@ import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkRoleMapper;
import cn.wisenergy.mapper.WorkUserMapper;
import cn.wisenergy.mapper.WorkUserRoleMapper;
import cn.wisenergy.model.app.WorkRole;
import cn.wisenergy.model.app.WorkSubmitAdopt;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.enums.LevelEnum;
import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.service.WorkCentreService;
import cn.wisenergy.service.WorkDeptService;
import cn.wisenergy.service.WorkSubmitAdoptService;
import cn.wisenergy.service.WorkUserService;
......@@ -53,6 +52,10 @@ public class WorkUserServiceImpl implements WorkUserService {
@Autowired
private WorkDeptService workDeptService;
@Autowired
private WorkCentreService workCentreService;
@Autowired
private WorkRoleMapper workRoleMapper;
......@@ -190,6 +193,22 @@ public class WorkUserServiceImpl implements WorkUserService {
if (null == workUser) {
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);
if (1 == roleIds.size() && 0 == roleIds.get(0)) {
return true;
......@@ -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);
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