流程+任务分发+报销功能完成
This commit is contained in:
@@ -5,6 +5,7 @@ import com.ruoyi.oa.domain.bo.SysOaClaimBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@@ -45,4 +46,11 @@ public interface ISysOaClaimService {
|
||||
* 校验并批量删除差旅费报销信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 查询报销表单
|
||||
* @param procInsId 实例id
|
||||
* @return vo对象
|
||||
*/
|
||||
SysOaClaimVo queryByProcInsId(String procInsId);
|
||||
}
|
||||
|
||||
@@ -46,4 +46,6 @@ public interface ISysOaFileService {
|
||||
* 校验并批量删除文件存储信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
Long insertByBoReturnId(SysOaFileBo bo);
|
||||
}
|
||||
|
||||
@@ -8,9 +8,10 @@ import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.SysOaClaimDetail;
|
||||
import com.ruoyi.oa.domain.bo.SysOaClaimDetailBo;
|
||||
import com.ruoyi.oa.domain.bo.SysOaFileBo;
|
||||
import com.ruoyi.oa.service.ISysOaClaimDetailService;
|
||||
import com.ruoyi.oa.service.ISysOaFileService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -20,6 +21,8 @@ import com.ruoyi.oa.domain.SysOaClaim;
|
||||
import com.ruoyi.oa.mapper.SysOaClaimMapper;
|
||||
import com.ruoyi.oa.service.ISysOaClaimService;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
@@ -39,6 +42,9 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
@Autowired
|
||||
private ISysOaClaimDetailService sysOaClaimDetailService;
|
||||
|
||||
@Autowired
|
||||
private ISysOaFileService sysOaFileService;
|
||||
|
||||
/**
|
||||
* 查询差旅费报销
|
||||
*/
|
||||
@@ -47,11 +53,22 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
return baseMapper.selectSysOaClaimVoById(claimId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据实例id返回vo
|
||||
* @param procInsId 实例id
|
||||
* @return vo
|
||||
*/
|
||||
@Override
|
||||
public SysOaClaimVo queryByProcInsId(String procInsId) {
|
||||
return baseMapper.selectSysOaClaimVoByProcInsId(procInsId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询差旅费报销列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SysOaClaimVo> queryPageList(SysOaClaimBo bo, PageQuery pageQuery) {
|
||||
bo.setUserId(LoginHelper.getUserId());
|
||||
LambdaQueryWrapper<SysOaClaim> lqw = buildQueryWrapper(bo);
|
||||
Page<SysOaClaimVo> result = baseMapper.selectPageVo(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
@@ -79,6 +96,7 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
lqw.eq(bo.getProjectId() != null, SysOaClaim::getProjectId, bo.getProjectId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getProcInsId()), SysOaClaim::getProcInsId, bo.getProcInsId());
|
||||
lqw.eq(bo.getCompletedTime() != null, SysOaClaim::getCompletedTime, bo.getCompletedTime());
|
||||
lqw.eq(SysOaClaim::getDelFlag, 0L);
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@@ -90,10 +108,26 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
bo.setUserId(LoginHelper.getUserId());
|
||||
SysOaClaim add = BeanUtil.toBean(bo, SysOaClaim.class);
|
||||
validEntityBeforeSave(add);
|
||||
|
||||
// 处理文件
|
||||
List<Long> fileIds = new ArrayList<>();
|
||||
for (SysOaFileBo sysOaFile : bo.getFileList()) {
|
||||
Long fileId = sysOaFileService.insertByBoReturnId(sysOaFile);
|
||||
fileIds.add(fileId);
|
||||
}
|
||||
String fileIdsString = fileIds.stream()
|
||||
.map(String::valueOf) // 将 Long 转换为 String
|
||||
.reduce((id1, id2) -> id1 + "," + id2) // 合并为一个逗号分隔的字符串
|
||||
.orElse(""); // 如果列表为空,返回空字符串
|
||||
add.setFileIds(fileIdsString);
|
||||
add.setUserId(LoginHelper.getUserId());
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
|
||||
for (SysOaClaimDetailBo sysOaClaimDetail : bo.getClaimDetailList()) {
|
||||
sysOaClaimDetail.setClaimId(add.getClaimId());
|
||||
sysOaClaimDetailService.insertByBo(sysOaClaimDetail);
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
bo.setClaimId(add.getClaimId());
|
||||
}
|
||||
@@ -127,4 +161,6 @@ public class SysOaClaimServiceImpl implements ISysOaClaimService {
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -81,6 +81,21 @@ public class SysOaFileServiceImpl implements ISysOaFileService {
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增文件存储
|
||||
*/
|
||||
@Override
|
||||
public Long insertByBoReturnId(SysOaFileBo bo) {
|
||||
SysOaFile add = BeanUtil.toBean(bo, SysOaFile.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setFileId(add.getFileId());
|
||||
}
|
||||
return add.getFileId();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改文件存储
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user