From 5ad6234b30f68ae65d6ffc345e874af09c56f4e3 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 21 二月 2025 15:15:54 +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 |   58 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 15 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..df5d53d 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";
@@ -100,11 +104,24 @@
 
     @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));
+        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);
+            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::getSlot, Const.RAW_GLASS_STATE_IN));
+        }
         return "success";
     }
 
@@ -126,7 +143,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 +190,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 +204,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