package com.mes.edgglasstask.service.impl;
import cn.smallbun.screw.core.util.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.common.utils.RedisUtil;
import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper;
import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
import com.mes.tools.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author wu
* @since 2024-05-11
*/
@Service
public class EdgGlassTaskInfoServiceImpl extends ServiceImpl implements EdgGlassTaskInfoService {
@Autowired
RedisUtil redisUtil;
@Override
public List selectEdgInfo() {
EdgGlassInfoRequest request = redisUtil.getCacheObject("edgGlassRequest");
if (null == request) {
request = new EdgGlassInfoRequest();
}
if (null == request.getBeginDate()) {
request.setBeginDate(DateUtil.getBeginDate());
request.setEndDate(DateUtil.getEndDate());
}
LambdaQueryWrapper edgGlassWrapper = new LambdaQueryWrapper()
.in(CollectionUtils.isNotEmpty(request.getCellList()), EdgGlassTaskInfo::getLine, request.getCellList())
.in(CollectionUtils.isNotEmpty(request.getStateList()), EdgGlassTaskInfo::getStatus, request.getStateList())
.between(null != request.getBeginDate(), EdgGlassTaskInfo::getTime, request.getBeginDate(), request.getEndDate())
.orderByDesc(EdgGlassTaskInfo::getTime);
return this.list(edgGlassWrapper);
}
@Override
public String setEdgGlassInfoRequest(EdgGlassInfoRequest request) {
if (request == null) {
redisUtil.deleteObject("edgGlassRequest");
} else {
redisUtil.setCacheObject("edgGlassRequest", request);
}
return "success";
}
/**
* 查询判断磨边线是否有玻璃运行
*
* @param
* @return
*/
@Override
public List selectTaskCacheIsRun() {
QueryWrapper wrapper = new QueryWrapper()
.select("line")
.eq("status", 1)
.groupBy("line");
return this.list(wrapper);
}
}