From 2c2413760b6467bf62402dba7338bd3bbcbd7341 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期二, 20 五月 2025 14:20:38 +0800
Subject: [PATCH] 添加产量报表功能页面

---
 JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java |   64 ++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 20 deletions(-)

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 e7762c5..f448c8e 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
@@ -36,10 +36,11 @@
     LineConfigurationService lineConfigurationService;
     public static int thinness = 40;
     public static int edgSpeed = 40;
-    public static Long machineId = 6L;
+    //public static Long machineId = 6L;
     public List<Map> sendRecords = new ArrayList<>();
-
-    public MachineEdging(TaskingMapper taskingMapper, MachineMapper machineMapper, TaskingService taskingService, PrimitiveTaskService primitiveTaskService, LineConfigurationService lineConfigurationService){
+    public Machine thisMachine;
+    public MachineEdging(Machine machine,TaskingMapper taskingMapper, MachineMapper machineMapper, TaskingService taskingService, PrimitiveTaskService primitiveTaskService, LineConfigurationService lineConfigurationService){
+        this.thisMachine = machine;
         this.taskingMapper = taskingMapper;
         this.machineMapper = machineMapper;
         this.taskingService = taskingService;
@@ -48,8 +49,8 @@
     }
 
     public void plcStart() {
-        Machine machine=machineMapper.selectById(machineId);
-        ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),"PlcEdging");
+        Machine machine=machineMapper.selectById(thisMachine.getId());
+        ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),machine.getFileName());
         try {
             modbusTcp1.connect();
             PlcAgreement plcAgreement=modbusTcp1.getPlcAgreement("PlcEdging");
@@ -64,7 +65,6 @@
             PlcParameter plcRequest =plcAgreement.getPlcParameter("plcRequest");//璇锋眰瀛�
             PlcParameter mesSend =plcAgreement.getPlcParameter("mesSend");//鍙戦�佸瓧
 
-
             PlcParameter plcReport =plcAgreement.getPlcParameter("plcReport");//姹囨姤瀛�
             PlcParameter plcReportID =plcAgreement.getPlcParameter("plcReportID");//姹囨姤ID
             PlcParameter plcReport2 =plcAgreement.getPlcParameter("plcReport2");//鎵嬪姩姹囨姤瀛�
@@ -74,6 +74,21 @@
             PlcParameter mesConfirmID =plcAgreement.getPlcParameter("mesConfirmID");//纭ID
             PlcParameter mesConfirm2 =plcAgreement.getPlcParameter("mesConfirm2");//鎵嬪姩纭瀛�
             PlcParameter mesConfirmID2 =plcAgreement.getPlcParameter("mesConfirmID2");//鎵嬪姩纭ID
+
+            PlcParameter alarmStatus =plcAgreement.getPlcParameter("alarmStatus");//鎶ヨ瀛�
+            PlcParameter machineStatusWord =plcAgreement.getPlcParameter("machineStatusWord");//璁惧鐘舵�佸瓧
+
+//            if (alarmStatus.getValueInt()>0&&!"鎶ヨ".equals(machine.getStatePowerOn())){
+//                machine.setStatePowerOn("鎶ヨ");
+//            }else if(alarmStatus.getValueInt()==0&&!"鎶ヨ瑙i櫎".equals(machine.getStatePowerOn())){
+//                machine.setStatePowerOn("鎶ヨ瑙i櫎");
+//            }
+//            if (machineStatusWord.getValueInt()!=2&&!"闈炶仈鏈�".equals(machine.getStatePowerOn())){
+//                machine.setStatePowerOn("闈炶仈鏈�");
+//            }else if(machineStatusWord.getValueInt()==2&&!"鑱旀満".equals(machine.getStatePowerOn())){
+//                machine.setStatePowerOn("鑱旀満");
+//            }
+
             if (machine.getIsLog()>0){
                 modbusTcp1.consoleLogInfo(plcAgreement);
             }
@@ -83,6 +98,7 @@
                 String send= HexUtil.intTo2ByteHex(0);
                 modbusTcp1.writeString(send,HexUtil.intTo2ByteHex(mesSend.getAddressStart()/2));
                 log.info("鍙戦�佸瓧 娓呯┖鎴愬姛锛涘唴瀹癸細{},鍙戦�佽捣濮嬪湴鍧�:{}",send,HexUtil.intTo2ByteHex(mesSend.getAddressStart()));
+                errorMachine(machine,"");
                 modbusTcp1.close();
                 return;
             }
@@ -104,7 +120,7 @@
                 modbusTcp1.close();
                 return;
             }
