From f45293a0c3c9838567d6ff01eae53157a9ed5284 Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期四, 05 三月 2026 10:59:38 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WMSServer/WIDESEA_StoragIntegrationServices/MES/Partial/bindWorkOrder.cs |   47 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 33 insertions(+), 14 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 02c8b11..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"
@@ -4,6 +4,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Runtime;
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEA_Common;
@@ -18,7 +19,7 @@
 namespace WIDESEA_StoragIntegrationServices
 {
     /// <summary>
-    /// 杞﹁韩缁戝畾宸ュ崟(鐒婅鐩撮�氭秱瑁�)
+    /// 杞﹁韩缁戝畾宸ュ崟  鐒�-娑傘�佹秱-鎬诲伐鍗曠粦瀹�
     /// </summary>
     public partial class MESService
     {
@@ -27,7 +28,6 @@
             WebResponseContent content = new WebResponseContent();
             try
             {
-
                 var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_MESIPAddress);
                 var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.MESIPAddress)?.ConfigValue;
                 var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.bindWorkOrder)?.ConfigValue;
@@ -39,23 +39,23 @@
 
                 var stationInfo = _stationManagerRepository.QueryFirst(x => x.stationChildCode == stationNo);
 
-                var carBodyInfo = _carBodyRepository.QueryFirst(x => x.PVI == rfid);
+                var carBodyInfo = _carBodyRepository.QueryFirst(x => x.RFID == rfid);
 
-                if (carBodyInfo == null) throw new Exception($"鏈壘鍒癙VI{rfid}鐨勮溅韬暟鎹�");
+                //if (carBodyInfo == null) throw new Exception($"鏈壘鍒癙VI{rfid}鐨勮溅韬暟鎹�");
 
-                BindWorkOrder passPoint = new BindWorkOrder()
+                BindWorkOrder bindOrder = new BindWorkOrder()
                 {
                     unionKey = Guid.NewGuid().ToString(),
                     stationCode = "",
                     messageTime = DateTime.Now.ToString(),
                     plantCode = "1052",
-                    pvi = rfid,
-                    workOrderNo = carBodyInfo.workOrderNo,
-                    workOrderType = carBodyInfo.workOrderType,
-                    workshopCode = ""
+                    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.PostAsync(wmsIpAddress, passPoint.ToJson(), contentType, headers).Result;
+                var MESrespon = HttpHelper.PostAsync(wmsIpAddress, bindOrder.ToJson(), contentType, headers).Result;
 
                 Console.WriteLine(MESrespon);
                 WebResponseContent webResponse = JsonConvert.DeserializeObject<WebResponseContent>(MESrespon.ToString());
@@ -65,21 +65,40 @@
                 }
 
                 BindWorkOrderRespon characterRespon = JsonConvert.DeserializeObject<BindWorkOrderRespon>(webResponse.Data.ToJson());
-                var paintingOrderInfo = _paintingOrderInfoRepository.QueryFirst(x => x.workOrderNo == characterRespon.workOrderNo);
 
-                if (paintingOrderInfo == null) throw new Exception($"缁戝畾澶辫触:鏈壘鍒版秱瑁呭伐鍗曚俊鎭瘂characterRespon.workOrderNo}");
+                _unitOfWorkManage.BeginTran();
+                if (stationInfo.stationChildCode == "EL01RB")  //娑傝绮炬帓鐐�
+                {
+                    var paintingOrderInfo = _paintingOrderInfoRepository.QueryFirst(x => x.workOrderNo == characterRespon.workOrderNo);
 
-                paintingOrderInfo.pvi = characterRespon.pvi;
-                _paintingOrderInfoRepository.UpdateData(paintingOrderInfo);
+                    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