Browse Source

会员进度新增、详情修改

anderx 1 year ago
parent
commit
9a69c860a2

+ 15 - 0
src/main/java/com/goafanti/common/mapper/TaskDetailsMapper.xml

@@ -1181,5 +1181,20 @@ create_time = values(create_time)
         from task_details_log
         where tdid = #{tdid}
     </select>
+
+    <select id="selectTaskDetailsList" resultMap="TaskDetailsMap">
+        select
+            a.*
+        from task_details a left join t_order_task b on a.id =b.progress_tid
+        left join admin c on b.task_receiver=c.id
+        where (c.superior_id= #{aid} or c.id= #{aid})
+    </select>
+    <select id="selectTaskDetailsCount" resultType="java.lang.Integer">
+        select
+            count(*)
+        from task_details a left join t_order_task b on a.id =b.progress_tid
+        left join admin c on b.task_receiver=c.id
+        where (c.superior_id= #{aid} or c.id= #{aid})
+    </select>
 </mapper>
 

+ 9 - 0
src/main/java/com/goafanti/techproject/bo/InputTaskDetailsBo.java

@@ -2,9 +2,18 @@ package com.goafanti.techproject.bo;
 
 public class InputTaskDetailsBo {
 
+    private String aid;
     private Integer pageSize;
     private Integer pageNo;
 
+    public String getAid() {
+        return aid;
+    }
+
+    public void setAid(String aid) {
+        this.aid = aid;
+    }
+
     public Integer getPageSize() {
         return pageSize;
     }

+ 1 - 1
src/main/java/com/goafanti/techproject/controller/TaskDetailsController.java

@@ -123,7 +123,7 @@ public class TaskDetailsController extends BaseController {
     }
 
     /**
-     * 项目进度列表
+     * 项目进度列表(我的与我的下级)
      *
      * @param in 参数
      * @return

+ 47 - 2
src/main/java/com/goafanti/techproject/service/impl/TaskDetailsServiceImpl.java

@@ -49,6 +49,8 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
     private TaskFeatureMapper taskFeatureMapper;
     @Resource
     private TaskFeatureLogMapper taskFeatureLogMapper;
+    @Resource
+    private TTaskMemberMapper ttaskMemberMapper;
 
 
 
@@ -118,8 +120,51 @@ public class TaskDetailsServiceImpl extends BaseMybatisDao<TaskDetailsMapper> im
 
     @Override
     public Object detailsList(InputTaskDetailsBo in) {
-//        findPage("selectTaskDetailsList","selectTaskDetailsCount",in);
-        return null;
+        in.setAid(TokenManager.getUserId());
+        Pagination<?> page = findPage("selectTaskDetailsList", "selectTaskDetailsCount", in);
+        List<TaskDetails> list = (List<TaskDetails>) page.getList();
+        List<TaskDetailsBo> list2=new ArrayList<>();
+        for (TaskDetails e : list) {
+            TaskDetailsBo bo=new TaskDetailsBo();
+            BeanUtils.copyProperties(e,bo);
+            addOrderInformation(bo);
+            list2.add(bo);
+        }
+        page.setList(list2);
+        return page;
+    }
+
+    private void addOrderInformation(TaskDetailsBo bo) {
+        TOrderNew tOrderNew = tOrderNewMapper.selectByTid(bo.getTid());
+        TOrderTask tOrderTask = tOrderTaskMapper.queryById(bo.getTid());
+        TOrderMid mid = tOrderMidMapper.selectByOrderNo(tOrderNew.getOrderNo());
+        List<Map<String,Object >> list=new ArrayList<>();
+        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();
+            }
+        }
+        TTaskMember tTaskMember = ttaskMemberMapper.selectByTid(tOrderTask.getId());
+        String serviceYear = getServiceYer(tTaskMember.getServiceYear());
+        list=addOrderList(collect2,serviceYear);
+        bo.setUserName(mid.getBuyerName());
+        bo.setOrderNo(tOrderNew.getOrderNo());
+        bo.setContractNo(tOrderNew.getContractNo());
+        bo.setServiceYear(serviceYear);
+        bo.setMemberStatus(mid.getProjectType());
+        bo.setTaskList(list);
+        BigDecimal totalAmount = tOrderNew.getTotalAmount().divide(new BigDecimal(yearSum), 2, RoundingMode.HALF_UP);
+        String lvl=getOrderLvl(totalAmount);
+        bo.setMemberLvl(lvl);
+        if (taskDetails!=null&&taskDetails.getTid()!=null){
+            bo.setFeatureList(taskFeatureMapper.selectByTdId(taskDetails.getId()));
+        }
     }
 
     private String getServiceYer(String serviceYear) {