|
|
@@ -18,7 +18,6 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
-import java.time.LocalDate;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
|
@@ -63,13 +62,12 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
@Override
|
|
|
public TaskDetailsBo getByTid(Integer id) {
|
|
|
TaskDetailsBo res = new TaskDetailsBo();
|
|
|
+ TaskDetails taskDetails=taskDetailsMapper.selectByTid(id);
|
|
|
+ BeanUtils.copyProperties(taskDetails, res);
|
|
|
TOrderNew tOrderNew = tOrderNewMapper.selectByTid(id);
|
|
|
TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
|
|
|
List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
|
|
|
List<Map<String,Object >> list=new ArrayList<>();
|
|
|
- TaskDetails taskDetails=taskDetailsMapper.selectByTid(id);
|
|
|
- LocalDate now = LocalDate.now();
|
|
|
-
|
|
|
//如果是会员
|
|
|
TOrderTaskBo thisTask = null;
|
|
|
for (TOrderTaskBo e : tOrderTaskBos) {
|
|
|
@@ -137,6 +135,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
*/
|
|
|
@Override
|
|
|
public TaskDetails insert(TaskDetails taskDetails,Integer type) {
|
|
|
+ if (type ==null)type=0;
|
|
|
Date date = new Date();
|
|
|
TOrderNew tOrderNew =tOrderNewMapper.selectByTid(taskDetails.getTid());
|
|
|
taskDetails.setUid(tOrderNew.getBuyerId());
|
|
|
@@ -189,15 +188,25 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
BigDecimal res = tn.divide(wn,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
taskDetails.setWorkersRate(res.doubleValue());
|
|
|
}
|
|
|
+ //计算研发预算完成进度 已归集研发费用总额÷年度研发预算总额X100%
|
|
|
+ if (taskDetails.getActualRdAmount()!=null &&taskDetails.getRdBudget()!=null){
|
|
|
+ BigDecimal multiply = taskDetails.getActualRdAmount().divide(taskDetails.getRdBudget(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
+// taskDetails.
|
|
|
+ }
|
|
|
//计算年度研发占比
|
|
|
//计算三年度的研发占比
|
|
|
- BigDecimal rdBudget = taskDetails.getRdBudget();
|
|
|
- BigDecimal rdSalesAmount = taskDetails.getRdSalesAmount();
|
|
|
- BigDecimal res = rdBudget.divide(rdSalesAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
- taskDetails.setRdBudgetRate(res.doubleValue());
|
|
|
- //计算三年度的研发占比
|
|
|
- BigDecimal res2 = getBigDecimal(rdSalesAmount, rdBudget, taskDetails);
|
|
|
- taskDetails.setThreeYearsRdBudgetRate(res2.doubleValue());
|
|
|
+ if (taskDetails.getRdBudget() != null && taskDetails.getRdSalesAmount() != null){
|
|
|
+ BigDecimal rdBudget = taskDetails.getRdBudget();
|
|
|
+ BigDecimal rdSalesAmount = taskDetails.getRdSalesAmount();
|
|
|
+ BigDecimal res = rdBudget.divide(rdSalesAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
+ taskDetails.setRdBudgetRate(res.doubleValue());
|
|
|
+ //计算三年度的研发占比
|
|
|
+ if (taskDetails.getLastRdSalesAmount()!=null && taskDetails.getLastRdBudget()!=null&&
|
|
|
+ taskDetails.getBeforeLastRdSalesAmount()!=null && taskDetails.getBeforeLastRdBudget()!=null){
|
|
|
+ BigDecimal res2 = getBigDecimal(rdSalesAmount, rdBudget, taskDetails);
|
|
|
+ taskDetails.setThreeYearsRdBudgetRate(res2.doubleValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
//计算实际研发占比
|
|
|
if(taskDetails.getActualRdNumber() !=null &&
|
|
|
taskDetails.getActualRdAmount() !=null){
|
|
|
@@ -295,5 +304,11 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
return taskDetailsLogMapper.selectByTid(id);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Object logDetails(Integer id) {
|
|
|
+ TaskDetailsLog taskDetailsLog = taskDetailsLogMapper.selectById(id);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|