|
|
@@ -3,11 +3,14 @@ package com.goafanti.techproject.service.impl;
|
|
|
import com.goafanti.common.bo.Result;
|
|
|
import com.goafanti.common.dao.*;
|
|
|
import com.goafanti.common.model.*;
|
|
|
+import com.goafanti.common.utils.DateUtils;
|
|
|
+import com.goafanti.common.utils.StringUtils;
|
|
|
import com.goafanti.common.utils.excel.NewExcelUtil;
|
|
|
import com.goafanti.core.mybatis.BaseMybatisDao;
|
|
|
import com.goafanti.core.mybatis.page.Pagination;
|
|
|
import com.goafanti.core.shiro.token.TokenManager;
|
|
|
import com.goafanti.order.bo.TOrderTaskBo;
|
|
|
+import com.goafanti.techproject.bo.InputTaskFeature;
|
|
|
import com.goafanti.techproject.bo.OutTaskDetailsBo;
|
|
|
import com.goafanti.techproject.bo.TaskDetailsBo;
|
|
|
import com.goafanti.techproject.service.TaskDetailsService;
|
|
|
@@ -18,8 +21,8 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
-import java.time.LocalDate;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 项目申报详情(TaskDetails)表服务实现类
|
|
|
@@ -61,62 +64,131 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public TaskDetailsBo getByTid(Integer id) {
|
|
|
+ public TaskDetailsBo pushByTid(Integer id) {
|
|
|
TaskDetailsBo res = new TaskDetailsBo();
|
|
|
TOrderNew tOrderNew = tOrderNewMapper.selectByTid(id);
|
|
|
+ TOrderTask tOrderTask = tOrderTaskMapper.queryById(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) {
|
|
|
- if (e.getId().equals(id)){
|
|
|
- thisTask=e;
|
|
|
- break;
|
|
|
+ TaskDetails taskDetails=null;
|
|
|
+ //获取项目服务年份算出平均值
|
|
|
+ List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), null);
|
|
|
+ List<TOrderTaskBo> collect = tOrderTaskBos.stream().filter(e -> e.getSplitStatus() == 1).collect(Collectors.toList());
|
|
|
+ List<TOrderTaskBo> collect2 = tOrderTaskBos.stream().filter(e -> e.getSplitStatus() == 0||e.getSplitStatus() == 2).collect(Collectors.toList());
|
|
|
+ int yearSum=1;
|
|
|
+ for (TOrderTaskBo e : collect) {
|
|
|
+ if (e.getYearSum()>yearSum){
|
|
|
+ yearSum=e.getYearSum();
|
|
|
}
|
|
|
}
|
|
|
- String serviceYear = thisTask.getServiceYear();
|
|
|
- if (serviceYear.contains("(赠)")){
|
|
|
- serviceYear=serviceYear.replace("(赠)", "");
|
|
|
- }
|
|
|
- for (TOrderTaskBo e : tOrderTaskBos) {
|
|
|
- if (e.getServiceYear().equals(serviceYear)){
|
|
|
- Map<String,Object> map=new HashMap<>();
|
|
|
- map.put("serviceYear", e.getServiceYear());
|
|
|
- map.put("taskName", e.getCommodityName());
|
|
|
- map.put("id",e.getId());
|
|
|
- //如果没有项目进度,查询同年份的项目进度
|
|
|
- if (taskDetails==null&&!e.getId().equals(id)&&e.getcSort()==6){
|
|
|
- taskDetails=taskDetailsMapper.selectByTid(e.getId());
|
|
|
+ if (tOrderTask.getProgressTid()==null){
|
|
|
+ //首先直接查找,找不到的情况下找订单
|
|
|
+ //如果是会员
|
|
|
+ TOrderTaskBo thisTask = null;
|
|
|
+ for (TOrderTaskBo e : collect2) {
|
|
|
+ if (e.getId().equals(id)){
|
|
|
+ thisTask=e;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String serviceYear = getServiceYer(thisTask.getServiceYear());
|
|
|
+ Integer tid=null;
|
|
|
+ for (TOrderTaskBo e : collect2) {
|
|
|
+ //添加判定去掉赠字比对
|
|
|
+ String serviceYear2 =getServiceYer(e.getServiceYear());
|
|
|
+ if (serviceYear2.equals(serviceYear)){
|
|
|
+ Map<String,Object> map=new HashMap<>();
|
|
|
+ map.put("serviceYear", e.getServiceYear());
|
|
|
+ map.put("taskName", e.getCommodityName());
|
|
|
+ map.put("id",e.getId());
|
|
|
+ //第一次进来是查本项目,没有的情况下查询同项目
|
|
|
+ if (taskDetails==null){
|
|
|
+ taskDetails=taskDetailsMapper.selectByTid(id);
|
|
|
+ }
|
|
|
+ if (taskDetails==null&&!e.getId().equals(id)&&e.getcSort()==6){
|
|
|
+ taskDetails=taskDetailsMapper.selectByTid(e.getId());
|
|
|
+ tid=e.getId();
|
|
|
+ }
|
|
|
+ list.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ 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().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
|
|
|
+ String lvl=getOrderLvl(totalAmount);
|
|
|
+ res.setMemberLvl(lvl);
|
|
|
+ res.setFeatureList(taskFeatureMapper.selectByTdId(id));
|
|
|
+ if (tid==null&&taskDetails!=null){
|
|
|
+ tid=taskDetails.getTid();
|
|
|
+ TOrderTask update =new TOrderTask();
|
|
|
+ update.setId(id);
|
|
|
+ update.setProgressTid(tid);
|
|
|
+ tOrderTaskMapper.update(update);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ taskDetails=taskDetailsMapper.selectByTid(tOrderTask.getProgressTid());
|
|
|
+ //如果是会员
|
|
|
+ TOrderTaskBo thisTask = null;
|
|
|
+ for (TOrderTaskBo e : collect2) {
|
|
|
+ if (e.getId().equals(id)){
|
|
|
+ thisTask=e;
|
|
|
+ break;
|
|
|
}
|
|
|
- list.add(map);
|
|
|
+ }
|
|
|
+ String serviceYear = getServiceYer(thisTask.getServiceYear());
|
|
|
+ Integer tid=null;
|
|
|
+ list=addOrderList(collect2,serviceYear);
|
|
|
+ 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().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
|
|
|
+ String lvl=getOrderLvl(totalAmount);
|
|
|
+ res.setMemberLvl(lvl);
|
|
|
+ if (taskDetails!=null&&taskDetails.getTid()!=null){
|
|
|
+ res.setFeatureList(taskFeatureMapper.selectByTdId(taskDetails.getId()));
|
|
|
}
|
|
|
}
|
|
|
+ return res;
|
|
|
+ }
|
|
|
|
|
|
- BigDecimal totalAmount = tOrderNew.getTotalAmount();
|
|
|
+ private String getServiceYer(String serviceYear) {
|
|
|
+ String serviceYear2=null;
|
|
|
+ if (StringUtils.isEmpty(serviceYear)){
|
|
|
+ serviceYear2 = "";
|
|
|
+ }else{
|
|
|
+ if (serviceYear.contains("(赠)")){
|
|
|
+ serviceYear2 = serviceYear.replace("(赠)", "");
|
|
|
+ }else {
|
|
|
+ serviceYear2 = serviceYear;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return serviceYear2;
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getOrderLvl(BigDecimal totalAmount) {
|
|
|
String lvl=null;
|
|
|
if (totalAmount.compareTo(new BigDecimal("3"))<0){
|
|
|
- lvl="A";
|
|
|
+ lvl ="A";
|
|
|
}else if (totalAmount.compareTo(new BigDecimal("8"))<1){
|
|
|
- lvl="AA";
|
|
|
+ lvl ="AA";
|
|
|
}else if (totalAmount.compareTo(new BigDecimal("8"))>0){
|
|
|
- lvl="AAA";
|
|
|
+ lvl ="AAA";
|
|
|
}
|
|
|
- res.setUserName(mid.getBuyerName());
|
|
|
- res.setOrderNo(tOrderNew.getOrderNo());
|
|
|
- res.setContractNo(tOrderNew.getContractNo());
|
|
|
- res.setMemberStatus(mid.getProjectType());
|
|
|
- res.setMemberLvl(lvl);
|
|
|
- res.setTaskList(list);
|
|
|
- return res;
|
|
|
+ return lvl;
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 通过ID查询单条数据
|
|
|
*
|
|
|
@@ -136,21 +208,30 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
* @return 实例对象
|
|
|
*/
|
|
|
@Override
|
|
|
- public TaskDetails insert(TaskDetails taskDetails,TaskFeature taskFeature) {
|
|
|
+ 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());
|
|
|
- taskDetails.setCreateTime(new Date());
|
|
|
- taskDetails.setUpdateTime(new Date());
|
|
|
+ taskDetails.setCreateTime(date);
|
|
|
+ taskDetails.setUpdateTime(date);
|
|
|
//数据计算
|
|
|
countTaskDetails(taskDetails);
|
|
|
this.taskDetailsMapper.insert(taskDetails);
|
|
|
- taskFeature.setId(taskDetails.getId());
|
|
|
- this.taskFeatureMapper.insert(taskFeature);
|
|
|
- addTaskDetailsLog(taskDetails,taskFeature);
|
|
|
+ //新增日志数据
|
|
|
+ if (type==1){
|
|
|
+ addTaskDetailsLog(taskDetails);
|
|
|
+ }
|
|
|
return taskDetails;
|
|
|
}
|
|
|
|
|
|
- private void addTaskDetailsLog(TaskDetails taskDetails,TaskFeature taskFeature) {
|
|
|
+ /**
|
|
|
+ *新增的时候特殊数据可以是单传输,修改的时候可以多传
|
|
|
+ *
|
|
|
+ * @param taskDetails 项目进度数据
|
|
|
+ *
|
|
|
+ */
|
|
|
+ private void addTaskDetailsLog(TaskDetails taskDetails) {
|
|
|
Admin adminToken = TokenManager.getAdminToken();
|
|
|
TaskDetailsLog log=new TaskDetailsLog();
|
|
|
BeanUtils.copyProperties(taskDetails, log);
|
|
|
@@ -158,14 +239,20 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
log.setId(null);
|
|
|
log.setAid(adminToken.getId());
|
|
|
log.setAname(adminToken.getName());
|
|
|
+ log.setCreateTime(new Date());
|
|
|
taskDetailsLogMapper.insert(log);
|
|
|
- TaskFeatureLog tfLog = new TaskFeatureLog();
|
|
|
- BeanUtils.copyProperties(taskFeature, tfLog);
|
|
|
- tfLog.setTdlId(log.getId());
|
|
|
- tfLog.setId(null);
|
|
|
- tfLog.setAid(adminToken.getId());
|
|
|
- tfLog.setAname(adminToken.getName());
|
|
|
- taskFeatureLogMapper.insert(tfLog);
|
|
|
+ List<TaskFeature> list = taskFeatureMapper.selectByTdId(taskDetails.getId());
|
|
|
+ for (TaskFeature feature : list) {
|
|
|
+ TaskFeatureLog tfLog = new TaskFeatureLog();
|
|
|
+ BeanUtils.copyProperties(feature, tfLog);
|
|
|
+ tfLog.setTdlId(log.getId());
|
|
|
+ tfLog.setId(null);
|
|
|
+ tfLog.setAid(adminToken.getId());
|
|
|
+ tfLog.setAname(adminToken.getName());
|
|
|
+ tfLog.setCreateTime(new Date());
|
|
|
+ taskFeatureLogMapper.insert(tfLog);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private void countTaskDetails(TaskDetails taskDetails) {
|
|
|
@@ -177,25 +264,37 @@ 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.setRdCompletionProgress(multiply.doubleValue());
|
|
|
+ }
|
|
|
//计算年度研发占比
|
|
|
//计算三年度的研发占比
|
|
|
- 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){
|
|
|
- BigDecimal actualRdNumber = BigDecimal.valueOf(taskDetails.getActualRdNumber());
|
|
|
+ BigDecimal actualSalesAmount = taskDetails.getActualSalesAmount();
|
|
|
BigDecimal actualRdAmount = taskDetails.getActualRdAmount();
|
|
|
- BigDecimal res3 = actualRdNumber.divide(actualRdAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
+ BigDecimal res3 = actualRdAmount.divide(actualSalesAmount, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
|
|
|
taskDetails.setActualRdRate(res3.doubleValue());
|
|
|
- BigDecimal res4 = getBigDecimal(actualRdAmount, actualRdNumber, taskDetails);
|
|
|
+ if (taskDetails.getLastRdSalesAmount()!=null && taskDetails.getLastRdBudget()!=null&&
|
|
|
+ taskDetails.getBeforeLastRdSalesAmount()!=null && taskDetails.getBeforeLastRdBudget()!=null){
|
|
|
+ BigDecimal res4 = getBigDecimal(actualRdAmount, actualSalesAmount, taskDetails);
|
|
|
taskDetails.setThreeYearsActualRdRate(res4.doubleValue());
|
|
|
-
|
|
|
+ }
|
|
|
}
|
|
|
//计算立项资料占比
|
|
|
if (taskDetails.getProjectApprovalWriteNumber()!=null){
|
|
|
@@ -217,16 +316,26 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
* 修改数据
|
|
|
*
|
|
|
* @param taskDetails 实例对象
|
|
|
- * @param taskFeature
|
|
|
* @return 实例对象
|
|
|
*/
|
|
|
@Override
|
|
|
- public TaskDetails update(TaskDetails taskDetails, TaskFeature taskFeature) {
|
|
|
+ public TaskDetails update(TaskDetails taskDetails,Integer type) {
|
|
|
+
|
|
|
taskDetails.setUpdateTime(new Date());
|
|
|
- this.taskDetailsMapper.update(taskDetails);
|
|
|
countTaskDetails(taskDetails);
|
|
|
+ this.taskDetailsMapper.update(taskDetails);
|
|
|
TaskDetails res = this.queryById(taskDetails.getId());
|
|
|
- addTaskDetailsLog(res,taskFeature);
|
|
|
+ //调用就保存,不需要区分不保存
|
|
|
+// if (type !=null&&type==1){
|
|
|
+ addTaskDetailsLog(res);
|
|
|
+// }
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object updateDownload(TaskDetails newTd) {
|
|
|
+ this.taskDetailsMapper.update(newTd);
|
|
|
+ TaskDetails res = this.queryById(newTd.getId());
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
@@ -247,7 +356,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
public Result export(Integer id) {
|
|
|
OutTaskDetailsBo res = new OutTaskDetailsBo();
|
|
|
NewExcelUtil<OutTaskDetailsBo> excel=new NewExcelUtil<>(OutTaskDetailsBo.class);
|
|
|
- TaskDetailsBo byTid = getByTid(id);
|
|
|
+ TaskDetailsBo byTid = pushByTid(id);
|
|
|
BeanUtils.copyProperties(byTid,res);
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
byTid.getTaskList().forEach(e->{
|
|
|
@@ -267,15 +376,88 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public TaskFeature addFeature(TaskFeature in) {
|
|
|
+ public TaskFeature addFeature(InputTaskFeature in) {
|
|
|
in.setCreateTime(new Date());
|
|
|
+ if (in.getStartTimeStr()!=null)in.setStartTime(DateUtils.parseDate(in.getStartTimeStr()));
|
|
|
+ if (in.getEndTimeStr()!=null)in.setEndTime(DateUtils.parseDate(in.getEndTimeStr()));
|
|
|
taskFeatureMapper.insert(in);
|
|
|
return in;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public TaskFeature updateFeature(TaskFeature in) {
|
|
|
+ public TaskFeature updateFeature(InputTaskFeature in) {
|
|
|
+ if (in.getStartTimeStr()!=null)in.setStartTime(DateUtils.parseDate(in.getStartTimeStr()));
|
|
|
+ if (in.getEndTimeStr()!=null)in.setEndTime(DateUtils.parseDate(in.getEndTimeStr()));
|
|
|
taskFeatureMapper.update(in);
|
|
|
return taskFeatureMapper.selectById(in.getId());
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object logList(Integer id, Integer pageNo, Integer pageSize) {
|
|
|
+ Map<String,Object> param=new HashMap<String, Object>();
|
|
|
+ param.put("tdid",id);
|
|
|
+ if (pageNo ==null)pageNo=1;
|
|
|
+ if (pageSize ==null)pageSize=10;
|
|
|
+ return findPage("selectByTidList", "selectByTidCount", param, pageNo, pageSize);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object logDetails(Integer id) {
|
|
|
+ TaskDetailsLog log = taskDetailsLogMapper.selectById(id);
|
|
|
+ TaskDetails taskDetails = taskDetailsMapper.selectById(log.getTdid());
|
|
|
+ Integer tid = taskDetails.getTid();
|
|
|
+ TaskDetailsBo res = new TaskDetailsBo();
|
|
|
+ TOrderNew tOrderNew = tOrderNewMapper.selectByTid(tid);
|
|
|
+ TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
|
|
|
+ List<Map<String,Object >> list=new ArrayList<>();
|
|
|
+ List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
|
|
|
+ //如果是会员
|
|
|
+ TOrderTaskBo thisTask = null;
|
|
|
+ for (TOrderTaskBo e : tOrderTaskBos) {
|
|
|
+ if (e.getId().equals(tid)){
|
|
|
+ thisTask=e;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String serviceYear = getServiceYer(thisTask.getServiceYear());
|
|
|
+ list=addOrderList(tOrderTaskBos, serviceYear);
|
|
|
+ if (taskDetails !=null){
|
|
|
+ BeanUtils.copyProperties(log, res);
|
|
|
+ }
|
|
|
+ res.setUserName(mid.getBuyerName());
|
|
|
+ res.setOrderNo(tOrderNew.getOrderNo());
|
|
|
+ res.setContractNo(tOrderNew.getContractNo());
|
|
|
+ res.setMemberStatus(mid.getProjectType());
|
|
|
+ res.setTaskList(list);
|
|
|
+ BigDecimal totalAmount = tOrderNew.getTotalAmount();
|
|
|
+ String lvl=getOrderLvl(totalAmount);
|
|
|
+ res.setMemberLvl(lvl);
|
|
|
+ res.setTaskList(list);
|
|
|
+ res.setFeatureList(taskFeatureLogMapper.selectByTdlid(id));
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<Map<String, Object>> addOrderList(List<TOrderTaskBo> tOrderTaskBos, String serviceYear) {
|
|
|
+ List<Map<String, Object>> list =new ArrayList<>();
|
|
|
+ for (TOrderTaskBo e : tOrderTaskBos) {
|
|
|
+ String serviceYear1 = getServiceYer(e.getServiceYear());
|
|
|
+ if (serviceYear1.equals(serviceYear)){
|
|
|
+ Map<String,Object> map=new HashMap<>();
|
|
|
+ map.put("serviceYear", e.getServiceYear());
|
|
|
+ map.put("taskName", e.getCommodityName());
|
|
|
+ map.put("id",e.getId());
|
|
|
+ list.add(map);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object deleteTaskFeature(Integer id) {
|
|
|
+ return taskFeatureMapper.deleteById(id);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|