From d5d0d1c7a84b996b9bbcebfaf2c2c95f1a5a3678 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期五, 11 十月 2024 08:39:15 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 105 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..17f9ba1 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,125 @@ 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)); + } + + } -- Gitblit v1.8.0