Commit 1346ecd3 authored by cq990612's avatar cq990612

优化代码结构

parent 7824150b
......@@ -38,7 +38,7 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> {
int updateStatusById(@Param("reviewerId") Integer reviewerId,@Param("id") Integer id,@Param("reason") String reason);
List<WorkTimeOrder> queryByPage(@Param("status") Integer status, @Param("projectId")List<Integer> projectIds, @Param("types") List<Integer> types);
List<WorkTimeOrder> queryByPage(@Param("status") Integer status, @Param("projectIds")List<Integer> projectIds, @Param("types") List<Integer> types);
/**
* 根据填报项目类型获取次数和工时汇总
......
......@@ -225,34 +225,17 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
WorkSubmitAdopt workSubmitAdopt = workSubmitAdoptService.getById(1);
Integer submitTime = workSubmitAdopt.getSubmitTime();
// 检查工单
// 1.判断是否重复填报
isRepeat(workTimeOrders);
// 2.每天工时累加不得超过八小时
timeNotEight(0, workTimeOrders);
int totalTime = 0;
List<WorkTimeOrder> addList = new ArrayList<>();
for (WorkTimeOrderDto dto : workTimeOrders) {
// 3.判断工单是否合法
isEmpty(dto);
// 4、默认设置超过系统默认3天(包括驳回3天)未填报的工时将不能填报
if (!REJECTED.equals(dto.getStatus()) && !RE_SUBMIT.equals(dto.getStatus())) {
if (date.getTime() - dto.getWorkDay().getTime() > submitTime * 24 * 60 * 60 * 1000) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE);
}
}
if (REJECTED.equals(dto.getStatus()) || RE_SUBMIT.equals(dto.getStatus())) {
Date modifyTime = DateUtil.convertStrToDate(DateUtil.convertDateToStr(workTimeOrderMapper.selectById(dto.getWorkId()).getModifyTime(), "yyyy-MM-dd"), "yyyy-MM-dd");
System.out.println(modifyTime);
if (date.getTime() - modifyTime.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));
......@@ -264,18 +247,19 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
dto.setManagerName(workUserService.getById(workTypeService.getByDeptId(workUserService.getById(dto.getUserId()).getDeptId()).get(0).getManagerId()).getName());
}
// 设置状态
if (null == dto.getStatus() || 0 == dto.getStatus()) {
dto.setStatus(COMPLETED);
}
if (null != dto.getStatus() && REJECTED.equals(dto.getStatus())) {
dto.setStatus(RE_SUBMIT);
}
// 是否加班
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);
......@@ -288,6 +272,23 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
addList.add(workTimeOrder);
}
for (WorkTimeOrder dto : addList) {
// 4、默认设置超过系统默认3天(包括驳回3天)未填报的工时将不能填报
if (!REJECTED.equals(dto.getStatus()) && !RE_SUBMIT.equals(dto.getStatus())) {
if (date.getTime() - dto.getWorkDay().getTime() > submitTime * 24 * 60 * 60 * 1000) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE);
}
}
if (REJECTED.equals(dto.getStatus()) || RE_SUBMIT.equals(dto.getStatus())) {
Date modifyTime = DateUtil.convertStrToDate(DateUtil.convertDateToStr(workTimeOrderMapper.selectById(dto.getWorkId()).getModifyTime(), "yyyy-MM-dd"), "yyyy-MM-dd");
System.out.println(modifyTime);
if (date.getTime() - modifyTime.getTime() > submitTime * 24 * 60 * 60 * 1000) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE);
}
}
}
// 删除数据库还没有审批的工单,添加填报没有审批的工单
UpdateWrapper<WorkTimeOrder> wrapper = new UpdateWrapper<>();
wrapper.eq("user_id", workTimeOrders.get(0).getUserId());
wrapper.eq("work_day", workTimeOrders.get(0).getWorkDay());
......@@ -296,8 +297,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
for (WorkTimeOrder workTimeOrder : addList) {
workTimeOrderMapper.save(workTimeOrder);
}
// 更新collect表
int status = statusYes(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
WorkCollect workCollect = workCollectService.getByUserIdAndWorkDay(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
if (null == workCollect) {
......@@ -441,6 +441,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
WorkUser user = workUserService.getById(userId);
if (0 != user.getLevel()) {
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("dept_id", user.getDeptId());
wrapper.in("status", COMPLETED, RE_SUBMIT);
wrapper.eq(type != null, "type", type);
wrapper.eq(projectId != null, "project_id", projectId);
......@@ -580,7 +581,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
}
return wtoToWtod(workTimeOrders);
}
......@@ -667,7 +667,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
// workTimeOrder TO WorkTimeOrderDto
public List<WorkTimeOrderDto> wtoToWtod(List<WorkTimeOrder> workTimeOrders) {
List<WorkTimeOrderDto> dtos = new ArrayList<>();
......@@ -749,7 +748,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
if (1 == dto.getType() || 2 == dto.getType()) {
if (null == dto.getProjectId())
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_TIME_OVER_NOW_DAY);
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NO_JOIN_EVERY_PROJECT_PLASE_JION);
}
for (ProjectTypeEnum value : ProjectTypeEnum.values()) {
if (value.getReviewer() == 2) {
......@@ -839,9 +838,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 获取用户名
dto.setUserName(workUserService.getById(dto.getUserId()).getName());
// 获取项目名
if ((PROJECT.equals(dto.getType()) || BUSINESS_OPPORTUNITY.equals(dto.getType())) ) {
if(null == dto.getProjectId())
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NO_JOIN_EVERY_PROJECT_PLASE_JION);
if ((PROJECT.equals(dto.getType()) || BUSINESS_OPPORTUNITY.equals(dto.getType()))) {
if (null == dto.getProjectId())
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NO_JOIN_EVERY_PROJECT_PLASE_JION);
}
dto.setProjectName(null != dto.getProjectId() ? workProjectService.getById(dto.getProjectId()).getProjectName() : getTypeName(dto.getType()));
// 获取项目经理
......@@ -905,7 +904,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (null != projectId) {
projectIds.add(projectId);
}
types = type == null ? Arrays.asList(1, 2, 5, 6, 7) : new ArrayList<>(Collections.singletonList(type));
workTimeOrders = workTimeOrderMapper.queryByPage(status, projectIds, types);
}
......
......@@ -175,5 +175,4 @@ public class WorkTimeOrderController extends BaseController {
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