Browse Source

预算查看

contract
15989082884@163.com 2 years ago
parent
commit
30d60bc771
  1. 4
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  2. 39
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetLogController.java

4
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java

@ -118,8 +118,8 @@ public class TbsBudgetController {
public R<TbsBudgetVo> getById(@PathVariable("id") String id){
TbsBudget budget = tbsBudgetService.getById(id);
TbsBudgetVo vo = tbsBudgetService.toVoEntity(budget);
TbsBudgetVo vo2 = tbsBudgetService.getEntityForExcel(budget);
vo.setScheduleItemBudgets(vo2.getScheduleItemBudgets());
// TbsBudgetVo vo2 = tbsBudgetService.getEntityForExcel(budget);
// vo.setScheduleItemBudgets(vo2.getScheduleItemBudgets());
return R.ok(vo);
}

39
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetLogController.java

@ -5,10 +5,13 @@ import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget;
import com.qs.serve.modules.tbs.mapper.TbsBudgetLogMapper;
import com.qs.serve.modules.tbs.service.TbsScheduleItemBudgetService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
@ -20,6 +23,7 @@ import com.qs.serve.modules.tbs.service.TbsBudgetLogService;
import java.math.BigDecimal;
import java.util.List;
import java.util.Optional;
/**
* 预算 预算日志
@ -34,6 +38,8 @@ public class TbsBudgetLogController {
private TbsBudgetLogService tbsBudgetLogService;
private TbsBudgetLogMapper tbsBudgetLogMapper;
private TbsScheduleItemBudgetService tbsScheduleItemBudgetService;
private TbsBudgetLogService budgetLogService;
/**
* 翻页
@ -56,9 +62,36 @@ public class TbsBudgetLogController {
* @return
*/
@GetMapping("/getItemAmount")
public R<?> getAmount(Long budgetId,Long itemId){
BigDecimal amount = tbsBudgetLogMapper.countBudgetItemAmount(budgetId,itemId);
return R.ok(amount);
public R<TbsScheduleItemBudget> getAmount(Long budgetId,Long itemId){
LambdaQueryWrapper<TbsScheduleItemBudget> lqw = new LambdaQueryWrapper<>();
lqw.eq(TbsScheduleItemBudget::getBudgetId,budgetId);
lqw.eq(TbsScheduleItemBudget::getScheduleItemId,itemId);
List<TbsScheduleItemBudget> tbsScheduleItemBudgetList = tbsScheduleItemBudgetService.list(lqw);
Optional<TbsScheduleItemBudget> optional = tbsScheduleItemBudgetList.stream().findFirst();
if(optional.isPresent()){
TbsScheduleItemBudget a = optional.get();
LambdaQueryWrapper<TbsBudgetLog> lqwLog = new LambdaQueryWrapper<>();
lqwLog.eq(TbsBudgetLog::getScheduleItemBudgetId,a.getId());
lqwLog.eq(TbsBudgetLog::getBudgetId,budgetId);
List<TbsBudgetLog> tbsBudgetLogList = budgetLogService.list(lqwLog);
// a.setBudgetLogList(tbsBudgetLogList);
BigDecimal finalBudgetAmount = tbsBudgetLogList.stream().filter(b-> BudgetLogOptFlag.getFinalBudgetOptFlag().contains(b.getOptType())).map(TbsBudgetLog::getAmount)
.reduce(BigDecimal.ZERO,BigDecimal::add);
BigDecimal usedBudgetAmount = tbsBudgetLogList.stream().filter(b->!BudgetLogOptFlag.getFinalBudgetOptFlag().contains(b.getOptType())).map(TbsBudgetLog::getAmount)
.reduce(BigDecimal.ZERO,BigDecimal::add);
BigDecimal unUsedBudgetAmount = tbsBudgetLogList.stream().map(TbsBudgetLog::getAmount)
.reduce(BigDecimal.ZERO,BigDecimal::add);
a.setFinalBudgetAmount(finalBudgetAmount);
a.setUnUsedBudgetAmount(unUsedBudgetAmount);
a.setUsedBudgetAmount(usedBudgetAmount);
return R.ok(a);
}
return R.ok();
}
/**

Loading…
Cancel
Save