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/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java | 136 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 136 insertions(+), 0 deletions(-) diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java index 8709da5..876d202 100644 --- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java +++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/storagetask/service/impl/StorageTaskServiceImpl.java @@ -3,22 +3,43 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mes.loadposition.entity.LoadPosition; +import com.mes.loadposition.mapper.LoadPositionMapper; +import com.mes.rawusage.entity.RawUsage; +import com.mes.rawusage.mapper.RawUsageMapper; +import com.mes.shelfrack.entity.ShelfRack; +import com.mes.shelfrack.entity.request.RawUsageAndShelfRack; +import com.mes.shelfrack.mapper.ShelfRackMapper; +import com.mes.storagetask.entity.request.StorageTaskRequest; import com.mes.storagetask.mapper.StorageTaskMapper; import com.mes.storagetask.entity.StorageTask; import com.mes.storagetask.service.StorageTaskService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Optional; /** * @author system * @since 2024-07-09 14:51:27 */ @Service +@Slf4j public class StorageTaskServiceImpl extends ServiceImpl<StorageTaskMapper, StorageTask> implements StorageTaskService { @Autowired private StorageTaskMapper storageTaskMapper; + @Autowired + private LoadPositionMapper loadPositionMapper; + @Autowired + private ShelfRackMapper shelfRackMapper; + @Autowired + private RawUsageMapper rawUsageMapper; + @Override public List<StorageTask> findList(StorageTask params){ @@ -27,5 +48,120 @@ } + public Map<String, Optional<StorageTask>> findLatestTasks() { + Map<String, Optional<StorageTask>> latestTasks = new HashMap<>(); + + // 鏌ヨ鏈�鏂扮殑宸插畬鎴愪换鍔� + LambdaQueryWrapper<StorageTask> completedWrapper = new LambdaQueryWrapper<>(); + completedWrapper.eq(StorageTask::getTaskType, "宸插畬鎴�") + .orderByDesc(StorageTask::getId) + .last("LIMIT 1"); + Optional<StorageTask> latestCompletedTask = Optional.ofNullable(storageTaskMapper.selectOne(completedWrapper)); + latestTasks.put("宸插畬鎴�", latestCompletedTask); + + // 鏌ヨ鏈�鏂扮殑绛夊緟涓换鍔� + LambdaQueryWrapper<StorageTask> pendingWrapper = new LambdaQueryWrapper<>(); + pendingWrapper.eq(StorageTask::getTaskType, "绛夊緟涓�") + .orderByDesc(StorageTask::getId); + Optional<StorageTask> latestPendingTask = Optional.ofNullable(storageTaskMapper.selectOne(pendingWrapper)); + latestTasks.put("绛夊緟涓�", latestPendingTask); + log.info(latestTasks+""); + return latestTasks; + } + + + @Override + public List<StorageTaskRequest> Tasks() { + return baseMapper.selectTasks(); + } + + + + @Override + public void taskUpdate(StorageTask request) { + Integer taskId = request.getId(); + String taskType = request.getTaskType(); + String Type = request.getType(); + String taskState = request.getTaskState(); + String shelfRack = request.getShelfRack(); + String loadRack = request.getLoadRack(); + + if ("閲嶆柊寮�濮�".equals(Type)) { + StorageTask storageTask = new StorageTask(); + storageTask.setTaskState("绛夊緟涓�"); + LambdaQueryWrapper<StorageTask> queryWrapper = Wrappers.lambdaQuery(StorageTask.class) + .eq(StorageTask::getId, request.getId()); + storageTaskMapper.update(request,queryWrapper); + } else if ("瀹屾垚".equals(Type)) { + StorageTask existingTask = storageTaskMapper.selectById(taskId); + if (existingTask != null && "姝e湪宸ヤ綔".equals(existingTask.getTaskState())) { + if ("浠庝粨浣嶅埌涓婄墖浣�".equals(taskType) || "浠庝粨浣嶅埌鍚婅浣�".equals(taskType)) { + LoadPosition loadPosition = new LoadPosition(); + loadPosition.setState("姝e湪浣跨敤"); + loadPosition.setStorageTaskId(request.getId()); + LambdaQueryWrapper<LoadPosition> queryWrapper = Wrappers.lambdaQuery(LoadPosition.class) + .eq(LoadPosition::getNumber, request.getLoadRack()); + loadPositionMapper.update(loadPosition, queryWrapper); + StorageTask storageTask = new StorageTask(); + storageTask.setTaskState("姝e湪浣跨敤"); + LambdaQueryWrapper<StorageTask> StorageTaskqueryWrapper = Wrappers.lambdaQuery(StorageTask.class) + .eq(StorageTask::getId, request.getId()); + storageTaskMapper.update(request,StorageTaskqueryWrapper); + } else if ("浠庝笂鐗囦綅鍒颁粨浣�".equals(taskType)) { + LoadPosition loadPosition = new LoadPosition(); + loadPosition.setState("浣跨敤涓�"); + loadPosition.setStorageTaskId(null); + LambdaQueryWrapper<LoadPosition> queryWrapper = Wrappers.lambdaQuery(LoadPosition.class) + .eq(LoadPosition::getNumber, request.getLoadRack()); + loadPositionMapper.update(loadPosition, queryWrapper); + ShelfRack loshelfRack = new ShelfRack(); + LambdaQueryWrapper<RawUsage> RawUsagequeryWrapper = Wrappers.lambdaQuery(RawUsage.class) + .eq(RawUsage::getId,loshelfRack.getRawPackageId()); + RawUsage RawUsage = rawUsageMapper.selectOne(RawUsagequeryWrapper); + if(RawUsage.getLeftPieces()==0){ + loshelfRack.setState("绌洪棽"); + }else { + loshelfRack.setState("浣跨敤涓�"); + } + LambdaQueryWrapper<ShelfRack> loshelfRackqueryWrapper = Wrappers.lambdaQuery(ShelfRack.class) + .eq(ShelfRack::getNumber, request.getLoadRack()); + shelfRackMapper.update(loshelfRack, loshelfRackqueryWrapper); + } else if ("浠庡悐瑁呬綅鍒颁粨浣�".equals(taskType)) { + LoadPosition loadPosition = new LoadPosition(); + loadPosition.setState("绌洪棽"); + loadPosition.setStorageTaskId(null); + LambdaQueryWrapper<LoadPosition> queryWrapper = Wrappers.lambdaQuery(LoadPosition.class) + .eq(LoadPosition::getNumber, request.getLoadRack()); + loadPositionMapper.update(loadPosition, queryWrapper); + ShelfRack loshelfRack = new ShelfRack(); + LambdaQueryWrapper<RawUsage> RawUsagequeryWrapper = Wrappers.lambdaQuery(RawUsage.class) + .eq(RawUsage::getId,loshelfRack.getRawPackageId()); + RawUsage RawUsage = rawUsageMapper.selectOne(RawUsagequeryWrapper); + if(RawUsage.getLeftPieces()==1){ + loshelfRack.setEnableState("鍚敤"); + }else { + loshelfRack.setEnableState(loshelfRack.getEnableState()); + } + loadPosition.setState("浣跨敤涓�"); + LambdaQueryWrapper<ShelfRack> loshelfRackqueryWrapper = Wrappers.lambdaQuery(ShelfRack.class) + .eq(ShelfRack::getNumber, request.getLoadRack()); + shelfRackMapper.update(loshelfRack, loshelfRackqueryWrapper); + } + StorageTask storageTask = new StorageTask(); + storageTask.setTaskState("宸插畬鎴�"); + LambdaQueryWrapper<StorageTask> StorageTaskqueryWrapper = Wrappers.lambdaQuery(StorageTask.class) + .eq(StorageTask::getId, request.getId()); + storageTaskMapper.update(storageTask, StorageTaskqueryWrapper); + } + } else if ("鍒犻櫎".equals(Type)) { + + LambdaQueryWrapper<StorageTask> StorageTaskqueryWrapper = Wrappers.lambdaQuery(StorageTask.class) + .eq(StorageTask::getId, request.getId()); + storageTaskMapper.delete(StorageTaskqueryWrapper); + } + } + + + } \ No newline at end of file -- Gitblit v1.8.0