From 24c437477ced2c8e9c62c43f2428471daf890312 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期三, 12 三月 2025 19:49:17 +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 |   89 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 70 insertions(+), 19 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..510c58f 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,9 +8,12 @@
 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;
+import com.mes.rawglassstation.entity.RawGlassStorageStation;
+import com.mes.rawglassstation.service.RawGlassStorageStationService;
 import com.mes.rawglasstask.entity.RawGlassStorageTask;
 import com.mes.rawglasstask.service.RawGlassStorageTaskService;
 import lombok.extern.slf4j.Slf4j;
@@ -33,6 +36,9 @@
 
     @Autowired
     RawGlassStorageTaskService rawGlassStorageTaskService;
+
+    @Autowired
+    RawGlassStorageStationService rawGlassStorageStationService;
 
     @Autowired(required = false)
     MiloService miloService;
@@ -57,17 +63,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 +86,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,20 +108,33 @@
     }
 
     @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";
     }
 
     @Override
     public String deleteWarehousing(Long slotId) {
-        update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId)
-                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
-                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
+        remove(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId)
+                .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN));
         return "success";
     }
 
@@ -126,7 +148,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 +195,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 +209,36 @@
         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);
+    }
+
+    @Override
+    public RawGlassStorageDetails generateDetails(RawGlassStorageDetails details, Integer targetSlot) {
+        RawGlassStorageDetails targetDetails = new RawGlassStorageDetails();
+        RawGlassStorageStation station = rawGlassStorageStationService.getOne(new LambdaQueryWrapper<RawGlassStorageStation>()
+                .eq(RawGlassStorageStation::getSlot, targetSlot));
+        targetDetails.setDeviceId(station.getDeviceId());
+        targetDetails.setSlot(targetSlot);
+        targetDetails.setShelf(details.getShelf());
+        targetDetails.setPatternWidth(details.getPatternWidth());
+        targetDetails.setPatternHeight(details.getPatternHeight());
+        targetDetails.setPatternThickness(details.getPatternThickness());
+        targetDetails.setFilmsId(details.getFilmsId());
+        targetDetails.setRemainQuantity(details.getRemainQuantity());
+        targetDetails.setCreateTime(new Date());
+        targetDetails.setState(Const.RAW_GLASS_STATE_IN);
+        return targetDetails;
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0