Browse Source

详情修改

anderx 1 year ago
parent
commit
869aed87c2

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

@@ -19,6 +19,7 @@ import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 项目申报详情(TaskDetails)表服务实现类
@@ -67,10 +68,19 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
         TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
         List<Map<String,Object >> list=new ArrayList<>();
         TaskDetails taskDetails=null;
+        //获取项目服务年份算出平均值
+        List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
+        List<TOrderTaskBo> collect = tOrderTaskBos.stream().filter(e -> e.getSplitStatus() == 1).collect(Collectors.toList());
+        int yearSum=1;
+        for (TOrderTaskBo e : collect) {
+            if (e.getYearSum()>yearSum){
+                yearSum=e.getYearSum();
+            }
+        }
         if (tOrderTask.getProgressTid()==null){
              taskDetails=taskDetailsMapper.selectByTid(id);
             //首先直接查找,找不到的情况下找订单
-            List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
+
             //如果是会员
             TOrderTaskBo thisTask = null;
             for (TOrderTaskBo e : tOrderTaskBos) {
@@ -85,6 +95,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
             }
             Integer tid=null;
             for (TOrderTaskBo e : tOrderTaskBos) {
+                e.getServiceLife();
                 if (e.getServiceYear().equals(serviceYear)){
                     Map<String,Object> map=new HashMap<>();
                     map.put("serviceYear", e.getServiceYear());
@@ -98,6 +109,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
                     list.add(map);
                 }
             }
+
             if (taskDetails !=null){
                 BeanUtils.copyProperties(taskDetails, res);
             }
@@ -106,7 +118,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
             res.setContractNo(tOrderNew.getContractNo());
             res.setMemberStatus(mid.getProjectType());
             res.setTaskList(list);
-            BigDecimal totalAmount = tOrderNew.getTotalAmount();
+            BigDecimal totalAmount = tOrderNew.getTotalAmount().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
             String lvl=null;
             if (totalAmount.compareTo(new BigDecimal("3"))<0){
                 lvl="A";
@@ -128,7 +140,6 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
         }else {
             taskDetails=taskDetailsMapper.selectByTid(tOrderTask.getProgressTid());
             BeanUtils.copyProperties(taskDetails, res);
-            List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
             //如果是会员
             TOrderTaskBo thisTask = null;
             for (TOrderTaskBo e : tOrderTaskBos) {
@@ -155,12 +166,14 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
             if (taskDetails !=null){
                 BeanUtils.copyProperties(taskDetails, res);
             }
+
+
             res.setUserName(mid.getBuyerName());
             res.setOrderNo(tOrderNew.getOrderNo());
             res.setContractNo(tOrderNew.getContractNo());
             res.setMemberStatus(mid.getProjectType());
             res.setTaskList(list);
-            BigDecimal totalAmount = tOrderNew.getTotalAmount();
+            BigDecimal totalAmount = tOrderNew.getTotalAmount().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
             String lvl=null;
             if (totalAmount.compareTo(new BigDecimal("3"))<0){
                 lvl="A";