|
@@ -2,11 +2,15 @@ package com.usky.oa.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.usky.common.core.bean.CommonPage;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
import com.usky.oa.domain.OaApproval;
|
|
|
import com.usky.oa.domain.OaDocument;
|
|
|
import com.usky.oa.mapper.OaApprovalMapper;
|
|
|
+import com.usky.oa.mapper.OaDocumentMapper;
|
|
|
import com.usky.oa.service.OaApprovalService;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
import com.usky.oa.service.vo.OaApprovalCountVO;
|
|
@@ -31,6 +35,10 @@ public class OaApprovalServiceImpl extends AbstractCrudService<OaApprovalMapper,
|
|
|
@Autowired
|
|
|
private OaApprovalMapper oaApprovalMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private OaDocumentMapper oaDocumentMapper;
|
|
|
+
|
|
|
+ // 我的申请-待处理、已处理、我发起、我收到-统计
|
|
|
@Override
|
|
|
public OaApprovalCountVO approvalCount() {
|
|
|
Long userId = SecurityUtils.getUserId();
|
|
@@ -50,7 +58,44 @@ public class OaApprovalServiceImpl extends AbstractCrudService<OaApprovalMapper,
|
|
|
return oaApprovalCountVO;
|
|
|
}
|
|
|
|
|
|
- private List<OaApproval> getPendingSum(Integer tenantId, Long userId){
|
|
|
+ // 我的代办-待处理、已处理、我收到-分页
|
|
|
+ @Override
|
|
|
+ public CommonPage<OaApproval> pageList(Integer queryType, String docNo, String formSign, Integer approvalStatus, String startTime, String endTime, Integer pageNum, Integer pageSize) {
|
|
|
+ Long userId = SecurityUtils.getUserId();
|
|
|
+ Integer tenantId = SecurityUtils.getTenantId();
|
|
|
+ IPage<OaApproval> page = new Page<>(pageNum, pageSize);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<OaApproval> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.eq(OaApproval::getTenantId, tenantId)
|
|
|
+ .eq(OaApproval::getApprovalUid, userId);
|
|
|
+
|
|
|
+ switch (queryType) {
|
|
|
+ case 1:
|
|
|
+ queryWrapper.eq(OaApproval::getApprovalStatus, 1)
|
|
|
+ .like(StringUtils.isNotBlank(docNo), OaApproval::getDocNo, docNo)
|
|
|
+ .like(StringUtils.isNotBlank(formSign), OaApproval::getDocNo, formSign)
|
|
|
+ .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), OaApproval::getSubmitDate, startTime, endTime);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ queryWrapper.like(StringUtils.isNotBlank(docNo), OaApproval::getDocNo, docNo)
|
|
|
+ .like(StringUtils.isNotBlank(formSign), OaApproval::getDocNo, formSign)
|
|
|
+ .eq(approvalStatus != null && approvalStatus > 1 && approvalStatus < 4, OaApproval::getApprovalStatus, approvalStatus)
|
|
|
+ .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), OaApproval::getSubmitDate, startTime, endTime);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ queryWrapper.like(StringUtils.isNotBlank(docNo), OaApproval::getDocNo, docNo)
|
|
|
+ .like(StringUtils.isNotBlank(formSign), OaApproval::getDocNo, formSign)
|
|
|
+ .eq(approvalStatus != null && approvalStatus > 0 && approvalStatus < 4, OaApproval::getApprovalStatus, approvalStatus)
|
|
|
+ .between(StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime), OaApproval::getSubmitDate, startTime, endTime);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ throw new RuntimeException("查询类型参数错误");
|
|
|
+ }
|
|
|
+ return ToCommonPage(oaApprovalMapper.selectPage(page, queryWrapper));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 待处理
|
|
|
+ private List<OaApproval> getPendingSum(Integer tenantId, Long userId) {
|
|
|
LambdaQueryWrapper<OaApproval> queryWrapper = Wrappers.lambdaQuery();
|
|
|
queryWrapper.eq(OaApproval::getTenantId, tenantId)
|
|
|
.eq(OaApproval::getApprovalUid, userId)
|
|
@@ -59,7 +104,8 @@ public class OaApprovalServiceImpl extends AbstractCrudService<OaApprovalMapper,
|
|
|
return oaApprovals == null ? Collections.emptyList() : oaApprovals;
|
|
|
}
|
|
|
|
|
|
- private List<OaApproval> getAlreadySum(Integer tenantId, Long userId){
|
|
|
+ // 已处理
|
|
|
+ private List<OaApproval> getAlreadySum(Integer tenantId, Long userId) {
|
|
|
LambdaQueryWrapper<OaApproval> queryWrapper = Wrappers.lambdaQuery();
|
|
|
queryWrapper.eq(OaApproval::getTenantId, tenantId)
|
|
|
.eq(OaApproval::getApprovalUid, userId)
|
|
@@ -71,20 +117,39 @@ public class OaApprovalServiceImpl extends AbstractCrudService<OaApprovalMapper,
|
|
|
return oaApprovals == null ? Collections.emptyList() : oaApprovals;
|
|
|
}
|
|
|
|
|
|
- private List<OaApproval> getMyInitiated(Integer tenantId, String username){
|
|
|
+ // 我发起
|
|
|
+ /*private List<OaApproval> getMyInitiated(Integer tenantId, String username) {
|
|
|
+ List<String> docNoList = oaDocumentMapper.selectList(new QueryWrapper<OaDocument>().lambda()
|
|
|
+ .select(OaDocument::getDocNo)
|
|
|
+ .eq(OaDocument::getTenantId, tenantId)
|
|
|
+ .eq(OaDocument::getCreateBy, username)
|
|
|
+ // 已发起只计算 审批中、审通过、审批不通过
|
|
|
+ .in(OaDocument::getDocStatus, 1, 2, 3)).stream().map(OaDocument::getDocNo).collect(Collectors.toList());
|
|
|
+
|
|
|
LambdaQueryWrapper<OaApproval> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.eq(OaApproval::getTenantId, tenantId)
|
|
|
- .eq(OaApproval::getCreateBy, username);
|
|
|
+ queryWrapper.in(OaApproval::getDocNo, docNoList);
|
|
|
List<OaApproval> oaApprovals = oaApprovalMapper.selectList(queryWrapper);
|
|
|
return oaApprovals == null ? Collections.emptyList() : oaApprovals;
|
|
|
+ }*/
|
|
|
+
|
|
|
+ // 我发起
|
|
|
+ private List<OaDocument> getMyInitiated(Integer tenantId, String username) {
|
|
|
+ List<OaDocument> oaDocuments = oaDocumentMapper.selectList(new QueryWrapper<OaDocument>().lambda()
|
|
|
+ .select(OaDocument::getDocNo)
|
|
|
+ .eq(OaDocument::getTenantId, tenantId)
|
|
|
+ .eq(OaDocument::getCreateBy, username)
|
|
|
+ // 已发起只计算 审批中、审通过、审批不通过
|
|
|
+ .in(OaDocument::getDocStatus, 1, 2, 3));
|
|
|
+ return oaDocuments == null ? Collections.emptyList() : oaDocuments;
|
|
|
}
|
|
|
|
|
|
- private List<OaApproval> getMyReceived(Integer tenantId, Long userId){
|
|
|
+ // 我收到
|
|
|
+ private List<OaApproval> getMyReceived(Integer tenantId, Long userId) {
|
|
|
LambdaQueryWrapper<OaApproval> queryWrapper = Wrappers.lambdaQuery();
|
|
|
queryWrapper.eq(OaApproval::getTenantId, tenantId)
|
|
|
.eq(OaApproval::getApprovalUid, userId);
|
|
|
List<OaApproval> oaApprovals = oaApprovalMapper.selectList(queryWrapper);
|
|
|
- return oaApprovals== null ? Collections.emptyList() : oaApprovals;
|
|
|
+ return oaApprovals == null ? Collections.emptyList() : oaApprovals;
|
|
|
}
|
|
|
|
|
|
}
|