From b708501ac6dbf07114c65f424b94aeb22e9319b5 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 10 七月 2024 12:35:10 +0800
Subject: [PATCH] 添加plc汇报破损时往报工表添加破损数据

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java                                        |    7 ++-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java                  |   15 +++++++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |   18 ++++++++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                                   |   24 ++++++++++++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java                                                         |    2 
 5 files changed, 61 insertions(+), 5 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
index 8eb6426..2d78544 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
@@ -32,7 +32,7 @@
     /**
      * 宸ュ簭
      */
-    private Integer workingProcedure;
+    private String workingProcedure;
 
     /**
      * 鐜荤拑id
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index 8d32fb0..b81f7b2 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -12,6 +12,7 @@
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.work_assignment.entity.WorkAssignment;
 import com.mes.work_assignment.mapper.WorkAssignmentMapper;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -82,21 +83,21 @@
         LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper=new LambdaQueryWrapper<>();
         glassInfoSelectWrapper.eq(GlassInfo::getGlassId,damage.getGlassId());
         GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoSelectWrapper);
+        BeanUtils.copyProperties(glassInfo, damage);
 
         LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper=new LambdaQueryWrapper<>();
         workAssignmentSelectWrapper
                 .eq(WorkAssignment::getLine,damage.getLine())
                 .eq(WorkAssignment::getWorkProcesses,damage.getWorkingProcedure());
         WorkAssignment workAssignment=workAssignmentMapper.selectOne(workAssignmentSelectWrapper);
+
         damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName());
         damage.setDeviceName(workAssignment.getDeviceName());
-
-        damage.setEngineerId(glassInfo.getEngineerId());
-        damage.setTemperingLayoutId(glassInfo.getTemperingLayoutId());
         damage.setProcessId(glassInfo.getFlowCardId());
         damage.setOrderNumber(glassInfo.getGlassType());
         damage.setTechnologyNumber(glassInfo.getLayer());
         damage.setDamageTime(LocalDateTime.now());
+        damage.setType(2);
         baseMapper.insert(damage);
     }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index 8478983..5b09ac0 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -75,7 +75,9 @@
             List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper);
 
             LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>();
-            feedTaskWrapper.lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT);
+            feedTaskWrapper
+                    .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+                    .isNotNull(BigStorageCageFeedTask::getTargetSlot);
             List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper);
 
             Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
@@ -89,6 +91,20 @@
                     iterator.remove();
                 }
             }
+            LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskNoTargetWrapper = new LambdaQueryWrapper<>();
+            feedTaskNoTargetWrapper
+                    .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+                    .isNull(BigStorageCageFeedTask::getTargetSlot);
+            List<BigStorageCageFeedTask> bigStorageCageFeedTaskNoTargetList = bigStorageCageFeedTaskMapper.selectList(feedTaskNoTargetWrapper);
+            for (BigStorageCageFeedTask bigStorageCageFeedTask:bigStorageCageFeedTaskNoTargetList
+                 ) {
+                BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails();
+                LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>();
+                glassInfoWrapper.eq(GlassInfo::getGlassId,bigStorageCageFeedTask.getGlassId());
+                GlassInfo glassInfo= glassInfoMapper.selectOne(glassInfoWrapper);
+                BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
+                bigStorageCageDetailsList.add(bigStorageCageDetails);
+            }
             return bigStorageCageDetailsList;
         } else {
             //鍑虹墖浠诲姟鏁版嵁
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 8a6ecba..7c427db 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -20,6 +20,8 @@
 import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
 import com.mes.common.S7object;
 import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
 import com.mes.device.PlcParameterObject;
 import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
 import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
@@ -60,6 +62,8 @@
     private EdgGlassTaskInfoService edgGlassTaskInfoService;
     @Resource
     private TemperingGlassInfoService temperingGlassInfoService;
+    @Resource
+    private DamageService damageService;
 
     private static final String REQUEST_WORD = "1";
 
@@ -315,6 +319,16 @@
         if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
             bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
             //todo:灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
+            for (BigStorageCageFeedTask bigStorageCageFeedTask:inDamageTaskInfoList
+            ) {
+                Damage damage=new Damage();
+                damage.setGlassId(bigStorageCageFeedTask.getGlassId());
+                damage.setLine(bigStorageCageFeedTask.getLine());
+                damage.setWorkingProcedure("鍐峰姞宸�");
+                damage.setRemark("");
+                damage.setStatus(2);
+                damageService.insertDamage(damage);
+            }
         }
         //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
         List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
@@ -324,6 +338,16 @@
             List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
             temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
             //todo:灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
+            for (BigStorageCageOutTask bigStorageCageOutTask:outDamageTaskInfoList
+                 ) {
+                Damage damage=new Damage();
+                damage.setGlassId(bigStorageCageOutTask.getGlassId());
+                damage.setLine(bigStorageCageOutTask.getEndSlot());
+                damage.setWorkingProcedure("鍐峰姞宸�");
+                damage.setRemark("");
+                damage.setStatus(2);
+                damageService.insertDamage(damage);
+            }
         }
         Date endDate = new Date();
         log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index f9deff8..3aba6ca 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -3,6 +3,8 @@
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
 import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
 import com.mes.job.PlcStorageCageTask;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
@@ -29,6 +31,8 @@
     PlcStorageCageTask plcStorageCageTask;
     @Autowired
     BigStorageCageDetailsService bigStorageCageDetailsService;
+    @Autowired
+    DamageService damageService;
 
     @Test
     public void testFindPath() {
@@ -82,4 +86,15 @@
         log.info("鑾峰彇澶х悊鐗囩淇℃伅锛歿}", bigStorageCageDetailsService.selectBigStorageCageDetails("P24060403|3|6"));
     }
 
+    @Test
+    public void insertDamage() {
+        Damage damage=new Damage();
+        damage.setGlassId("P24060403|3|6");
+        damage.setLine(2001);
+        damage.setWorkingProcedure("鍐峰姞宸�");
+        damage.setRemark("");
+        damage.setStatus(2);
+        damageService.insertDamage(damage);
+
+    }
 }

--
Gitblit v1.8.0