|
@@ -413,7 +413,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg queryList(ExpenseSheet sheet, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
|
|
|
|
|
|
+ public HttpRespMsg queryList(ExpenseSheet sheet,Integer projectId, String startDate, String endDate, Integer pageIndex, Integer pageSize) {
|
|
QueryWrapper<ExpenseSheet> queryWrapper = new QueryWrapper<ExpenseSheet>();
|
|
QueryWrapper<ExpenseSheet> queryWrapper = new QueryWrapper<ExpenseSheet>();
|
|
//当前用户
|
|
//当前用户
|
|
String token = request.getHeader("TOKEN");
|
|
String token = request.getHeader("TOKEN");
|
|
@@ -492,9 +492,8 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
if (!StringUtils.isEmpty(startDate) && !StringUtils.isEmpty(endDate)) {
|
|
if (!StringUtils.isEmpty(startDate) && !StringUtils.isEmpty(endDate)) {
|
|
queryWrapper.between("create_date", startDate, endDate);
|
|
queryWrapper.between("create_date", startDate, endDate);
|
|
}
|
|
}
|
|
- if (sheet.getProjectId()!=null){
|
|
|
|
|
|
+ if (projectId!=null){
|
|
QueryWrapper<ExpenseItem> q = new QueryWrapper<ExpenseItem>();
|
|
QueryWrapper<ExpenseItem> q = new QueryWrapper<ExpenseItem>();
|
|
- Integer projectId = sheet.getProjectId();
|
|
|
|
q.eq("project_id",projectId);
|
|
q.eq("project_id",projectId);
|
|
List<ExpenseItem> expenseItems = expenseItemMapper.selectList(q);
|
|
List<ExpenseItem> expenseItems = expenseItemMapper.selectList(q);
|
|
if (expenseItems.size()==0){
|
|
if (expenseItems.size()==0){
|
|
@@ -521,7 +520,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
records.forEach(r->{
|
|
records.forEach(r->{
|
|
List<ExpenseItem> items = expenseItems.stream()
|
|
List<ExpenseItem> items = expenseItems.stream()
|
|
.filter(e -> e.getExpenseId().equals(r.getId())&&e.getProjectId().equals(projectId)).collect(Collectors.toList());
|
|
.filter(e -> e.getExpenseId().equals(r.getId())&&e.getProjectId().equals(projectId)).collect(Collectors.toList());
|
|
- double amount = items.stream().mapToDouble(ExpenseItem::getAmount).sum();
|
|
|
|
|
|
+ double amount = items.stream().mapToDouble(item -> Optional.ofNullable(item.getAmount()).orElse(0.0)).sum();
|
|
r.setTotalAmount(amount);
|
|
r.setTotalAmount(amount);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -575,7 +574,7 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg getDetail(Integer id) {
|
|
|
|
|
|
+ public HttpRespMsg getDetail(Integer id,Integer projectId) {
|
|
String token = request.getHeader("TOKEN");
|
|
String token = request.getHeader("TOKEN");
|
|
ExpenseSheet expenseSheet = expenseSheetMapper.selectById(id);
|
|
ExpenseSheet expenseSheet = expenseSheetMapper.selectById(id);
|
|
if(!StringUtils.isEmpty(expenseSheet.getFirstCheckerId())){
|
|
if(!StringUtils.isEmpty(expenseSheet.getFirstCheckerId())){
|
|
@@ -586,7 +585,12 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
User user = userMapper.selectById(expenseSheet.getSecondCheckerId());
|
|
User user = userMapper.selectById(expenseSheet.getSecondCheckerId());
|
|
expenseSheet.setSecondCheckerName(user.getName());
|
|
expenseSheet.setSecondCheckerName(user.getName());
|
|
}
|
|
}
|
|
- List<ExpenseItem> list = expenseItemMapper.selectList(new QueryWrapper<ExpenseItem>().eq("expense_id", id));
|
|
|
|
|
|
+ QueryWrapper<ExpenseItem> q = new QueryWrapper<ExpenseItem>();
|
|
|
|
+ q.eq("expense_id", id);
|
|
|
|
+ if (projectId!=null){
|
|
|
|
+ q.eq("project_id",projectId);
|
|
|
|
+ }
|
|
|
|
+ List<ExpenseItem> list = expenseItemMapper.selectList(q);
|
|
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()));
|
|
ExpenseAuditSetting expenseAuditSetting = expenseAuditSettingMapper.selectById(expenseSheet.getCompanyId());
|
|
ExpenseAuditSetting expenseAuditSetting = expenseAuditSettingMapper.selectById(expenseSheet.getCompanyId());
|
|
for (ExpenseItem expenseItem : list) {
|
|
for (ExpenseItem expenseItem : list) {
|
|
@@ -613,6 +617,8 @@ public class ExpenseSheetServiceImpl extends ServiceImpl<ExpenseSheetMapper, Exp
|
|
}
|
|
}
|
|
}
|
|
}
|
|
expenseSheet.setInvoiceList(list);
|
|
expenseSheet.setInvoiceList(list);
|
|
|
|
+ double amount = list.stream().mapToDouble(item -> Optional.ofNullable(item.getAmount()).orElse(0.0)).sum();
|
|
|
|
+ expenseSheet.setTotalAmount(amount);
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
msg.data = expenseSheet;
|
|
msg.data = expenseSheet;
|
|
return msg;
|
|
return msg;
|