From 935275e79de8415ee3ca0b9a45da548aa6a2ee34 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期一, 30 六月 2025 08:21:36 +0800
Subject: [PATCH] 更新最新代码,上片页面领取任务传递固定值修改为动态获取线路

---
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/TaskingLog.java                         |    9 +
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java                    |    9 
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/PrimitiveTask.java                      |   11 +
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/KBBTJPDrawingBP.java                    |    7 
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java              |  235 +++++++++++++++++++++++++++++++++
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java                              |    6 
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java                  |    2 
 JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/ModbusTcp.java                                               |   14 -
 UI-Project/src/views/MechanicalArm/mechanicalArm.vue                                                                         |    3 
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/LineConfigurationService.java          |    2 
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/LineConfigurationServiceImpl.java |   30 +++
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java        |   67 +++++++++
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/KBBTJPDrawingBPServiceImpl.java   |    6 
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Tasking.java                            |   13 +
 UI-Project/src/views/MechanicalReport/mechanicalReport.vue                                                                   |    1 
 UI-Project/src/views/KanbanDisplay2/kanbanDisplay2.vue                                                                       |    2 
 16 files changed, 381 insertions(+), 36 deletions(-)

diff --git a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/ModbusTcp.java b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/ModbusTcp.java
index 335a30a..6248f29 100644
--- a/JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/ModbusTcp.java
+++ b/JiuMuMesParent/common/servicebase/src/main/java/com/mes/service/ModbusTcp.java
@@ -2,23 +2,18 @@
 
 import com.mes.tools.HexConversion;
 import com.mes.utils.HexUtil;
-import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.net.Socket;
-import java.net.UnknownHostException;
-import java.text.SimpleDateFormat;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import static com.mes.tools.HexConversion.*;
+import static com.mes.tools.HexConversion.intToBytesDesc;
 
 @Component
 @Slf4j
@@ -46,7 +41,7 @@
     public void connect(){
         try {
             this.socket=new Socket(Ip,Port);
-            this.socket.setSoTimeout(1000);
+            this.socket.setSoTimeout(300);
         }catch (Exception e) {
             log.info("The IP address of the host cannot be determined:{}",e.getMessage());
         }
@@ -102,7 +97,10 @@
                     bit[0]=Byte.parseByte(fontBitString[plcParameter.getAddressLength()]);
                     plcParameter.setReadByte(bit);
                 }else{
-                    plcParameter.setReadByte(Arrays.copyOfRange(content,plcParameter.getAddressStart(),(plcParameter.getAddressStart()+plcParameter.getAddressLength())));
+                    String plcAddressBegin = plcAgreement.plcAddressBegin;
+                    Integer addressIndex = plcParameter.getAddressStart();
+                    int address = addressIndex -HexUtil.hexToInt(plcAddressBegin)*2;
+                    plcParameter.setReadByte(Arrays.copyOfRange(content,address,(address+plcParameter.getAddressLength())));
                 }
             }
             return true;
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java
index ce70431..bade8c2 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/AppRunnerConfig.java
@@ -1,7 +1,6 @@
 package com.mes;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.mes.common.*;
 import com.mes.md.entity.Machine;
 import com.mes.md.mapper.MachineMapper;
 import com.mes.md.mapper.PrimitiveTaskMapper;
@@ -17,7 +16,6 @@
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.List;
 
 @Slf4j
@@ -45,6 +43,7 @@
         List<Machine> machineListFlipSlice =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"缈荤墖").eq(Machine::getState,"寮�宸�"));
         List<Machine> machineListMarking =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩鎵撴爣鏈�").eq(Machine::getState,"寮�宸�"));
         List<Machine> machineListSilkScreen =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩涓濆嵃鏈�").eq(Machine::getState,"寮�宸�"));
