From 5231a00695cfd27cf320a4e19a0c1417cb99128d Mon Sep 17 00:00:00 2001 From: Demo <Demo@DESKTOP-CPA90BF> Date: 星期二, 20 二月 2024 10:23:16 +0800 Subject: [PATCH] 修改标签逻辑兼容余料退回单据,修改PDA绑定数量有误问题 --- Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | 67 +++++++++++++++++++++++---------- 1 files changed, 47 insertions(+), 20 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs index 9c0ad7a..34dfa59 100644 --- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs @@ -618,7 +618,7 @@ { throw new Exception("鍒拌揣鏁伴噺涓嶈兘灏忎簬0!"); } - + Db.BeginTran(); if (packLevel == 1) { #region 涓�绾у寘瑁� @@ -664,17 +664,31 @@ if (isReset == "0") { - var labelCount = label.Where(m => m.ASNDetailNo == imId).ToList(); - if (labelCount.Count <=0) + //鍒ゆ柇鍗曟嵁鏄惁鏄綑鏂欓��鍥炲崟 + if (asn.Type == "4") { - throw new Exception("褰撳墠鍗曟嵁鏄庣粏杩樻湭鐢熸垚鏍囩锛岃閫夋嫨閲嶇疆鎵规閫夐」涓衡�樻槸鈥欙紱"); + maxLotNoStr = asnList.LotNo; + maxBoxCode = label.Where(m=>m.LotNo == maxLotNoStr).Max(a => a.BoxNo); + if (string.IsNullOrWhiteSpace(maxLotNoStr)) + { + throw new Exception("杞﹂棿浣欐枡閫�鍥炲崟鎹壒娆′笉鑳戒负绌�"); + } } - maxLotNoStr = label.Max(a => a.LotNo); - maxBoxCode = label.Max(a => a.BoxNo); - if (string.IsNullOrWhiteSpace(maxLotNoStr)) + else { - maxLotNoStr = toDayTime.Substring(2, 6) + "0001"; + var labelCount = label.Where(m => m.ASNDetailNo == imId).ToList(); + if (labelCount.Count <= 0) + { + throw new Exception("褰撳墠鍗曟嵁鏄庣粏杩樻湭鐢熸垚鏍囩锛岃閫夋嫨閲嶇疆鎵规閫夐」涓衡�樻槸鈥欙紱"); + } + maxLotNoStr = label.Max(a => a.LotNo); + maxBoxCode = label.Max(a => a.BoxNo); + if (string.IsNullOrWhiteSpace(maxLotNoStr)) + { + maxLotNoStr = toDayTime.Substring(2, 6) + "0001"; + } } + } else { @@ -814,21 +828,33 @@ string toDayTime2 = DateTime.Now.ToString("yyyyMMdd"); if (isReset == "0") { - var labelCount = label.Where(m => m.ASNDetailNo == imId).ToList(); - if (labelCount.Count <= 0) + //鍒ゆ柇鍗曟嵁鏄惁鏄綑鏂欓��鍥炲崟 + if (asn.Type == "4") { - throw new Exception("褰撳墠鍗曟嵁鏄庣粏杩樻湭鐢熸垚鏍囩锛岃閫夋嫨閲嶇疆鎵规閫夐」涓衡�樻槸鈥欙紱"); + maxCodestr2 = asnList.LotNo; + maxboxcode2 = label.Where(m => m.LotNo == maxCodestr2).Max(a => a.BoxNo); + maxboxcode3 = label.Where(m => m.LotNo == maxCodestr2).Max(a => a.BoxNo3);//鏀彿 + if (string.IsNullOrWhiteSpace(maxCodestr2)) + { + throw new Exception("杞﹂棿浣欐枡閫�鍥炲崟鎹壒娆′笉鑳戒负绌�"); + } } - var maxCode = label.Max(a => a.LotNo); - var boxCode1 = label.Max(a => a.BoxNo);//绠卞彿 - var boxCode2 = label.Max(a => a.BoxNo3);//鏀彿 - maxCodestr2 = maxCode; - maxboxcode2 = boxCode1; - maxboxcode3 = boxCode2; - if (string.IsNullOrWhiteSpace(maxCodestr2)) + else { - maxCodestr2 = toDayTime2.Substring(2, 6) + "0001"; + var labelCount = label.Where(m => m.ASNDetailNo == imId).ToList(); + if (labelCount.Count <= 0) + { + throw new Exception("褰撳墠鍗曟嵁鏄庣粏杩樻湭鐢熸垚鏍囩锛岃閫夋嫨閲嶇疆鎵规閫夐」涓衡�樻槸鈥欙紱"); + } + maxCodestr2 = label.Max(a => a.LotNo); ; + maxboxcode2 = label.Max(a => a.BoxNo);//绠卞彿; + maxboxcode3 = label.Max(a => a.BoxNo3);//鏀彿; + if (string.IsNullOrWhiteSpace(maxCodestr2)) + { + maxCodestr2 = toDayTime2.Substring(2, 6) + "0001"; + } } + } else { @@ -988,7 +1014,7 @@ Db.Updateable(asnList).ExecuteCommand(); } } - + Db.CommitTran(); return modelList; @@ -996,6 +1022,7 @@ } catch (Exception e) { + Db.RollbackTran(); throw new Exception(e.Message); } } -- Gitblit v1.8.0