From 384698a3568b3ab723843b4e48fdd188c3640aa0 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 08 八月 2024 15:51:01 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml               |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                                    |   47 ++++++-
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java                           |   35 +++++
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java |   34 ++++-
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java     |   10 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java  |    4 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java                                      |   16 ++
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml                                       |   12 -
 hangzhoumesParent/common/servicebase/src/main/resources/application.yml                                                           |    8 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java          |    4 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java                                 |   32 +++++
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java    |   22 +++
 hangzhoumesParent/common/servicebase/src/main/resources/mapper/TemperingGlassInfoMapper.xml                                       |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java                            |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java                   |    4 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java                             |   31 ++++
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java          |    6 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java   |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                        |   15 +-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageOutTaskMapper.xml                |    8 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java                          |    4 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java                                               |    1 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java  |    9 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java       |   40 ++++++
 24 files changed, 303 insertions(+), 53 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index e75e9cf..47b4769 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -52,6 +52,7 @@
     public static final Integer GLASS_STATE_SCHEDULE_ING = 104;
     public static final Integer GLASS_STATE_DAMAGE = 8;
     public static final Integer GLASS_STATE_TAKE = 9;
+    public static final List<Integer> GLASS_STATE_DAMAGE_TAKE = Arrays.asList(8, 9);
     public static final List<Integer> GLASS_STATE_IN_ALL = Arrays.asList(100, 102, 103, 104);
     public static final List<Integer> GLASS_STATE_IN_ALL_ZERO = Arrays.asList(0, 100, 102, 103, 104);
 
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
index 1b323f9..05d6b84 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -1,10 +1,8 @@
 package com.mes.damage.service;
 
-import cn.hutool.core.date.DateTime;
-import com.mes.damage.entity.Damage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.damage.entity.Damage;
 
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -21,5 +19,17 @@
 
     void submitDamage(List<Damage> damageList);
 
+    /**
+     * 鍗曚釜鐮存崯
+     *
+     * @param damage
+     */
     void insertDamage(Damage damage);
+
+    /**
+     * 鎵归噺鐮存崯
+     *
+     * @param damageList
+     */
+    void batchInsertDamage(List<Damage> damageList);
 }
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 aae4a9a..8f87d5a 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
@@ -1,14 +1,12 @@
 package com.mes.damage.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.mapper.DamageMapper;
 import com.mes.damage.service.DamageService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
-import com.mes.pp.entity.ReportingWork;
 import com.mes.work_assignment.entity.WorkAssignment;
 import com.mes.work_assignment.mapper.WorkAssignmentMapper;
 import org.springframework.beans.BeanUtils;
@@ -19,7 +17,6 @@
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -110,7 +107,33 @@
         damage.setOrderNumber(glassInfo.getGlassType());
         damage.setTechnologyNumber(glassInfo.getLayer());
         damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now()));
-        damage.setType(2);
         baseMapper.insert(damage);
     }
+
+    /**
+     * 娣诲姞鎶ュ伐淇℃伅
+     */
+    @Override
+    public void batchInsertDamage(List<Damage> damageList) {
+        WorkAssignment workAssignment = workAssignmentMapper.selectOne(new LambdaQueryWrapper<WorkAssignment>()
+                .eq(WorkAssignment::getLine, damageList.get(0).getLine())
+                .eq(WorkAssignment::getWorkProcesses, damageList.get(0).getWorkingProcedure()));
+
+        List<String> glassList = damageList.stream().map(Damage::getGlassId).collect(Collectors.toList());
+        List<GlassInfo> glassInfoList = glassInfoMapper.selectList(new LambdaQueryWrapper<GlassInfo>().in(GlassInfo::getGlassId, glassList));
+        Map<String, List<GlassInfo>> listMap = glassInfoList.stream().collect(Collectors.groupingBy(GlassInfo::getGlassId));
+        for (Damage damage : damageList) {
+            GlassInfo glassInfo = listMap.get(damage.getGlassId()).get(0);
+            BeanUtils.copyProperties(glassInfo, damage);
+            if (workAssignment != null) {
+                damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName());
+                damage.setDeviceName(workAssignment.getDeviceName());
+            }
+            damage.setProcessId(glassInfo.getFlowCardId());
+            damage.setOrderNumber(glassInfo.getGlassType());
+            damage.setTechnologyNumber(glassInfo.getLayer());
+            damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now()));
+        }
+        this.saveBatch(damageList);
+    }
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
index 9a83681..aecb3b9 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.mes.base.entity.BigStorageCageBaseInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -91,4 +92,7 @@
      */
     @ApiModelProperty(value = "宸ョ▼id", position = 17)
     private String engineerId;
