subEnum.java 3.62 KB
package com.bsth.util.subject;

import com.bsth.entity.realcontrol.ScheduleRealInfo;
import com.bsth.entity.subject.SubjectUser;

import java.util.List;
import java.util.stream.Collectors;

public enum subEnum {
    //判断待发
    df{ 
        @Override
        public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){
            String sj = sur.getSubjectId().getFcsj();//计划发车时间
            String answer = sur.getSubjectId().getAnswer();//待发是按
            String dir = sur.getSubjectId().getDir();//
            //筛选满足条件的情况下
            //List<ScheduleRealInfo> sh = sch.stream().filter(s -> s.getXlDir().equals(dir)).collect(Collectors.toList());
            //判断结果是否合格
            for (ScheduleRealInfo s : sch) {
                if (s.getFcsj().equals(sj) &&
                        s.getXlDir().equals(dir) &&
                        s.getDfsj().equals(answer)) {
                    return true;
                }
            }
            return false;
        }
    },
    //判断烂班
    lb{  
        @Override
        public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){
            String sj = sur.getSubjectId().getFcsj();//计划发车时间
            String answer = sur.getSubjectId().getAnswer();//答案
            String[] t = answer.split(","); //0 计划里程  1 是否烂班状态 2烂班原因
            String dir = sur.getSubjectId().getDir();//
            //筛选满足条件的情况下
            //List<ScheduleRealInfo> sh = sch.stream().filter(s -> s.getXlDir().equals(dir)).collect(Collectors.toList());
            //判断结果是否合格
            for (ScheduleRealInfo s : sch) {
                if (s.getDfsj().equals(sj) &&
                        s.getXlDir().equals(dir) &&
                        s.getJhlc() == Double.parseDouble(t[0]) &&
                        s.getStatus() == Integer.parseInt(t[1]) &&
                        s.getRemarks().contains(t[2])) {
                    return true;
                }
            }
            return false;
        }
    },
    //判断烂班后撤销烂班
    clb{   
        @Override
        public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){
            String sj = sur.getSubjectId().getFcsj();//计划发车时间
            String answer = sur.getSubjectId().getAnswer();//答案
            String[] t = answer.split(","); //0 是否烂班状态 1是否烂班过
            String dir = sur.getSubjectId().getDir();//
            //判断结果是否合格
            for (ScheduleRealInfo s : sch) {
                if (s.getDfsj().equals(sj) &&
                        s.getXlDir().equals(dir) &&
                        s.getStatus() == Integer.parseInt(t[0]) &&
                         t[1].equals(s.getAdjustExps())) {
                    return true;
                }
            }
            return false;
        }
    },
    jgs{
        @Override
        public boolean run(SubjectUser sur, List<ScheduleRealInfo> sch){
            String sj = sur.getSubjectId().getFcsj();//计划发车时间
            String answer = sur.getSubjectId().getAnswer();//答案
            String[] t = answer.split(","); //0 计划里程
            String dir = sur.getSubjectId().getDir();//
            //筛选满足条件的情况下
            List<ScheduleRealInfo> sh = sch.stream().filter(s -> s.getXlDir().equals(dir)).collect(Collectors.toList());
            //判断结果是否合格
            for (ScheduleRealInfo s : sch) {
               
            }
            return false;
        }
    };



    public abstract boolean run(SubjectUser sur, List<ScheduleRealInfo> sch);
}