|
|
@@ -128,20 +128,31 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
int year = now.getYear();
|
|
|
List<TaskAnnualReport> taskAnnualReports = taskAnnualReportMapper.selectThreeYear(taskDetails.getTid(), year);
|
|
|
if (taskAnnualReports.size()==2){
|
|
|
- BigDecimal threeYearsRdSalesAmount = rdSalesAmount;
|
|
|
- BigDecimal threeYearsRdBudget = rdBudget;
|
|
|
- for (TaskAnnualReport e : taskAnnualReports) {
|
|
|
- threeYearsRdBudget.add(e.getResearchAmount());
|
|
|
- threeYearsRdSalesAmount.add(e.getSalesAmount());
|
|
|
- }
|
|
|
- BigDecimal res2 = threeYearsRdBudget.divide(threeYearsRdSalesAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
- taskDetails.setThreeYearsRdBudgetRate(res2.doubleValue());
|
|
|
+ BigDecimal res2 = getBigDecimal(rdSalesAmount, rdBudget, taskAnnualReports);
|
|
|
+ taskDetails.setThreeYearsRdBudgetRate(res2.doubleValue());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ //计算实际研发占比
|
|
|
+ if(taskDetails.getActualRdNumber() !=null ||
|
|
|
+ taskDetails.getActualRdAmount() !=null){
|
|
|
+ BigDecimal actualRdNumber = BigDecimal.valueOf(taskDetails.getActualRdNumber());
|
|
|
+ BigDecimal actualRdAmount = taskDetails.getActualRdAmount();
|
|
|
+ BigDecimal res = actualRdNumber.divide(actualRdAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private BigDecimal getBigDecimal(BigDecimal rdSalesAmount, BigDecimal rdBudget, List<TaskAnnualReport> taskAnnualReports) {
|
|
|
+ BigDecimal threeYearsRdSalesAmount = rdSalesAmount;
|
|
|
+ BigDecimal threeYearsRdBudget = rdBudget;
|
|
|
+ for (TaskAnnualReport e : taskAnnualReports) {
|
|
|
+ threeYearsRdBudget=threeYearsRdBudget.add(e.getResearchAmount());
|
|
|
+ threeYearsRdSalesAmount=threeYearsRdSalesAmount.add(e.getSalesAmount());
|
|
|
+ }
|
|
|
+ return threeYearsRdBudget.divide(threeYearsRdSalesAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 修改数据
|
|
|
*
|