|
|
@@ -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";
|