Browse Source

修改项目进度计算逻辑修改,新增判空

anderx 1 year ago
parent
commit
a475a66217

+ 1 - 1
src/main/java/com/goafanti/common/dao/TOrderTaskMapper.java

@@ -26,7 +26,7 @@ public interface TOrderTaskMapper {
      * @param id 主键
      * @return 实例对象
      */
-    TOrderTask queryById(Integer id);
+    TOrderTask selectById(Integer id);
 
 
     /**

+ 28 - 13
src/main/java/com/goafanti/techproject/service/impl/TaskDetailsServiceImpl.java

@@ -62,11 +62,14 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
     @Override
     public TaskDetailsBo getByTid(Integer id) {
         TaskDetailsBo res = new TaskDetailsBo();
-        TaskDetails taskDetails=taskDetailsMapper.selectByTid(id);
-        //首先直接查找,找不到的情况下找订单
-        TOrderNew tOrderNew = tOrderNewMapper.selectByTid(id);
-        TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
-        List<Map<String,Object >> list=new ArrayList<>();
+        TOrderTask tOrderTask = tOrderTaskMapper.selectById(id);
+        TaskDetails taskDetails=null;
+        if (tOrderTask.getProgressTid()==null){
+             taskDetails=taskDetailsMapper.selectByTid(id);
+            //首先直接查找,找不到的情况下找订单
+            TOrderNew tOrderNew = tOrderNewMapper.selectByTid(id);
+            TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
+            List<Map<String,Object >> list=new ArrayList<>();
             List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectOrderTaskAll(tOrderNew.getOrderNo(), 4);
             //如果是会员
             TOrderTaskBo thisTask = null;
@@ -80,6 +83,7 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
             if (serviceYear.contains("(赠)")){
                 serviceYear=serviceYear.replace("(赠)", "");
             }
+            Integer tid=null;
             for (TOrderTaskBo e : tOrderTaskBos) {
                 if (e.getServiceYear().equals(serviceYear)){
                     Map<String,Object> map=new HashMap<>();
@@ -89,13 +93,19 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
                     //如果没有项目进度,查询同年份的项目进度
                     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);
-        }
+            }
+            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();
             String lvl=null;
             if (totalAmount.compareTo(new BigDecimal("3"))<0){
@@ -105,13 +115,18 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
             }else if (totalAmount.compareTo(new BigDecimal("8"))>0){
                 lvl="AAA";
             }
-            res.setUserName(mid.getBuyerName());
-            res.setOrderNo(tOrderNew.getOrderNo());
-            res.setContractNo(tOrderNew.getContractNo());
-            res.setMemberStatus(mid.getProjectType());
             res.setMemberLvl(lvl);
             res.setTaskList(list);
             res.setFeatureList(taskFeatureMapper.selectByTdId(id));
+        }else {
+            taskDetails=taskDetailsMapper.selectByTid(tOrderTask.getProgressTid());
+            BeanUtils.copyProperties(taskDetails, res);
+        }
+
+
+
+
+
         return res;
     }