From 8891898a6ae6229ede66c8005f2912c75ddc6d90 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 05 三月 2025 22:32:26 +0800
Subject: [PATCH] 1、fixbug:中空任务领取部分对数玻璃后继续领任务,任务显示异常bug解决 2、大理片笼/中空理片笼显示异常bug:进片任务计算目标格子后,预先将笼子插入一条记录,界面相同判断时显示存在歧义,修改数据返回逻辑:在没有目标格子前提下,如果笼内存在玻璃显示相同,有目标格子后笼内有数据不显示 3、中空理片笼进片任务优化:中空可能存在脏数据,原因人为操作或订单多补片造成中空关系订单数量与实际数据不匹配,实际数量大于订单数量,系统会重新生成一份关系造成关系进笼玻璃数据顺序存在重复而无法进笼。

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java |   52 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 12 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 d370c64..57806a4 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;
@@ -102,20 +103,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";
     }
 
@@ -177,9 +191,9 @@
                 .createTime(new Date()).build();
         rawGlassStorageTaskService.save(task);
         List<ReadWriteEntity> list = new ArrayList<>();
-        list.add(generateReadWriteEntity("PLC.CC.taskWord", 1));
-        list.add(generateReadWriteEntity("PLC.CC.startSlot", startSlot));
-        list.add(generateReadWriteEntity("PLC.CC.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