From fc9cba5f058089887aa7061d2e6b4006b9e04a9a Mon Sep 17 00:00:00 2001
From: 陈勇 <竞男@ASUNA>
Date: 星期二, 10 三月 2026 09:46:43 +0800
Subject: [PATCH] 同步

---
 项目代码/WMS/WMSServer/WIDESEA_StoragIntegrationServices/MES/Partial/bindWorkOrder.cs |   67 ++++++++++++++++++++++++++++-----
 1 files changed, 57 insertions(+), 10 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServer/WIDESEA_StoragIntegrationServices/MES/Partial/bindWorkOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServer/WIDESEA_StoragIntegrationServices/MES/Partial/bindWorkOrder.cs"
index a883af1..bec3d27 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServer/WIDESEA_StoragIntegrationServices/MES/Partial/bindWorkOrder.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServer/WIDESEA_StoragIntegrationServices/MES/Partial/bindWorkOrder.cs"
@@ -1,10 +1,14 @@
 锘縰sing AngleSharp.Common;
+using Newtonsoft.Json;
+using OfficeOpenXml.ConditionalFormatting;
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Runtime;
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEA_Common;
+using WIDESEA_Common.MES;
 using WIDESEA_Common.MES.Request;
 using WIDESEA_Core;
 using WIDESEA_Core.Const;
@@ -15,7 +19,7 @@
 namespace WIDESEA_StoragIntegrationServices
 {
     /// <summary>
-    /// 杞﹁韩缁戝畾宸ュ崟(鐒婅鐩撮�氭秱瑁�)
+    /// 杞﹁韩缁戝畾宸ュ崟  鐒�-娑傘�佹秱-鎬诲伐鍗曠粦瀹�
     /// </summary>
     public partial class MESService
     {
@@ -35,24 +39,67 @@
 
                 var stationInfo = _stationManagerRepository.QueryFirst(x => x.stationChildCode == stationNo);
 
-                BindWorkOrder passPoint = new BindWorkOrder()
+                var carBodyInfo = _carBodyRepository.QueryFirst(x => x.RFID == rfid);
+
+                //if (carBodyInfo == null) throw new Exception($"鏈壘鍒癙VI{rfid}鐨勮溅韬暟鎹�");
+
+                BindWorkOrder bindOrder = new BindWorkOrder()
                 {
                     unionKey = Guid.NewGuid().ToString(),
-                    stationCode = stationInfo.stationChildCode,
+                    stationCode = "",
                     messageTime = DateTime.Now.ToString(),
-                    plantCode = "1022",
-                    pvi = rfid,
-                    workOrderNo = "",
-                    workOrderType = "",
-                    workshopCode = ""
+                    plantCode = "1052",
+                    pvi = carBodyInfo.PVI,
+                    workOrderNo = stationNo == "EL01RB" ? carBodyInfo.workOrderNo : carBodyInfo.plantingWorkNo,
+                    workOrderType = stationNo == "EL01RB" ? "0" : "1",   //carBodyInfo.workOrderType,
+                    workshopCode = stationNo == "EL01RB" ? "HZ" : "TZ",
                 };
 
-                var MESrespon = HttpHelper.Post(wmsIpAddress, passPoint.ToJson());
+                var MESrespon = HttpHelper.PostAsync(wmsIpAddress, bindOrder.ToJson(), contentType, headers).Result;
 
-                return content;
+                Console.WriteLine(MESrespon);
+                WebResponseContent webResponse = JsonConvert.DeserializeObject<WebResponseContent>(MESrespon.ToString());
+                if (webResponse.Code != 200)
+                {
+                    throw new Exception($"{webResponse.msg}");
+                }
+
+                BindWorkOrderRespon characterRespon = JsonConvert.DeserializeObject<BindWorkOrderRespon>(webResponse.Data.ToJson());
+
+                _unitOfWorkManage.BeginTran();
+                if (stationInfo.stationChildCode == "EL01RB")  //娑傝绮炬帓鐐�
+                {
+                    var paintingOrderInfo = _paintingOrderInfoRepository.QueryFirst(x => x.workOrderNo == characterRespon.workOrderNo);
+
+                    if (paintingOrderInfo == null) throw new Exception($"缁戝畾澶辫触:鏈壘鍒版秱瑁呭伐鍗曚俊鎭瘂characterRespon.workOrderNo}");
+                    paintingOrderInfo.pvi = characterRespon.pvi;
+                    _paintingOrderInfoRepository.UpdateData(paintingOrderInfo);
+                    carBodyInfo.pbMaterial = paintingOrderInfo.pbMaterial;
+                    carBodyInfo.plantingWorkNo = paintingOrderInfo.workOrderNo;
+                    carBodyInfo.carBodyCharacteristic = paintingOrderInfo.carBodyCharacteristic;
+                    _carBodyRepository.UpdateData(carBodyInfo);
+                }
+                else if (stationInfo.stationChildCode == "EL01RB01")  //鎬昏绮炬帓鐐�
+                {
+                    var assemblyOrderInfo = _assemblyOrderInfoRepository.QueryFirst(x => x.workOrderNo == characterRespon.workOrderNo);
+
+                    if (assemblyOrderInfo == null) throw new Exception($"缁戝畾澶辫触:鏈壘鍒版�昏宸ュ崟淇℃伅{characterRespon.workOrderNo}");
+                    assemblyOrderInfo.pvi = characterRespon.pvi;
+                    _assemblyOrderInfoRepository.UpdateData(assemblyOrderInfo);
+                    carBodyInfo.assemblyWorrkNo = characterRespon.workOrderNo;
+                    _carBodyRepository.UpdateData(carBodyInfo);
+                }
+
+                LogFactory.GetLog("BDC璇锋眰缁戝畾宸ュ崟淇℃伅").Info(true, $"\r\r--------------------------------------");
+                LogFactory.GetLog("BDC璇锋眰缁戝畾宸ュ崟淇℃伅").Info(true, $"宸ヤ綅鍙�:{stationNo},RFID:{rfid}");
+
+                _unitOfWorkManage.CommitTran();
+                return content.OK();
             }
             catch (Exception ex)
             {
+                _unitOfWorkManage.RollbackTran();
+                LogFactory.GetLog("BDC璇锋眰缁戝畾宸ュ崟淇℃伅").Info(true, $"缁戝畾澶辫触锛歿ex.Message}");
                 return content.Error(ex.Message);
             }
         }

--
Gitblit v1.9.3