+//        List<Machine> machineDispensing =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩鐐硅兌鏈�").eq(Machine::getState,"寮�宸�"));
         List<Machine> machineListRotate =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鏃嬭浆鍙�").eq(Machine::getState,"寮�宸�"));
         List<Machine> machineListLamination =machineMapper.selectList(new QueryWrapper<Machine>().lambda().eq(Machine::getName,"鑷姩璐磋啘鏈�").eq(Machine::getState,"寮�宸�"));
         for (Machine item:machineListLoad){
@@ -62,6 +61,9 @@
         for (Machine item:machineListSilkScreen){
             new MachineSilkScreen(item,machineMapper,taskingService).start();
         }
+//        for (Machine item:machineDispensing){
+//            new MachineDispensing(item,machineMapper,taskingService).start();
+//        }
         for (Machine item:machineListRotate){
             new MachineRotate(item,machineMapper,taskingService).start();
         }
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
index 2076533..a9f3de8 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/controller/PrimitiveTaskController.java
@@ -4,7 +4,9 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mes.md.entity.KBBTJPDrawingBP;
 import com.mes.md.entity.PrimitiveTask;
+import com.mes.md.entity.TaskingLog;
 import com.mes.md.mapper.KBBTJPDrawingBPMapper;
+import com.mes.md.mapper.TaskingLogMapper;
 import com.mes.md.service.KBBTJPDrawingBPService;
 import com.mes.md.service.PrimitiveTaskService;
 import com.mes.md.service.TaskingLogService;
@@ -38,6 +40,8 @@
     KBBTJPDrawingBPMapper kBBTJPDrawingBPMapper;
     @Autowired
     TaskingLogService taskingLogService;
+    @Autowired
+    TaskingLogMapper taskingLogMapper;
 
     @ApiOperation("鏌ヨ褰撳墠璁惧锛屾湭瀹屽伐鐘舵�佺殑绾夸笂浠诲姟")
     @PostMapping("/selectPrimitiveTask")
@@ -161,5 +165,68 @@
         }
         return Result.build(200,"鎴愬姛",resultDate);
     }
+
+    @ApiOperation("鏌ヨ 瀹屾垚閲� m虏 鐗囨暟")
+    @PostMapping("/findFinishQuantity")
+    @ResponseBody
+    public Result findFinishQuantity(@RequestBody Map<String, String> map) {
+
+        Calendar cal = Calendar.getInstance();
+        //璁剧疆褰撳墠鏃堕棿
+        cal.setTime(new Date());
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.SECOND, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+
+        //cal.add(Calendar.DATE, 1-dayCount);
+        cal.set(Calendar.DAY_OF_MONTH, 1);
+        Date startDate = cal.getTime();
+
+        // 鑾峰彇褰撴湀鏈�鍚庝竴澶�
+        Calendar lastDayCal = (Calendar) cal.clone();
+        lastDayCal.add(Calendar.MONTH, 1);
+        lastDayCal.add(Calendar.DATE, -1);
+        Date endDate = lastDayCal.getTime();
+
+        // 鑾峰彇褰撴湀澶╂暟
+        int dayCount = lastDayCal.get(Calendar.DAY_OF_MONTH);
+
+        QueryWrapper<TaskingLog> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("CAST(operation_record_time AS DATE) AS CreateDate,ifNull(sum(task_quantity),0) as task_quantity_sum,ifNull(sum(length*width*task_quantity)/1000000,0) as area_sum")
+                .ge("operation_record_time",startDate).le("operation_record_time",endDate).eq("work_state","瀹屽伐").groupBy("CAST(operation_record_time AS DATE)")
+                .orderByAsc("CAST(operation_record_time AS DATE)");;
+        List<Map> list=taskingLogMapper.selectMaps((QueryWrapper)queryWrapper);
+        List<Map> resultDate=new ArrayList<>();
+
+        // 閲嶇疆鏃ュ巻鍒板綋鏈堢涓�澶�
+        cal.setTime(startDate);
+
+         for (int i=0;i<dayCount;i++){
+            Date thisdate=cal.getTime();
+            cal.add(Calendar.DATE, 1);
+            Map thisMap=new HashMap<>();
+
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            String dateString = sdf.format(thisdate);
+            thisMap.put("CreateDate",dateString);
+//            if(list.size()>0){
+//                log.info("瀵规瘮:{},{},{}",list.get(0).get("CreateDate"),dateString,list.get(0).get("CreateDate").toString().equals(dateString));
+//            }
+
+            if (list.size()>0&&list.get(0).get("CreateDate").toString().equals(dateString)){
+                thisMap.put("task_quantity_sum",list.get(0).get("task_quantity_sum"));
+                thisMap.put("area_sum",list.get(0).get("area_sum"));
+                list.remove(0);
+            }else{
+                thisMap.put("task_quantity_sum",0);
+                thisMap.put("area_sum",0);
+            }
+            resultDate.add(thisMap);
+        }
+
+        return Result.build(200,"鎴愬姛",resultDate);
+
+    }
 }
 
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/KBBTJPDrawingBP.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/KBBTJPDrawingBP.java
index c963702..fc5b8c3 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/KBBTJPDrawingBP.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/KBBTJPDrawingBP.java
@@ -4,7 +4,6 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.models.auth.In;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -175,6 +174,12 @@
     @TableField(value = "OrderNo")
     private String OrderNo;
 
