|
@@ -1,6 +1,5 @@
|
|
|
package com.fjhx.oa.service.daily.impl;
|
|
|
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -23,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
@@ -41,20 +41,34 @@ import java.util.stream.Collectors;
|
|
|
@DS(SourceConstant.OA)
|
|
|
@Service
|
|
|
public class DailyReportServiceImpl extends ServiceImpl<DailyReportMapper, DailyReport> implements DailyReportService {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+
|
|
|
@Autowired
|
|
|
DailyReportDetailsService dailyReportDetailsService;
|
|
|
|
|
|
@Override
|
|
|
public Page<DailyReportVo> getPage(DailyReportSelectDto dto) {
|
|
|
IWrapper<DailyReport> wrapper = getWrapper();
|
|
|
- wrapper.orderByDesc("dr", DailyReport::getId);
|
|
|
+ wrapper.orderByDesc("date");
|
|
|
Long userid = SecurityUtils.getUserId();
|
|
|
- wrapper.eq("drd",DailyReportDetails::getRecipientId,userid);
|
|
|
- wrapper.eq(ObjectUtil.isNotEmpty(dto.getSenderId()),"dr.create_user",dto.getSenderId());
|
|
|
- if(ObjectUtil.isNotEmpty(dto.getKeyword())){
|
|
|
- wrapper.and(wrapper1->wrapper1.like(DailyReport::getCompletedWork,dto.getKeyword())
|
|
|
- .or().like(DailyReport::getUnfinishedWork,dto.getKeyword())
|
|
|
- .or().like(DailyReport::getIsVisibleToRecipient,dto.getKeyword()));
|
|
|
+ wrapper.eq("drd", DailyReportDetails::getRecipientId, userid);
|
|
|
+ wrapper.eq(ObjectUtil.isNotEmpty(dto.getSenderId()), "dr.create_user", dto.getSenderId());
|
|
|
+ if(ObjectUtil.isNotEmpty(dto.getDate())) {
|
|
|
+ wrapper.apply("date_format(dr.create_time,'%Y-%m-%d') = date_format('" + sdf.format(dto.getDate()) + "','%Y-%m-%d')");
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
|
|
|
+ wrapper.and(wrapper1 -> wrapper1.like(DailyReport::getCompletedWork, dto.getKeyword())
|
|
|
+ .or().like(DailyReport::getUnfinishedWork, dto.getKeyword())
|
|
|
+ .or().like(DailyReport::getIsVisibleToRecipient, dto.getKeyword()));
|
|
|
+ }
|
|
|
+ if(ObjectUtil.isNotEmpty(dto.getType())) {
|
|
|
+ if (dto.getType() == 1) {
|
|
|
+ //过滤我发出的日报
|
|
|
+ wrapper.eq("dr.create_user", userid);
|
|
|
+ } else if (dto.getType() == 2) {
|
|
|
+ //过滤我收到的日报
|
|
|
+ wrapper.ne("dr.create_user", userid);
|
|
|
+ }
|
|
|
}
|
|
|
Page<DailyReportVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
UserUtil.assignmentNickName(page.getRecords(), DailyReport::getCreateUser, DailyReportVo::setUserName);
|
|
@@ -69,7 +83,7 @@ public class DailyReportServiceImpl extends ServiceImpl<DailyReportMapper, Daily
|
|
|
//添加已读记录
|
|
|
Long userid = SecurityUtils.getUserId();
|
|
|
DailyReportDetails dailyReportDetails = dailyReportDetailsService.getOne(q -> q.eq(DailyReportDetails::getDailyReportId, id).eq(DailyReportDetails::getRecipientId, userid));
|
|
|
- if(ObjectUtil.isNotEmpty(dailyReportDetails)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(dailyReportDetails)) {
|
|
|
dailyReportDetails.setIsRead(1);
|
|
|
dailyReportDetailsService.updateById(dailyReportDetails);
|
|
|
}
|
|
@@ -134,7 +148,7 @@ public class DailyReportServiceImpl extends ServiceImpl<DailyReportMapper, Daily
|
|
|
long receivedQuantity = dailyReportDetailsService.count(q -> q.eq(DailyReportDetails::getRecipientId, SecurityUtils.getUserId()));
|
|
|
IWrapper<DailyReport> wrapper = getWrapper();
|
|
|
wrapper.eq(DailyReport::getCreateUser, SecurityUtils.getUserId());
|
|
|
- wrapper.eq("(date( create_time ) = curdate())",1);
|
|
|
+ wrapper.eq("(date( create_time ) = curdate())", 1);
|
|
|
long quantitySentToday = count(wrapper);
|
|
|
DailyReportVo dailyReportVo = new DailyReportVo();
|
|
|
dailyReportVo.setQuantitySent(quantitySent);
|
|
@@ -148,7 +162,7 @@ public class DailyReportServiceImpl extends ServiceImpl<DailyReportMapper, Daily
|
|
|
String username = SecurityUtils.getUsername();
|
|
|
Map<String, Object> msgMap = new HashMap<>();
|
|
|
msgMap.put("businessId", id);
|
|
|
- msgMap.put("msg", String.format("%s给你分享了日报",username));
|
|
|
+ msgMap.put("msg", String.format("%s给你分享了日报", username));
|
|
|
WebSocketServer.sendInfo(toUserId, 1, msgMap);
|
|
|
}
|
|
|
|