Commit 01f4ef8f authored by cq990612's avatar cq990612

优化代码结构

parent 0b7107d6
...@@ -58,6 +58,7 @@ public enum BASE_RESP_CODE_ENUM { ...@@ -58,6 +58,7 @@ public enum BASE_RESP_CODE_ENUM {
TIME_NOT_IS_NULL("636","工时不能为0"), TIME_NOT_IS_NULL("636","工时不能为0"),
WORKDAY_NOT_NULL("637","工时日期不能为空"), WORKDAY_NOT_NULL("637","工时日期不能为空"),
PROJECT_NOT_NULL("638","项目类型不能为空"), PROJECT_NOT_NULL("638","项目类型不能为空"),
NOT_MANAGER_TYPE("642","没有可以管理的类型项目"),
; ;
......
...@@ -65,4 +65,11 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> { ...@@ -65,4 +65,11 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> {
* @return * @return
*/ */
List<Date> getDaysByDateAndStatus(@Param("firstDayOfMonth") Date firstDayOfMonth,@Param("userId") Integer userId); List<Date> getDaysByDateAndStatus(@Param("firstDayOfMonth") Date firstDayOfMonth,@Param("userId") Integer userId);
/**
* 清空某条数据
* @param workId
* @return
*/
int updateToNull(Integer workId);
} }
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface WorkTypeMapper extends BaseMapper<WorkType> {
}
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
status=#{status}, status=#{status},
</if> </if>
<if test="null !=totalTime"> <if test="null !=totalTime">
total_time = total_time + #{totalTime}, total_time = #{totalTime},
</if> </if>
modify_time = now() modify_time = now()
</set> </set>
......
...@@ -86,6 +86,13 @@ ...@@ -86,6 +86,13 @@
SET status = 3,reason = #{reason},reviewer_id = #{reviewerId},modify_time=now() SET status = 3,reason = #{reason},reviewer_id = #{reviewerId},modify_time=now()
WHERE work_id = #{id} WHERE work_id = #{id}
</update> </update>
<update id="updateToNull">
UPDATE
<include refid="table"/>
SET project_id=null,dept_id=null,des=null,reason=null,reviewer_id=null,modify_time=now()
WHERE work_id = #{workId}
</update>
<select id="getByDay" resultType="cn.wisenergy.model.app.WorkTimeOrder"> <select id="getByDay" resultType="cn.wisenergy.model.app.WorkTimeOrder">
......
...@@ -12,7 +12,7 @@ import java.util.Date; ...@@ -12,7 +12,7 @@ import java.util.Date;
/** /**
* <p> * <p>
* *
* </p> * </p>
* *
* @author chenqi * @author chenqi
...@@ -20,52 +20,52 @@ import java.util.Date; ...@@ -20,52 +20,52 @@ import java.util.Date;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="WorkTimeOrder", description="工时单实体类") @ApiModel(value = "WorkTimeOrder", description = "工时单实体类")
public class WorkTimeOrder implements Serializable { public class WorkTimeOrder implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(name = "workId",value = "主键id") @ApiModelProperty(name = "workId", value = "主键id")
@TableId(value = "work_id", type = IdType.AUTO) @TableId(value = "work_id", type = IdType.AUTO)
private Integer workId; private Integer workId;
@ApiModelProperty(name = "userId",value = "用户id") @ApiModelProperty(name = "userId", value = "用户id")
private Integer userId; private Integer userId;
@ApiModelProperty(name = "projectId",value = "项目id") @ApiModelProperty(name = "projectId", value = "项目id")
private Integer projectId; private Integer projectId;
@ApiModelProperty(name = "deptId",value = "用户部门主键") @ApiModelProperty(name = "deptId", value = "用户部门主键")
private Integer deptId; private Integer deptId;
@ApiModelProperty(name = "workTime",value = "工时(整数)") @ApiModelProperty(name = "workTime", value = "工时(整数)")
private Integer workTime; private Integer workTime;
@ApiModelProperty(name = "workDay",value = "工单日期") @ApiModelProperty(name = "workDay", value = "工单日期")
private Date workDay; private Date workDay;
@ApiModelProperty(name = "status",value = "工单审核状态 1:已填报,2:已审批,3:被驳回 4:重新提交 5:自动审核") @ApiModelProperty(name = "status", value = "工单审核状态 1:已填报,2:已审批,3:被驳回 4:重新提交 5:自动审核")
private Integer status; private Integer status;
@ApiModelProperty(name = "reviewerId",value = "审核人userId") @ApiModelProperty(name = "reviewerId", value = "审核人userId")
private Integer reviewerId; private Integer reviewerId;
@ApiModelProperty(name = "des",value = "工作简述") @ApiModelProperty(name = "des", value = "工作简述")
private String des; private String des;
@ApiModelProperty(name = "reason",value = "审核理由") @ApiModelProperty(name = "reason", value = "审核理由")
private String reason; private String reason;
@ApiModelProperty(name = "type",value = "1:项目,2:商机,3:请假,4:调休,5:外部商务、技术交流 6:内部培训、技术准备、管理 7:其他非项目/商机工作") @ApiModelProperty(name = "type", value = "1:项目,2:商机,3:请假,4:调休,5:外部商务、技术交流 6:内部培训、技术准备、管理 7:其他非项目/商机工作")
private Integer type; private Integer type;
@ApiModelProperty(name = "isOvertime",value = "0:正常工时,1:加班") @ApiModelProperty(name = "isOvertime", value = "0:正常工时,1:加班")
private Integer isOvertime; private Integer isOvertime;
@ApiModelProperty(name = "createTime",value = "工单创建时间") @ApiModelProperty(name = "createTime", value = "工单创建时间")
private Date createTime; private Date createTime;
@ApiModelProperty(name = "modifyTime",value = "工单修改时间") @ApiModelProperty(name = "modifyTime", value = "工单修改时间")
private Date modifyTime; private Date modifyTime;
} }
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="WorkType", description="其他项目类型类")
public class WorkType {
@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;
}
...@@ -24,8 +24,8 @@ public class ProjectInfoDto { ...@@ -24,8 +24,8 @@ public class ProjectInfoDto {
@ApiModelProperty(name = "typeName",value = "类型名称") @ApiModelProperty(name = "typeName",value = "类型名称")
private String typeName; private String typeName;
@ApiModelProperty(name = "deptManagerName",value = "部门经理姓名") @ApiModelProperty(name = "managerName",value = "部门经理姓名")
private String deptManagerName; private String managerName;
private List<ProjectDto> projectDto; private List<ProjectDto> projectDto;
......
...@@ -40,7 +40,7 @@ public class WorkTimeOrderDto { ...@@ -40,7 +40,7 @@ public class WorkTimeOrderDto {
private String projectName; private String projectName;
@ApiModelProperty(name = "projectManagerName",value = "项目经理") @ApiModelProperty(name = "projectManagerName",value = "项目经理")
private String projectManagerName; private String managerName;
@ApiModelProperty(name = "workTime",value = "工时(整数)") @ApiModelProperty(name = "workTime",value = "工时(整数)")
private Integer workTime; private Integer workTime;
......
...@@ -119,4 +119,13 @@ public interface WorkTimeOrderService { ...@@ -119,4 +119,13 @@ public interface WorkTimeOrderService {
List<WorkTimeOrderDto> wtoToWtod(List<WorkTimeOrder> workTimeOrders); List<WorkTimeOrderDto> wtoToWtod(List<WorkTimeOrder> workTimeOrders);
/**
* 功能:测试添加
* @param createWorkOrderDto
* @return
*/
List<WorkTimeOrderDto> addTest(CreateWorkOrderDto createWorkOrderDto);
} }
package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkType;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
public interface WorkTypeService {
/**
* 功能:根据审核人id获取
* @param userId
* @return
*/
List<WorkType> getByManagerId(Integer userId);
/**
* 功能:根据部门id获取
* @param deptId
* @return
*/
List<WorkType> getByDeptId(Integer deptId);
/**
* 功能: 根据类型获取
* @param type
* @return
*/
List<WorkType> getByType(Integer type);
/**
* 功能:查看有哪些其他Type
* @return
*/
List<WorkType> getType();
}
...@@ -19,10 +19,7 @@ import org.springframework.util.CollectionUtils; ...@@ -19,10 +19,7 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/** /**
* <p> * <p>
...@@ -63,6 +60,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -63,6 +60,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
@Autowired @Autowired
private WorkUserProjectService workUserProjectService; private WorkUserProjectService workUserProjectService;
@Autowired
private WorkTypeService workTypeService;
/** /**
* 功能; 获取某日填报情况 * 功能; 获取某日填报情况
...@@ -169,6 +169,104 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -169,6 +169,104 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
/**
* 功能:测试添加
*
* @param createWorkOrderDto
* @return
*/
@Transactional
@Override
public List<WorkTimeOrderDto> addTest(CreateWorkOrderDto createWorkOrderDto) {
log.info("WorkTimeOderServiceImpl[]addTest[]input.param.creatWorkOrderDto" + createWorkOrderDto);
List<WorkTimeOrderDto> workTimeOrders = createWorkOrderDto.getWorkTimeOrders();
Date date = new Date();
WorkSubmitAdopt workSubmitAdopt = workSubmitAdoptService.getById(1);
Integer submitTime = workSubmitAdopt.getSubmitTime();
// 检查工单
// 1.判断是否重复填报
isRepeat(workTimeOrders);
// 2.每天工时累加不得超过八小时
timeNotEight(0, workTimeOrders);
int totalTime = 0;
int size = 0;
List<Integer> typeList = new ArrayList<>();
for (WorkTimeOrderDto dto : workTimeOrders) {
// 3.判断工单是否合法
isEmpty(dto);
// 4、默认设置超过系统默认3天(包括驳回3天)未填报的工时将不能填报
System.out.println("判断是否超过三天");
if (date.getTime() - dto.getWorkDay().getTime() > submitTime * 24 * 60 * 60 * 1000) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE);
}
// 获取某些数据
Integer type = dto.getType();
dto.setUserName(workUserService.getById(dto.getUserId()).getName());
dto.setTypeName(getTypeName(type));
if (1 == type || 2 == type) {
dto.setProjectName(workProjectService.getById(dto.getProjectId()).getProjectName());
dto.setManagerName(workUserService.getById(workProjectService.getById(dto.getProjectId()).getManagerId()).getName());
}
if (1 != type && 2 != type) {
dto.setManagerName(workUserService.getById(workTypeService.getByDeptId(workUserService.getById(dto.getUserId()).getDeptId()).get(0).getManagerId()).getName());
}
dto.setStatus(1);
if (3 == type || 4 == type) {
size++;
dto.setStatus(2);
}
dto.setIsOvertime(0);
if (workHolidayService.isHoliday(dto.getWorkDay())) {
dto.setIsOvertime(1);
}
WorkTimeOrder workTimeOrder = new WorkTimeOrder();
workTimeOrder.setDeptId(workUserDeptService.getDeptIdByUserId(dto.getUserId()));
BeanUtils.copyProperties(dto, workTimeOrder);
// 修改
if (null != dto.getWorkId()) {
workTimeOrderMapper.updateToNull(dto.getWorkId());
workTimeOrderMapper.updateById(workTimeOrder);
}
// 插入
if (null == dto.getWorkId() || 0 == dto.getWorkId()) {
workTimeOrderMapper.save(workTimeOrder);
dto.setWorkId(workTimeOrder.getWorkId());
}
typeList.add(type);
totalTime += dto.getWorkTime();
BeanUtils.copyProperties(workTimeOrder, dto);
}
int status = 1;
if (size == typeList.size()) {
status = 2;
}
WorkCollect workCollect = workCollectService.getByUserIdAndWorkDay(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
if (null == workCollect) {
workCollect = new WorkCollect();
BeanUtils.copyProperties(workTimeOrders.get(0), workCollect);
workCollect.setTotalTime(totalTime);
workCollect.setStatus(status);
workCollectService.insertCollect(workCollect);
}
if (null != workCollect) {
workCollect = new WorkCollect();
BeanUtils.copyProperties(workTimeOrders.get(0), workCollect);
workCollect.setTotalTime(totalTime);
workCollect.setStatus(status);
workCollectService.update(workCollect);
}
return workTimeOrders;
}
/** /**
* 功能: 驳回重新填报 * 功能: 驳回重新填报
* *
...@@ -321,9 +419,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -321,9 +419,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
WorkTimeOrderDto workTimeOrderDto = new WorkTimeOrderDto(); WorkTimeOrderDto workTimeOrderDto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, workTimeOrderDto); BeanUtils.copyProperties(workTimeOrder, workTimeOrderDto);
workTimeOrderDto.setUserName(workUserService.getById(workTimeOrderDto.getUserId()).getName()); workTimeOrderDto.setUserName(workUserService.getById(workTimeOrderDto.getUserId()).getName());
workTimeOrderDto.setManagerName(workUserService.getById(workTypeService.getByDeptId(workTimeOrder.getDeptId()).get(0).getManagerId()).getName());
if (1 == workTimeOrder.getType() || 2 == workTimeOrder.getType()) { if (1 == workTimeOrder.getType() || 2 == workTimeOrder.getType()) {
workTimeOrderDto.setProjectName(workProjectService.getById(workTimeOrderDto.getProjectId()).getProjectName()); workTimeOrderDto.setProjectName(workProjectService.getById(workTimeOrderDto.getProjectId()).getProjectName());
workTimeOrderDto.setProjectManagerName(workUserService.getById(workProjectService.getById(workTimeOrderDto.getProjectId()).getManagerId()).getName()); workTimeOrderDto.setManagerName(workUserService.getById(workProjectService.getById(workTimeOrderDto.getProjectId()).getManagerId()).getName());
} }
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType())); workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType()));
workTimeOrderList.add(workTimeOrderDto); workTimeOrderList.add(workTimeOrderDto);
...@@ -442,8 +541,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -442,8 +541,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 1.获取可填报的项目 // 1.获取可填报的项目
projectsDto.setProjectInfoDto(getProjectInfoDto(userId)); projectsDto.setProjectInfoDto(getProjectInfoDto(userId));
// 2.获取可审批的项目 // 2.获取可审批的项目
List<ProjectManagerDto> projectManagerDtos = new ArrayList<>(); if (0 != user.getLevel()) {
if (1 == user.getLevel()) { List<ProjectManagerDto> projectManagerDtos = new ArrayList<>();
List<ProjectDto> projectDtos = workProjectService.getByManagerId(userId); List<ProjectDto> projectDtos = workProjectService.getByManagerId(userId);
ProjectManagerDto projectManagerDto; ProjectManagerDto projectManagerDto;
for (ProjectDto projectDto : projectDtos) { for (ProjectDto projectDto : projectDtos) {
...@@ -451,16 +550,18 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -451,16 +550,18 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
BeanUtils.copyProperties(projectDto, projectManagerDto); BeanUtils.copyProperties(projectDto, projectManagerDto);
projectManagerDtos.add(projectManagerDto); projectManagerDtos.add(projectManagerDto);
} }
} List<WorkType> WorkTypes = workTypeService.getByManagerId(userId);
if (2 == user.getLevel()) { ProjectManagerDto projectManagerDto1;
ProjectManagerDto projectManagerDto = new ProjectManagerDto(); for (WorkType workType : WorkTypes) {
for (int i = 5; i < 8; i++) { projectManagerDto1 = new ProjectManagerDto();
projectManagerDto.setType(i).setTypeName(getTypeName(i)); projectManagerDto1.setType(workType.getType()).setTypeName(workType.getName());
projectManagerDtos.add(projectManagerDto); projectManagerDtos.add(projectManagerDto1);
}
}
projectsDto.setProjectManagerDto(projectManagerDtos);
} }
projectsDto.setProjectManagerDto(projectManagerDtos);
return projectsDto; return projectsDto;
...@@ -471,32 +572,40 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -471,32 +572,40 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<Integer> projectIds = workUserProjectService.getProjectIdByUserId(userId); List<Integer> projectIds = workUserProjectService.getProjectIdByUserId(userId);
// 1.获取当前用户的部门管理 // 1.获取当前用户的部门管理
String deptManagerName = workUserService.getById(workDeptService.getById(workUserService.getById(userId).getDeptId()).getDeptManagerId()).getName(); Integer deptId = workUserService.getById(userId).getDeptId();
String deptManagerName = workUserService.getById(workDeptService.getById(deptId).getDeptManagerId()).getName();
// 2.获取可填报的类型 // 2.获取可填报的类型
List<ProjectInfoDto> projectList = new ArrayList<>(); List<ProjectInfoDto> projectList = new ArrayList<>();
ProjectInfoDto projectInfoDto1 = new ProjectInfoDto().setType(1).setTypeName(getTypeName(1)).setDeptManagerName(deptManagerName); ProjectInfoDto projectInfoDto1 = new ProjectInfoDto().setType(1).setTypeName(getTypeName(1)).setManagerName(deptManagerName);
ProjectInfoDto projectInfoDto2 = new ProjectInfoDto().setType(2).setTypeName(getTypeName(2)).setDeptManagerName(deptManagerName); ProjectInfoDto projectInfoDto2 = new ProjectInfoDto().setType(2).setTypeName(getTypeName(2)).setManagerName(deptManagerName);
List<ProjectDto> projectDto1 = new ArrayList<>(); if (!CollectionUtils.isEmpty(projectIds)) {
List<ProjectDto> projectDto2 = new ArrayList<>(); List<ProjectDto> projectDto1 = new ArrayList<>();
WorkProject workProject; List<ProjectDto> projectDto2 = new ArrayList<>();
for (Integer projectId : projectIds) { WorkProject workProject;
workProject = workProjectService.getById(projectId); for (Integer projectId : projectIds) {
if (1 == workProject.getType()) { workProject = workProjectService.getById(projectId);
projectDto1.add(projectToProjectDto(workProject)); if (1 == workProject.getType()) {
} projectDto1.add(projectToProjectDto(workProject));
if (2 == workProject.getType()) { }
projectDto2.add(projectToProjectDto(workProject)); if (2 == workProject.getType()) {
} projectDto2.add(projectToProjectDto(workProject));
} }
projectInfoDto1.setProjectDto(projectDto1); }
projectInfoDto2.setProjectDto(projectDto2); if (!CollectionUtils.isEmpty(projectDto1))
projectInfoDto1.setProjectDto(projectDto1);
if (!CollectionUtils.isEmpty(projectDto2))
projectInfoDto2.setProjectDto(projectDto2);
}
projectList.add(projectInfoDto1); projectList.add(projectInfoDto1);
projectList.add(projectInfoDto2); projectList.add(projectInfoDto2);
projectList.add(new ProjectInfoDto().setType(3).setTypeName(getTypeName(3)).setDeptManagerName(deptManagerName)); projectList.add(new ProjectInfoDto().setType(3).setTypeName(getTypeName(3)).setManagerName(deptManagerName));
projectList.add(new ProjectInfoDto().setType(4).setTypeName(getTypeName(4)).setDeptManagerName(deptManagerName)); projectList.add(new ProjectInfoDto().setType(4).setTypeName(getTypeName(4)).setManagerName(deptManagerName));
projectList.add(new ProjectInfoDto().setType(5).setTypeName(getTypeName(5)).setDeptManagerName(deptManagerName)); List<WorkType> workTypes = workTypeService.getByDeptId(deptId);
projectList.add(new ProjectInfoDto().setType(6).setTypeName(getTypeName(6)).setDeptManagerName(deptManagerName)); for (WorkType workType : workTypes) {
projectList.add(new ProjectInfoDto().setType(7).setTypeName(getTypeName(7)).setDeptManagerName(deptManagerName)); projectList.add(new ProjectInfoDto().setType(workType.getType()).setTypeName(workType.getName()).setManagerName(workUserService.getById(workType.getManagerId()).getName()));
}
return projectList; return projectList;
} }
...@@ -516,17 +625,18 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -516,17 +625,18 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
WorkTimeOrderDto dto = new WorkTimeOrderDto(); WorkTimeOrderDto dto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, dto); BeanUtils.copyProperties(workTimeOrder, dto);
dto.setUserName(workUserService.getById(workTimeOrder.getUserId()).getName()); dto.setUserName(workUserService.getById(workTimeOrder.getUserId()).getName());
dto.setManagerName(workUserService.getById(workTypeService.getByDeptId(workTimeOrder.getDeptId()).get(0).getManagerId()).getName());
if (1 == workTimeOrder.getType() || 2 == workTimeOrder.getType()) { if (1 == workTimeOrder.getType() || 2 == workTimeOrder.getType()) {
dto.setProjectName(workProjectService.getById(workTimeOrder.getProjectId()).getProjectName()); dto.setProjectName(workProjectService.getById(workTimeOrder.getProjectId()).getProjectName());
dto.setProjectManagerName(getManagerNameByOrder(workTimeOrder)); dto.setManagerName(getManagerNameByOrder(workTimeOrder));
} }
dto.setTypeName(getTypeName(dto.getType())); dto.setTypeName(getTypeName(dto.getType()));
dtos.add(dto); dtos.add(dto);
} }
return dtos; return dtos;
} }
private List<ExamineGroupbyProjectDto> getExamineGroupByProjectDto(Integer projectId) { private List<ExamineGroupbyProjectDto> getExamineGroupByProjectDto(Integer projectId) {
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>(); QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("project_id", projectId); wrapper.eq("project_id", projectId);
...@@ -557,9 +667,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -557,9 +667,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
WorkSubmitAdopt workSubmitAdopt = workSubmitAdoptService.getById(1); WorkSubmitAdopt workSubmitAdopt = workSubmitAdoptService.getById(1);
Integer submitTime = workSubmitAdopt.getSubmitTime(); Integer submitTime = workSubmitAdopt.getSubmitTime();
for (WorkTimeOrderDto dto : list) { for (WorkTimeOrderDto dto : list) {
isEmpty(dto); isEmpty(dto);
// 2、默认设置超过系统默认3天(包括驳回3天)未填报的工时将不能填报 // 2、默认设置超过系统默认3天(包括驳回3天)未填报的工时将不能填报
if (date.getTime() - dto.getWorkDay().getTime() > submitTime * 24 * 60 * 60 * 1000) { if (date.getTime() - dto.getWorkDay().getTime() > submitTime * 24 * 60 * 60 * 1000) {
...@@ -689,7 +797,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -689,7 +797,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
dto.setProjectName(null != dto.getProjectId() ? workProjectService.getById(dto.getProjectId()).getProjectName() : getTypeName(dto.getType())); dto.setProjectName(null != dto.getProjectId() ? workProjectService.getById(dto.getProjectId()).getProjectName() : getTypeName(dto.getType()));
// 获取项目经理 // 获取项目经理
if (null != dto.getProjectId()) if (null != dto.getProjectId())
dto.setProjectManagerName(workUserService.getById(workProjectService.getById(dto.getProjectId()).getManagerId()).getName()); dto.setManagerName(workUserService.getById(workProjectService.getById(dto.getProjectId()).getManagerId()).getName());
// 获取类型名 // 获取类型名
dto.setTypeName(getTypeName(dto.getType())); dto.setTypeName(getTypeName(dto.getType()));
...@@ -738,12 +846,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -738,12 +846,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<Integer> types; List<Integer> types;
// 项目经理 // 项目经理
if (1 == level) { if (1 == level) {
types = type == null ? Arrays.asList(1, 2) : new ArrayList<>(type); types = type == null ? Arrays.asList(1, 2) : new ArrayList<>(Collections.singletonList(type));
workTimeOrders = workTimeOrderMapper.queryByPage(status, projectId, types); workTimeOrders = workTimeOrderMapper.queryByPage(status, projectId, types);
} }
// 部门经理 // 部门经理
if (2 == level) { if (2 == level) {
types = type == null ? Arrays.asList(5, 6, 7) : new ArrayList<>(type); System.out.println(type);
types = type == null ? Arrays.asList(5, 6, 7) : new ArrayList<>(Collections.singletonList(type));
System.out.println(types);
workTimeOrders = workTimeOrderMapper.queryByPage(status, null, types); workTimeOrders = workTimeOrderMapper.queryByPage(status, null, types);
} }
List<WorkTimeOrderDto> workTimeOrderDtos = new ArrayList<>(); List<WorkTimeOrderDto> workTimeOrderDtos = new ArrayList<>();
...@@ -769,7 +879,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -769,7 +879,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
WorkProject workProject = workProjectService.getById(wto.getProjectId()); WorkProject workProject = workProjectService.getById(wto.getProjectId());
return workProject != null ? workUserService.getById(workProject.getManagerId()).getName() : ""; return workProject != null ? workUserService.getById(workProject.getManagerId()).getName() : "";
} }
if (1 != wto.getType() || 2 != wto.getType()) { if (1 != wto.getType() && 2 != wto.getType()) {
return workUserService.getById( return workUserService.getById(
workDeptService.getById(wto.getDeptId()).getDeptManagerId()) workDeptService.getById(wto.getDeptId()).getDeptManagerId())
.getName(); .getName();
...@@ -790,8 +900,16 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -790,8 +900,16 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
private String getTypeName(Integer type) { private String getTypeName(Integer type) {
String[] str = {"项目", "商机", "请假", "调休", "外部商务、技术交流", "内部培训、技术准备、管理", "其他非项目/商机工作"}; List<WorkType> types = workTypeService.getType();
return str[--type]; String[] str = {"", "项目", "商机", "请假", "调休"};
Map<Integer, String> map = new HashMap<>();
for (int i = 1; i < str.length; i++) {
map.put(i, str[i]);
}
for (WorkType workType : types) {
map.put(workType.getType(), workType.getName());
}
return map.get(type);
} }
} }
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.WorkTypeMapper;
import cn.wisenergy.model.app.WorkType;
import cn.wisenergy.service.WorkTypeService;
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 java.util.List;
@Slf4j
@Service
public class WorkTypeServiceImpl implements WorkTypeService {
@Autowired
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
public List<WorkType> getByType(Integer type) {
log.info("WorkTypeServiceImpl[]getByType[]input.param.type:{}" + type);
return getWorkTypes(type, "type");
}
/**
* 功能:查看有哪些其他Type
*
* @return
*/
@Override
public List<WorkType> getType() {
log.info("WorkTypeServiceImpl[]getType");
QueryWrapper<WorkType> wrapper = new QueryWrapper<>();
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);
}
QueryWrapper<WorkType> wrapper = new QueryWrapper<>();
wrapper.eq(column, userId);
List<WorkType> workTypes = workTypeMapper.selectList(wrapper);
return workTypes;
}
}
...@@ -55,14 +55,14 @@ public class WorkUserProjectServiceImpl implements WorkUserProjectService { ...@@ -55,14 +55,14 @@ public class WorkUserProjectServiceImpl implements WorkUserProjectService {
QueryWrapper<WorkUserProject> wrapper = new QueryWrapper<>(); QueryWrapper<WorkUserProject> wrapper = new QueryWrapper<>();
wrapper.eq("user_id", userId); wrapper.eq("user_id", userId);
List<WorkUserProject> workUserProjects = workUserProjectMapper.selectList(wrapper); List<WorkUserProject> workUserProjects = workUserProjectMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workUserProjects)) { if (!CollectionUtils.isEmpty(workUserProjects)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_PROJECT_IS_NULL); ArrayList<Integer> list = new ArrayList<>();
for (WorkUserProject project : workUserProjects) {
list.add(project.getProjectId());
}
return list;
} }
ArrayList<Integer> list = new ArrayList<>(); return null;
for (WorkUserProject project : workUserProjects) {
list.add(project.getProjectId());
}
return list;
} }
......
...@@ -169,4 +169,17 @@ public class WorkTimeOrderController extends BaseController { ...@@ -169,4 +169,17 @@ public class WorkTimeOrderController extends BaseController {
return getResult(workTimeOrderDtos); return getResult(workTimeOrderDtos);
} }
@ApiOperation(value = "工时填报(测试)", notes = "工时填报(测试)", httpMethod = "POST")
@ApiImplicitParam(name = "dto", value = "创建工单dto", dataType = "CreateWorkOrderDto")
@PostMapping(value = "/addtest")
public Result<List<WorkTimeOrderDto>> addTest(@RequestBody CreateWorkOrderDto dto) {
log.info("WorkTimeOrderController[]addTest[]input.param" + dto);
if (CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
List<WorkTimeOrderDto> workTimeOrderDtos = workTimeOrderService.addTest(dto);
return getResult(workTimeOrderDtos);
}
} }
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