+
+    @TableLogic
+    private int deleted;
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/application.yml b/hangzhoumesParent/common/servicebase/src/main/resources/application.yml
new file mode 100644
index 0000000..0edfb92
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/application.yml
@@ -0,0 +1,8 @@
+mybatis-plus-join:
+  sub-table-logic: true
+mybatis-plus:
+  global-config:
+    db-config:
+      logic-delete-field: deleted
+      logic-delete-value: 1
+      logic-not-delete-value: 0
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/TemperingGlassInfoMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/TemperingGlassInfoMapper.xml
index 92cbb79..48ea8cc 100644
--- a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/TemperingGlassInfoMapper.xml
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/TemperingGlassInfoMapper.xml
@@ -4,12 +4,12 @@
     <insert id="saveBatch">
         INSERT INTO tempering_glass_info (glass_id, flow_card_id, glass_type, width, height, thickness, filmsid,
         ishorizontal, tempering_layout_id,
-        tempering_feed_sequence, x_coordinate, y_coordinate, angle, state, slot, engineer_id) VALUES
+        tempering_feed_sequence, x_coordinate, y_coordinate, angle, state, slot, engineer_id, deleted) VALUES
         <foreach collection="list" item="item" separator=",">
             (#{item.glassId}, #{item.flowCardId}, #{item.glassType}, #{item.width}, #{item.height}, #{item.thickness},
             #{item.filmsid},#{item.ishorizontal},
             #{item.temperingLayoutId}, #{item.temperingFeedSequence}, #{item.xCoordinate}, #{item.yCoordinate},
-            #{item.angle}, #{item.state}, #{item.slot}, #{item.engineerId})
+            #{item.angle}, #{item.state}, #{item.slot}, #{item.engineerId}, 0)
         </foreach>
     </insert>
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
index b8b8a9d..83f1be2 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
@@ -1,6 +1,13 @@
 package com.mes.edgglasstask.controller;
 
 
+import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
+import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -16,5 +23,20 @@
 @RequestMapping("/edgGlassTaskInfo")
 public class EdgGlassTaskInfoController {
 
+    @Autowired
+    EdgGlassTaskInfoService edgGlassTaskInfoService;
+
+    /**
+     * 璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟
+     *
+     * @param request
+     * @return
+     */
+    @PostMapping("/setEdgGlassInfoRequest")
+    @ApiOperation(value = "璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟", notes = "璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟")
+    public Result<String> setEdgGlassInfoRequest(@RequestBody EdgGlassInfoRequest request) {
+        return Result.success(edgGlassTaskInfoService.setEdgGlassInfoRequest(request));
+    }
+
 }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java
new file mode 100644
index 0000000..b6e3813
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java
@@ -0,0 +1,40 @@
+package com.mes.edgglasstask.entity.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/8/7 16:16
+ * @Description:
+ */
+@Data
+public class EdgGlassInfoRequest {
+
+    /**
+     * 纾ㄨ竟绾� 2001   2002
+     */
+    private List<Integer> cellList;
+    /**
+     * 鐘舵��  0 寰呭鐞�  1 澶勭悊涓�  2 澶勭悊瀹屾垚
+     */
+    private List<Integer> stateList;
+
+    /**
+     * 寮�濮嬫椂闂�
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date beginDate;
+
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endDate;
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
index 3443a6f..be6dc1c 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
@@ -2,9 +2,9 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -16,5 +16,7 @@
  */
 public interface EdgGlassTaskInfoService extends IService<EdgGlassTaskInfo> {
 
-    List<Map<String, Object>> selectEdgInfo(String line);
+    List<EdgGlassTaskInfo> selectEdgInfo();
+
+    String setEdgGlassInfoRequest(EdgGlassInfoRequest request);
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
index b88c9c6..2d5cd87 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -1,14 +1,17 @@
 package com.mes.edgglasstask.service.impl;
 
+import cn.smallbun.screw.core.util.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.common.utils.RedisUtil;
 import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
+import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
 import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper;
 import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -21,13 +24,30 @@
 @Service
 public class EdgGlassTaskInfoServiceImpl extends ServiceImpl<EdgGlassTaskInfoMapper, EdgGlassTaskInfo> implements EdgGlassTaskInfoService {
 
+    @Autowired
+    RedisUtil redisUtil;
+
     @Override
-    public List<Map<String, Object>> selectEdgInfo(String line) {
-        LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassWrapper = new LambdaQueryWrapper<>();
-        edgGlassWrapper
-                .eq(EdgGlassTaskInfo::getLine, line)
-                .eq(EdgGlassTaskInfo::getStatus, "1")
+    public List<EdgGlassTaskInfo> selectEdgInfo() {
+        EdgGlassInfoRequest request = redisUtil.getCacheObject("edgGlassRequest");
+        if (null == request) {
+            request = new EdgGlassInfoRequest();
+        }
+        LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassWrapper = new LambdaQueryWrapper<EdgGlassTaskInfo>()
+                .in(CollectionUtils.isNotEmpty(request.getCellList()), EdgGlassTaskInfo::getLine, request.getCellList())
+                .in(CollectionUtils.isNotEmpty(request.getStateList()), EdgGlassTaskInfo::getStatus, request.getStateList())
+                .between(null != request.getBeginDate(), EdgGlassTaskInfo::getTime, request.getBeginDate(), request.getEndDate())
                 .orderByDesc(EdgGlassTaskInfo::getTime);
-        return baseMapper.selectMaps(edgGlassWrapper);
+        return this.list(edgGlassWrapper);
+    }
+
+    @Override
+    public String setEdgGlassInfoRequest(EdgGlassInfoRequest request) {
+        if (request == null) {
+            redisUtil.deleteObject("edgGlassRequest");
+        } else {
+            redisUtil.setCacheObject("edgGlassRequest", request);
+        }
+        return "success";
     }
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 48df75a..b42a294 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -6,10 +6,13 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.yulichang.query.MPJQueryWrapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 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;
@@ -34,6 +37,7 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Author : zhoush
@@ -58,6 +62,8 @@
 
     @Autowired
     WebSocketServer webServerService;
+    @Autowired
+    DamageService damageService;
 
     @Value("${mes.threshold}")
     private int threshold;
@@ -157,6 +163,36 @@
             }
         }
     }
+
+    @Scheduled(fixedDelay = 1000)
+    public void dealDamageTask() {
+        Date startDate = new Date();
+        log.info("鍗у紡鐞嗙墖鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+        List<TaskCache> taskCacheList = taskCacheService.list(new LambdaQueryWrapper<TaskCache>().in(TaskCache::getTaskStatus, Const.GLASS_STATE_DAMAGE_TAKE)
+                .in(TaskCache::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL));
+        if (CollectionUtils.isNotEmpty(taskCacheList)) {
+            //鑾峰彇鐮存崯/鎷胯蛋鐜荤拑id
+            List<String> glassList = taskCacheList.stream().map(TaskCache::getGlassId).collect(Collectors.toList());
+            //灏嗙(杈归槦鍒楃殑鏁版嵁鍒犻櫎
+            edgGlassTaskInfoService.remove(new LambdaQueryWrapper<EdgGlassTaskInfo>().in(EdgGlassTaskInfo::getGlassId, glassList));
+            //灏嗕换鍔¤〃涓殑鏁版嵁鍒犻櫎
+            taskCacheService.remove(new LambdaQueryWrapper<TaskCache>().in(TaskCache::getGlassId, glassList).in(TaskCache::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL));
+            List<Damage> damageList = taskCacheList.stream().map(e -> {
+                Damage damage = new Damage();
+                damage.setGlassId(e.getGlassId());
+                damage.setLine(e.getEndCell());
+                damage.setWorkingProcedure("鍐峰姞宸�");
+                damage.setRemark("纾ㄨ竟鍓嶅崸寮忕悊鐗�");
+                damage.setStatus(0);
+                damage.setType(e.getTaskStatus());
+                return damage;
+            }).collect(Collectors.toList());
+            damageService.batchInsertDamage(damageList);
+        }
+        Date endDate = new Date();
+        log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
+    }
+
 
     /**
      * 杩涚墖浠诲姟
@@ -718,10 +754,8 @@
         jsonObject.append("currentCutTerritory", currentCutTerritorys);
         //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
         //纾ㄨ竟淇℃伅
-        List<Map<String, Object>> EdgTasks1 = edgGlassTaskInfoService.selectEdgInfo("2001");
-        List<Map<String, Object>> EdgTasks2 = edgGlassTaskInfoService.selectEdgInfo("2002");
-        jsonObject.append("EdgTasks1", EdgTasks1);
-        jsonObject.append("EdgTasks2", EdgTasks2);
+        List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
+        jsonObject.append("edgTasks", edgTasks);
 
         //鍗у缂撳瓨绗煎唴淇℃伅
         List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
@@ -743,11 +777,12 @@
             }
         }
     }
+
     @Scheduled(fixedDelay = 1000)
-    public void cacheGlassIsRun(){
+    public void cacheGlassIsRun() {
         JSONObject jsonObject = new JSONObject();
         //姝e湪杩涜鐨勪换鍔�
-        List<TaskCache>taskCaches=taskCacheService.selectTaskCacheIsRun();
+        List<TaskCache> taskCaches = taskCacheService.selectTaskCacheIsRun();
         jsonObject.append("taskCaches", taskCaches);
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlassIsRun");
         if (sendwServer != null) {
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
index fb0c415..9226203 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
@@ -1,5 +1,6 @@
 package com.mes.taskcache.entity;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
@@ -36,4 +37,7 @@
      */
     private Date createTime;
 
+    @TableLogic
+    private int deleted;
+
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
index d539f7c..e783646 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -77,5 +78,8 @@
     @ApiModelProperty(value = "鍒涘缓鏃堕棿", position = 8)
     private Date createTime;
 
+    @TableLogic
+    private int deleted;
+
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
index e5279a4..c4caf74 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -91,4 +92,7 @@
     @ApiModelProperty(value = "浠诲姟鐘舵��", position = 8)
     private Integer taskState;
 
+    @TableLogic
+    private int deleted;
+
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
index c007100..000519d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -1,5 +1,6 @@
 package com.mes.edgglasstask.entity;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -74,4 +75,7 @@
     @ApiModelProperty(value = "鏃堕棿", position = 9)
     private Date time;
 
+    @TableLogic
+    private int deleted;
+
 }
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 b62a0c3..d175125 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
@@ -480,10 +480,10 @@
         log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
         //鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
         List<BigStorageCageFeedTask> inDamageTaskInfoList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
-                .eq(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE));
+                .in(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
         if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
             log.info("鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", inDamageTaskInfoList);
-            bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE));
+            bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().in(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
             //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
             bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>()
                     .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
@@ -495,7 +495,8 @@
                 damage.setLine(bigStorageCageFeedTask.getLine());
                 damage.setWorkingProcedure("鍐峰姞宸�");
                 damage.setRemark("杩涚鍓嶅崸杞珛");
-                damage.setStatus(2);
+                damage.setStatus(0);
+                damage.setType(bigStorageCageFeedTask.getTaskState());
                 damageService.insertDamage(damage);
                 slotList.add(bigStorageCageFeedTask.getTargetSlot());
             }
