package com.mes.opctask.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.largenscreen.entity.DailyProductionVO; import com.mes.largenscreen.entity.RunTime; import com.mes.opctask.entity.EdgStorageDeviceTaskHistory; import com.mes.opctask.entity.request.TaskHistoryRequest; import com.mes.opctask.mapper.EdgStorageDeviceTaskHistoryMapper; import com.mes.opctask.service.EdgStorageDeviceTaskHistoryService; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; /** * (EdgStorageDeviceTaskHistory)表服务实现类 * * @author makejava * @since 2024-10-27 21:04:33 */ @Service("edgStorageDeviceTaskHistoryService") public class EdgStorageDeviceTaskHistoryServiceImpl extends ServiceImpl implements EdgStorageDeviceTaskHistoryService { @Override public Page queryEdgStorageDeviceTaskHistory(TaskHistoryRequest request) { Page page = new Page<>(request.getPageNo(), request.getPageSize()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper() .eq(EdgStorageDeviceTaskHistory::getDeviceId, request.getDeviceId()) .eq(StringUtils.checkValNotNull(request.getTaskState()), EdgStorageDeviceTaskHistory::getTaskState, request.getTaskState()) .eq(StringUtils.checkValNotNull(request.getTaskType()), EdgStorageDeviceTaskHistory::getTaskType, request.getTaskType()) .between(StringUtils.checkValNotNull(request.getStartTime()), EdgStorageDeviceTaskHistory::getCreateTime, request.getStartTime(), request.getEndTime()).orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime); if (StringUtils.isNotBlank(request.getGlassId())) { wrapper.and(e -> e.like(EdgStorageDeviceTaskHistory::getGlassIdIn, request.getGlassId()) .or().like(EdgStorageDeviceTaskHistory::getGlassIdOut, request.getGlassId())); } return this.page(page, wrapper); } @Override public DailyProductionVO queryEdgDailyProduction(TaskHistoryRequest request) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String beginDate = null; String endDate = null; if (StringUtils.checkValNotNull(request.getStartTime())) { beginDate = sdf.format(request.getStartTime()); endDate = sdf.format(request.getEndTime()); } return baseMapper.queryEdgDailyProduction(beginDate, endDate, request.getDeviceId()); } @Override public List queryRunTimes(String days){ return baseMapper.queryRunTimes(days); } }