+    /**
+     * 浜у搧绫诲瀷
+     */
+    @TableField(value = "JPZX")
+    private Integer JPZX;
+
 //
 //    @TableField(value = "report_line")
 //    private int reportLine;
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/PrimitiveTask.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/PrimitiveTask.java
index 1086153..055286c 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/PrimitiveTask.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/PrimitiveTask.java
@@ -3,11 +3,11 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
-import java.util.Date;
-
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -182,4 +182,9 @@
      */
     private Integer loadCount;
 
+    /**
+     * 浜у搧绫诲瀷
+     */
+    @TableField(value = "JPZX")
+    private Integer JPZX;
 }
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Tasking.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Tasking.java
index bd8b58f..23d5f7f 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Tasking.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/Tasking.java
@@ -1,12 +1,13 @@
 package com.mes.md.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
-import java.util.Date;
-
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -191,4 +192,10 @@
      */
     private String warehouse;
 
+    /**
+     * 浜у搧绫诲瀷
+     */
+    @TableField(value = "JPZX")
+    private Integer JPZX;
+
 }
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/TaskingLog.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/TaskingLog.java
index d95a001..78fc72d 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/TaskingLog.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/entity/TaskingLog.java
@@ -1,7 +1,6 @@
 package com.mes.md.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -186,4 +185,10 @@
      */
     private Integer isSend;
 
+    /**
+     * 浜у搧绫诲瀷
+     */
+    @TableField(value = "JPZX")
+    private Integer JPZX;
+
 }
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/LineConfigurationService.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/LineConfigurationService.java
index 93d28b3..16228c5 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/LineConfigurationService.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/LineConfigurationService.java
@@ -1,7 +1,6 @@
 package com.mes.md.service;
 
 import com.github.yulichang.base.MPJBaseService;
-import com.mes.md.entity.Line;
 import com.mes.md.entity.LineConfiguration;
 import com.mes.md.entity.Machine;
 
@@ -16,5 +15,6 @@
 public interface LineConfigurationService extends MPJBaseService<LineConfiguration> {
     LineConfiguration machineLineConfiguration(Machine machine);
     LineConfiguration machineLineConfigurationBefore(Machine machine);
+    LineConfiguration machineLineConfigurationBeforeEdg(Machine machine);
     LineConfiguration machineLineConfigurationAfter(Machine machine);
 }
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/KBBTJPDrawingBPServiceImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/KBBTJPDrawingBPServiceImpl.java
index 47a9aba..c9a2d7a 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/KBBTJPDrawingBPServiceImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/KBBTJPDrawingBPServiceImpl.java
@@ -2,19 +2,15 @@
 
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.mes.md.entity.EdgeGrindingLog;
 import com.mes.md.entity.KBBTJPDrawingBP;
 import com.mes.md.entity.PrimitiveTask;
 import com.mes.md.entity.Tasking;
-import com.mes.md.mapper.EdgeGrindingLogMapper;
 import com.mes.md.mapper.KBBTJPDrawingBPMapper;
 import com.mes.md.mapper.PrimitiveTaskMapper;
-import com.mes.md.service.EdgeGrindingLogService;
 import com.mes.md.service.KBBTJPDrawingBPService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -99,6 +95,7 @@
             primitiveTask.setSilkScreenY(kBBTJPDrawingBP.getSilkScreenY()==null?0:kBBTJPDrawingBP.getSilkScreenY());
             primitiveTask.setTaskSequence(kBBTJPDrawingBP.getTaskSequence());
             primitiveTask.setTaskQuantity(kBBTJPDrawingBP.getTaskQuantity());
+            primitiveTask.setJPZX(kBBTJPDrawingBP.getJPZX());
             primitiveTask.setR_1_1(kBBTJPDrawingBP.getR_1_1()==null?0:kBBTJPDrawingBP.getR_1_1());
             primitiveTask.setR_1_2(kBBTJPDrawingBP.getR_1_2()==null?0:kBBTJPDrawingBP.getR_1_2());
             primitiveTask.setR_2_1(kBBTJPDrawingBP.getR_2_1()==null?0:kBBTJPDrawingBP.getR_2_1());