@@ -505,16 +506,15 @@
         }
         //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
         List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
-                .eq(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE));
+                .eq(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
         if (CollectionUtils.isNotEmpty(outDamageTaskInfoList)) {
             log.info("鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", outDamageTaskInfoList);
-            bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE));
+            bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
             List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
             //绉婚櫎閽㈠寲涓嬬墖琛ㄦ暟鎹�
             temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
             //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佸垹闄�
             bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>().in(BigStorageCageDetails::getGlassId, glassIdList));
-
             //灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
             List<Integer> slotList = new ArrayList<>();
             for (BigStorageCageOutTask bigStorageCageOutTask : outDamageTaskInfoList) {
@@ -523,7 +523,8 @@
                 damage.setLine(bigStorageCageOutTask.getEndSlot());
                 damage.setWorkingProcedure("鍐峰姞宸�");
                 damage.setRemark("鍑虹墖鍚庡崸杞珛");
-                damage.setStatus(2);
+                damage.setStatus(0);
+                damage.setType(bigStorageCageOutTask.getTaskState());
                 damageService.insertDamage(damage);
                 slotList.add(bigStorageCageOutTask.getStartSlot());
             }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
index c4affcd..954de19 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
@@ -15,6 +15,7 @@
                         SUM(case task_state when 2 then 1 else 0 end) as real_count
                  from big_storage_cage_feed_task
                  where task_state in (1, 2)
