package com.ruoyi.report.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.report.domain.RzlNationalRankingInfo;
import com.ruoyi.report.mapper.RzlNationalRankingInfoMapper;
import com.ruoyi.report.service.IRzlNationalRankingInfoService;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 专利有效-全国排名Service业务层处理
 *
 * @author ruoyi
 * @date 2023-03-26
 */
@Service
public class RzlNationalRankingInfoServiceImpl extends ServiceImpl<RzlNationalRankingInfoMapper, RzlNationalRankingInfo>
		implements IRzlNationalRankingInfoService {

	/**
	 * 查询专利有效-全国排名列表
	 *
	 * @param rzlNationalRankingInfo 专利有效-全国排名
	 * @return 专利有效-全国排名集合
	 * @date 2023-03-26
	 */
	@Override
	public List<RzlNationalRankingInfo> queryList(RzlNationalRankingInfo rzlNationalRankingInfo) {
		QueryWrapper<RzlNationalRankingInfo> queryWrapper = Wrappers.query();
		if (StringUtils.isNotEmpty(rzlNationalRankingInfo.getYear())) {
			queryWrapper.eq("year", rzlNationalRankingInfo.getYear());
		}
		if (StringUtils.isNotEmpty(rzlNationalRankingInfo.getMonth())) {
			queryWrapper.eq("month", rzlNationalRankingInfo.getMonth());
		}
		if (StringUtils.isNotEmpty(rzlNationalRankingInfo.getArea())) {
			queryWrapper.eq("area", rzlNationalRankingInfo.getArea());
		}
		if (StringUtils.isNotEmpty(rzlNationalRankingInfo.getPubDate())){
			queryWrapper.eq("pub_date",rzlNationalRankingInfo.getPubDate());
		}
//                if ( StringUtils.isNotEmpty(rzlNationalRankingInfo.getInventionPatentsUmber())  ){
//                    queryWrapper.eq("invention_patents_umber", rzlNationalRankingInfo.getInventionPatentsUmber());
//                }
		if (StringUtils.isNotNull(rzlNationalRankingInfo.getStatus())) {
			queryWrapper.eq("status", rzlNationalRankingInfo.getStatus());
		}
		if (StringUtils.isNotEmpty(rzlNationalRankingInfo.getCreateTimeBegin())){
			queryWrapper.ge("pub_date",rzlNationalRankingInfo.getCreateTimeBegin());
		}
		if (StringUtils.isNotEmpty(rzlNationalRankingInfo.getCreateTimeEnd())){
			queryWrapper.le("pub_date",rzlNationalRankingInfo.getCreateTimeEnd());
		}
		queryWrapper.orderByAsc("ranking");
		return this.list(queryWrapper);
	}
}
