From 4717389bfc9cdd522b32f2bc04d0e59af8d76621 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 29 十月 2025 08:47:21 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs |  128 ++++++++++++++++++++++++++++--------------
 1 files changed, 85 insertions(+), 43 deletions(-)

diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index 2c91721..98006d1 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -410,22 +410,41 @@
                         }
                         string lot1 = detailModel.Lot1;
                         string lot2 = detailModel.Lot2;
-                        if (sku.IsInspect == "0")//鏄惁鍏嶆锛�0锛氬惁 1锛氭槸
+                        //if (sku.IsControlled == "0")//鏄惁璇烽獙锛�0锛氭槸 1锛氬惁
+                        //{
+                        //    //闇�瑕佽楠岀墿鏂� 鐢熶骇鏃ユ湡銆佹湁鏁堟湡涓嶈兘涓虹┖
+                        //    DateTime lot12;
+                        //    DateTime lot22;
+                        //    if (!DateTime.TryParse(detailModel.Lot1, out lot12))
+                        //    {
+                        //        throw new Exception("闇�瑕佽楠屾枡鐢熶骇鏃ユ湡杞崲澶辫触");
+                        //    }
+                        //    if (!DateTime.TryParse(detailModel.Lot2, out lot22))
+                        //    {
+                        //        throw new Exception("闇�瑕佽楠屾枡杩囨湡鏃ユ湡杞崲澶辫触");
+                        //    }
+                        //    lot1 = lot12.ToString("yyyy-MM-dd");
+                        //    lot2 = lot22.ToString("yyyy-MM-dd");
+                        //}
+                        if (!string.IsNullOrEmpty(lot1))
                         {
-                            //涓嶅厤妫�鐗╂枡 鐢熶骇鏃ユ湡銆佹湁鏁堟湡涓嶈兘涓虹┖
                             DateTime lot12;
-                            DateTime lot22;
                             if (!DateTime.TryParse(detailModel.Lot1, out lot12))
                             {
-                                throw new Exception("涓嶅厤妫�鐗╂枡鐢熶骇鏃ユ湡杞崲澶辫触");
-                            }
-                            if (!DateTime.TryParse(detailModel.Lot2, out lot22))
-                            {
-                                throw new Exception("涓嶅厤妫�鐗╂枡杩囨湡鏃ユ湡杞崲澶辫触");
+                                throw new Exception("鐢熶骇鏃ユ湡杞崲澶辫触锛岃妫�鏌ユ牸寮忔槸鍚︽纭�");
                             }
                             lot1 = lot12.ToString("yyyy-MM-dd");
+                        }
+                        if (!string.IsNullOrEmpty(lot2))
+                        {
+                            DateTime lot22;
+                            if (!DateTime.TryParse(detailModel.Lot2, out lot22))
+                            {
+                                throw new Exception("鍒版湡鏃ユ湡杞崲澶辫触锛岃妫�鏌ユ牸寮忔槸鍚︽纭�");
+                            }
                             lot2 = lot22.ToString("yyyy-MM-dd");
                         }
+
                         if (string.IsNullOrWhiteSpace(detailModel.PackagNo))
                         {
                             detailModel.PackagNo = sku.PackagNo;
@@ -501,6 +520,7 @@
             }
             catch (Exception ex)
             {
+                Db.Ado.RollbackTran();
                 throw new Exception(ex.Message);
             }
         }
@@ -536,8 +556,9 @@
                             }
                         }
                     }
-                    catch
+                    catch(Exception ex)
                     {
+                        throw new Exception($"鐗╂枡缂栫爜锛歿model.AsnDetail[0].SkuNo},鐗╂枡鍚嶇О锛歿model.AsnDetail[0].SkuName}锛屽鍏ュけ璐ワ細"+ex.Message);
                         // ignored
                     }
                 }
@@ -639,47 +660,67 @@
 
                         // 2. 灏嗗瓧绗︿覆绫诲瀷鐨処sControlled杞崲涓篵ool锛堟牴鎹疄闄呭彇鍊艰鍒欒皟鏁达級
                         // 姣斿锛�"1"琛ㄧず鍙楁帶锛�"0"琛ㄧず涓嶅彈鎺э紱鎴�"True"/"False"锛涙垨"鏄�"/"鍚�"