@@ -138,6 +135,7 @@
             tasking.setSilkScreenY(kBBTJPDrawingBP.getSilkScreenY()==null?0:kBBTJPDrawingBP.getSilkScreenY());
             tasking.setTaskSequence(kBBTJPDrawingBP.getTaskSequence());
             tasking.setTaskQuantity(kBBTJPDrawingBP.getTaskQuantity());
+            tasking.setJPZX(kBBTJPDrawingBP.getJPZX());
             tasking.setR_1_1(kBBTJPDrawingBP.getR_1_1()==null?0:kBBTJPDrawingBP.getR_1_1());
             tasking.setR_1_2(kBBTJPDrawingBP.getR_1_2()==null?0:kBBTJPDrawingBP.getR_1_2());
             tasking.setR_2_1(kBBTJPDrawingBP.getR_2_1()==null?0:kBBTJPDrawingBP.getR_2_1());
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/LineConfigurationServiceImpl.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/LineConfigurationServiceImpl.java
index a38036c..10cfde4 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/LineConfigurationServiceImpl.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/md/service/impl/LineConfigurationServiceImpl.java
@@ -2,13 +2,10 @@
 
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.mes.md.entity.Line;
 import com.mes.md.entity.LineConfiguration;
 import com.mes.md.entity.Machine;
 import com.mes.md.mapper.LineConfigurationMapper;
-import com.mes.md.mapper.LineMapper;
 import com.mes.md.service.LineConfigurationService;
-import com.mes.md.service.LineService;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -63,6 +60,33 @@
         return null;
 
     }
