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 | 140 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 129 insertions(+), 11 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 0ef7807..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){
@@ -26,24 +47,121 @@
return storageTaskMapper.selectList(query);
}
- @Override
- public StorageTask findById(Long id) {
- return storageTaskMapper.selectById(id);
+
+ 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 boolean insert(StorageTask storageTask) {
- return save(storageTask);
- }
@Override
- public boolean update(StorageTask storageTask) {
- return updateById(storageTask);
+ public List<StorageTaskRequest> Tasks() {
+ return baseMapper.selectTasks();
}
+
+
@Override
- public int delete(Long id) {
- return storageTaskMapper.deleteById(id);
+ 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