From beb0b5d9e1bab1ace04b5860b5ca308b6f913d4f Mon Sep 17 00:00:00 2001
From: zhanghonglin <zhanghonglin@hnkhzn.com>
Date: 星期六, 21 三月 2026 13:46:04 +0800
Subject: [PATCH] 灌装机功能

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/ConveyorLineJob.cs |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/ConveyorLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/ConveyorLineJob.cs"
index 2b57f4e..85698b5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/ConveyorLineJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/Job/ConveyorLineJob.cs"
@@ -3,12 +3,16 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Autofac.Core;
 using HslCommunication.WebSocket;
+using Microsoft.AspNetCore.Components;
 using Quartz;
 using SqlSugar;
+using WIDESEA_Model.Models.Basic;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_DTO.MES;
 using WIDESEAWCS_DTO.Stock;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models.System;
@@ -28,21 +32,25 @@
 
         private readonly IRepository<Dt_StationManger> _stationMangerRepository;
         private readonly IRepository<Dt_Task> _TaskRepository;
+        private readonly IRepository<Dt_FillingOrder> _FillingOrderRepository;
         private readonly ITaskService _ITaskService;
         private static Stock Stock = new Stock();
         private static bool k = true;
         private static int i = 0;
+
+        //鍒ゆ柇鏄惁鎶婂嚭搴撲俊鍙峰彂缁橶MS
         private static bool m = true;
         private static bool n = true;
 
         //瀛樺偍淇″彿
         private readonly Commands comm = new Commands();
 
-        public ConveyorLineJob(WebSocketServer webSocketServer, IRepository<Dt_StationManger> stationMangerRepository, IRepository<Dt_Task> TaskRepository, ITaskService ITaskService)
+        public ConveyorLineJob(WebSocketServer webSocketServer, IRepository<Dt_StationManger> stationMangerRepository, IRepository<Dt_Task> TaskRepository, IRepository<Dt_FillingOrder> FillingOrderRepository, ITaskService ITaskService)
         {
             _stationMangerRepository = stationMangerRepository;
             _TaskRepository = TaskRepository;
             _ITaskService = ITaskService;
+            _FillingOrderRepository = FillingOrderRepository;
         }
 
         public Task Execute(IJobExecutionContext context)
@@ -130,7 +138,26 @@
                                             //鍙戦�佹敹鍒扮紪鍙蜂俊鍙�
                                             device.SetValue(ConveyorLineName.W_ReceivedD, 1, item.StationCode);
                                             k = true;
+
+                                            //鍚慚ES鍙戦�佹姤宸ュ崟
+                                            if (Stock.MaterialCode1 != null && !Stock.MaterialCode1.Equals(""))
+                                            {
+                                                MESReport(Stock.MaterialCode1);
+                                            }
+                                            if (Stock.MaterialCode2 != null && !Stock.MaterialCode2.Equals(""))
+                                            {
+                                                MESReport(Stock.MaterialCode2);
+                                            }
+                                            if (Stock.MaterialCode3 != null && !Stock.MaterialCode3.Equals(""))
+                                            {
+                                                MESReport(Stock.MaterialCode3);
+                                            }
+                                            if (Stock.MaterialCode4 != null && !Stock.MaterialCode4.Equals(""))
+                                            {
+                                                MESReport(Stock.MaterialCode4);
+                                            }
                                         }
+
                                     }
                                 }
                                 catch (Exception ex)
@@ -188,6 +215,7 @@
                                     n = true;
                                 }
                             }
+                            //鍛婅瘔WMS涓嶅彲浠ュ嚭搴�
                             else
                             {
                                 if (n)
@@ -209,5 +237,35 @@
             }
             return Task.CompletedTask;
         }
+
+        //MES鎶ュ伐
+        public void MESReport(string MaterialCode)
+        {
+            try
+            {
+                Reports reports = new Reports();
+
+                //鏌ヨ浜岀淮鐮�
+                Dt_FillingOrder FillingOrder = _FillingOrderRepository.QueryFirst(x => x.BarCode == MaterialCode);
+
+                reports.report.Qty = FillingOrder.BarNum;
+                reports.report.DispatchID = FillingOrder.WorkID + "";
+                reports.barcodeSN[0].Barcode = FillingOrder.BarCode;
+                reports.barcodeSN[0].BatchNum = int.Parse(FillingOrder.batchNum);
+                reports.barcodeSN[0].Id = FillingOrder.BarCodeID;
+                reports.barcodeSN[0].MaterialId = FillingOrder.ArticleNumID;
+                reports.barcodeSN[0].Quantity = (int)FillingOrder.BarNum;
+                reports.barcodeSN[0].DispatchId = FillingOrder.WorkID;
+
+                string mes = AppSettings.Get("WMSApiAddress");
+                if (!string.IsNullOrEmpty(mes))
+                {
+                    HttpHelper.Post($"{mes}/Task/SaveReportRaw/", reports.Serialize());
+                }
+            }
+            catch (Exception ex) {
+                WriteInfo( "MES鎶ュ伐閿欒", $"{ex.Message}");
+            }
+        }
     }
 }

--
Gitblit v1.9.3