时间轴--时间范围搜索

This commit is contained in:
zhn
2022-05-18 16:40:58 +08:00
parent f4dec0c456
commit 527ac9198e
4 changed files with 17 additions and 14 deletions
@@ -58,7 +58,7 @@ public class ProjectStatusBoardController {
@AutoLog(value = "时间轴列")
@ApiOperation(value="时间轴列", notes="时间轴列")
@GetMapping(value = "/timeline")
public Result<?> timeline(Date startTime,Date endTime) {
public Result<?> timeline(String startTime,String endTime) {
List<String> timeline = iProjectStatusBoardService.timeline(startTime, endTime);
return Result.OK(timeline);
}
@@ -97,8 +97,8 @@ public class ProjectLibraryBase implements Serializable {
private String cut;
@TableField(exist = false)
private java.util.Date startTime;
private String startTime;
@TableField(exist = false)
private java.util.Date endTime;
private String endTime;
}
@@ -23,7 +23,7 @@ public interface IProjectStatusBoardService {
*/
List<Map<String,Object>> timelineList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req);
List<String> timeline(Date startTime, Date endTime);
List<String> timeline(String startTime, String endTime);
/**
* 项目状态进度
@@ -18,6 +18,7 @@ import com.jero.modules.project.service.IProjectStatusBoardService;
import com.jero.modules.project.vo.TimeNodeVO;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import lombok.SneakyThrows;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -61,11 +62,12 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
* @param req
* @return
*/
@SneakyThrows
@Override
public List<Map<String,Object>> timelineList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) {
// QueryWrapper<ProjectLibraryBase> queryWrapper = QueryGenerator.initQueryWrapper(projectLibraryBase, req.getParameterMap());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
//项目库信息
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseService.getList(projectLibraryBase);
List<List<TimeNodeVO>> list = new ArrayList<>();
@@ -79,15 +81,15 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
int index = 0;
list = projectTaskPlanningService.queryByProjectId(StringUtils.join(projectLibraryBaseIdList, ","), projectLibraryBase.getCut());
//时间段筛选,过滤数据
Date startTime = projectLibraryBase.getStartTime();
Date endTime = projectLibraryBase.getEndTime();
String startTime = projectLibraryBase.getStartTime();
String endTime = projectLibraryBase.getEndTime();
List<List<TimeNodeVO>> listNew = new ArrayList<>();
if(ObjectUtils.isNotEmpty(startTime) && ObjectUtils.isNotEmpty(endTime)){
for (List<TimeNodeVO> timeNodeVOS : list) {
List<TimeNodeVO> timeNodeVOList = new ArrayList<>();
for (TimeNodeVO timeNodeVO : timeNodeVOS) {
Date time = timeNodeVO.getTime();
if(time.after(startTime) && time.before(endTime)){
if(time.after(sdf.parse(startTime)) && time.before(sdf.parse(endTime))){
TimeNodeVO timeNodeVOTemp = new TimeNodeVO();
BeanUtils.copyProperties(timeNodeVO,timeNodeVOTemp);
timeNodeVOTemp.setTime(time);
@@ -400,27 +402,28 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
}
@SneakyThrows
@Override
public List<String> timeline(Date startTime, Date endTime) {
public List<String> timeline(String startTime, String endTime) {
List<String> result = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Calendar calendarBefore = Calendar.getInstance();
if(ObjectUtils.isNotEmpty(startTime)){
calendarBefore.setTime(startTime);
calendarBefore.setTime(sdf.parse(startTime));
}else{
calendarBefore.setTime(new Date());
calendarBefore.add(Calendar.MONTH, -6);
}
calendarBefore.add(Calendar.MONTH, -6);
Date dateBefore = calendarBefore.getTime();
Calendar calendarAfter = Calendar.getInstance();
if(ObjectUtils.isNotEmpty(endTime)){
calendarAfter.setTime(endTime);
calendarAfter.setTime(sdf.parse(endTime));
}else{
calendarAfter.setTime(new Date());
calendarAfter.add(Calendar.MONTH, +5);
}
calendarAfter.add(Calendar.MONTH, +5);
Date dateAfter = calendarAfter.getTime();
Calendar min = Calendar.getInstance();