Commit b3cd19af authored by cq990612's avatar cq990612

修改一些bug

parent 5da3619d
......@@ -52,8 +52,8 @@ public enum BASE_RESP_CODE_ENUM {
WORK_ORDER_END("630", "该项目的工单已经全部审批"),
DEPT_IS_NULL("631","该部门不存在"),
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> {
int inserWorkCollect(WorkCollect workCollect);
int updateStatusOrTotaltime(Integer id, Integer status, Integer totalTime);
int updateStatusOrTotalTime(Integer id, Integer status, Integer totalTime);
}
......@@ -40,7 +40,7 @@
<include refid="vals"/>
)
</insert>
<update id="updateStatusOrTotaltime">
<update id="updateStatusOrTotalTime">
UPDATE
<include refid="table"/>
<set>
......
......@@ -14,8 +14,8 @@ public interface WorkSubmitAdoptService {
/**
* 功能: 获取自动审批和默认填报限制
* @param id
* @return
* @param id 用户id
* @return WorkSubmitAdopt
*/
WorkSubmitAdopt getById(Integer id);
}
......@@ -20,55 +20,58 @@ public interface WorkTimeOrderService {
/**
* 功能; 获取某日填报信息
* 功能; 获取某日被驳回说明
*
* @param userId
* @param workDay
* @return
* @param userId 用户id
* @param workDay 某日
* @return 工单集合
*/
List<WorkTimeOrder> getByDay(Integer userId, Date workDay);
/**
* 功能:获取某日填报小计
*
* @param userId
* @param workDay
* @return
* @param userId 用户id
* @param workDay 某日
* @return 填报小计
*/
SubtotalDto getSubtotalReport(Integer userId, Date workDay);
/**
* 功能; 获取某日填报信息
*
* @param userId
* @param workDay
* @return DTO
* @param userId 用户id
* @param workDay 工作日
* @return dto
*/
List<WorkTimeOrderDto> getByDayToDto(Integer userId, Date workDay);
/**
* 功能:工时填报
*
* @param createWorkOrderDto
* @return
* @param dto 自定义填报类
* @return dto
*/
List<WorkTimeOrderDto> add(CreateWorkOrderDto createWorkOrderDto);
List<WorkTimeOrderDto> add(CreateWorkOrderDto dto);
/**
* 功能: 驳回重新填报
*
* @param createWorkOrderDto
* @return
* @param dto 自定义DTO
* @return 填报信息
*/
List<WorkTimeOrderDto> update(CreateWorkOrderDto createWorkOrderDto);
List<WorkTimeOrderDto> update(CreateWorkOrderDto dto);
/**
* 功能:获取待审批数据
*
* @param userId
* @return
* @param userId 用户id
* @param projectId 项目id
* @param type 项目类型
* @param status 状态
* @return 自定义dto
*/
List<ExamineGroupbyProjectDto> getExamine(Integer userId, Integer projectId, Integer type,Integer page,Integer size,Integer status);
......@@ -76,25 +79,27 @@ public interface WorkTimeOrderService {
/**
* 功能:批量审批
*
* @param ids
* @return
* @param reviewerId 审批人
* @param ids 工单
* @return 是否成功
*/
Boolean examinsByIds(Integer reviewerId, List<Integer> ids);
/**
* 功能: 驳回
*
* @param id
* @param reason
* @return
* @param reviewerId 审核人id
* @param id 工单id
* @param reason 驳回理由
* @return 是否成功
*/
Boolean rejectById(Integer reviewerId, Integer id, String reason);
/**
* 功能:查询驳回未提交的
*
* @param userId
* @return
* @param userId 用户id
* @return dto
*/
List<WorkTimeOrderDto> rejectNotSubmit(Integer userId);
}
......@@ -35,6 +35,7 @@ import java.util.List;
@Service
@Slf4j
public class WorkCollectServiceImpl implements WorkCollectService {
@Autowired
private WorkCollectMapper workCollectMapper;
......@@ -99,9 +100,9 @@ public class WorkCollectServiceImpl implements WorkCollectService {
/**
* 功能:判断当日是否已经填报
*
* @param userId
* @param workDay
* @return
* @param userId 用户名
* @param workDay 某日
* @return 当日填报情况
*/
@Override
public WorkCollect getByUserIdAndWorkDay(Integer userId, Date workDay) {
......@@ -126,7 +127,7 @@ public class WorkCollectServiceImpl implements WorkCollectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
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) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.UPDATE_DATA_FAIL);
}
......
package cn.wisenergy.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkTimeOrderMapper;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.enums.ManagerEnum;
import cn.wisenergy.model.enums.ProjectTypeEnum;
import cn.wisenergy.model.enums.WorkOrderStatus;
import cn.wisenergy.model.enums.WorkOrderType;
import cn.wisenergy.model.dto.CreateWorkOrderDto;
import cn.wisenergy.model.dto.ExamineGroupbyProjectDto;
import cn.wisenergy.model.dto.SubtotalDto;
import cn.wisenergy.model.dto.WorkTimeOrderDto;
import cn.wisenergy.service.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
......@@ -22,7 +20,10 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
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>
......@@ -55,7 +56,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
private WorkHolidayService workHolidayService;
@Autowired
private WorkCollectService workCollectService;
private WorkCollectService workCollectService;
@Autowired
private WorkUserDeptService workUserDeptService;
......@@ -66,13 +67,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/**
* 功能; 获取某日被驳回说明
*
* @param userId
* @param workDay
* @return
* @param userId 用户id
* @param workDay 某日
* @return 工单集合
*/
@Override
public List<WorkTimeOrder> getByDay(Integer userId, Date workDay) {
......@@ -90,9 +90,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/**
* 功能:获取某日填报小计
*
* @param userId
* @param workDay
* @return
* @param userId 用户id
* @param workDay 某日
* @return 填报小计
*/
@Override
public SubtotalDto getSubtotalReport(Integer userId, Date workDay) {
......@@ -129,30 +129,25 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/**
* 功能; 获取某日填报信息
*
* @param userId
* @param workDay
* @return DTO
* @param userId 用户id
* @param workDay 工作日
* @return dto
*/
@Override
public List<WorkTimeOrderDto> getByDayToDto(Integer userId, Date workDay) {
log.info("WorkTimeOrderServiceImpl[]getByDayToDto[]input.param.userId:{},workDay:{}" + userId, workDay);
List<WorkTimeOrder> wtos = getByDay(userId, workDay);
List<WorkTimeOrderDto> dtos = new ArrayList<>();
WorkProject workProject = new WorkProject();
for (WorkTimeOrder wto : wtos) {
WorkTimeOrderDto dto = new WorkTimeOrderDto();
BeanUtils.copyProperties(wto, dto);
dto.setProjectManagerName(getManagerNameByOrder(wto));
dtos.add(dto);
if (CollectionUtils.isEmpty(wtos)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_INFO_IS_NULL);
}
return dtos;
return wtoToWtod(wtos);
}
/**
* 功能:工时填报
*
* @param dto
* @return
* @param dto 自定义填报类
* @return dto
*/
@Transactional
@Override
......@@ -174,8 +169,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/**
* 功能: 驳回重新填报
*
* @param dto
* @return
* @param dto 自定义DTO
* @return 填报信息
*/
@Transactional
@Override
......@@ -184,32 +179,45 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (null == dto || CollectionUtils.isEmpty(dto.getWorkTimeOrders())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
WorkSubmitAdopt workSbumitAdopt = workSbumitAdoptService.getById(1);
Integer submitTime = workSbumitAdopt.getSubmitTime();
for (WorkTimeOrderDto workTimeOrderDto : dto.getWorkTimeOrders()) {
List<WorkTimeOrderDto> workTimeOrders = dto.getWorkTimeOrders();
// 判断是否超过8小时
int count = 0;
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()) {
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) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_DAY_THAN_DATE);
}
WorkTimeOrder workTimeOrder = new WorkTimeOrder();
BeanUtils.copyProperties(workTimeOrderDto, workTimeOrder);
workTimeOrder.setStatus(4);
// 获取用户名
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
workTimeOrder.setDeptId(workUserDeptService.getDeptIdByUserId(workTimeOrder.getUserId()));
Integer deptIdByUserId = workUserDeptService.getDeptIdByUserId(workTimeOrder.getUserId());
workTimeOrder.setDeptId(deptIdByUserId);
Date workDay = workTimeOrder.getWorkDay();
// 默认正常工时
workTimeOrder.setIsOvertime(0);
if (workHolidayService.isHoliday(workDay)) {
workTimeOrder.setIsOvertime(1);
}
......@@ -220,29 +228,27 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
WorkCollect workCollect = new WorkCollect();
BeanUtils.copyProperties(workTimeOrder, workCollect);
workCollect.setStatus(1);
workCollect.setTotalTime(workTimeOrderDto.getWorkTime());
workCollectService.update(workCollect);
}
return dto.getWorkTimeOrders();
}
/**
* 功能:获取待审批数据
*
* @param userId
* @return
* @param userId 用户id
* @param projectId 项目id
* @param type 项目类型
* @param status 状态
* @return 自定义dto
*/
@Override
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);
if (null == userId) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
// 判断当前用户是否为管理
// 判断当前用户是否是管理员
isManager(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端
if (null != page && null != size) {
return pageExamine(user, projectId, type, page, size, status);
......@@ -257,30 +263,21 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
wrapper.in("status", 1, 4);
wrapper.eq("type", type);
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(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;
return WorkTimeOrderTOEGPD(workTimeOrders);
}
// 项目经理审核
if (null == projectId) {
projectId = workUserProjectService.getProjectIdByUserId(userId).get(0);
return getExamineGroupbyProjectDto(userId, projectId);
}
return getExamineGroupbyProjectDto(userId, projectId);
return getExamineGroupByProjectDto(projectId);
}
/**
* 功能:批量审批
*
* @param ids
* @return
* @param reviewerId 审批人
* @param ids 工单
* @return 是否成功
*/
@Transactional
@Override
......@@ -301,8 +298,8 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectBatchIds(ids);
Integer userId = null;
Date workDay = null;
Integer userId;
Date workDay;
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
userId = workTimeOrder.getUserId();
workDay = workTimeOrder.getWorkDay();
......@@ -321,9 +318,10 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
/**
* 功能: 驳回
*
* @param id
* @param reason
* @return
* @param reviewerId 审核人id
* @param id 工单id
* @param reason 驳回理由
* @return 是否成功
*/
@Transactional
@Override
......@@ -350,27 +348,20 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
workCollect.setStatus(3);
workCollect.setTotalTime(0);
Boolean aBoolean = workCollectService.update(workCollect);
return aBoolean;
return workCollectService.update(workCollect);
}
/**
* 功能:查询驳回未提交的
*
* @param userId
* @return
* @param userId 用户id
* @return dto
*/
@Transactional
@Override
public List<WorkTimeOrderDto> rejectNotSubmit(Integer userId) {
log.info("WorkOrderServiceImpl[]rejectById[]input.param.id:{}" + 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);
}
isManager(userId);
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("reviewer_id", userId);
wrapper.eq("status", 3);
......@@ -378,7 +369,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (CollectionUtils.isEmpty(workTimeOrders)) {
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) {
WorkTimeOrderDto dto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, dto);
......@@ -388,28 +384,30 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return dtos;
}
public List<ExamineGroupbyProjectDto> getExamineGroupbyProjectDto(Integer userId, Integer projectId) {
private List<ExamineGroupbyProjectDto> getExamineGroupByProjectDto(Integer projectId) {
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("project_id", projectId);
wrapper.in("status", 1, 4);
wrapper.orderByDesc("work_day");
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
return WorkTimeOrderTOEGPD(workTimeOrders);
}
private List<ExamineGroupbyProjectDto> WorkTimeOrderTOEGPD(List<WorkTimeOrder> workTimeOrders) {
if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END);
}
String projectName = workTimeOrders.get(0).getProjectName();
List<ExamineGroupbyProjectDto> egpds = new ArrayList<>();
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
ExamineGroupbyProjectDto dto = new ExamineGroupbyProjectDto();
BeanUtils.copyProperties(workTimeOrder, dto);
egpds.add(dto);
}
return egpds;
}
public void checkWorkOrderInfo(List<WorkTimeOrderDto> list) {
private void checkWorkOrderInfo(List<WorkTimeOrderDto> list) {
log.info("WorkOrderServiceImpl[]checkWorkOrderInfo[]input.method");
// 1、工单时间不能大于当前天
Date date = new Date();
......@@ -428,7 +426,12 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
}
//3.每天工时累加不得超过八小时
int count = 0;
timeNotEight(0, list);
}
//3.每天工时累加不得超过八小时
private void timeNotEight(int count, List<WorkTimeOrderDto> list) {
for (WorkTimeOrderDto workOrder : list) {
count = count + workOrder.getWorkTime();
if (count > 8) {
......@@ -438,17 +441,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
//判断填报是否超过今天
public boolean thanDate(Date date) {
private boolean thanDate(Date date) {
Date date1 = new Date();
int i = 0;
int i;
i = date1.compareTo(date);
if (i == -1) {
return true;
}
return false;
return -1 == i;
}
public List<WorkTimeOrderDto> saveWorkOrderInfo(List<WorkTimeOrderDto> list) {
private List<WorkTimeOrderDto> saveWorkOrderInfo(List<WorkTimeOrderDto> list) {
log.info("WorkOrderServiceImpl[]saveWorkOrderInfo[]input.method");
int totalTime = 0;
int status = 1;
......@@ -485,8 +485,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
workTimeOrder.setProjectId(null);
}
workTimeOrder.setStatus(status);
int saveRow = workTimeOrderMapper.save(workTimeOrder);
if (0 == saveRow) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.INSERT_DATA_IS_FAIL);
......@@ -503,7 +501,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
return list;
}
public String getTypeName(Integer type) {
private String getTypeName(Integer type) {
if (type == 5) {
return "外部商务、技术交流";
}
......@@ -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);
PageHelper.startPage(page, size);
List<ExamineGroupbyProjectDto> egpds = new ArrayList<>();
List<WorkTimeOrder> workTimeOrders = null;
List<WorkTimeOrder> workTimeOrders;
workTimeOrders = null;
Integer level = user.getLevel();
List<Integer> types = new ArrayList<>();
List<Integer> types;
// 项目经理
if (1 == level) {
types = type == null ? Arrays.asList(1, 2, 3, 4) : Arrays.asList(type);
types = type == null ? Arrays.asList(1, 2, 3, 4) : new ArrayList<>(type);
workTimeOrders = workTimeOrderMapper.queryByPage(status, projectId, types);
}
// 部门经理
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);
}
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
ExamineGroupbyProjectDto egpd = new ExamineGroupbyProjectDto();
BeanUtils.copyProperties(workTimeOrder, egpd);
egpds.add(egpd);
}
return egpds;
return WorkTimeOrderTOEGPD(workTimeOrders);
}
// 根据工单获取管理员
public String getManagerNameByOrder(WorkTimeOrder wto) {
private String getManagerNameByOrder(WorkTimeOrder wto) {
if (1 == wto.getType() || 2 == wto.getType()) {
WorkProject workProject = workProjectService.getById(wto.getProjectId());
return workProject != null ? workProject.getManagerName() : "";
}
if (1 != wto.getType() || 2 != wto.getType()) {
String ManagerName = workUserService.getById(
return workUserService.getById(
workDeptService.getById(wto.getDeptId()).getDeptManagerId())
.getName();
return ManagerName;
}
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 {
Integer deptId = workUserDeptService.getDeptIdByUserId(userId);
List<Integer> idsByDeptId = workUserDeptService.getUserIdsByDeptId(deptId);
WorkUser workUser = workUserService.getDeptManagerByIds(idsByDeptId);
list.stream().forEach(index -> index.setDeptManagerName(workUser.getName()));
list.forEach(index -> index.setDeptManagerName(workUser.getName()));
return getResult(list);
}
@ApiOperation(value = "单个或批量审批", notes = "单个或批量审批", httpMethod = "GET")
// @ApiImplicitParam(name = "ids", value = "工单id", dataType = "list", required = true)
@ApiImplicitParam(name = "reviewerId", value = "审核人id", dataType = "int", required = true)
@ApiImplicitParams({//@ApiImplicitParam(name = "ids", value = "工单id", dataType = "list", required = true),
@ApiImplicitParam(name = "reviewerId", value = "审核人id", dataType = "int", required = true)})
@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);
if (null == reviewerId || CollectionUtils.isEmpty(ids)) {
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:
type: com.alibaba.druid.pool.DruidDataSource
druid:
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
password: admin
password: 123456
initial-size: 10
max-active: 100
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