美文网首页
按照步骤顺序的步骤列表

按照步骤顺序的步骤列表

作者: never_b6a7 | 来源:发表于2021-06-22 10:42 被阅读0次

问题描述:实现一个可以动态添加,修改,删除的步骤列表。 最后得到同一produc_id下的步骤列表(按照步骤顺序)
数据库设计: id,parent_id,product_id,step_name,create_time,update_time

// 转化List 根据ParentID 从小到大排序。如果ParentID一样则根据ID按照从大到小拍排序,方便取出第一个步骤 
    private List<Step> SortList( List<Step> origstep){
        List<Integer> re= new ArrayList<>();
        //origstep.stream().sorted().thenComparing(Live::getAppId, Comparator.reverseOrder()));
        List<Step> ss=new ArrayList<>();
        //origstep.sort(Comparator.comparing(Step::getId).thenComparing(Step::getParendid, Comparator.reverseOrder()));
        ss=origstep.stream().sorted(Comparator.comparing(Step::getParent_id).thenComparing(Step::getId, Comparator.reverseOrder())).collect(Collectors.toList());
        return ss;
    }
    // 查询步骤列表中PID为指定值的步骤列表,并且根据ID倒序排列
    private List<Step> getStepsByPid(Long pid,List<Step> origstep){
        List<Step> steps= new ArrayList<>();
        for (int i=0;i<origstep.size();i++){
            if (origstep.get(i).getParent_id()==pid){
                steps.add(origstep.get(i));
            }
        }
        List<Step> resteps=steps.stream().sorted(Comparator.comparing(Step::getId).reversed()).collect(Collectors.toList());
        return  resteps;
    }
    //按照步骤顺序排序,值写入到类成员变量 sort_step
    private  List<Step> StepsBySteps(Long id, List<Step> steps,List<Step> resteps){
        List<Step> sort_step =new ArrayList<>();
        List<Step> ree=new ArrayList<>();
        List<Step> res=SortList(steps);
        List<Step> ls=getStepsByPid(id,res);

        for(Step s:ls){
            if (ls.size()>0){
                //a.add( s.getId());
                resteps.add(s);
                System.out.println("ls>0"+s.getId());
                // return s.getId();
                StepsBySteps(s.getId(),res,resteps);
                //a.add(s.getId());
            }
            else {
                System.out.println("else"+res.get(0).getId());
                //a.add(res.get(0).getId());
                sort_step.add(s);
                return  resteps;
            }

        }
        return  resteps;
    }

相关文章

  • 按照步骤顺序的步骤列表

    问题描述:实现一个可以动态添加,修改,删除的步骤列表。 最后得到同一produc_id下的步骤列表(按照步骤顺序)...

  • 暴脾气小孩-2(方案B)

    方案B的执行有3个步骤,需要按照以下顺序执行这3个步骤: 步骤1:将心比心 将心比心的做法不会对你的权威形象有任何...

  • 百度百科

    基本建设程序的步骤 在中国,按照基本建设的技术经济特点及其规律性,规定基本建设程序主要包括八项步骤。步骤的顺序不能...

  • React Native之iOS App打包

    iOS打包步骤(一、二、三可不按照顺序) 步骤一: 选择iOS Device(以下两者选其中一个即可) 选择 Ge...

  • 设计计划2

    读书笔记摘要《高效PDCA 工作术》 设计计划,步骤1-3 步骤四 将课题按照优先顺序排列,锁定三个主题课题 出现...

  • 组织思想的4种逻辑顺序

    1.组织思想的4种逻辑顺序 演绎顺序:大前提、小前提、结论——按照演绎推理组织的思想 时间(步骤)顺序:第一、第二...

  • 企业愿景、目标和方法的关系

    按照逻辑形成理论,按照理论做好实施步骤,按照步骤做好绩效

  • iOS--ProtocolBuffer的安装与简单使用

    一、安装Protobuf编译器 首先按照github上的顺序进行, 如果直接按照github上的步骤,会出现很多e...

  • 索妆小课堂 护肤小步骤

    索妆小课堂护肤小步骤 步骤一:按照由上到下的顺序用化妆棉涂抹水分子最小的产品也就是爽肤水,保湿的同时让面部恢复PH...

  • 按照步骤复盘

    因为人生效率手册,让我看到了自己在目标设定,评估以及总结复盘方面的弱点,特地买了一本复盘的书回来阅读。 无论是美军...

网友评论

      本文标题:按照步骤顺序的步骤列表

      本文链接:https://www.haomeiwen.com/subject/wompyltx.html