gpt4 book ai didi

java - 状态更改时日期将被删除

转载 作者:行者123 更新时间:2023-11-30 01:48:02 25 4
gpt4 key购买 nike

我正在尝试跟踪任务何时开始和完成。我想根据任务状态更改的时间自动设置日期。这是代码:

@RequestMapping(value = "/save/task")
public String addTask(@ModelAttribute(value="task")Task task){
Task taskBeforeUpdate=taskRepository.findById(task.getId());
task.setTime(LocalDateTime.now());
if ((taskBeforeUpdate.getCompletedDate()==null) && (taskBeforeUpdate.getStatus().equalsIgnoreCase("In Progress")) &&(task.getStatus().equalsIgnoreCase("completed"))){
task.setCompletedDate(LocalDateTime.now());
}
else if ((taskBeforeUpdate.getStatus().equals("New, Not Yet Started") ) && (task.getStatus().equalsIgnoreCase("In Progress"))){
task.setInProgressDate(LocalDateTime.now());
}
taskRepository.save(task);
return "redirect:/client/tasks/"+task.getClient().getId();
}

假设任务是“进行中”,并且在最初设置时设置了一个进行中日期,当我更改为“已完成”时,进行中日期将更改为 NULL。我想将正在进行的日期保留在我的 SQL 数据库中。如何防止状态更改时自动删除该日期?

这解决了问题,但随后导致其他未“交换”的字段出现其他问题:

@RequestMapping(value = "/save/task")
public String addTask(@ModelAttribute(value="task")Task task){
Task taskBeforeUpdate=taskRepository.findById(task.getId());
task.setTime(LocalDateTime.now());
if ((taskBeforeUpdate.getCompletedDate()==null) && (taskBeforeUpdate.getStatus().equalsIgnoreCase("In Progress")) &&(task.getStatus().equalsIgnoreCase("completed"))){
task.setCompletedDate(LocalDateTime.now());
taskBeforeUpdate.setCompletedDate(task.getCompletedDate());
taskBeforeUpdate.setStatus(task.getStatus());
}
else if ((taskBeforeUpdate.getStatus().equalsIgnoreCase("New, Not Yet Started") ) && (task.getStatus().equalsIgnoreCase("In Progress"))){
task.setInProgressDate(LocalDateTime.now());
taskBeforeUpdate.setInProgressDate(task.getInProgressDate());
taskBeforeUpdate.setStatus(task.getStatus());
}else{
taskRepository.save(task);
}
taskRepository.save(taskBeforeUpdate);
return "redirect:/client/tasks/"+task.getClient().getId();
}

最佳答案

您从数据库“taskBeforeUpdate”获取的任务具有所有值,而参数“task”仅具有来自客户端的值。您应该将新值从任务复制到taskBeforeUpdate,然后将taskBeforeUpdate 保存到数据库中。

关于java - 状态更改时日期将被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57224417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com