From 891207469b41c23d22805876a4e179d75832572f Mon Sep 17 00:00:00 2001
From: leiqunqing <zhengqifeng@hnkhzn.com>
Date: 星期四, 05 三月 2026 11:03:52 +0800
Subject: [PATCH] 完整项目更新

---
 代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs |   43 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 38 insertions(+), 5 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs"
index 03b6dce..fa9372b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs"
@@ -11,6 +11,7 @@
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_DTO.BasicInfo;
+using WIDESEAWCS_IBasicInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
 
@@ -22,6 +23,10 @@
         private readonly IBoxingService _boxingService;
         private readonly IFormulaService _formulaService;
         private readonly IFormulaDetailService _formulaDetailService;
+        private readonly IProcessInfoDetailService _processInfoDetailService;
+        private readonly IScanStationService _scanStationService;
+        
+
         private readonly IUnitOfWorkManage _unitOfWorkManage;
 
         public BoxingDetailService(
@@ -29,13 +34,18 @@
             IFormulaService formulaService,
             IBoxingService boxingService,
             IFormulaDetailService formulaDetailService,
+            IProcessInfoDetailService processInfoDetailService,
+            IScanStationService scanStationService,
             IUnitOfWorkManage unitOfWorkManage
             ) : base(BaseDal)
         {
             _formulaService = formulaService;
             _boxingService = boxingService;
             _formulaDetailService = formulaDetailService;
+            _processInfoDetailService = processInfoDetailService;
+            _scanStationService = scanStationService;
             _unitOfWorkManage = unitOfWorkManage;
+            
         }
 
         public IRepository<Dt_BoxingDetail> Repository => BaseDal;
@@ -103,6 +113,7 @@
         /// <returns></returns>
         public string IsComponentCodesEqual(List<string> boxingDetails, List<string> formulaDetails)
         {
+
             // 澶勭悊null闆嗗悎锛岃閬跨┖鎸囬拡寮傚父
             var boxList = boxingDetails ?? new List<string>();
             var formulaList = formulaDetails ?? new List<string>();
@@ -142,15 +153,17 @@
                         return WebResponseContent.Instance.Error("鎻愪氦鍙傛暟涓嶈兘涓虹┖");
                     }
                     string productCode = toolingBoardSubmitDto.FinishedProductCode?.Trim();
+
+                    string proCode = string.Empty;
+                    string proOther = string.Empty;
+
                     if (!string.IsNullOrWhiteSpace(productCode))
                     {
-                        string proCode = string.Empty;
-                        string proOther = string.Empty;
 
                         var proCodeMatch = System.Text.RegularExpressions.Regex.Match(productCode, @"TX(\d+)(?=\s|\||$)", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                         if (proCodeMatch.Success)
                         {
-                            proCode = $"TX{proCodeMatch.Groups[1].Value.Trim()}"; // 鎷兼帴TX+鏁板瓧锛屼繚鎸佹牸寮忕粺涓�
+                            proCode = $"TX{proCodeMatch.Groups[1].Value.Trim()}";
                         }
 
                         // 姝e垯2锛氬尮閰嶈繛缁殑10浣嶇函鏁板瓧锛堝叏灞�鍖归厤锛屽彇绗竴涓鍚堢殑鍗冲彲锛�
@@ -165,6 +178,12 @@
                         if (formulaModel == null)
                         {
                             return WebResponseContent.Instance.Error("鏃犳垚鍝侀厤鏂癸紝璇锋牳瀵规垚鍝佺紪鐮�");
+                        }
+
+                        Dt_ScanStation dt_ScanStation = _scanStationService.Repository.QueryFirst(x => x.StationCode == "001");
+                        if (dt_ScanStation.StationEndProduct != proCode) 
+                        {
+                            return WebResponseContent.Instance.Error("鎴愬搧缂栧彿閿欒");
                         }
 
                         List<Dt_FormulaDetail> dt_FormulaDetails = _formulaDetailService.Repository.QueryData(x => x.FormulaId == formulaModel.Id && x.IsScanned == 1);
@@ -193,6 +212,11 @@
                         if (!PalletCode.IsNotEmptyOrNull() || PalletCode == "NoRead")
                         {
                             throw new InvalidOperationException("鎵樼洏鐮佹湭鎵埌锛岃閲嶈瘯");
+                        }
+                        Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+                        if(dt_Boxing != null)
+                        {
+                            throw new InvalidOperationException("鎵樼洏鐮侀噸澶嶆壂鎻�");
                         }
                         Dt_Boxing existBoxinModel = new Dt_Boxing();
                         existBoxinModel.PalletCode = PalletCode;
@@ -326,9 +350,18 @@
                     //    #endregion
                     //}
                     //uow.Commit();
-                    //string msg = existBoxinModel == null ? "缁勭洏淇℃伅鏂板鎴愬姛锛�" : "缁勭洏淇℃伅淇敼鎴愬姛锛�";
+                    string msg = null;
+                    List<Dt_ProcessInfoDetail> dt_ProcessInfoDetail = _processInfoDetailService.Repository
+                            .QueryData(x => x.ProductSn == proOther && x.ProductCode == proCode).ToList();
 
-                    return WebResponseContent.Instance.OK();
+                    // 3. 鍒ゆ柇鏌ヨ缁撴灉锛屽瓨鍦ㄥ垯璧嬪�兼彁绀轰俊鎭�
+                    if (dt_ProcessInfoDetail.Count<=3 && dt_ProcessInfoDetail.Count != 0)
+                    {
+                        msg = "宸叉湁娴佹按鍙�";
+                    }
+
+                    // 4. 杩斿洖鍝嶅簲锛堝瓨鍦ㄩ噸澶嶅垯msg鏄�"宸叉湁娴佹按鍙�"锛屼笉瀛樺湪鍒檓sg涓簄ull锛�
+                    return WebResponseContent.Instance.OK(msg);
                 }
                 catch (Exception ex)
                 {

--
Gitblit v1.9.3