+                   and deleted = 0
                    and (target_slot = 0 or target_slot is null)
                  group by line
              ) t
@@ -36,6 +37,7 @@
                  WHERE LINE = #{line}
                    AND (target_slot = 0 or target_slot is null)
                    AND TASK_STATE IN (1, 2)
+                   and deleted = 0
              ) T
     </select>
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageOutTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageOutTaskMapper.xml
index 338e5e1..7e9084d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageOutTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageOutTaskMapper.xml
@@ -3,12 +3,14 @@
 <mapper namespace="com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper">
 
     <insert id="saveBatch">
-        INSERT INTO big_storage_cage_out_task ( glass_id, start_slot, end_slot, train_number, serial_number, task_state
-        )
+        INSERT INTO big_storage_cage_out_task ( glass_id, start_slot, end_slot, train_number, serial_number, width,
+        height, task_state,
+        deleted )
         values
         <foreach collection="list" item="item" separator=",">
             (#{item.glassId}, #{item.startSlot}, #{item.endSlot}, #{item.trainNumber}, #{item.serialNumber},
-            #{item.taskState})
+            #{item.width}, #{item.height},
+            #{item.taskState},0)
         </foreach>
     </insert>
 </mapper>
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
index 8646b79..763fe68 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
@@ -5,6 +5,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
@@ -33,6 +35,10 @@
 
     @Autowired
     private TemperingGlassInfoService temporaryGlassInfoService;
+
+    @Autowired
+    private DamageService damageService;
+
     private static final String ALONE_STATE = "0";
 
 
@@ -77,4 +83,30 @@
     public void temperingGlassAfter() {
 
     }
+
+    @Scheduled(fixedDelay = 1000)
+    public void dealDamageTask() {
+        Date startDate = new Date();
+        log.info("閽㈠寲鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+        List<TemperingGlassInfo> temperingGlassInfoList = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getState, Const.GLASS_STATE_DAMAGE_TAKE));
+        if (CollectionUtils.isNotEmpty(temperingGlassInfoList)) {
+            //鑾峰彇鐮存崯/鎷胯蛋鐜荤拑id
+            List<String> glassList = temperingGlassInfoList.stream().map(TemperingGlassInfo::getGlassId).collect(Collectors.toList());
+            //灏嗕换鍔¤〃涓殑鏁版嵁鍒犻櫎
+            temporaryGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassList));
+            List<Damage> damageList = temperingGlassInfoList.stream().map(e -> {
+                Damage damage = new Damage();
+                damage.setGlassId(e.getGlassId());
+                damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
+                damage.setWorkingProcedure("閽㈠寲");
+                damage.setRemark("閽㈠寲");
+                damage.setStatus(0);
+                damage.setType(e.getState());
+                return damage;
+            }).collect(Collectors.toList());
+            damageService.batchInsertDamage(damageList);
+        }
+        Date endDate = new Date();
+        log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
+    }
 }
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml
index ae0d119..246a786 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application-dev.yml
@@ -4,18 +4,8 @@
       primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
       strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
       datasource:
-#        hangzhoumes:
-#          url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
-#          username: root
-#          password: beibo.123/
-#          driver-class-name: com.mysql.cj.jdbc.Driver
-#        salve_hangzhoumes:
-#          url: jdbc:sqlserver://127.0.0.1:1433;databasename=hangzhoumes
-#          username: sa
-#          password: beibo.123/
-#          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
         hangzhoumes:
-          url: jdbc:mysql:127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
+          url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
index c9f5593..f469396 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
@@ -3,6 +3,7 @@
 import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
 import com.mes.downglassinfo.service.DownGlassInfoService;
 import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -16,7 +17,14 @@
     @Autowired
     DownGlassInfoService downGlassInfoService;
 
-    @PostMapping("/selectDownGlassInfo")
+    /**
+     * 璁剧疆鏌ヨ鍙傛暟
+     *
+     * @param request
+     * @return
+     */
+    @PostMapping("/setDownGlassInfoRequest")
+    @ApiOperation(value = "璁剧疆钀芥灦鐜荤拑鏌ヨ鍙傛暟", notes = "璁剧疆钀芥灦鐜荤拑鏌ヨ鍙傛暟")
     public Result<String> setDownGlassInfoRequest(@RequestBody DownGlassInfoRequest request) {
         return Result.success(downGlassInfoService.setDownGlassInfoRequest(request));
     }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