+
+    /**
+     * 纾ㄨ竟璇嗗埆涓婄墖璁惧閰嶇疆
+     * @param machine
+     * @return
+     */
+    @Override
+    public LineConfiguration machineLineConfigurationBeforeEdg(Machine machine){
+        List<LineConfiguration> machineLineConfiguration=baseMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper<LineConfiguration>()
+                .selectAll(LineConfiguration.class)
+                .eq(LineConfiguration::getMachineId,machine.getId()));
+        if(!machineLineConfiguration.isEmpty()){
+            List<LineConfiguration> machineLineConfigurationBefore=baseMapper.selectJoinList(LineConfiguration.class,new MPJLambdaWrapper<LineConfiguration>()
+                    .selectAll(LineConfiguration.class)
+                    .eq(LineConfiguration::getLineId,machineLineConfiguration.get(0).getLineId())
+                    .eq(LineConfiguration::getIsStart,1)
+                    .lt(LineConfiguration::getProcessSequence,machineLineConfiguration.get(0).getProcessSequence())
+                    .orderByDesc(LineConfiguration::getProcessSequence));
+            if (!machineLineConfigurationBefore.isEmpty()){
+                return machineLineConfigurationBefore.get(1);
+            }
+
+        }
+        return null;
+
+    }
+
     /**
      * @param machine 褰撳墠璁惧鐨勪笅涓�璁惧閰嶇疆
      * @return
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java
new file mode 100644
index 0000000..88cf2b7
--- /dev/null
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineDispensing.java
@@ -0,0 +1,235 @@
+//package com.mes.plcTaskThread;
+//
+//import com.mes.md.entity.Machine;
+//import com.mes.md.entity.Tasking;
+//import com.mes.md.mapper.MachineMapper;
+//import com.mes.md.service.TaskingService;
+//import com.mes.service.ModbusTcp;
+//import com.mes.service.PlcAgreement;
+//import com.mes.service.PlcParameter;
+//import com.mes.utils.HexUtil;
+//import lombok.extern.slf4j.Slf4j;
+//
+//import java.text.SimpleDateFormat;
+//import java.util.*;
+//
+//@Slf4j
+//public class MachineDispensing extends Thread {
+//
+//
+//    private MachineMapper machineMapper;
+//    private TaskingService taskingService;
+//    public static Long machineId = 16L;
+//    public List<Map> sendRecords = new ArrayList<>();
+//    public Machine thisMachine;
+//
+//    public MachineDispensing(Machine machine, MachineMapper machineMapper, TaskingService taskingService) {
+//        this.thisMachine = machine;
+//        this.machineMapper = machineMapper;
+//        this.taskingService = taskingService;
+//    }
+//
+//    public void plcStart() {
+//        Machine machine = machineMapper.selectById(thisMachine.getId());
+//        String fileName = machine.getFileName();
+//        ModbusTcp modbusTcp1 = new ModbusTcp(machine.getIp(), machine.getPort(), fileName);
+//        modbusTcp1.connect();
+//        PlcAgreement plcAgreement = modbusTcp1.getPlcAgreement(fileName);
+//        try {
+//            if (!modbusTcp1.read(plcAgreement)) {
+//                log.info("閫氳璇诲彇鏂版暟鎹け璐�");
+//                modbusTcp1.close();
+//                return;
+//            }
+//            PlcParameter plcRequest = plcAgreement.getPlcParameter("plcRequest");//璇锋眰瀛�
+//            PlcParameter plcRequestID = plcAgreement.getPlcParameter("plcRequestID");//璇锋眰ID
+//            PlcParameter mesSend = plcAgreement.getPlcParameter("mesSend");//鍙戦�佸瓧
+//            PlcParameter mesSendID = plcAgreement.getPlcParameter("mesSendID");//鍙戦�両D
+////        PlcParameterInfo drawingMark =plcParameterObject.getPlcParameter("drawingGlue");//鐐硅兌鍥剧焊鍦板潃
+//            PlcParameter JPZX = plcAgreement.getPlcParameter("JPZX");//绫诲瀷
+//            PlcParameter thickness = plcAgreement.getPlcParameter("thickness");//鍘�
+//            PlcParameter side1 = plcAgreement.getPlcParameter("side1");//涓嬭竟
+//            PlcParameter side2 = plcAgreement.getPlcParameter("side2");//鍙宠竟
+//            PlcParameter side3 = plcAgreement.getPlcParameter("side3");//涓婅竟
+//            PlcParameter side4 = plcAgreement.getPlcParameter("side4");//宸﹁竟
+//            PlcParameter R_angle1_1 = plcAgreement.getPlcParameter("R_angle1_1");//R瑙�1-1
+//            PlcParameter R_angle1_2 = plcAgreement.getPlcParameter("R_angle1_2");//R瑙�1-2
+//            PlcParameter R_angle2_1 = plcAgreement.getPlcParameter("R_angle2_1");//R瑙�2-1
+//            PlcParameter R_angle2_2 = plcAgreement.getPlcParameter("R_angle2_2");//R瑙�2-2
+//            PlcParameter R_angle3_1 = plcAgreement.getPlcParameter("R_angle3_1");//R瑙�3-1
+//            PlcParameter R_angle3_2 = plcAgreement.getPlcParameter("R_angle3_2");//R瑙�3-2
+//            PlcParameter R_angle4_1 = plcAgreement.getPlcParameter("R_angle4_1");//R瑙�4-1
+//            PlcParameter R_angle4_2 = plcAgreement.getPlcParameter("R_angle4_2");//R瑙�4-2
+//
+//            PlcParameter plcReport = plcAgreement.getPlcParameter("plcReport");//姹囨姤瀛�
+//            PlcParameter plcReportID = plcAgreement.getPlcParameter("plcReportID");//姹囨姤ID
+//            PlcParameter mesConfirm = plcAgreement.getPlcParameter("mesConfirm");//纭瀛�
+//            PlcParameter mesConfirmID = plcAgreement.getPlcParameter("mesConfirmID");//纭ID
+//            PlcParameter machineStatusWord = plcAgreement.getPlcParameter("machineStatusWord");
+//            if (machine.getIsLog() > 0) {
+//                modbusTcp1.consoleLogInfo(plcAgreement);
+//            }
+//
+//            if (0 == plcRequest.getValueInt() && 1 == mesSend.getValueInt()) {
+//                log.info("1.鍙戦�佸瓧缃浂");
+//                //鍙戦�佸瓧缃�0
+//                String send = HexUtil.intTo2ByteHex(0);
+//                modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesSend.getAddressStart() / 2));
+//                log.info("鍙戦�佸瓧 娓呯┖鎴愬姛锛涘唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesSend.getAddressStart()));
+//                modbusTcp1.close();
+//                return;
+//            }
+//            if (0 == plcReport.getValueInt() && 0 != mesConfirm.getValueInt()) {
+//                log.info("2.纭瀛楃疆闆�");
+//                //鍙戦�佸瓧缃�0
+//                String send = HexUtil.intTo2ByteHex(0);
+//                modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                log.info("浠诲姟瀹屾垚 娓呯┖鎴愬姛锛涘唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                modbusTcp1.close();
+//                return;
+//            }
+//            if (1 == plcReport.getValueInt() && 0 == mesConfirm.getValueInt()) {
+//                int finishCount = taskingService.finishMachineTask(machine);
+//                log.info("3銆佷换鍔″畬鎴�");
+//                if (finishCount > 0) {//鏈変换鍔�
+//                    String send = HexUtil.intTo2ByteHex(1);
+//                    modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                    log.info("浠诲姟瀹屾垚 鎴愬姛 鍐呭锛歿},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                    modbusTcp1.close();
+//                    return;
+//                }
+//                String send = HexUtil.intTo2ByteHex(1);
+//                modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                log.info("浠诲姟瀹屾垚 寮傚父鎴愬姛 鍐呭锛歿},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                modbusTcp1.close();
+//                return;
+//            }
+//            if (4 == plcReport.getValueInt() && 0 == mesConfirm.getValueInt()) {
+//                int finishCount = taskingService.glassDownLineOne(machine);
+//                if (finishCount > 0) {//鏈変换鍔�
+//                    log.info("4銆佷汉宸ユ嬁璧�");
+//                    String send = HexUtil.intTo2ByteHex(4);
+//                    modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                    log.info("浜哄伐鎷胯蛋鍙戦�佹姤鏂囧唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                    modbusTcp1.close();
+//                    return;
+//                }
+//                String send = HexUtil.intTo2ByteHex(4);
+//                modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                log.info("浜哄伐鎷胯蛋寮傚父 鍙戦�佹姤鏂囧唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                modbusTcp1.close();
+//                return;
+//            }
+//            if (2 == plcReport.getValueInt() && 0 == mesConfirm.getValueInt()) {
+//                int finishCount = taskingService.loseMachineTask(machine);
+//                if (finishCount > 0) {//鏈変换鍔�
+//                    log.info("2銆侀噸鍙�");
+//                    String send = HexUtil.intTo2ByteHex(2);
+//                    modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                    log.info("閲嶅彂鍙戦�佹姤鏂囧唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                    modbusTcp1.close();
+//                    return;
+//                } else {
+//                    log.info("2銆佸紓甯搁噸鍙�");
+//                    String send = HexUtil.intTo2ByteHex(2);
+//                    modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                    log.info("寮傚父閲嶅彂鍙戦�佹姤鏂囧唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                    modbusTcp1.close();
+//                    return;
+//                }
+//            }
+//
+//            if (3 == plcReport.getValueInt() && 0 == mesConfirm.getValueInt()) {
+//                int finishCount = taskingService.finishMachineTask(machine);
+//                if (finishCount > 0) {//鏈変换鍔�
+//                    log.info("3銆佽澶囦笂浜哄伐鐐圭牬鎹�");
+//                    String send = HexUtil.intTo2ByteHex(3);
+//                    modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                    log.info("浜哄伐鐐圭牬鎹熷彂閫佹姤鏂囧唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                    modbusTcp1.close();
+//                    return;
+//                } else {
+//                    //鏄惁鑷姩娓呴櫎鐮存崯
+//                    log.info("3銆佹棤鏁堢牬鎹� 锛堟病鏈夋壘鍒版ID鐨勭幓鐠冿級");
+//                    String send = HexUtil.intTo2ByteHex(3);
+//                    modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart() / 2));
+//                    log.info("鍙戦�佹姤鏂囧唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesConfirm.getAddressStart()));
+//                    modbusTcp1.close();
+//                    //modbusTcp1.close();
+//                    return;
+//                }
+//            }
+//            List<Tasking> taskingCount = taskingService.findMachineWorkStateTask(machine, "姝e湪宸ヤ綔");
+//            if ((1 == plcRequest.getValueInt() && 0 == mesSend.getValueInt())
+//                    && "寮�宸�".equals(machine.getState())
+//                    && taskingCount.size() < machine.getMaxTaskCount()) {
+//                Tasking tasking = taskingService.startMachineTask(machine);
+//                if (tasking != null) {
+//                    log.info("4銆佸彂閫佷换鍔�  浠诲姟鏁版嵁锛歿}, 璁惧鐘舵��:{}, ", machine, tasking);
+//                    String send =
+//                            HexUtil.intTo2ByteHex(1) +
+//                                    HexUtil.intTo2ByteHex(tasking.getTaskSequence().intValue())+
+//                                    HexUtil.intTo2ByteHex(tasking.getJPZX()) +
+//                                    HexUtil.intTo2ByteHex(tasking.getThickness().intValue()) +
+//                                    HexUtil.intTo2ByteHex(tasking.getWidth().intValue()) +   // side1 涓嬭竟 = 瀹藉害
+//                                    HexUtil.intTo2ByteHex(tasking.getLength().intValue()) +  // side2 鍙宠竟 = 闀垮害
+//                                    HexUtil.intTo2ByteHex(tasking.getWidth().intValue()) +   // side3 涓婅竟 = 瀹藉害
+//                                    HexUtil.intTo2ByteHex(tasking.getLength().intValue()) +  // side4 宸﹁竟 = 闀垮害
+//                                    HexUtil.intTo2ByteHex((int) ((tasking.getR_1_1() != null ? tasking.getR_1_1() : 0.0) * 10))  +
+//                                    HexUtil.intTo2ByteHex((int) ((tasking.getR_1_2() != null ? tasking.getR_1_2() : 0.0) * 10))  +
+//                                    HexUtil.intTo2ByteHex((int) ((tasking.getR_2_1() != null ? tasking.getR_2_1() : 0.0) * 10))  +
+//                                    HexUtil.intTo2ByteHex((int) ((tasking.getR_2_2() != null ? tasking.getR_2_2() : 0.0) * 10))  +
+//                                    HexUtil.intTo2ByteHex((int) ((tasking.getR_3_1() != null ? tasking.getR_3_1() : 0.0) * 10))  +
+//                                    HexUtil.intTo2ByteHex((int) ((tasking.getR_3_2() != null ? tasking.getR_3_2() : 0.0) * 10))  +
+//                                    HexUtil.intTo2ByteHex((int) ((tasking.getR_4_1() != null ? tasking.getR_4_1() : 0.0) * 10))  +
+//                                    HexUtil.intTo2ByteHex((int) ((tasking.getR_4_2() != null ? tasking.getR_4_2() : 0.0) * 10))  ;
+//                    modbusTcp1.writeString(send, HexUtil.intTo2ByteHex(mesSend.getAddressStart() / 2));
+//                    log.info("鍙戦�佷换鍔″彂閫佹姤鏂囧唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}", send, HexUtil.intTo2ByteHex(mesSend.getAddressStart()));
+//                    modbusTcp1.close();
+//                    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//                    String sendRecord = df.format(new Date()) + "  " +
+//                            tasking.getGlassId() + "-" +
+//                            tasking.getLength() + "-" +
+//                            tasking.getWidth() + "-" +
+//                            tasking.getThickness() + "-" +
+//                            tasking.getR_1_1() + "-" +
+//                            tasking.getR_1_2() + "-" +
+//                            tasking.getR_2_1() + "-" +
+//                            tasking.getR_2_2() + "-" +
+//                            tasking.getR_3_1() + "-" +
+//                            tasking.getR_3_2() + "-" +
+//                            tasking.getR_4_1() + "-" +
+//                            tasking.getR_4_2() + "-" +
+//                            tasking.getJPZX();
+//                    if (sendRecords.size() > 7) {
+//                        sendRecords.remove(0);
+//                    }
+//                    Map sendContentMap = new HashMap();
+//                    sendContentMap.put("sendContent", sendRecord);
+//                    sendRecords.add(sendContentMap);
+//                    return;
+//                }
+//            }
+//            //}
+//
+//        } catch (Exception e) {
+//            log.info("浜や簰閫昏緫閿欒");
+//        }
+//
+//        modbusTcp1.close();
+//        //log.info("鏃犲彲鎵ц鐨勬潯浠�");
+//    }
+//
+//
+//    @Override
+//    public void run() {
+//        while (this != null) {
+//            try {
+//                Thread.sleep(1000);
+//                plcStart();
+//            } catch (InterruptedException e) {
+//                e.printStackTrace();
+//            }
+//        }
+//    }
+//}
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java
index f448c8e..68f44f0 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java
@@ -196,7 +196,7 @@
                     &&"寮�宸�".equals(machine.getState())
                     &&taskingCount.size()<machine.getMaxTaskCount())){
                 //Machine loadMachine=machineMapper.selectById(2L);
-                LineConfiguration lineConfigurationBefore=lineConfigurationService.machineLineConfigurationBefore(machine);
+                LineConfiguration lineConfigurationBefore=lineConfigurationService.machineLineConfigurationBeforeEdg(machine);
                 Machine loadMachine=machineMapper.selectById(lineConfigurationBefore.getMachineId());
                 Tasking tasking;
                 String scan_id="";
diff --git a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java
index d72f449..0234a10 100644
--- a/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java
+++ b/JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineLoad.java
@@ -1,10 +1,8 @@
 package com.mes.plcTaskThread;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mes.md.entity.LineConfiguration;
 import com.mes.md.entity.Machine;
 import com.mes.md.entity.PrimitiveTask;
-import com.mes.md.entity.Tasking;
 import com.mes.md.mapper.MachineMapper;
 import com.mes.md.mapper.PrimitiveTaskMapper;
 import com.mes.md.mapper.TaskingMapper;
@@ -17,8 +15,9 @@
 import com.mes.utils.HexUtil;
 import lombok.extern.slf4j.Slf4j;
 
-import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 @Slf4j
 public class MachineLoad extends Thread{
@@ -50,7 +49,7 @@
         Machine machine=machineMapper.selectById(thisMachine.getId());
         ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),machine.getFileName());
         modbusTcp1.connect();
-        PlcAgreement plcAgreement=modbusTcp1.getPlcAgreement("PlcLoad");
+        PlcAgreement plcAgreement=modbusTcp1.getPlcAgreement(machine.getFileName());
         try {
             if(!modbusTcp1.read(plcAgreement)){
                 log.info("閫氳璇诲彇鏂版暟鎹け璐�");
diff --git a/UI-Project/src/views/KanbanDisplay2/kanbanDisplay2.vue b/UI-Project/src/views/KanbanDisplay2/kanbanDisplay2.vue
index b8b2c84..bb39374 100644
--- a/UI-Project/src/views/KanbanDisplay2/kanbanDisplay2.vue
+++ b/UI-Project/src/views/KanbanDisplay2/kanbanDisplay2.vue
@@ -98,7 +98,7 @@
 // 璁″垝閲忔暟鎹�
 const loadPlannedData = async () => {
   try {
-    const res = await request.post('/deviceInteraction/primitiveTask/findPlannedQuantity', {});
+    const res = await request.post('/deviceInteraction/primitiveTask/findFinishQuantity', {});
     if (res.code === 200) {
       // 纭繚鏁版嵁瀛樺湪
       if (res.data && Array.isArray(res.data)) {
diff --git a/UI-Project/src/views/MechanicalArm/mechanicalArm.vue b/UI-Project/src/views/MechanicalArm/mechanicalArm.vue
index b3dd11f..537a641 100644
--- a/UI-Project/src/views/MechanicalArm/mechanicalArm.vue
+++ b/UI-Project/src/views/MechanicalArm/mechanicalArm.vue
@@ -87,6 +87,7 @@
   socket = initializeWebSocket(socketUrl, handleMessage);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
   //浣跨敤WebSocket鏂瑰紡灞曠ず鏁版嵁
   socketDownLineTask = initializeWebSocket(socketDownLineTaskUrl, handleMessage2);// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+  
 });
 //鎶ヨ鎻愮ず
 const errorInfoFuntion = async (info) => {
@@ -429,7 +430,7 @@
         <el-table-column prop="workState" :label="$t('glassInfo.workState')" />
         <el-table-column fixed="right" :label="$t('productStock.operate')" align="center" width="70">
           <template #default="scope">
-            <el-button size="mini" link type="primary" plain @click="startOrStopTask(scope.row, 2, 1)">{{
+            <el-button size="mini" link type="primary" plain @click="startOrStopTask(scope.row, findMachine.id, 1)">{{
               $t('functionState.getTask') }}</el-button>
           </template>
         </el-table-column>
diff --git a/UI-Project/src/views/MechanicalReport/mechanicalReport.vue b/UI-Project/src/views/MechanicalReport/mechanicalReport.vue
index 0fe464b..018e950 100644
--- a/UI-Project/src/views/MechanicalReport/mechanicalReport.vue
+++ b/UI-Project/src/views/MechanicalReport/mechanicalReport.vue
@@ -201,7 +201,6 @@
   return time.getTime() > oneMonthLater.getTime()
 }
 
-// 闄愬埗寮�濮嬫棩鏈熶笉鑳界缁撴潫鏃ユ湡瓒呰繃涓�涓湀
 const disabledStartDate = (time) => {
   if (!filterForm.value.endDate) {
     return false

--
Gitblit v1.8.0