-            if(1==plcReport.getValueInt()&&0==mesConfirm.getValueInt()){
+            if((1==plcReport.getValueInt()&&0==mesConfirm.getValueInt())){
                 int finishCount=taskingService.finishMachineTask(machine);
                 log.info("3銆佷换鍔″畬鎴�");
                 if(finishCount>0) {//鏈変换鍔�
@@ -176,16 +192,18 @@
             }
             List<Tasking> taskingCount=taskingService.findMachineWorkStateTask(machine,"姝e湪宸ヤ綔");
 
-            if((1==plcRequest.getValueInt()&&0==mesSend.getValueInt())
+            if(((1==plcRequest.getValueInt()&&0==mesSend.getValueInt())
                     &&"寮�宸�".equals(machine.getState())
-                    &&taskingCount.size()<machine.getMaxTaskCount()){
-                Machine loadMachine=machineMapper.selectById(2L);
+                    &&taskingCount.size()<machine.getMaxTaskCount())){
+                //Machine loadMachine=machineMapper.selectById(2L);
+                LineConfiguration lineConfigurationBefore=lineConfigurationService.machineLineConfigurationBefore(machine);
+                Machine loadMachine=machineMapper.selectById(lineConfigurationBefore.getMachineId());
                 Tasking tasking;
                 String scan_id="";
                 if(loadMachine.getMode()==1){
                     //鏍囧噯妯″紡  鎵惧凡棰嗗彇鏈畬鎴愮殑绗竴鏉′换鍔�
-                    LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine);
-                    List<PrimitiveTask> findPrimitiveTasking=primitiveTaskService.findPrimitiveTasking(machine,lineConfiguration.getLineId());
+                    //LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine);
+                    List<PrimitiveTask> findPrimitiveTasking=primitiveTaskService.findPrimitiveTasking(machine,lineConfigurationBefore.getLineId());
                     //娣诲姞鏁版嵁:
                     for(PrimitiveTask primitiveTask:findPrimitiveTasking){
                         List<Tasking> taskingTopList=taskingMapper.selectList(new QueryWrapper<Tasking>().lambda()
@@ -193,6 +211,7 @@
                         );
                         //浠诲姟鏁�>宸蹭笂鏁伴噺
                         if(taskingTopList.size()<primitiveTask.getTaskQuantity()){
+                            LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine);
                             Tasking taskingAdd=primitiveTaskService.convertListTasking(primitiveTask,lineConfiguration.getId());
                             Integer taskSequence=1;
                             if (machine.getTodayCount()>0&&machine.getTodayCount()<5000){
@@ -210,8 +229,10 @@
                     tasking=taskingService.startMachineTask(machine);
                 }else{
                     //瀹氬埗妯″紡
-                    String PlcRequestID_=clientTCPSocket();
-                    //String PlcRequestID_=",,46607221";
+                    LineConfiguration lineConfigurationAfter=lineConfigurationService.machineLineConfigurationBefore(machine);
+                    Machine scanMachine=machineMapper.selectById(lineConfigurationAfter.getMachineId());
+                    String PlcRequestID_=clientTCPSocket(scanMachine);
+                    //String PlcRequestID_=",,46408889";
                     if (PlcRequestID_==null||PlcRequestID_.lastIndexOf(",")<0){
                         modbusTcp1.close();
                         errorMachine(machine,("鎵笉鍒扮爜:"+PlcRequestID_));
@@ -224,7 +245,7 @@
                     log.info("4銆佸彂閫佷换鍔�  浠诲姟鏁版嵁锛歿}, 璁惧鐘舵��:{}, ",machine,tasking);
                     String send=
                             HexUtil.intTo2ByteHex(1)+
-                                    HexUtil.intTo2ByteHex(tasking.getGlassId().intValue())+
+                                    HexUtil.intTo2ByteHex(tasking.getTaskSequence().intValue())+
                                     HexUtil.intTo2ByteHex(((Double)(tasking.getLength()*10)).intValue())+
                                     HexUtil.intTo2ByteHex(((Double)(tasking.getWidth()*10)).intValue())+
                                     HexUtil.intTo2ByteHex(((Double)(tasking.getThickness()*10)).intValue());
@@ -235,6 +256,7 @@
                     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                     String sendRecord=df.format(new Date())+"  "+
                             tasking.getGlassId()+"-"+
+                            tasking.getTaskSequence()+"-"+
                             tasking.getWidth()+"-"+
                             tasking.getLength()+"-"+
                             tasking.getThickness();
@@ -250,13 +272,14 @@
                     modbusTcp1.close();
                     return;
                 }
+            }else if(0==plcRequest.getValueInt()){
+                errorMachine(machine,"");
             }
             //}
 
         } catch (Exception e) {
             log.info("浜や簰閫昏緫閿欒");
         }
-
         modbusTcp1.close();
         //log.info("鏃犲彲鎵ц鐨勬潯浠�");
     }
@@ -268,9 +291,9 @@
             machineMapper.updateById(machine);
         }
     }
-    public String clientTCPSocket() {
+    public String clientTCPSocket(Machine machine) {
         try {
-            Machine machine=machineMapper.selectById(4L);
+            //Machine machine=machineMapper.selectById(4L);
             Socket clientSocket = new Socket(machine.getIp(), machine.getPort());
             try {
                 clientSocket.setSoTimeout(1000);
@@ -291,11 +314,12 @@
                 clientSocket.close();
                 return receivedMessage;
             } catch (Exception e) {
-                e.printStackTrace();
+                log.info("鎵爜寮傚父");
+                //e.printStackTrace();
             }
             clientSocket.close();
         } catch (Exception e) {
-            e.printStackTrace();
+            log.info("ip鎴栫鍙e紓甯�");
         }
         return "";
     }

--
Gitblit v1.8.0