index e2da1a1..e82e684 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -87,4 +88,7 @@
      * 鍒涘缓鏃堕棿
      */
     private Date CreateTime;
+
+    @TableLogic
+    private int deleted;
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index 9dba5bc..6ec9b41 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -137,10 +137,11 @@
             //鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勬墍鏈夌殑宸ヤ綅 - 鐜荤拑鏈弧娴佺▼鍗″強灞傛暟鐨勫伐浣�  =  宸叉弧宸ヤ綅
             workstationFull = list.stream().filter(item -> !flowCardIdList.contains(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList());
             //鏄惁闇�瑕佸皢宸叉弧鐨勫伐浣嶇疆涓轰笉鍙惤鏋�
-            List<Integer> workstationIds = workstationFull.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
-            downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getEnableState, Const.SLOT_OFF)
-                    .in(DownWorkstation::getWorkstationId, workstationIds));
-
+            if (CollectionUtils.isNotEmpty(workstationFull)) {
+                List<Integer> workstationIds = workstationFull.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
+                downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getEnableState, Const.SLOT_OFF)
+                        .in(DownWorkstation::getWorkstationId, workstationIds));
+            }
         }
         return workstationFull;
     }@Override
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index b99a4a0..6ff5565 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -7,6 +7,8 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 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.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.DownGlassTask;
@@ -54,9 +56,8 @@
     DownWorkstationService downWorkstationService;
     @Autowired
     DownGlassInfoService downGlassInfoService;
-
-    @Value("${mes.threshold}")
-    private Integer threshold;
+    @Autowired
+    DamageService damageService;
 
     @Value("${mes.throughWidth}")
     private Integer throughWidth;
@@ -134,6 +135,33 @@
             PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
             s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 1);
         }
+    }
+
+    @Scheduled(fixedDelay = 1000)
+    public void dealDamageTask() {
+        Date startDate = new Date();
+        log.info("涓嬬墖鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+        List<DownGlassTask> downGlassTaskList = downGlassTaskService.list(new LambdaQueryWrapper<DownGlassTask>()
+                .in(DownGlassTask::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL).in(DownGlassTask::getTaskStatus, Const.GLASS_STATE_DAMAGE_TAKE));
+        if (CollectionUtils.isNotEmpty(downGlassTaskList)) {
+            //鑾峰彇鐮存崯/鎷胯蛋鐜荤拑id
+            List<String> glassList = downGlassTaskList.stream().map(DownGlassTask::getGlassId).collect(Collectors.toList());
+            //灏嗕换鍔¤〃涓殑鏁版嵁鍒犻櫎
+            downGlassTaskService.remove(new LambdaQueryWrapper<DownGlassTask>().in(DownGlassTask::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL).in(DownGlassTask::getGlassId, glassList));
+            List<Damage> damageList = downGlassTaskList.stream().map(e -> {
+                Damage damage = new Damage();
+                damage.setGlassId(e.getGlassId());
+                damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
+                damage.setWorkingProcedure("涓嬬墖");
+                damage.setRemark("涓嬬墖");
+                damage.setStatus(0);
+                damage.setType(e.getTaskStatus());
+                return damage;
+            }).collect(Collectors.toList());
+            damageService.batchInsertDamage(damageList);
+        }
+        Date endDate = new Date();
+        log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
     }
 
     public void inTo(String glassId, String requestWord, String currentSlot) {
@@ -467,6 +495,7 @@
                         if (CollectionUtils.isNotEmpty(downStorageCageDetails)) {
                             tempGlassId = downStorageCageDetails.get(0).getGlassId();
                             break;
+
                         }
                     }
                 }

--
Gitblit v1.8.0