-                        bool isControlled;
-                        if (!bool.TryParse(material.IsControlled, out isControlled))
-                        {
-                            // 澶勭悊闈炴爣鍑嗘牸寮忥紙濡�"1"/"0"锛�
-                            isControlled = material.IsControlled == "1" ||
-                                           string.Equals(material.IsControlled, "鏄�", StringComparison.OrdinalIgnoreCase);
-                        }
+                        //bool isControlled;
+                        //if (!bool.TryParse(material.IsControlled, out isControlled))
+                        //{
+                        //    // 澶勭悊闈炴爣鍑嗘牸寮忥紙濡�"1"/"0"锛�
+                        //    isControlled = material.IsControlled == "1" ||
+                        //                   string.Equals(material.IsControlled, "鏄�", StringComparison.OrdinalIgnoreCase);
+                        //}
 
                         // 3. 鏍规嵁鍙楁帶鐘舵�侀獙璇佹棩鏈�
-                        if (isControlled)
+                        //if (material.IsControlled=="0")
+                        //{
+                        //    // 鍙楁帶鐘舵�侊細鐢熶骇鏃ユ湡蹇呭~
+                        //    if (string.IsNullOrWhiteSpace(detailModel.Lot1))
+                        //        return $"-1:鐗╂枡{detailModel.SkuNo}涓洪渶璇烽獙鐗╂枡锛岀敓浜ф棩鏈熶笉鍙负绌�;";
+
+                        //    // 鍙楁帶鐘舵�侊細杩囨湡鏃ユ湡蹇呭~
+                        //    if (string.IsNullOrWhiteSpace(detailModel.Lot2))
+                        //        return $"-1:鐗╂枡{detailModel.SkuNo}涓洪渶璇烽獙鐗╂枡锛岃繃鏈熸棩鏈熶笉鍙负绌�;";
+
+                        //    // 楠岃瘉鏃ユ湡鏍煎紡鏈夋晥鎬�
+                        //    if (!DateTime.TryParse(detailModel.Lot1, out DateTime productionDate))
+                        //        return $"-1:鐗╂枡{detailModel.SkuNo}鐨勭敓浜ф棩鏈熸牸寮忛敊璇紝璇蜂娇鐢ㄦ湁鏁堟棩鏈熸牸寮�;";
+
+                        //    if (!DateTime.TryParse(detailModel.Lot2, out DateTime expiryDate))
+                        //        return $"-1:鐗╂枡{detailModel.SkuNo}鐨勮繃鏈熸棩鏈熸牸寮忛敊璇紝璇蜂娇鐢ㄦ湁鏁堟棩鏈熸牸寮�;";
+
+                        //    // 楠岃瘉杩囨湡鏃ユ湡涓嶈兘鏃╀簬鐢熶骇鏃ユ湡
+                        //    if (expiryDate <= productionDate)
+                        //        return $"-1:鐗╂枡{detailModel.SkuNo}鐨勮繃鏈熸棩鏈熶笉鑳芥棭浜庣敓浜ф棩鏈�;";
+                        //}
+
+                        if (!string.IsNullOrEmpty(detailModel.Lot1))
                         {
-                            // 鍙楁帶鐘舵�侊細鐢熶骇鏃ユ湡蹇呭~
-                            if (string.IsNullOrWhiteSpace(detailModel.Lot1))
-                                return $"-1:鐗╂枡{detailModel.SkuNo}涓哄彈鎺х墿鏂欙紝鐢熶骇鏃ユ湡涓嶅彲涓虹┖;";
-
-                            // 鍙楁帶鐘舵�侊細杩囨湡鏃ユ湡蹇呭~
-                            if (string.IsNullOrWhiteSpace(detailModel.Lot2))
-                                return $"-1:鐗╂枡{detailModel.SkuNo}涓哄彈鎺х墿鏂欙紝杩囨湡鏃ユ湡涓嶅彲涓虹┖;";
-
-                            // 楠岃瘉鏃ユ湡鏍煎紡鏈夋晥鎬�
-                            if (!DateTime.TryParse(detailModel.Lot1, out DateTime productionDate))
-                                return $"-1:鐗╂枡{detailModel.SkuNo}鐨勭敓浜ф棩鏈熸牸寮忛敊璇紝璇蜂娇鐢ㄦ湁鏁堟棩鏈熸牸寮�;";
-
-                            if (!DateTime.TryParse(detailModel.Lot2, out DateTime expiryDate))
-                                return $"-1:鐗╂枡{detailModel.SkuNo}鐨勮繃鏈熸棩鏈熸牸寮忛敊璇紝璇蜂娇鐢ㄦ湁鏁堟棩鏈熸牸寮�;";
-
-                            // 楠岃瘉杩囨湡鏃ユ湡涓嶈兘鏃╀簬鐢熶骇鏃ユ湡
-                            if (expiryDate <= productionDate)
-                                return $"-1:鐗╂枡{detailModel.SkuNo}鐨勮繃鏈熸棩鏈熶笉鑳芥棭浜庣敓浜ф棩鏈�;";
+                            DateTime lot12;
+                            if (!DateTime.TryParse(detailModel.Lot1, out lot12))
+                            {
+                                throw new Exception("鐢熶骇鏃ユ湡杞崲澶辫触锛岃妫�鏌ユ牸寮忔槸鍚︽纭�");
+                            }
+                            detailModel.Lot1 = lot12.ToString("yyyy-MM-dd");
                         }
