package com.boying.service;
|
|
import com.boying.common.BaseDao;
|
import com.boying.common.BaseService;
|
import com.boying.common.util.DateUtil;
|
import com.boying.dao.OutParkDao;
|
import com.boying.entity.EnterPark;
|
import com.boying.entity.OutPark;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import javax.persistence.criteria.CriteriaBuilder;
|
import javax.persistence.criteria.CriteriaQuery;
|
import javax.persistence.criteria.Predicate;
|
import javax.persistence.criteria.Root;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
@Transactional(readOnly = true)
|
public class OutParkService extends BaseService {
|
|
@Autowired
|
private OutParkDao outParkDao;
|
|
@Override
|
@Resource(name="outParkDao")
|
protected void setBaseDao(BaseDao baseDao) {
|
this.baseDao = baseDao;
|
}
|
|
public int count1() {
|
long a = outParkDao.count1(DateUtil.getStartTime(),DateUtil.getEndTime());
|
return (int)a;
|
}
|
|
public int count2() {
|
long a = outParkDao.count2(DateUtil.getStartTime(),DateUtil.getEndTime());
|
return (int)a;
|
}
|
|
public int sumByPrice() {
|
Double a = outParkDao.sumByPrice(DateUtil.getStartTime(),DateUtil.getEndTime());
|
if(a!=null){
|
return a.intValue();
|
}else{
|
return 0;
|
}
|
}
|
|
public int count3() {
|
long a = outParkDao.count2(DateUtil.getMonthStartTime(),DateUtil.getMonthEndTime());
|
return (int)a;
|
}
|
|
public int sumByPrice2() {
|
Double a = outParkDao.sumByPrice(DateUtil.getMonthStartTime(),DateUtil.getMonthEndTime());
|
if(a!=null){
|
return a.intValue();
|
}else{
|
return 0;
|
}
|
}
|
|
public OutPark findByCarNo(String serialno) {
|
Specification<OutPark> specification2 = new Specification<OutPark>() {
|
@Override
|
public Predicate toPredicate(Root<OutPark> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
|
List<Predicate> list = new ArrayList<Predicate>();
|
list.add(cb.equal(root.get("carNo").as(String.class), serialno));
|
Predicate[] arr = new Predicate[list.size()];
|
cq.where(list.toArray(arr));
|
cq.orderBy(cb.desc(root.get("createTime")));
|
return null;
|
}
|
};
|
List<OutPark> all = outParkDao.findAll(specification2);
|
|
if(all.size()>0){
|
return all.get(0);
|
}else{
|
return null;
|
}
|
}
|
|
public OutPark count4(Long bId) {
|
return outParkDao.count4(bId);
|
}
|
|
public OutPark findByCarNoAndBarrierId(String carNo, Long id) {
|
return outParkDao.findByCarNoAndBarrierId(carNo,id);
|
}
|
}
|