Commit b3cd19af authored by cq990612's avatar cq990612

修改一些bug

parent 5da3619d
...@@ -52,8 +52,8 @@ public enum BASE_RESP_CODE_ENUM { ...@@ -52,8 +52,8 @@ public enum BASE_RESP_CODE_ENUM {
WORK_ORDER_END("630", "该项目的工单已经全部审批"), WORK_ORDER_END("630", "该项目的工单已经全部审批"),
DEPT_IS_NULL("631","该部门不存在"), DEPT_IS_NULL("631","该部门不存在"),
MANAGER_NOT_PROJECT("632","该管理没有可管理的项目"), MANAGER_NOT_PROJECT("632","该管理没有可管理的项目"),
DEPT_NOT_FOUND("633", "部门信息未找到"); DEPT_NOT_FOUND("633", "部门信息未找到"),
DATE_IS_ERROR("634","时间不匹配");
/** /**
* 错误编码 * 错误编码
*/ */
......
...@@ -21,5 +21,5 @@ public interface WorkCollectMapper extends BaseMapper<WorkCollect> { ...@@ -21,5 +21,5 @@ public interface WorkCollectMapper extends BaseMapper<WorkCollect> {
int inserWorkCollect(WorkCollect workCollect); int inserWorkCollect(WorkCollect workCollect);
int updateStatusOrTotaltime(Integer id, Integer status, Integer totalTime); int updateStatusOrTotalTime(Integer id, Integer status, Integer totalTime);
} }
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<include refid="vals"/> <include refid="vals"/>
) )
</insert> </insert>
<update id="updateStatusOrTotaltime"> <update id="updateStatusOrTotalTime">
UPDATE UPDATE
<include refid="table"/> <include refid="table"/>
<set> <set>
......
...@@ -14,8 +14,8 @@ public interface WorkSubmitAdoptService { ...@@ -14,8 +14,8 @@ public interface WorkSubmitAdoptService {
/** /**
* 功能: 获取自动审批和默认填报限制 * 功能: 获取自动审批和默认填报限制
* @param id * @param id 用户id
* @return * @return WorkSubmitAdopt
*/ */
WorkSubmitAdopt getById(Integer id); WorkSubmitAdopt getById(Integer id);
} }
...@@ -20,55 +20,58 @@ public interface WorkTimeOrderService { ...@@ -20,55 +20,58 @@ public interface WorkTimeOrderService {
/** /**
* 功能; 获取某日填报信息 * 功能; 获取某日被驳回说明
* *
* @param userId * @param userId 用户id
* @param workDay * @param workDay 某日
* @return * @return 工单集合
*/ */
List<WorkTimeOrder> getByDay(Integer userId, Date workDay); List<WorkTimeOrder> getByDay(Integer userId, Date workDay);
/** /**
* 功能:获取某日填报小计 * 功能:获取某日填报小计
* *
* @param userId * @param userId 用户id
* @param workDay * @param workDay 某日
* @return * @return 填报小计
*/ */
SubtotalDto getSubtotalReport(Integer userId, Date workDay); SubtotalDto getSubtotalReport(Integer userId, Date workDay);
/** /**
* 功能; 获取某日填报信息 * 功能; 获取某日填报信息
* *
* @param userId * @param userId 用户id
* @param workDay * @param workDay 工作日
* @return DTO * @return dto
*/ */
List<WorkTimeOrderDto> getByDayToDto(Integer userId, Date workDay); List<WorkTimeOrderDto> getByDayToDto(Integer userId, Date workDay);
/** /**
* 功能:工时填报 * 功能:工时填报
* *
* @param createWorkOrderDto * @param dto 自定义填报类
* @return * @return dto
*/ */
List<WorkTimeOrderDto> add(CreateWorkOrderDto createWorkOrderDto); List<WorkTimeOrderDto> add(CreateWorkOrderDto dto);
/** /**
* 功能: 驳回重新填报 * 功能: 驳回重新填报
* *
* @param createWorkOrderDto * @param dto 自定义DTO
* @return * @return 填报信息
*/ */
List<WorkTimeOrderDto> update(CreateWorkOrderDto createWorkOrderDto); List<WorkTimeOrderDto> update(CreateWorkOrderDto dto);
/** /**
* 功能:获取待审批数据 * 功能:获取待审批数据
* *
* @param userId * @param userId 用户id
* @return * @param projectId 项目id
* @param type 项目类型
* @param status 状态
* @return 自定义dto
*/ */
List<ExamineGroupbyProjectDto> getExamine(Integer userId, Integer projectId, Integer type,Integer page,Integer size,Integer status); List<ExamineGroupbyProjectDto> getExamine(Integer userId, Integer projectId, Integer type,Integer page,Integer size,Integer status);
...@@ -76,25 +79,27 @@ public interface WorkTimeOrderService { ...@@ -76,25 +79,27 @@ public interface WorkTimeOrderService {
/** /**
* 功能:批量审批 * 功能:批量审批
* *
* @param ids * @param reviewerId 审批人
* @return * @param ids 工单
* @return 是否成功
*/ */
Boolean examinsByIds(Integer reviewerId, List<Integer> ids); Boolean examinsByIds(Integer reviewerId, List<Integer> ids);
/** /**
* 功能: 驳回 * 功能: 驳回
* *
* @param id * @param reviewerId 审核人id
* @param reason * @param id 工单id
* @return * @param reason 驳回理由
* @return 是否成功
*/ */
Boolean rejectById(Integer reviewerId, Integer id, String reason); Boolean rejectById(Integer reviewerId, Integer id, String reason);
/** /**
* 功能:查询驳回未提交的 * 功能:查询驳回未提交的
* *
* @param userId * @param userId 用户id
* @return * @return dto
*/ */
List<WorkTimeOrderDto> rejectNotSubmit(Integer userId); List<WorkTimeOrderDto> rejectNotSubmit(Integer userId);
} }
...@@ -35,6 +35,7 @@ import java.util.List; ...@@ -35,6 +35,7 @@ import java.util.List;
@Service @Service
@Slf4j @Slf4j
public class WorkCollectServiceImpl implements WorkCollectService { public class WorkCollectServiceImpl implements WorkCollectService {
@Autowired @Autowired
private WorkCollectMapper workCollectMapper; private WorkCollectMapper workCollectMapper;
...@@ -99,9 +100,9 @@ public class WorkCollectServiceImpl implements WorkCollectService { ...@@ -99,9 +100,9 @@ public class WorkCollectServiceImpl implements WorkCollectService {
/** /**
* 功能:判断当日是否已经填报 * 功能:判断当日是否已经填报
* *
* @param userId * @param userId 用户名
* @param workDay * @param workDay 某日
* @return * @return 当日填报情况
*/ */
@Override @Override
public WorkCollect getByUserIdAndWorkDay(Integer userId, Date workDay) { public WorkCollect getByUserIdAndWorkDay(Integer userId, Date workDay) {
...@@ -126,7 +127,7 @@ public class WorkCollectServiceImpl implements WorkCollectService { ...@@ -126,7 +127,7 @@ public class WorkCollectServiceImpl implements WorkCollectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
Integer id = getByUserIdAndWorkDay(workCollect.getUserId(), workCollect.getWorkDay()).getId(); Integer id = getByUserIdAndWorkDay(workCollect.getUserId(), workCollect.getWorkDay()).getId();
int updateRow = workCollectMapper.updateStatusOrTotaltime(id, workCollect.getStatus(), workCollect.getTotalTime()); int updateRow = workCollectMapper.updateStatusOrTotalTime(id, workCollect.getStatus(), workCollect.getTotalTime());
if (updateRow == 0) { if (updateRow == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL);
} }
......
package cn.wisenergy.service.impl; package cn.wisenergy.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.wisenergy.common.utils.DateUtil; import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM; import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException; import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkTimeOrderMapper; import cn.wisenergy.mapper.WorkTimeOrderMapper;
import cn.wisenergy.model.app.*; import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.*; import cn.wisenergy.model.dto.CreateWorkOrderDto;
import cn.wisenergy.model.enums.ManagerEnum; import cn.wisenergy.model.dto.ExamineGroupbyProjectDto;
import cn.wisenergy.model.enums.ProjectTypeEnum; import cn.wisenergy.model.dto.SubtotalDto;
import cn.wisenergy.model.enums.WorkOrderStatus; import cn.wisenergy.model.dto.WorkTimeOrderDto;
import cn.wisenergy.model.enums.WorkOrderType;
import cn.wisenergy.service.*; import cn.wisenergy.service.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
...@@ -22,7 +20,10 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -22,7 +20,10 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.*; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/** /**
* <p> * <p>
...@@ -55,7 +56,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -55,7 +56,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
private WorkHolidayService workHolidayService; private WorkHolidayService workHolidayService;
@Autowired @Autowired
private WorkCollectService workCollectService; private WorkCollectService workCollectService;
@Autowired @Autowired
private WorkUserDeptService workUserDeptService; private WorkUserDeptService workUserDeptService;
...@@ -66,13 +67,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -66,13 +67,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/** /**
* 功能; 获取某日被驳回说明 * 功能; 获取某日被驳回说明
* *
* @param userId * @param userId 用户id
* @param workDay * @param workDay 某日
* @return * @return 工单集合
*/ */
@Override @Override
public List<WorkTimeOrder> getByDay(Integer userId, Date workDay) { public List<WorkTimeOrder> getByDay(Integer userId, Date workDay) {
...@@ -90,9 +90,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -90,9 +90,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/** /**
* 功能:获取某日填报小计 * 功能:获取某日填报小计
* *
* @param userId * @param userId 用户id
* @param workDay * @param workDay 某日
* @return * @return 填报小计
*/ */
@Override @Override
public SubtotalDto getSubtotalReport(Integer userId, Date workDay) { public SubtotalDto getSubtotalReport(Integer userId, Date workDay) {
...@@ -129,30 +129,25 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -129,30 +129,25 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/** /**
* 功能; 获取某日填报信息 * 功能; 获取某日填报信息
* *
* @param userId * @param userId 用户id
* @param workDay * @param workDay 工作日
* @return DTO * @return dto
*/ */
@Override @Override
public List<WorkTimeOrderDto> getByDayToDto(Integer userId, Date workDay) { public List<WorkTimeOrderDto> getByDayToDto(Integer userId, Date workDay) {
log.info("WorkTimeOrderServiceImpl[]getByDayToDto[]input.param.userId:{},workDay:{}" + userId, workDay); log.info("WorkTimeOrderServiceImpl[]getByDayToDto[]input.param.userId:{},workDay:{}" + userId, workDay);
List<WorkTimeOrder> wtos = getByDay(userId, workDay); List<WorkTimeOrder> wtos = getByDay(userId, workDay);
List<WorkTimeOrderDto> dtos = new ArrayList<>(); if (CollectionUtils.isEmpty(wtos)) {
WorkProject workProject = new WorkProject(); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
for (WorkTimeOrder wto : wtos) {
WorkTimeOrderDto dto = new WorkTimeOrderDto();
BeanUtils.copyProperties(wto, dto);
dto.setProjectManagerName(getManagerNameByOrder(wto));
dtos.add(dto);
} }
return dtos; return wtoToWtod(wtos);
} }
/** /**
* 功能:工时填报 * 功能:工时填报
* *
* @param dto * @param dto 自定义填报类
* @return * @return dto
*/ */
@Transactional @Transactional
@Override @Override
...@@ -174,8 +169,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -174,8 +169,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/** /**
* 功能: 驳回重新填报 * 功能: 驳回重新填报
* *
* @param dto * @param dto 自定义DTO
* @return * @return 填报信息
*/ */
@Transactional @Transactional
@Override @Override
...@@ -184,32 +179,45 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -184,32 +179,45 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) { if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
} }
List<WorkTimeOrderDto> workTimeOrders = dto.getWorkTimeOrders();
WorkSubmitAdopt workSbumitAdopt = workSbumitAdoptService.getById(1); // 判断是否超过8小时
Integer submitTime = workSbumitAdopt.getSubmitTime(); int count = 0;
for (WorkTimeOrderDto workTimeOrderDto : dto.getWorkTimeOrders()) { List<WorkTimeOrderDto> byDayToDto = getByDayToDto(workTimeOrders.get(0).getUserId(), workTimeOrders.get(0).getWorkDay());
for (WorkTimeOrderDto orderDto : byDayToDto) {
if (2 == orderDto.getStatus() || 5 == orderDto.getStatus())
count += orderDto.getWorkTime();
}
timeNotEight(count, workTimeOrders);
WorkSubmitAdopt workSubmitAdopt = workSbumitAdoptService.getById(1);
Integer submitTime = workSubmitAdopt.getSubmitTime();
for (WorkTimeOrderDto workTimeOrderDto : workTimeOrders) {
if (null == workTimeOrderDto.getDes()) { if (null == workTimeOrderDto.getDes()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DES_NOT_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.DES_NOT_NULL);
} }
Date modifyTime = workTimeOrderMapper.selectById(workTimeOrderDto.getWorkId()).getModifyTime(); WorkTimeOrder order = workTimeOrderMapper.selectById(workTimeOrderDto.getWorkId());
if (order.getWorkDay().compareTo(workTimeOrderDto.getWorkDay()) != 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DATE_IS_ERROR);
}
Date modifyTime = order.getModifyTime();
// 判断是否已经驳回三天 // 判断是否已经驳回三天
if (new Date().getTime() - DateUtil.getStartOfDay(modifyTime).getTime() > submitTime * 24 * 60 * 60 * 1000) { if (new Date().getTime() - DateUtil.getStartOfDay(modifyTime).getTime() > submitTime * 24 * 60 * 60 * 1000) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE);
} }
WorkTimeOrder workTimeOrder = new WorkTimeOrder(); WorkTimeOrder workTimeOrder = new WorkTimeOrder();
BeanUtils.copyProperties(workTimeOrderDto, workTimeOrder); BeanUtils.copyProperties(workTimeOrderDto, workTimeOrder);
workTimeOrder.setStatus(4); workTimeOrder.setStatus(4);
// 获取用户名 // 获取用户名
workTimeOrder.setUserName(workUserService.getById(workTimeOrder.getUserId()).getName()); workTimeOrder.setUserName(workUserService.getById(workTimeOrder.getUserId()).getName());
workTimeOrder.setProjectName(workProjectService.getById(workTimeOrder.getProjectId()).getProjectName()); // 获取项目名
if (1 == workTimeOrder.getType() || 2 == workTimeOrder.getType()) {
workTimeOrder.setProjectName(workProjectService.getById(workTimeOrder.getProjectId()).getProjectName());
}
// 获取部门id // 获取部门id
Integer deptIdByUserId = workUserDeptService.getDeptIdByUserId(workTimeOrder.getUserId());
workTimeOrder.setDeptId(workUserDeptService.getDeptIdByUserId(workTimeOrder.getUserId())); workTimeOrder.setDeptId(deptIdByUserId);
Date workDay = workTimeOrder.getWorkDay(); Date workDay = workTimeOrder.getWorkDay();
// 默认正常工时 // 默认正常工时
workTimeOrder.setIsOvertime(0); workTimeOrder.setIsOvertime(0);
if (workHolidayService.isHoliday(workDay)) { if (workHolidayService.isHoliday(workDay)) {
workTimeOrder.setIsOvertime(1); workTimeOrder.setIsOvertime(1);
} }
...@@ -220,29 +228,27 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -220,29 +228,27 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
WorkCollect workCollect = new WorkCollect(); WorkCollect workCollect = new WorkCollect();
BeanUtils.copyProperties(workTimeOrder, workCollect); BeanUtils.copyProperties(workTimeOrder, workCollect);
workCollect.setStatus(1); workCollect.setStatus(1);
workCollect.setTotalTime(workTimeOrderDto.getWorkTime());
workCollectService.update(workCollect); workCollectService.update(workCollect);
} }
return dto.getWorkTimeOrders(); return dto.getWorkTimeOrders();
} }
/** /**
* 功能:获取待审批数据 * 功能:获取待审批数据
* *
* @param userId * @param userId 用户id
* @return * @param projectId 项目id
* @param type 项目类型
* @param status 状态
* @return 自定义dto
*/ */
@Override @Override
public List<ExamineGroupbyProjectDto> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer size, Integer status) { public List<ExamineGroupbyProjectDto> getExamine(Integer userId, Integer projectId, Integer type, Integer page, Integer size, Integer status) {
log.info("WorkOrderServiceImpl[]getExamine[]input.param.userId:{},projectId:{},type:{},page:{},size:{},status:{}" + userId, projectId, type, page, size, status); log.info("WorkOrderServiceImpl[]getExamine[]input.param.userId:{},projectId:{},type:{},page:{},size:{},status:{}" + userId, projectId, type, page, size, status);
if (null == userId) { // 判断当前用户是否是管理员
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); isManager(userId);
}
// 判断当前用户是否为管理
WorkUser user = workUserService.getById(userId); WorkUser user = workUserService.getById(userId);
if (0 == user.getLevel()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
// PC端 // PC端
if (null != page && null != size) { if (null != page && null != size) {
return pageExamine(user, projectId, type, page, size, status); return pageExamine(user, projectId, type, page, size, status);
...@@ -257,30 +263,21 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -257,30 +263,21 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
wrapper.in("status", 1, 4); wrapper.in("status", 1, 4);
wrapper.eq("type", type); wrapper.eq("type", type);
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper); List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workTimeOrders)) { return WorkTimeOrderTOEGPD(workTimeOrders);
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END);
}
List<ExamineGroupbyProjectDto> egpds = new ArrayList<>();
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
ExamineGroupbyProjectDto dto = new ExamineGroupbyProjectDto();
BeanUtils.copyProperties(workTimeOrder, dto);
egpds.add(dto);
}
return egpds;
} }
// 项目经理审核 // 项目经理审核
if (null == projectId) { if (null == projectId) {
projectId = workUserProjectService.getProjectIdByUserId(userId).get(0); projectId = workUserProjectService.getProjectIdByUserId(userId).get(0);
return getExamineGroupbyProjectDto(userId, projectId);
} }
return getExamineGroupbyProjectDto(userId, projectId); return getExamineGroupByProjectDto(projectId);
} }
/** /**
* 功能:批量审批 * 功能:批量审批
* *
* @param ids * @param reviewerId 审批人
* @return * @param ids 工单
* @return 是否成功
*/ */
@Transactional @Transactional
@Override @Override
...@@ -301,8 +298,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -301,8 +298,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectBatchIds(ids); List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectBatchIds(ids);
Integer userId = null; Integer userId;
Date workDay = null; Date workDay;
for (WorkTimeOrder workTimeOrder : workTimeOrders) { for (WorkTimeOrder workTimeOrder : workTimeOrders) {
userId = workTimeOrder.getUserId(); userId = workTimeOrder.getUserId();
workDay = workTimeOrder.getWorkDay(); workDay = workTimeOrder.getWorkDay();
...@@ -321,9 +318,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -321,9 +318,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/** /**
* 功能: 驳回 * 功能: 驳回
* *
* @param id * @param reviewerId 审核人id
* @param reason * @param id 工单id
* @return * @param reason 驳回理由
* @return 是否成功
*/ */
@Transactional @Transactional
@Override @Override
...@@ -350,27 +348,20 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -350,27 +348,20 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
workCollect.setStatus(3); workCollect.setStatus(3);
workCollect.setTotalTime(0); workCollect.setTotalTime(0);
Boolean aBoolean = workCollectService.update(workCollect); return workCollectService.update(workCollect);
return aBoolean;
} }
/** /**
* 功能:查询驳回未提交的 * 功能:查询驳回未提交的
* *
* @param userId * @param userId 用户id
* @return * @return dto
*/ */
@Transactional @Transactional
@Override @Override
public List<WorkTimeOrderDto> rejectNotSubmit(Integer userId) { public List<WorkTimeOrderDto> rejectNotSubmit(Integer userId) {
log.info("WorkOrderServiceImpl[]rejectById[]input.param.id:{}" + userId); log.info("WorkOrderServiceImpl[]rejectById[]input.param.id:{}" + userId);
if (null == userId) { isManager(userId);
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkUser user = workUserService.getById(userId);
if (0 == user.getLevel()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>(); QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("reviewer_id", userId); wrapper.eq("reviewer_id", userId);
wrapper.eq("status", 3); wrapper.eq("status", 3);
...@@ -378,7 +369,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -378,7 +369,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (CollectionUtils.isEmpty(workTimeOrders)) { if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
} }
ArrayList<WorkTimeOrderDto> dtos = new ArrayList<>(); return wtoToWtod(workTimeOrders);
}
// workTimeOrder TO WorkTimeOrderDto
private List<WorkTimeOrderDto> wtoToWtod(List<WorkTimeOrder> workTimeOrders) {
List<WorkTimeOrderDto> dtos = new ArrayList<>();
for (WorkTimeOrder workTimeOrder : workTimeOrders) { for (WorkTimeOrder workTimeOrder : workTimeOrders) {
WorkTimeOrderDto dto = new WorkTimeOrderDto(); WorkTimeOrderDto dto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, dto); BeanUtils.copyProperties(workTimeOrder, dto);
...@@ -388,28 +384,30 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -388,28 +384,30 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return dtos; return dtos;
} }
public List<ExamineGroupbyProjectDto> getExamineGroupbyProjectDto(Integer userId, 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);
wrapper.in("status", 1, 4); wrapper.in("status", 1, 4);
wrapper.orderByDesc("work_day"); wrapper.orderByDesc("work_day");
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper); List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
return WorkTimeOrderTOEGPD(workTimeOrders);
}
private List<ExamineGroupbyProjectDto> WorkTimeOrderTOEGPD(List<WorkTimeOrder> workTimeOrders) {
if (CollectionUtils.isEmpty(workTimeOrders)) { if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END);
} }
String projectName = workTimeOrders.get(0).getProjectName();
List<ExamineGroupbyProjectDto> egpds = new ArrayList<>(); List<ExamineGroupbyProjectDto> egpds = new ArrayList<>();
for (WorkTimeOrder workTimeOrder : workTimeOrders) { for (WorkTimeOrder workTimeOrder : workTimeOrders) {
ExamineGroupbyProjectDto dto = new ExamineGroupbyProjectDto(); ExamineGroupbyProjectDto dto = new ExamineGroupbyProjectDto();
BeanUtils.copyProperties(workTimeOrder, dto); BeanUtils.copyProperties(workTimeOrder, dto);
egpds.add(dto); egpds.add(dto);
} }
return egpds; return egpds;
} }
public void checkWorkOrderInfo(List<WorkTimeOrderDto> list) { private void checkWorkOrderInfo(List<WorkTimeOrderDto> list) {
log.info("WorkOrderServiceImpl[]checkWorkOrderInfo[]input.method"); log.info("WorkOrderServiceImpl[]checkWorkOrderInfo[]input.method");
// 1、工单时间不能大于当前天 // 1、工单时间不能大于当前天
Date date = new Date(); Date date = new Date();
...@@ -428,7 +426,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -428,7 +426,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
} }
//3.每天工时累加不得超过八小时 //3.每天工时累加不得超过八小时
int count = 0; timeNotEight(0, list);
}
//3.每天工时累加不得超过八小时
private void timeNotEight(int count, List<WorkTimeOrderDto> list) {
for (WorkTimeOrderDto workOrder : list) { for (WorkTimeOrderDto workOrder : list) {
count = count + workOrder.getWorkTime(); count = count + workOrder.getWorkTime();
if (count > 8) { if (count > 8) {
...@@ -438,17 +441,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -438,17 +441,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
//判断填报是否超过今天 //判断填报是否超过今天
public boolean thanDate(Date date) { private boolean thanDate(Date date) {
Date date1 = new Date(); Date date1 = new Date();
int i = 0; int i;
i = date1.compareTo(date); i = date1.compareTo(date);
if (i == -1) { return -1 == i;
return true;
}
return false;
} }
public List<WorkTimeOrderDto> saveWorkOrderInfo(List<WorkTimeOrderDto> list) { private List<WorkTimeOrderDto> saveWorkOrderInfo(List<WorkTimeOrderDto> list) {
log.info("WorkOrderServiceImpl[]saveWorkOrderInfo[]input.method"); log.info("WorkOrderServiceImpl[]saveWorkOrderInfo[]input.method");
int totalTime = 0; int totalTime = 0;
int status = 1; int status = 1;
...@@ -485,8 +485,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -485,8 +485,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
workTimeOrder.setProjectId(null); workTimeOrder.setProjectId(null);
} }
workTimeOrder.setStatus(status); workTimeOrder.setStatus(status);
int saveRow = workTimeOrderMapper.save(workTimeOrder); int saveRow = workTimeOrderMapper.save(workTimeOrder);
if (0 == saveRow) { if (0 == saveRow) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INSERT_DATA_IS_FAIL); throw new BaseCustomException(BASE_RESP_CODE_ENUM.INSERT_DATA_IS_FAIL);
...@@ -503,7 +501,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -503,7 +501,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return list; return list;
} }
public String getTypeName(Integer type) { private String getTypeName(Integer type) {
if (type == 5) { if (type == 5) {
return "外部商务、技术交流"; return "外部商务、技术交流";
} }
...@@ -517,45 +515,50 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -517,45 +515,50 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
// 审批分页 // 审批分页
public List<ExamineGroupbyProjectDto> pageExamine(WorkUser user, Integer projectId, Integer type, Integer page, Integer size, Integer status) { private List<ExamineGroupbyProjectDto> pageExamine(WorkUser user, Integer projectId, Integer type, Integer page, Integer size, Integer status) {
log.info("WorkOrderServiceImpl[]pageExamine[]input.param.user:{},projectId:{},type:{},page:{},size:{},status:{}" + user, projectId, type, page, size, status); log.info("WorkOrderServiceImpl[]pageExamine[]input.param.user:{},projectId:{},type:{},page:{},size:{},status:{}" + user, projectId, type, page, size, status);
PageHelper.startPage(page, size); PageHelper.startPage(page, size);
List<ExamineGroupbyProjectDto> egpds = new ArrayList<>(); List<WorkTimeOrder> workTimeOrders;
List<WorkTimeOrder> workTimeOrders = null; workTimeOrders = null;
Integer level = user.getLevel(); Integer level = user.getLevel();
List<Integer> types = new ArrayList<>(); List<Integer> types;
// 项目经理 // 项目经理
if (1 == level) { if (1 == level) {
types = type == null ? Arrays.asList(1, 2, 3, 4) : new ArrayList<>(type);
types = type == null ? Arrays.asList(1, 2, 3, 4) : Arrays.asList(type);
workTimeOrders = workTimeOrderMapper.queryByPage(status, projectId, types); workTimeOrders = workTimeOrderMapper.queryByPage(status, projectId, types);
} }
// 部门经理 // 部门经理
if (2 == level) { if (2 == level) {
types = type == null ? Arrays.asList(3, 4, 5, 6) : Arrays.asList(type); types = type == null ? Arrays.asList(3, 4, 5, 6) : new ArrayList<>(type);
workTimeOrders = workTimeOrderMapper.queryByPage(status, null, types); workTimeOrders = workTimeOrderMapper.queryByPage(status, null, types);
} }
for (WorkTimeOrder workTimeOrder : workTimeOrders) { return WorkTimeOrderTOEGPD(workTimeOrders);
ExamineGroupbyProjectDto egpd = new ExamineGroupbyProjectDto();
BeanUtils.copyProperties(workTimeOrder, egpd);
egpds.add(egpd);
}
return egpds;
} }
// 根据工单获取管理员 // 根据工单获取管理员
public String getManagerNameByOrder(WorkTimeOrder wto) { private String getManagerNameByOrder(WorkTimeOrder wto) {
if (1 == wto.getType() || 2 == wto.getType()) { if (1 == wto.getType() || 2 == wto.getType()) {
WorkProject workProject = workProjectService.getById(wto.getProjectId()); WorkProject workProject = workProjectService.getById(wto.getProjectId());
return workProject != null ? workProject.getManagerName() : ""; return workProject != null ? workProject.getManagerName() : "";
} }
if (1 != wto.getType() || 2 != wto.getType()) { if (1 != wto.getType() || 2 != wto.getType()) {
String ManagerName = workUserService.getById( return workUserService.getById(
workDeptService.getById(wto.getDeptId()).getDeptManagerId()) workDeptService.getById(wto.getDeptId()).getDeptManagerId())
.getName(); .getName();
return ManagerName;
} }
return null; return null;
} }
// 判断当前用户是否是管理员
private void isManager(Integer userId) {
if (null == userId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
// 判断当前用户是否为管理
WorkUser user = workUserService.getById(userId);
if (0 == user.getLevel()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.THE_USER_NOT_MANAGER_PLASE_MANAGER_LOGIN);
}
}
} }
...@@ -118,15 +118,15 @@ public class WorkTimeOrderController extends BaseController { ...@@ -118,15 +118,15 @@ public class WorkTimeOrderController extends BaseController {
Integer deptId = workUserDeptService.getDeptIdByUserId(userId); Integer deptId = workUserDeptService.getDeptIdByUserId(userId);
List<Integer> idsByDeptId = workUserDeptService.getUserIdsByDeptId(deptId); List<Integer> idsByDeptId = workUserDeptService.getUserIdsByDeptId(deptId);
WorkUser workUser = workUserService.getDeptManagerByIds(idsByDeptId); WorkUser workUser = workUserService.getDeptManagerByIds(idsByDeptId);
list.stream().forEach(index -> index.setDeptManagerName(workUser.getName())); list.forEach(index -> index.setDeptManagerName(workUser.getName()));
return getResult(list); return getResult(list);
} }
@ApiOperation(value = "单个或批量审批", notes = "单个或批量审批", httpMethod = "GET") @ApiOperation(value = "单个或批量审批", notes = "单个或批量审批", httpMethod = "GET")
// @ApiImplicitParam(name = "ids", value = "工单id", dataType = "list", required = true) @ApiImplicitParams({//@ApiImplicitParam(name = "ids", value = "工单id", dataType = "list", required = true),
@ApiImplicitParam(name = "reviewerId", value = "审核人id", dataType = "int", required = true) @ApiImplicitParam(name = "reviewerId", value = "审核人id", dataType = "int", required = true)})
@GetMapping(value = "/examins") @GetMapping(value = "/examins")
public Result<Boolean> examinsByIds(Integer reviewerId, @RequestParam List<Integer> ids) { public Result<Boolean> examinsByIds(Integer reviewerId,@RequestParam List<Integer> ids) {
log.info("WorkTimeOrderController[]examinsByIds[]input.param.reviewerId:{},ids:{}" + reviewerId, ids); log.info("WorkTimeOrderController[]examinsByIds[]input.param.reviewerId:{},ids:{}" + reviewerId, ids);
if (null == reviewerId || CollectionUtils.isEmpty(ids)) { if (null == reviewerId || CollectionUtils.isEmpty(ids)) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL); throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
......
package cn.wisenergy.web.config.auto;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.mapper.WorkCollectMapper;
import cn.wisenergy.mapper.WorkSubmitAdoptMapper;
import cn.wisenergy.mapper.WorkTimeOrderMapper;
import cn.wisenergy.model.app.WorkCollect;
import cn.wisenergy.model.app.WorkSubmitAdopt;
import cn.wisenergy.model.app.WorkTimeOrder;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 自动审批定时器
*/
@Slf4j
@Configuration //1.主要用于标记配置类,兼备Component的效果。
@EnableScheduling // 2.开启定时任务
public class Examin {
@Autowired
private WorkTimeOrderMapper workTimeOrderMapper;
@Autowired
private WorkCollectMapper workCollectMapper;
@Autowired
private WorkSubmitAdoptMapper workSubmitAdoptMapper;
@Scheduled(cron = "0 0 0 * * ?")
public void autoExamin() {
log.info("admin[]config[]auto[]Examin[]autoExamin");
WorkSubmitAdopt workSbumitAdopt = workSubmitAdoptMapper.selectById(1);
Integer autoAdopt = workSbumitAdopt.getAutoAdopt();
Date yesterdayDate = getAutoExaminDay(autoAdopt);
Date now = DateUtil.getToday();
UpdateWrapper<WorkTimeOrder> WTOwrapper = new UpdateWrapper<>();
WTOwrapper.eq("status", 1);
WTOwrapper.le("work_day", yesterdayDate);
WorkTimeOrder workTimeOrder = new WorkTimeOrder();
workTimeOrder.setStatus(5);
workTimeOrder.setModifyTime(now);
int wtoRow = workTimeOrderMapper.update(workTimeOrder, WTOwrapper);
System.out.println("一共审核:" + wtoRow + "条工单");
WorkCollect workCollect = new WorkCollect();
UpdateWrapper<WorkCollect> wcw = new UpdateWrapper<>();
wcw.eq("status", 1);
wcw.le("work_day", yesterdayDate);
workCollect.setStatus(2);
workCollect.setModifyTime(now);
int wcRow = workCollectMapper.update(workCollect, wcw);
System.out.println("一共审核:" + wcRow + "条工单");
}
public static Date getAutoExaminDay(Integer day) {
day = -(day + 1);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.DATE, -2);
Date start = c.getTime();
String qyt= format.format(start);
System.out.println(qyt);
Date date = DateUtil.convertStrToDate(qyt, "yyyy-MM-dd");
return date;
}
}
...@@ -3,9 +3,9 @@ spring: ...@@ -3,9 +3,9 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
druid: druid:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/working_hours?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8 url: jdbc:mysql://localhost:3306/work_hours?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8
username: root username: root
password: admin password: 123456
initial-size: 10 initial-size: 10
max-active: 100 max-active: 100
min-idle: 10 min-idle: 10
......
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