+                        if (!string.IsNullOrEmpty(detailModel.Lot2))
+                        {
+                            DateTime lot22;
+                            if (!DateTime.TryParse(detailModel.Lot2, out lot22))
+                            {
+                                throw new Exception("鍒版湡鏃ユ湡杞崲澶辫触锛岃妫�鏌ユ牸寮忔槸鍚︽纭�");
+                            }
+                            detailModel.Lot2 = lot22.ToString("yyyy-MM-dd");
+                        }
+
                         // 涓嶅彈鎺х姸鎬侊細鏃ユ湡闈炲繀濉紝鏃犻渶楠岃瘉
 
                         // 鍘熸湁鎵规鐩稿叧楠岃瘉锛堜繚鐣欙級
-                        if (TypeLot.Contains(model.Type))
-                        {
-                            if (string.IsNullOrWhiteSpace(detailModel.Lot1))
-                                throw new Exception("鐢熶骇鏃ユ湡涓嶅彲涓虹┖!");
+                        //if (TypeLot.Contains(model.Type))
+                        //{
+                        //    if (string.IsNullOrWhiteSpace(detailModel.Lot1))
+                        //        throw new Exception("鐢熶骇鏃ユ湡涓嶅彲涓虹┖!");
 
-                            if (string.IsNullOrWhiteSpace(detailModel.Lot2))
-                                throw new Exception("杩囨湡鏃ユ湡涓嶅彲涓虹┖!");
-                        }
+                        //    if (string.IsNullOrWhiteSpace(detailModel.Lot2))
+                        //        throw new Exception("杩囨湡鏃ユ湡涓嶅彲涓虹┖!");
+                        //}
 
                         // 楠岃瘉鐗╂枡鍜屾壒娆″彿鏄惁閲嶅
                         if (dbDetailModels.Any(m => m.SkuNo == detailModel.SkuNo
@@ -692,7 +733,7 @@
 
                         // 澶勭悊浠锋牸榛樿鍊�
                         detailModel.Price ??= 0;
-
+                        detailModel.BoxCodeStr = detailModel.LotNo;
                         // 鐢熸垚绠辩爜锛堣嚜鏈夋壒娆¢�昏緫锛�
                         if (detailModel.Id == 0 || detailModel.Id == null || string.IsNullOrWhiteSpace(detailModel.LotNo))
                         {
@@ -824,6 +865,7 @@
             }
             catch (Exception ex)
             {
+                Db.Ado.RollbackTran();
                 throw ex;
             }
         }

--
Gitblit v1.8.0