Newer
Older
PgInterface / src / main / java / com / casic / PgInterface / patroler / manager / PgMaintainManager.java
package com.casic.PgInterface.patroler.manager;

import com.casic.PgInterface.core.hibernate.HibernateEntityDao;
import com.casic.PgInterface.core.util.DateUtils;
import com.casic.PgInterface.core.util.StringUtils;
import com.casic.PgInterface.patroler.domain.PgMaintain;
import com.casic.PgInterface.patroler.domain.PgPatrol;
import com.casic.PgInterface.patroler.dto.PgMaintainDto;
import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

/**
 * Created by yxw on 2018/3/28.
 */
@Service
public class PgMaintainManager extends HibernateEntityDao<PgMaintain>{

    public List<PgMaintainDto> getPgMaintainList() {
        Criteria criteria=createCriteria(PgMaintain.class);
        criteria.add(Restrictions.eq("active", 1));
        criteria.addOrder(Order.desc("id"));

        List<PgMaintain> pgMaintainList=criteria.list();
        List<PgMaintainDto> pgMaintainDtoList=new ArrayList<PgMaintainDto>();
        for(PgMaintain pgMaintain:pgMaintainList)
        {
            pgMaintainDtoList.add(new PgMaintainDto(pgMaintain));
        }
        return pgMaintainDtoList;
    }

    public List<PgMaintainDto> getPgMaintainByMaintainerOrTime(String mainTainer,String startTime,String endTime) {
        try {
            Criteria criteria = createCriteria(PgPatrol.class);
            if (StringUtils.isNotBlank(mainTainer)) {
                criteria.add(Restrictions.eq("mainTainer", mainTainer));
            }
            if (StringUtils.isNotBlank(startTime)) {
                criteria.add(Restrictions.ge("beginTime", DateUtils.sdf_day.parse(startTime)));
            }
            if (StringUtils.isNotBlank(endTime)) {
                Calendar calendar = Calendar.getInstance();
                calendar.setTime(DateUtils.sdf_day.parse(endTime));
                calendar.add(Calendar.DATE, 1);
                criteria.add(Restrictions.le("beginTime", calendar.getTime()));
            }

            criteria.add(Restrictions.eq("active", 1));
            criteria.addOrder(Order.desc("id"));

            List<PgMaintain> pgMaintainList=criteria.list();
            List<PgMaintainDto> pgMaintainDtoList=new ArrayList<PgMaintainDto>();
            for(PgMaintain pgMaintain : pgMaintainList)
            {
                pgMaintainDtoList.add(new PgMaintainDto(pgMaintain));
            }

            return pgMaintainDtoList;

        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }


}