package cn.com.goldenwater.dcproj.utils; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dto.PersAllInfoDto; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Map; /** * Created by 61618 on 2018/12/9. */ public class TimeRangeUtil { public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); public static boolean isTimeRange(PersAllInfoDto item, Map mapGroup) throws ParseException { if(StringUtils.isNotBlank(item.getSttm()) && StringUtils.isNotBlank(item.getEntm()) && StringUtils.isNotBlank(mapGroup.get("STTM")) && StringUtils.isNotBlank(mapGroup.get("ENTM"))){ return (sdf.parse(item.getSttm()).getTime() <= sdf.parse(mapGroup.get("STTM")).getTime() && sdf.parse(item.getEntm()).getTime() >= sdf.parse(mapGroup.get("STTM")).getTime()) || (sdf.parse(item.getSttm()).getTime() <= sdf.parse(mapGroup.get("ENTM")).getTime() && sdf.parse(item.getEntm()).getTime() >= sdf.parse(mapGroup.get("ENTM")).getTime()) || (sdf.parse(mapGroup.get("STTM")).getTime() <= sdf.parse(item.getSttm()).getTime() && sdf.parse(mapGroup.get("ENTM")).getTime() >= sdf.parse(item.getSttm()).getTime()) || (sdf.parse(mapGroup.get("STTM")).getTime() <= sdf.parse(item.getEntm()).getTime() && sdf.parse(mapGroup.get("ENTM")).getTime() >= sdf.parse(item.getEntm()).getTime()); }else if(StringUtils.isNotBlank(mapGroup.get("STTM")) && StringUtils.isBlank(mapGroup.get("ENTM"))){ if(StringUtils.isNotBlank(item.getSttm()) && StringUtils.isBlank(item.getEntm())){ return sdf.parse(mapGroup.get("STTM")).getTime() == sdf.parse(item.getSttm()).getTime(); } if(StringUtils.isBlank(item.getSttm()) && StringUtils.isNotBlank(item.getEntm())){ return sdf.parse(mapGroup.get("STTM")).getTime() == sdf.parse(item.getEntm()).getTime(); } if(StringUtils.isNotBlank(item.getSttm()) && StringUtils.isNotBlank(item.getEntm())){ return (sdf.parse(mapGroup.get("STTM")).getTime() >= sdf.parse(item.getSttm()).getTime() && sdf.parse(mapGroup.get("STTM")).getTime() <= sdf.parse(item.getEntm()).getTime()); } }else if(StringUtils.isBlank(mapGroup.get("STTM")) && StringUtils.isNotBlank(mapGroup.get("ENTM"))){ if(StringUtils.isNotBlank(item.getSttm()) && StringUtils.isBlank(item.getEntm())){ return sdf.parse(mapGroup.get("ENTM")).getTime() == sdf.parse(item.getSttm()).getTime(); } if(StringUtils.isBlank(item.getSttm()) && StringUtils.isNotBlank(item.getEntm())){ return sdf.parse(mapGroup.get("ENTM")).getTime() == sdf.parse(item.getEntm()).getTime(); } if(StringUtils.isNotBlank(item.getSttm()) && StringUtils.isNotBlank(item.getEntm())){ return (sdf.parse(mapGroup.get("ENTM")).getTime() >= sdf.parse(item.getSttm()).getTime() && sdf.parse(mapGroup.get("ENTM")).getTime() <= sdf.parse(item.getEntm()).getTime()); } }else if(StringUtils.isNotBlank(item.getSttm()) && StringUtils.isBlank(item.getEntm())){ if(StringUtils.isNotBlank(mapGroup.get("STTM")) && StringUtils.isBlank(mapGroup.get("ENTM"))){ return sdf.parse(item.getSttm()).getTime() == sdf.parse(mapGroup.get("STTM")).getTime(); } if(StringUtils.isBlank(mapGroup.get("STTM")) && StringUtils.isNotBlank(mapGroup.get("ENTM"))){ return sdf.parse(item.getSttm()).getTime() == sdf.parse(mapGroup.get("ENTM")).getTime(); } if(StringUtils.isNotBlank(mapGroup.get("STTM")) && StringUtils.isNotBlank(mapGroup.get("ENTM"))){ return (sdf.parse(item.getSttm()).getTime() >= sdf.parse(mapGroup.get("STTM")).getTime() && sdf.parse(item.getSttm()).getTime() <= sdf.parse(mapGroup.get("ENTM")).getTime()); } }else if(StringUtils.isBlank(item.getSttm()) && StringUtils.isNotBlank(item.getEntm())){ if(StringUtils.isNotBlank(mapGroup.get("STTM")) && StringUtils.isBlank(mapGroup.get("ENTM"))){ return sdf.parse(item.getEntm()).getTime() == sdf.parse(mapGroup.get("STTM")).getTime(); } if(StringUtils.isBlank(mapGroup.get("STTM")) && StringUtils.isNotBlank(mapGroup.get("ENTM"))){ return sdf.parse(item.getEntm()).getTime() == sdf.parse(mapGroup.get("ENTM")).getTime(); } if(StringUtils.isNotBlank(mapGroup.get("STTM")) && StringUtils.isNotBlank(mapGroup.get("ENTM"))){ return (sdf.parse(item.getEntm()).getTime() >= sdf.parse(mapGroup.get("STTM")).getTime() && sdf.parse(item.getEntm()).getTime() <= sdf.parse(mapGroup.get("ENTM")).getTime()); } } return false; } }