64 lines
2.3 KiB
Java
64 lines
2.3 KiB
Java
package mjkf.xinke.main.service;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import mjkf.xinke.main.model.db.DataAdjacent;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.Map;
|
|
|
|
@Service
|
|
public class DataAdjacentService extends DataService<BaseMapper<DataAdjacent>, DataAdjacent> {
|
|
|
|
public LambdaQueryWrapper<DataAdjacent> indexQuery(DataAdjacent data) {
|
|
LambdaQueryWrapper<DataAdjacent> query = new LambdaQueryWrapper<>();
|
|
query.eq(DataAdjacent::getMaterialId, data.getMaterialId());
|
|
query.eq(DataAdjacent::getYear, data.getYear());
|
|
query.eq(DataAdjacent::getMonth, data.getMonth());
|
|
return query;
|
|
}
|
|
|
|
public LambdaQueryWrapper<DataAdjacent> filterQuery(LambdaQueryWrapper<DataAdjacent> query) {
|
|
return query;
|
|
}
|
|
|
|
public LambdaQueryWrapper<DataAdjacent> getQuery(String keyWord, Integer year, Integer month, String materialId, String name, Integer type) {
|
|
LambdaQueryWrapper<DataAdjacent> query = new LambdaQueryWrapper<>();
|
|
if (keyWord != null) {
|
|
query.and(e -> e.like(DataAdjacent::getName, keyWord));
|
|
}
|
|
if (month != null) {
|
|
query.eq(DataAdjacent::getMonth, month);
|
|
}
|
|
if (year != null) {
|
|
query.eq(DataAdjacent::getYear, year);
|
|
}
|
|
if (name != null) {
|
|
query.like(DataAdjacent::getName, name);
|
|
}
|
|
if (materialId != null) {
|
|
query.eq(DataAdjacent::getMaterialId, materialId);
|
|
}
|
|
if (type != null) {
|
|
}
|
|
return query;
|
|
}
|
|
|
|
public DataAdjacent getMapGroupingBy(Map item) {
|
|
var o = new DataAdjacent();
|
|
o.setMaterialId(item.get("material_id").toString());
|
|
return o;
|
|
}
|
|
|
|
public LambdaQueryWrapper<DataAdjacent> trendQuery(Object obj, Integer year, Integer month) {
|
|
var data = (DataAdjacent) obj;
|
|
LambdaQueryWrapper<DataAdjacent> query = new LambdaQueryWrapper<>();
|
|
query.eq(DataAdjacent::getMaterialId, data.getMaterialId());
|
|
query.eq(DataAdjacent::getYear, year);
|
|
query.eq(DataAdjacent::getMonth, month);
|
|
query.orderByAsc(DataAdjacent::getYear, DataAdjacent::getMonth);
|
|
return query;
|
|
}
|
|
}
|
|
|