Browse Source

咨询进度表开发

anderx 1 year ago
parent
commit
bc839fe993

File diff suppressed because it is too large
+ 49 - 24
src/main/java/com/goafanti/common/mapper/TaskDetailsMapper.xml


+ 26 - 2
src/main/java/com/goafanti/common/model/TaskDetails.java

@@ -11,10 +11,10 @@ import java.util.Date;
  * 项目申报详情(TaskDetails)实体类
  *
  * @author makejava
- * @since 2024-12-27 10:19:47
+ * @since 2024-12-27 11:51:34
  */
 public class TaskDetails implements Serializable {
-    private static final long serialVersionUID = -76389974285490164L;
+    private static final long serialVersionUID = -94741147836136025L;
 
     private Integer id;
     /**
@@ -74,6 +74,14 @@ public class TaskDetails implements Serializable {
      */
     private BigDecimal actualRdAmount;
     /**
+     * 年度研发预算占比
+     */
+    private Double actualRdRate;
+    /**
+     * 三年研发预算占比
+     */
+    private Double threeYearsActualRdRate;
+    /**
      * 火炬统计 0=其他,1=待完成,2=已完成,3=合同无此项
      */
     private Integer torchStatus;
@@ -255,6 +263,22 @@ public class TaskDetails implements Serializable {
         this.actualRdAmount = actualRdAmount;
     }
 
+    public Double getActualRdRate() {
+        return actualRdRate;
+    }
+
+    public void setActualRdRate(Double actualRdRate) {
+        this.actualRdRate = actualRdRate;
+    }
+
+    public Double getThreeYearsActualRdRate() {
+        return threeYearsActualRdRate;
+    }
+
+    public void setThreeYearsActualRdRate(Double threeYearsActualRdRate) {
+        this.threeYearsActualRdRate = threeYearsActualRdRate;
+    }
+
     public Integer getTorchStatus() {
         return torchStatus;
     }

+ 12 - 4
src/main/java/com/goafanti/techproject/service/impl/TaskDetailsServiceImpl.java

@@ -117,6 +117,11 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
         }
         //计算年度研发占比
         //计算三年度的研发占比
+
+        LocalDate now = LocalDate.now();
+        int year = now.getYear();
+        List<TaskAnnualReport> taskAnnualReports = taskAnnualReportMapper.selectThreeYear(taskDetails.getTid(), year);
+
         if(taskDetails.getRdBudget() !=null ||
                 taskDetails.getRdSalesAmount() !=null){
             BigDecimal rdBudget = taskDetails.getRdBudget();
@@ -124,14 +129,12 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
             BigDecimal res = rdBudget.divide(rdSalesAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
             taskDetails.setRdBudgetRate(res.doubleValue());
             //计算三年度的研发占比
-            LocalDate now = LocalDate.now();
-            int year = now.getYear();
-            List<TaskAnnualReport> taskAnnualReports = taskAnnualReportMapper.selectThreeYear(taskDetails.getTid(), year);
             if (taskAnnualReports.size()==2){
                 BigDecimal res2 = getBigDecimal(rdSalesAmount, rdBudget, taskAnnualReports);
                 taskDetails.setThreeYearsRdBudgetRate(res2.doubleValue());
             }
 
+
         }
         //计算实际研发占比
         if(taskDetails.getActualRdNumber() !=null ||
@@ -139,7 +142,12 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
             BigDecimal actualRdNumber = BigDecimal.valueOf(taskDetails.getActualRdNumber());
             BigDecimal actualRdAmount = taskDetails.getActualRdAmount();
             BigDecimal res = actualRdNumber.divide(actualRdAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
-                }
+            taskDetails.setActualRdRate(res.doubleValue());
+            if (taskAnnualReports.size()==2){
+                BigDecimal res2 = getBigDecimal(actualRdAmount, actualRdNumber, taskAnnualReports);
+                taskDetails.setThreeYearsActualRdRate(res2.doubleValue());
+            }
+        }
 
     }