Browse Source

项目进度表开发

anderx 1 year ago
parent
commit
480257948e

+ 11 - 2
src/main/java/com/goafanti/techproject/controller/TaskDetailsController.java

@@ -135,12 +135,21 @@ public class TaskDetailsController extends BaseController {
     /**
      * 日志列表查询
      *
-     * @return
      */
     @GetMapping("/logList")
-    public Result<TaskDetails> logList(Integer id) {
+    public Result logList(Integer id) {
         return new Result<>().data(this.taskDetailsService.logList(id));
     }
 
+
+    /**
+     * 日志列表查询
+     *
+     */
+    @GetMapping("/logDetails")
+    public Result logDetails(Integer id) {
+        return new Result<>().data(this.taskDetailsService.logDetails(id));
+    }
+
 }
 

+ 2 - 0
src/main/java/com/goafanti/techproject/service/TaskDetailsService.java

@@ -68,4 +68,6 @@ public interface TaskDetailsService {
     TaskFeature updateFeature(TaskFeature in);
 
     Object logList(Integer id);
+
+    Object logDetails(Integer id);
 }

+ 26 - 11
src/main/java/com/goafanti/techproject/service/impl/TaskDetailsServiceImpl.java

@@ -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;
+    }
+
 
 }