subEnumDevice.java 2.37 KB
package com.bsth.util.subject;

import com.bsth.data.schedule.ScheduleComparator;
import com.bsth.entity.directive.D60;
import com.bsth.entity.realcontrol.ChildTaskPlan;
import com.bsth.entity.realcontrol.ScheduleRealInfo;
import com.bsth.entity.subject.SubjectUser;
import com.bsth.entity.sys.SysUser;

import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;

public enum subEnumDevice {

   
    //手动切换车辆方向
    qdir{ 
        @Override
        public Map run(SubjectUser sur, Collection<D60> yyArray,SysUser user){
            Map m = new HashMap();
            for (D60 d60 : yyArray){
                if (d60.getSender().equals(user.getUserName())){ //用户名
                    if(d60.getData().getTxtContent().equals("切换为 下行营运")){
                        m.put("state",true);
                    return m;
                    }
                }
            }
            m.put("state",false);
            m.put("message",rtMessage.QDIR_ERROR);
            return m;
        }
    },
    //下发消息
    xf{
        @Override
        public Map run(SubjectUser sur, Collection<D60> yyArray, SysUser user){
            Map m = new HashMap();
            String answer = sur.getSubjectId().getAnswer();//答案
            String[] t = answer.split(","); //0
            for (D60 d60 : yyArray){
                if (d60.getDeviceId().contains(user.getUserName()) && d60.getDeviceId().contains(t[0]) ){ //用户名
                    m.put("state",true);
                    return m;
                }
            }
            m.put("state",false);
            m.put("message",rtMessage.XF_ERROR);
            return m;
        }
    },
    //群下发消息
    pxf{
        @Override
        public Map run(SubjectUser sur, Collection<D60> yyArray,SysUser user){
            Map m = new HashMap();
            int num = 0;
            for (D60 d60 : yyArray){
                if (d60.getDeviceId().contains(user.getUserName())){ //用户名
                    num = num + 1;
                }
            }
            if (num >= 5) {
                m.put("state", true);
                return m;
            }
            
            m.put("state",false);
            m.put("message",rtMessage.PXF_ERROR);
            return m;
        }
    };
    
    
    public abstract Map run(SubjectUser sur, Collection<D60> yyArray, SysUser user);
}