From b31b4776f50e1ef0cfeeb95f5aac175a624086e4 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 28 二月 2025 09:46:49 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java |   61 ++++++++++++++++++++++--------
 1 files changed, 45 insertions(+), 16 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
index 746269b..fbdc55e 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -8,6 +8,7 @@
 import com.kangaroohy.milo.service.MiloService;
 import com.mes.common.config.Const;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
+import com.mes.rawglassdetails.entity.dto.RawGlassStorageDetailsDTO;
 import com.mes.rawglassdetails.entity.request.RawGlassRequest;
 import com.mes.rawglassdetails.mapper.RawGlassStorageDetailsMapper;
 import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
@@ -57,17 +58,19 @@
     @Override
     public String warehousingRequest(int leftingStation) {
         RawGlassStorageDetails storageDetails = getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
-                .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN_ALL));
+                .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN_ALL)
+                .eq(RawGlassStorageDetails::getSlot, leftingStation));
         if (null != storageDetails) {
             log.info("褰撳墠鍚婅浣嶆湁鏋跺瓙锛岀粨鏉熸湰鍦板叆搴撹姹�");
             return "fail";
         }
-        List<Integer> shelfList = listBySlotState(Const.RAW_GLASS_DEVICE, Const.RAW_GLASS_STATE_IN_ALL);
+        List<RawGlassStorageDetails> shelfList = listBySlotState(Const.RAW_GLASS_DEVICE, Const.RAW_GLASS_STATE_IN_ALL);
         if (CollectionUtils.isEmpty(shelfList)) {
             log.info("褰撳墠宸ヤ綅涓嶅瓨鍦ㄥ彲鐢ㄧ殑绌烘灦瀛�");
             return "fail";
         }
-        Integer shelf = shelfList.get(0);
+        Integer shelf = shelfList.get(0).getSlot();
+        Integer deviceId = shelfList.get(0).getDeviceId();
         log.info("鐢熸垚浠诲姟");
         try {
             generateTask(shelf, leftingStation, shelf, 0, Const.RAW_GLASS_TASK_TYPE_IN_REQUEST);
@@ -78,6 +81,7 @@
         RawGlassStorageDetails details = new RawGlassStorageDetails();
         details.setSlot(shelf);
         details.setShelf(shelf);
+        details.setDeviceId(deviceId);
         details.setState(Const.RAW_GLASS_STATE_RUNNING);
         save(details);
         return "success";
@@ -99,12 +103,26 @@
     }
 
     @Override
-    public String UpdateQuantity(RawGlassRequest request) {
-        update(
-                new LambdaUpdateWrapper<RawGlassStorageDetails>()
-                        .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity())
-                        .eq(RawGlassStorageDetails::getSlot, request.getSlot())
-                        .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
+    public String updateQuantity(RawGlassRequest request) {
+        RawGlassStorageDetails one = getOne(new LambdaQueryWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, request.getSlot())
+                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
+        if (null == one) {
+            RawGlassStorageDetails details = new RawGlassStorageDetails();
+            BeanUtils.copyProperties(request, details);
+            details.setState(Const.RAW_GLASS_STATE_IN);
+            details.setShelf(request.getSlot());
+            save(details);
+        } else {
+            update(
+                    new LambdaUpdateWrapper<RawGlassStorageDetails>()
+                            .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity())
+                            .set(RawGlassStorageDetails::getPatternWidth, request.getPatternWidth())
+                            .set(RawGlassStorageDetails::getPatternHeight, request.getPatternHeight())
+                            .set(RawGlassStorageDetails::getPatternThickness, request.getPatternThickness())
+                            .set(RawGlassStorageDetails::getFilmsId, request.getFilmsId())
+                            .eq(RawGlassStorageDetails::getSlot, request.getSlot())
+                            .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
+        }
         return "success";
     }
 
@@ -126,7 +144,7 @@
     }
 
     @Override
-    public List<Integer> listBySlotState(List<Integer> liftingStation, List<Integer> state) {
+    public List<RawGlassStorageDetails> listBySlotState(List<Integer> liftingStation, List<Integer> state) {
         return baseMapper.listBySlotState(liftingStation, state);
     }
 
@@ -173,13 +191,10 @@
                 .shelf(shelf)
                 .createTime(new Date()).build();
         rawGlassStorageTaskService.save(task);
-
-
         List<ReadWriteEntity> list = new ArrayList<>();
-        list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1));
-//        list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1));
-        list.add(generateReadWriteEntity("A01-CC.dev.startSlot", startSlot));
-        list.add(generateReadWriteEntity("A01-CC.dev.endSlot", endSlot));
+        list.add(generateReadWriteEntity("CC.CC.taskWord", 1));
+        list.add(generateReadWriteEntity("CC.CC.startSlot", startSlot));
+        list.add(generateReadWriteEntity("CC.CC.endSlot", endSlot));
         miloService.writeToOpcWord(list);
         return Boolean.TRUE;
     }
@@ -190,4 +205,18 @@
         readWriteEntity.setValue(value);
         return readWriteEntity;
     }
+
+    @Override
+    public String shelfReset(Long slot) {
+        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slot)
+                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)
+                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RESET));
+        //鐢熸垚涓�鏉¤鎯呮暟鎹�  浠呰褰曟灦瀛愮姸鎬�
+        return "success";
+    }
+
+    @Override
+    public List<RawGlassStorageDetailsDTO> patternUsage(String width, String height, String thickness, String films){
+        return baseMapper.patternUsage(width, height, thickness, films);
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0