feature-zrx #24
|
@ -53,6 +53,10 @@ public class ProjectDailyController {
|
|||
}
|
||||
|
||||
|
||||
@GetMapping("/daily/getMyDaily")
|
||||
public BaseResponse getMyDaily(HttpServletRequest request) {
|
||||
return projectDailyService.getMyDaily(request);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -4,11 +4,17 @@ package com.jsl.oa.dao;
|
|||
*/
|
||||
|
||||
import com.jsl.oa.mapper.ProjectDailyMapper;
|
||||
import com.jsl.oa.mapper.ProjectMapper;
|
||||
import com.jsl.oa.model.dodata.ProjectDO;
|
||||
import com.jsl.oa.model.dodata.ProjectDailyDO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -26,6 +32,7 @@ import org.springframework.stereotype.Component;
|
|||
public class ProjectDailyDAO {
|
||||
|
||||
private final ProjectDailyMapper projectDailyMapper;
|
||||
private final ProjectMapper projectMapper;
|
||||
|
||||
|
||||
public void addProjectDaily(ProjectDailyDO projectDailyDO) {
|
||||
|
@ -33,6 +40,38 @@ public class ProjectDailyDAO {
|
|||
}
|
||||
|
||||
|
||||
public List<ProjectDailyDO> getMyProjectDaily(Long userId) {
|
||||
|
||||
// 日报数据数组
|
||||
List<ProjectDailyDO> projectDailyDOList = new ArrayList<>();
|
||||
|
||||
// 先获取我负责的项目下的日报数据
|
||||
//获取我负责的项目
|
||||
List<ProjectDO> projectDOS = projectMapper.getAllProjectByUserId(userId);
|
||||
//获取项目下对应日报
|
||||
for (ProjectDO projectDO:projectDOS) {
|
||||
List dailyFromProject = projectDailyMapper.getProjectDailyByProject(projectDO.getId());
|
||||
projectDailyDOList.addAll(dailyFromProject);
|
||||
}
|
||||
|
||||
// 在获取本人的发布日报
|
||||
List<ProjectDailyDO> myProjectDaily = projectDailyMapper.getProjectDailyByUser(userId);
|
||||
projectDailyDOList.addAll(myProjectDaily);
|
||||
|
||||
// 去除重复的日报信息
|
||||
projectDailyDOList = projectDailyDOList.stream()
|
||||
// 根据 id 属性进行去重
|
||||
.collect(Collectors.toMap(ProjectDailyDO::getId,
|
||||
Function.identity(), (existing, replacement) -> existing))
|
||||
.values().stream()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return projectDailyDOList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@ package com.jsl.oa.mapper;
|
|||
import com.jsl.oa.model.dodata.ProjectDailyDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 项目日报(ProjectDaily)表数据库访问层
|
||||
|
@ -16,6 +18,11 @@ public interface ProjectDailyMapper {
|
|||
|
||||
|
||||
void insert(ProjectDailyDO projectDailyDO);
|
||||
|
||||
List<ProjectDailyDO> getProjectDailyByUser(Long uid);
|
||||
|
||||
List<ProjectDailyDO> getProjectDailyByProject(Long pid);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ public interface ProjectDailyService {
|
|||
|
||||
BaseResponse addDaily(ProjectDailyAddVO projectDailyAddVO, HttpServletRequest request);
|
||||
|
||||
BaseResponse getMyDaily(HttpServletRequest request);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <h1>日志服务层实现类</h1>
|
||||
|
@ -64,8 +65,18 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
|
|||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse getMyDaily(HttpServletRequest request) {
|
||||
|
||||
// 获取用户id
|
||||
Long userId = Processing.getAuthHeaderToUserId(request);
|
||||
// 获取 我发布的及自己负责的项目下 的日报
|
||||
List<ProjectDailyDO> projectDailyDOList =
|
||||
projectDailyDAO.getMyProjectDaily(userId);
|
||||
|
||||
return ResultUtil.success(projectDailyDOList);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -25,4 +25,17 @@
|
|||
</trim>
|
||||
</insert>
|
||||
|
||||
<select id="getProjectDailyByUser" parameterType="java.lang.Long"
|
||||
resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
|
||||
select * from oa_project_daily where user_id = #{uid}
|
||||
and is_delete = 0
|
||||
</select>
|
||||
|
||||
<select id="getProjectDailyByProject" parameterType="java.lang.Integer"
|
||||
resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
|
||||
select * from oa_project_daily where user_id = #{pid}
|
||||
and is_delete = 0
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue
Block a user