|
@@ -428,7 +428,9 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
|
|
|
@Override
|
|
|
public List<SysUser> nickNames(List<Long> userIds) {
|
|
|
LambdaQueryWrapper<SysUser> usersQuery = Wrappers.lambdaQuery();
|
|
|
- usersQuery.select(SysUser::getUserId, SysUser::getNickName, SysUser::getUserName, SysUser::getPhonenumber, SysUser::getAvatar, SysUser::getSex, SysUser::getDeptId).eq(SysUser::getTenantId, SecurityUtils.getTenantId()).eq(SysUser::getDelFlag, 0);
|
|
|
+ usersQuery.select(SysUser::getUserId, SysUser::getNickName, SysUser::getUserName, SysUser::getPhonenumber, SysUser::getAvatar, SysUser::getSex, SysUser::getDeptId)
|
|
|
+ .eq(SysUser::getTenantId, SecurityUtils.getTenantId())
|
|
|
+ .eq(SysUser::getDelFlag, 0);
|
|
|
if (!userIds.isEmpty()) {
|
|
|
usersQuery.in(SysUser::getUserId, userIds);
|
|
|
}
|
|
@@ -443,15 +445,30 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
|
|
|
* @return: java.util.List<com.usky.system.domain.PmWorkContent>
|
|
|
**/
|
|
|
@Override
|
|
|
- public CommonPage<PmWorkReport> reportPage(Integer projectAscription, Integer pageNum, Integer pageSize, Integer reportId,
|
|
|
- String startDate, String endDate, Integer projectId, Long userId) {
|
|
|
+ public CommonPage<PmWorkReport> reportPage(Integer projectAscription, Integer pageNum, Integer pageSize, Integer reportId, String startDate,
|
|
|
+ String endDate, Integer projectId, Long userId, Integer upOrDown, Integer slideSum, String submitDate) {
|
|
|
+ if (pageNum < 1 || pageSize < 1) {
|
|
|
+ throw new BusinessException("页码和每页数量不能小于1");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<PmWorkReport> reportList = new ArrayList<>();
|
|
|
+ IPage<PmWorkReport> reportPage = new Page<>(pageNum, pageSize);
|
|
|
LocalDateTime startDateTime = null;
|
|
|
LocalDateTime endDateTime = null;
|
|
|
+ LocalDateTime submitDateTime = null;
|
|
|
+ if (StringUtils.isNotBlank(submitDate)) {
|
|
|
+ DateTimeFormatter submitDateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ try {
|
|
|
+ submitDateTime = LocalDateTime.parse(submitDate, submitDateFormatter);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new BusinessException("滑动时间传参格式不正确,请重试" + e);
|
|
|
+ }
|
|
|
+ }
|
|
|
Integer tenantId = SecurityUtils.getTenantId();
|
|
|
LocalDate start = null;
|
|
|
LocalDate end = null;
|
|
|
List<Integer> reportIds = new ArrayList<>();
|
|
|
- CommonPage<PmWorkReport> returnPage = new CommonPage<>(new ArrayList<>(), 0, pageSize, pageNum);
|
|
|
+ CommonPage<PmWorkReport> returnPage = new CommonPage<>(reportList, reportPage.getTotal(), pageSize, pageNum);
|
|
|
|
|
|
Set<Integer> reportIdsByUser = new HashSet<>();
|
|
|
Set<Integer> reportIdsByDate = new HashSet<>();
|
|
@@ -576,10 +593,33 @@ public class PmWorkContentServiceImpl extends AbstractCrudService<PmWorkContentM
|
|
|
if (reportId != null && reportId != 0) {
|
|
|
reportQuery.eq(PmWorkReport::getId, reportId);
|
|
|
} else {
|
|
|
- reportQuery.in(PmWorkReport::getId, reportIds2).orderByDesc(PmWorkReport::getSubmitDate);
|
|
|
+ reportQuery.in(PmWorkReport::getId, reportIds2);
|
|
|
+ // 判断上下滑动以及数量
|
|
|
+ if (upOrDown != null && slideSum != null && submitDateTime != null) {
|
|
|
+ if (slideSum > 0) {
|
|
|
+ // 向下滑动
|
|
|
+ if (upOrDown == 0) {
|
|
|
+ reportQuery.lt(PmWorkReport::getSubmitDate, submitDateTime).orderByDesc(PmWorkReport::getSubmitDate);
|
|
|
+ }
|
|
|
+ // 向上滑动
|
|
|
+ else if (upOrDown == 1) {
|
|
|
+ reportQuery.gt(PmWorkReport::getSubmitDate, submitDateTime).orderByAsc(PmWorkReport::getSubmitDate);
|
|
|
+ } else {
|
|
|
+ throw new BusinessException("上下滑动参数异常");
|
|
|
+ }
|
|
|
+ // 设置pageSize为slideSum,确保返回的数据量为slideSum
|
|
|
+ pageNum = 1;
|
|
|
+ pageSize = slideSum;
|
|
|
+ } else {
|
|
|
+ throw new BusinessException("滑动数量参数必须是大于0正整数");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ reportQuery.orderByDesc(PmWorkReport::getSubmitDate);
|
|
|
+ }
|
|
|
}
|
|
|
- IPage<PmWorkReport> reportPage = pmWorkReportMapper.selectPage(new Page<>(pageNum, pageSize), reportQuery);
|
|
|
- List<PmWorkReport> reportList = reportPage.getRecords();
|
|
|
+
|
|
|
+ reportPage = pmWorkReportMapper.selectPage(new Page<>(pageNum, pageSize), reportQuery);
|
|
|
+ reportList = reportPage.getRecords();
|
|
|
|
|
|
// 查询已读状态
|
|
|
LambdaQueryWrapper<PmReceive> statusQuery = Wrappers.lambdaQuery();
|