修改插入报错问题
This commit is contained in:
@@ -10,9 +10,8 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
|||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@SpringBootApplication
|
|
||||||
@EnableScheduling //开启定时任务注解驱动
|
@EnableScheduling //开启定时任务注解驱动
|
||||||
|
@SpringBootApplication
|
||||||
public class RuoYiApplication {
|
public class RuoYiApplication {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|||||||
@@ -128,8 +128,8 @@ public class SysOaRemindController extends BaseController {
|
|||||||
* @return List<SysOaRemindVo>
|
* @return List<SysOaRemindVo>
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getRecentRemindList")
|
@GetMapping("/getRecentRemindList")
|
||||||
public R<List<SysOaRemindVo>> getRecentRemindList() {
|
public R<List<SysOaRemindVo>> getRecentRemindList(SysOaRemindBo bo) {
|
||||||
List<SysOaRemindVo> remindList = iSysOaRemindService.queryRecentRemindList();
|
List<SysOaRemindVo> remindList = iSysOaRemindService.queryRecentRemindList(bo);
|
||||||
return R.ok(remindList);
|
return R.ok(remindList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.oa.domain.SysOaTask;
|
import com.ruoyi.oa.domain.SysOaTask;
|
||||||
import com.ruoyi.oa.domain.UserMonthlyData;
|
import com.ruoyi.oa.domain.UserMonthlyData;
|
||||||
|
import com.ruoyi.oa.domain.bo.SysOaTaskBo;
|
||||||
import com.ruoyi.oa.domain.vo.SysOaTaskVo;
|
import com.ruoyi.oa.domain.vo.SysOaTaskVo;
|
||||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@@ -44,4 +45,9 @@ public interface SysOaTaskMapper extends BaseMapperPlus<SysOaTaskMapper, SysOaTa
|
|||||||
|
|
||||||
List<SysOaTaskVo> listDocumentProject(Long projectId);
|
List<SysOaTaskVo> listDocumentProject(Long projectId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增:自定义查询任务列表(Plus版)
|
||||||
|
*/
|
||||||
|
List<SysOaTaskVo> queryListPlus(SysOaTaskBo bo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public interface ISysOaRemindService {
|
|||||||
* 查询所有小于三天的任务和项目提醒,只查当天(到秒)。
|
* 查询所有小于三天的任务和项目提醒,只查当天(到秒)。
|
||||||
* @return List<SysOaRemindVo>
|
* @return List<SysOaRemindVo>
|
||||||
*/
|
*/
|
||||||
List<SysOaRemindVo> queryRecentRemindList();
|
List<SysOaRemindVo> queryRecentRemindList(SysOaRemindBo bo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增事件提醒
|
* 新增事件提醒
|
||||||
|
|||||||
@@ -107,5 +107,9 @@ public interface ISysOaTaskService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SysOaTaskVo> listDocumentProject(Long projectId);
|
List<SysOaTaskVo> listDocumentProject(Long projectId);
|
||||||
|
/**
|
||||||
|
* 新增:自定义查询任务列表(Plus版)
|
||||||
|
*/
|
||||||
|
List<SysOaTaskVo> queryListPlus(SysOaTaskBo bo);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,9 @@ import com.ruoyi.oa.domain.vo.SysOaRemindVo;
|
|||||||
import com.ruoyi.oa.domain.SysOaRemind;
|
import com.ruoyi.oa.domain.SysOaRemind;
|
||||||
import com.ruoyi.oa.mapper.SysOaRemindMapper;
|
import com.ruoyi.oa.mapper.SysOaRemindMapper;
|
||||||
import com.ruoyi.oa.service.ISysOaRemindService;
|
import com.ruoyi.oa.service.ISysOaRemindService;
|
||||||
|
import org.yaml.snakeyaml.constructor.Construct;
|
||||||
|
|
||||||
|
import javax.annotation.PostConstruct;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -159,7 +161,7 @@ public class SysOaRemindServiceImpl implements ISysOaRemindService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SysOaRemindVo> queryRecentRemindList() {
|
public List<SysOaRemindVo> queryRecentRemindList(SysOaRemindBo bo) {
|
||||||
LambdaQueryWrapper<SysOaRemind> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<SysOaRemind> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.in(SysOaRemind::getRemindType, Arrays.asList("task", "project"));
|
lqw.in(SysOaRemind::getRemindType, Arrays.asList("task", "project"));
|
||||||
lqw.eq(SysOaRemind::getTaskStatus, "0");
|
lqw.eq(SysOaRemind::getTaskStatus, "0");
|
||||||
@@ -168,6 +170,9 @@ public class SysOaRemindServiceImpl implements ISysOaRemindService {
|
|||||||
String today = sdf.format(new java.util.Date());
|
String today = sdf.format(new java.util.Date());
|
||||||
lqw.apply("DATE_FORMAT(create_time, '%Y-%m-%d') = {0}", today);
|
lqw.apply("DATE_FORMAT(create_time, '%Y-%m-%d') = {0}", today);
|
||||||
lqw.orderByAsc(SysOaRemind::getEndTime);
|
lqw.orderByAsc(SysOaRemind::getEndTime);
|
||||||
|
if (bo != null && bo.getTargetUserId() != null) {
|
||||||
|
lqw.eq(SysOaRemind::getTargetUserId, bo.getTargetUserId());
|
||||||
|
}
|
||||||
List<SysOaRemind> remindList = baseMapper.selectList(lqw);
|
List<SysOaRemind> remindList = baseMapper.selectList(lqw);
|
||||||
List<SysOaRemindVo> voList = new ArrayList<>();
|
List<SysOaRemindVo> voList = new ArrayList<>();
|
||||||
for (SysOaRemind remind : remindList) {
|
for (SysOaRemind remind : remindList) {
|
||||||
@@ -268,17 +273,30 @@ public class SysOaRemindServiceImpl implements ISysOaRemindService {
|
|||||||
/**
|
/**
|
||||||
* 定时任务:每天凌晨1点,查task表和project表,把3天内到期且未完成/未完结的任务和项目插入remind表。
|
* 定时任务:每天凌晨1点,查task表和project表,把3天内到期且未完成/未完结的任务和项目插入remind表。
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0 1 * * ?")
|
// @PostConstruct
|
||||||
|
//一秒执行一次
|
||||||
|
|
||||||
|
// @Scheduled(fixedRate = 1000)
|
||||||
|
@Scheduled(cron = "0 * * * * ?")
|
||||||
public void generateRemindJob() {
|
public void generateRemindJob() {
|
||||||
// 查询3天内到期的任务
|
// 查询3天内到期的任务
|
||||||
SysOaTaskBo taskBo = new SysOaTaskBo();
|
SysOaTaskBo taskBo = new SysOaTaskBo();
|
||||||
// 只查未完成任务
|
// 只查未完成任务
|
||||||
taskBo.setState(0L);
|
taskBo.setState(0L);
|
||||||
List<SysOaTaskVo> taskList = sysOaTaskService.queryList(taskBo);
|
List<SysOaTaskVo> taskList = sysOaTaskService.queryListPlus(taskBo);
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
for (SysOaTaskVo task : taskList) {
|
for (SysOaTaskVo task : taskList) {
|
||||||
if (task.getFinishTime() != null) {
|
Date endTime = null;
|
||||||
long diff = (task.getFinishTime().getTime() - now.getTime()) / (1000 * 60 * 60 * 24);
|
if (task.getStatus() != null && task.getStatus() == 1L) {
|
||||||
|
// 报工模式,endTime=beginTime+timeGap天
|
||||||
|
endTime = com.ruoyi.oa.service.impl.SysOaTaskServiceImpl.addDays(task.getBeginTime(), task.getTimeGap());
|
||||||
|
System.out.println("报工模式,endTime=beginTime+timeGap天"+endTime);
|
||||||
|
} else {
|
||||||
|
// 普通模式,endTime=finishTime
|
||||||
|
endTime = task.getFinishTime();
|
||||||
|
}
|
||||||
|
if (endTime != null) {
|
||||||
|
long diff = (endTime.getTime() - now.getTime()) / (1000 * 60 * 60 * 24);
|
||||||
if (diff >= 0 && diff <= 3) {
|
if (diff >= 0 && diff <= 3) {
|
||||||
SysOaRemind remind = new SysOaRemind();
|
SysOaRemind remind = new SysOaRemind();
|
||||||
remind.setRemindType("task");
|
remind.setRemindType("task");
|
||||||
@@ -288,7 +306,7 @@ public class SysOaRemindServiceImpl implements ISysOaRemindService {
|
|||||||
remind.setContent(task.getContent());
|
remind.setContent(task.getContent());
|
||||||
remind.setTaskTime(now);
|
remind.setTaskTime(now);
|
||||||
remind.setTaskStatus("0");
|
remind.setTaskStatus("0");
|
||||||
remind.setEndTime(task.getFinishTime());
|
remind.setEndTime(endTime);
|
||||||
remind.setCreateBy(task.getCreateBy());
|
remind.setCreateBy(task.getCreateBy());
|
||||||
remind.setCreateTime(now);
|
remind.setCreateTime(now);
|
||||||
remind.setUpdateBy(""); // 无updateBy
|
remind.setUpdateBy(""); // 无updateBy
|
||||||
|
|||||||
@@ -124,6 +124,14 @@ public class SysOaTaskServiceImpl implements ISysOaTaskService {
|
|||||||
return baseMapper.listDocumentProject(projectId);
|
return baseMapper.listDocumentProject(projectId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增:自定义查询任务列表(Plus版)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SysOaTaskVo> queryListPlus(SysOaTaskBo bo) {
|
||||||
|
return baseMapper.queryListPlus(bo);
|
||||||
|
}
|
||||||
|
|
||||||
private QueryWrapper<SysOaTask> buildQueryWrapper(SysOaTaskBo bo) {
|
private QueryWrapper<SysOaTask> buildQueryWrapper(SysOaTaskBo bo) {
|
||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
QueryWrapper<SysOaTask> lqw = Wrappers.query();
|
QueryWrapper<SysOaTask> lqw = Wrappers.query();
|
||||||
|
|||||||
@@ -365,5 +365,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryListPlus" parameterType="com.ruoyi.oa.domain.bo.SysOaTaskBo" resultType="com.ruoyi.oa.domain.vo.SysOaTaskVo">
|
||||||
|
SELECT
|
||||||
|
task_id AS taskId,
|
||||||
|
project_id AS projectId,
|
||||||
|
task_title AS taskTitle,
|
||||||
|
task_type AS taskType,
|
||||||
|
task_grade AS taskGrade,
|
||||||
|
collaborator AS collaborator,
|
||||||
|
begin_time AS beginTime,
|
||||||
|
finish_time AS finishTime,
|
||||||
|
content AS content,
|
||||||
|
accessory AS accessory,
|
||||||
|
remark AS remark,
|
||||||
|
create_by AS createBy,
|
||||||
|
create_time AS createTime,
|
||||||
|
create_user_id AS createUserId,
|
||||||
|
worker_id AS workerId,
|
||||||
|
origin_finish_time AS originFinishTime,
|
||||||
|
postponements AS postponements,
|
||||||
|
rank_number AS rankNumber,
|
||||||
|
completed_time AS completedTime,
|
||||||
|
state AS state,
|
||||||
|
task_rank AS taskRank,
|
||||||
|
own_rank AS ownRank,
|
||||||
|
status AS status,
|
||||||
|
time_gap AS timeGap,
|
||||||
|
temp_time AS tempTime
|
||||||
|
FROM sys_oa_task
|
||||||
|
<where>
|
||||||
|
<if test="state != null">
|
||||||
|
state = #{state}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user