|
@@ -95,6 +95,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
@Resource
|
|
@Resource
|
|
private ExpenseAuditSettingMapper expenseAuditSettingMapper;
|
|
private ExpenseAuditSettingMapper expenseAuditSettingMapper;
|
|
|
|
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public HttpRespMsg add(ExpenseSheet sheet, String items, String userId) {
|
|
public HttpRespMsg add(ExpenseSheet sheet, String items, String userId) {
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
@@ -354,6 +355,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
QueryWrapper<ExpenseSheet> queryWrapper = new QueryWrapper<ExpenseSheet>();
|
|
QueryWrapper<ExpenseSheet> queryWrapper = new QueryWrapper<ExpenseSheet>();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
queryWrapper.eq("company_id", sheet.getCompanyId()).orderByDesc("id");
|
|
queryWrapper.eq("company_id", sheet.getCompanyId()).orderByDesc("id");
|
|
|
|
+ ExpenseAuditSetting expenseAuditSetting = expenseAuditSettingMapper.selectById(sheet.getCompanyId());
|
|
|
|
|
|
if (!StringUtils.isEmpty(sheet.getCode())) {
|
|
if (!StringUtils.isEmpty(sheet.getCode())) {
|
|
queryWrapper.eq("code", sheet.getCode());
|
|
queryWrapper.eq("code", sheet.getCode());
|
|
@@ -362,9 +364,31 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
if (sheet.getStatus() != null) {
|
|
if (sheet.getStatus() != null) {
|
|
queryWrapper.eq("status", sheet.getStatus());
|
|
queryWrapper.eq("status", sheet.getStatus());
|
|
}
|
|
}
|
|
- if (!StringUtils.isEmpty(sheet.getOwnerId())) {
|
|
|
|
- queryWrapper.eq("owner_id", sheet.getOwnerId());
|
|
|
|
|
|
+ //增加按项目经理审核模式下,项目经理可以查看相关费用报销单的条件
|
|
|
|
+ if (expenseAuditSetting == null || expenseAuditSetting.getAuditType() == 0) {
|
|
|
|
+ if (!StringUtils.isEmpty(sheet.getOwnerId())) {
|
|
|
|
+ queryWrapper.eq("owner_id", sheet.getOwnerId());
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (sheet.getStatus() != null) {
|
|
|
|
+ //取待审核的
|
|
|
|
+ //项目经理审核模式下,只能查看自己项目的费用报销单
|
|
|
|
+ List<Integer> projectIds = projectMapper.selectList(new QueryWrapper<Project>().eq("incharger_id", sheet.getOwnerId())).stream().map(Project::getId).collect(Collectors.toList());
|
|
|
|
+ if (projectIds.size() > 0) {
|
|
|
|
+ queryWrapper.in("id", expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().in("project_id", projectIds)).stream().map(ExpenseItem::getExpenseId).distinct().collect(Collectors.toList()));
|
|
|
|
+ } else {
|
|
|
|
+ //没有项目的项目经理,不显示任何数据
|
|
|
|
+ queryWrapper.eq("id", -1);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //取自己的
|
|
|
|
+ if (!StringUtils.isEmpty(sheet.getOwnerId())) {
|
|
|
|
+ queryWrapper.eq("owner_id", sheet.getOwnerId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
+
|
|
if (sheet.getType() != null) {
|
|
if (sheet.getType() != null) {
|
|
queryWrapper.eq("type", sheet.getType());
|
|
queryWrapper.eq("type", sheet.getType());
|
|
}
|
|
}
|
|
@@ -412,12 +436,18 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public HttpRespMsg getDetail(Integer id) {
|
|
public HttpRespMsg getDetail(Integer id) {
|
|
|
|
+ String token = request.getHeader("TOKEN");
|
|
ExpenseSheet expenseSheet = expenseSheetMapper.selectById(id);
|
|
ExpenseSheet expenseSheet = expenseSheetMapper.selectById(id);
|
|
List<ExpenseItem> list = expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().eq("expense_id", id));
|
|
List<ExpenseItem> list = expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().eq("expense_id", id));
|
|
List<Project> Project = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", expenseSheet.getCompanyId()));
|
|
List<Project> Project = projectMapper.selectList(new QueryWrapper<Project>().eq("company_id", expenseSheet.getCompanyId()));
|
|
for (ExpenseItem expenseItem : list) {
|
|
for (ExpenseItem expenseItem : list) {
|
|
for (Project project : Project) {
|
|
for (Project project : Project) {
|
|
if ((project.getId().equals(expenseItem.getProjectId()))){
|
|
if ((project.getId().equals(expenseItem.getProjectId()))){
|
|
|
|
+ if (token.equals(project.getInchargerId())) {
|
|
|
|
+ expenseItem.setIsIncharger(1);
|
|
|
|
+ } else {
|
|
|
|
+ expenseItem.setIsIncharger(0);
|
|
|
|
+ }
|
|
expenseItem.setProjectName(project.getProjectName());
|
|
expenseItem.setProjectName(project.getProjectName());
|
|
break;
|
|
break;
|
|
}
|
|
}
|