From 928fa3682fcd0bcb59e3ca3da8770ecbb06cf315 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 02 八月 2024 10:32:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 107 insertions(+), 0 deletions(-)

diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java
index 108908d..69f120f 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawusage/service/impl/RawUsageServiceImpl.java
@@ -6,9 +6,20 @@
 import com.mes.rawusage.mapper.RawUsageMapper;
 import com.mes.rawusage.entity.RawUsage;
 import com.mes.rawusage.service.RawUsageService;
+import com.mes.shelfrack.entity.ShelfRack;
+import com.mes.shelfrack.entity.request.RawUsageAndShelfRack;
+import com.mes.shelfrack.mapper.ShelfRackMapper;
+import com.mes.storagetask.entity.StorageTask;
+import com.mes.storagetask.mapper.StorageTaskMapper;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.lang.reflect.InvocationTargetException;
+import java.time.LocalDateTime;
 import java.util.List;
+
+import static cn.hutool.core.date.DateTime.now;
 
 /**
  * @author system
@@ -19,6 +30,10 @@
 
     @Autowired
     private RawUsageMapper rawUsageMapper;
+    @Autowired
+    private ShelfRackMapper shelfRackMapper;
+    @Autowired
+    private StorageTaskMapper storageTaskMapper;
 
     @Override
     public List<RawUsage> findList(RawUsage params){
@@ -26,6 +41,98 @@
         return rawUsageMapper.selectList(query);
     }
 
+    @Override
+    public void updateRawPackageAndStorageRack(RawUsage raw) {
+        // Step 1: 鏌ヨraw_package_id
+        LambdaQueryWrapper<ShelfRack> queryWrapper = Wrappers.lambdaQuery(ShelfRack.class)
+                .eq(ShelfRack::getNumber, raw.getId());
+        ShelfRack shelfRack = shelfRackMapper.selectOne(queryWrapper);
+        if (shelfRack == null) {
+            throw new RuntimeException("鏈壘鍒颁笌鎸囧畾璐ф灦ID鍏宠仈鐨勫師鏂欏寘淇℃伅");
+        }
+
+
+        // Step 2: 鏇存柊raw_package琛�
+        RawUsage rawUsage=new RawUsage();
+
+        rawUsage.setState("绌洪棽");
+        rawUsage.setId(shelfRack.getRawPackageId());
+        rawUsageMapper.updateById(rawUsage);
+
+        // Step 3: 鏇存柊storage_rack琛�
+
+        ShelfRack rack = new ShelfRack();
+        rack.setState("绌洪棽");
+        rack.setRawPackageId(null);  // 璁剧疆RawPackageId涓虹壒瀹氱殑绌哄�硷紝渚嬪0
+        LambdaQueryWrapper<ShelfRack> queryWrapper2 = Wrappers.lambdaQuery(ShelfRack.class)
+                .eq(ShelfRack::getNumber, raw.getId());
+        shelfRackMapper.update(rack, queryWrapper2);
+
+
+    }
+
+
+
+
+
+    @Override
+    public void inStorage(RawUsageAndShelfRack raw) {
+        RawUsage rawPackage = new RawUsage();
+        BeanUtils.copyProperties(raw,rawPackage);
+        rawPackage.setRawType(raw.getRawThickness() + raw.getColor());
+        rawPackage.setState("浣跨敤涓�");
+        rawPackage.setLeftPieces(rawPackage.getPieces());
+        rawUsageMapper.insert(rawPackage);
+
+        // 鏇存柊鏋惰〃
+        ShelfRack rack = new ShelfRack();
+        rack.setState("浣跨敤涓�");
+        rack.setRawPackageId(rawPackage.getId());  // 璁剧疆RawPackageId涓虹壒瀹氱殑绌哄�硷紝渚嬪0
+        LambdaQueryWrapper<ShelfRack> queryWrapper = Wrappers.lambdaQuery(ShelfRack.class)
+                .eq(ShelfRack::getNumber, raw.getNumber());
+        shelfRackMapper.update(rack, queryWrapper);
+        StorageTask storageTask=new StorageTask();
+        storageTask.setTaskState("绛夊緟涓�");
+        storageTask.setTaskType("浠庝粨浣嶅埌鍚婅浣�");
+        storageTask.setLoadRack(raw.getLoadRack());
+        storageTask.setShelfRack(raw.getNumber());
+        storageTask.setRouteGroup(1);
+        storageTask.setStartTime(now());
+        storageTask.setFinishTime(now());
+        insertTask(storageTask);
+
+
+    }
+
+
+    @Override
+    public void outStorage(RawUsageAndShelfRack raw) {
+        ShelfRack rack = new ShelfRack();
+        rack.setState("绛夊緟鍑哄簱");
+        rack.setRawPackageId(null);  // 璁剧疆RawPackageId涓虹壒瀹氱殑绌哄�硷紝渚嬪0
+        LambdaQueryWrapper<ShelfRack> queryWrapper = Wrappers.lambdaQuery(ShelfRack.class)
+                .eq(ShelfRack::getNumber, raw.getNumber());
+        shelfRackMapper.update(rack, queryWrapper);
+
+
+        StorageTask storageTask=new StorageTask();
+        storageTask.setTaskState("绛夊緟涓�");
+        storageTask.setTaskType("浠庝粨浣嶅埌鍚婅浣�");
+        storageTask.setLoadRack(raw.getLoadRack());
+        storageTask.setShelfRack(raw.getNumber());
+        storageTask.setRouteGroup(1);
+        storageTask.setStartTime(now());
+        storageTask.setFinishTime(now());
+        insertTask(storageTask);
+    }
+
+
+    public void insertTask(StorageTask storageTask) {
+        storageTaskMapper.insert(storageTask);
+
+    }
+
+
 
 
 }
\ No newline at end of file

--
Gitblit v1.8.0