From f68d3c71819feb59e7a227a5d992b059b900916c Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期五, 28 三月 2025 08:28:26 +0800 Subject: [PATCH] 修改报表,界面添加查询流程卡个数,调整推送数据到前端的间隔 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java | 136 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 135 insertions(+), 1 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java index 1fb724b..61ee089 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java @@ -1,21 +1,155 @@ package com.mes.downglassinfo.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mes.downglassinfo.entity.DownGlassInfo; import com.mes.downglassinfo.entity.DownGlassTask; import com.mes.downglassinfo.mapper.DownGlassTaskMapper; +import com.mes.downglassinfo.service.DownGlassInfoService; import com.mes.downglassinfo.service.DownGlassTaskService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author zhoush * @since 2024-04-07 */ +@Slf4j @Service public class DownGlassTaskServiceImpl extends ServiceImpl<DownGlassTaskMapper, DownGlassTask> implements DownGlassTaskService { + @Autowired + private DownGlassInfoService downGlassInfoService; // MySQL Mapper + + @Resource + private DownGlassTaskMapper downGlassTaskMapper; // SQL Server Mapper + + @Override + public List<DownGlassTask> getUnloadingTaskState() { + log.info("鎺掗櫎宸茬粡涓嬬墖鐨勫嚭鐗囨垨鐩撮�氫换鍔$姸鎬佷负1鐨勪换鍔�"); + + // Step 1: 浠� MySQL 涓幏鍙栫幓鐠� ID 鍒楄〃 + + // Step 2: 浠� SQL Server 涓繃婊ゆ帀杩欎簺鐜荤拑 ID 骞舵煡璇换鍔� + QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("task_status", 1) + .and(qw -> qw.eq("task_type", 2).or().eq("task_type", 3)); + + List<DownGlassInfo> excludedGlassIds = downGlassInfoService.list(); + if (!excludedGlassIds.isEmpty()) { + queryWrapper.notIn("glass_id", excludedGlassIds.stream().map(DownGlassInfo::getGlassId).collect(Collectors.toList())); + } + log.info(String.valueOf(excludedGlassIds)); + + return baseMapper.selectList(queryWrapper); + } + + + @Override + public void updateTaskState(String id) { + UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("task_status", 2).eq("id", id); + baseMapper.update(new DownGlassTask(), updateWrapper); + } + + @Override + public void deleteTask(String id) { + LambdaQueryWrapper<DownGlassTask> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DownGlassTask::getGlassId, id); + + baseMapper.delete(queryWrapper); + } + + @Override + public DownGlassTask selectLastOutCacheInfo(String endCell) { + QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("task_type", "2") + .eq("task_status", "2") + .eq("end_cell", endCell) + .last("LIMIT 1"); + + return baseMapper.selectOne(queryWrapper); + } + + @Override + public Integer insertCacheTask(DownGlassTask downGlassTask) { + // 鏌ヨ鏁版嵁搴擄紝妫�鏌ヤ富閿�兼槸鍚﹀凡缁忓瓨鍦� + DownGlassTask existingTask = baseMapper.selectById(downGlassTask.getId()); + if (existingTask != null) { + // 濡傛灉宸插瓨鍦ㄧ浉鍚屼富閿�肩殑浠诲姟锛屽垯涓嶈繘琛屾彃鍏ユ搷浣滐紝杩斿洖 null 鎴栬�呮姏鍑哄紓甯� + // 杩欓噷绠�鍗曡捣瑙侊紝鐩存帴杩斿洖 null + return null; + } + + // 濡傛灉涓婚敭鍊间笉瀛樺湪锛屽垯杩涜鎻掑叆鎿嶄綔 + DownGlassTask newDownGlassTask = new DownGlassTask(); + BeanUtils.copyProperties(downGlassTask, newDownGlassTask); + newDownGlassTask.setTaskStatus(1); // 榛樿浠诲姟鐘舵�佷负1 + newDownGlassTask.setCreateTime(new Date()); + int rows = baseMapper.insert(newDownGlassTask); + return rows > 0 ? rows : null; + } + + + + @Override + public List<DownGlassTask> selectInputTaskCache() { + return baseMapper.selectList(new QueryWrapper<DownGlassTask>().eq("task_status", 0).eq("task_type", 1)); + } + + /** + * 鏌ヨ寰呭嚭鐗囦换鍔� + * + * @return + */ + @Override + public List<DownGlassTask> selectOutTaskCache() { + return baseMapper.selectList(new QueryWrapper<DownGlassTask>().eq("task_status", 0).eq("task_type", 2)); + } + + @Override + public List<DownGlassTask> selectDownGlassTask(DownGlassTask downGlassTask, String startTime, String endTime){ + if (endTime != null && !endTime.isEmpty()) { + endTime = endTime + " 23:59:59"; + } + LambdaQueryWrapper<DownGlassTask> wrapper = new LambdaQueryWrapper<>(); + if (downGlassTask.getStartCell() != null) { + wrapper.eq(DownGlassTask::getStartCell, downGlassTask.getStartCell()); + } + if (downGlassTask.getEndCell() != 0) { + wrapper.eq(DownGlassTask::getEndCell, downGlassTask.getEndCell()); + } + if (downGlassTask.getTaskStatus() != -1) { + wrapper.eq(DownGlassTask::getTaskStatus, downGlassTask.getTaskStatus()); + } + if (downGlassTask.getTaskType() != -1) { + wrapper.eq(DownGlassTask::getTaskType, downGlassTask.getTaskType()); + } + if (startTime != null && !startTime.isEmpty()) { + wrapper.ge(DownGlassTask::getCreateTime, startTime); + } + if (endTime != null && !endTime.isEmpty()) { + wrapper.le(DownGlassTask::getCreateTime, endTime); + } + wrapper.orderByDesc(DownGlassTask::getCreateTime); + wrapper.and(item -> item.eq(DownGlassTask::getDeleted, 0) + .or() + .eq(DownGlassTask::getDeleted, 1)); + wrapper.between(DownGlassTask::getCreateTime, startTime, endTime); + return baseMapper.selectList(wrapper); + } } -- Gitblit v1.8.0