From 2abf4959b71e7dd6ee6ee8a349ecc5c2f7b20fce Mon Sep 17 00:00:00 2001 From: YangYuGang <1378265336@qq.com> Date: 星期日, 20 四月 2025 20:28:56 +0800 Subject: [PATCH] Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/Server/TigerApi6_2024 --- Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs | 99 +++++++++++++++++++++++++++++++++++-------------- Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN.cs | 2 + 2 files changed, 72 insertions(+), 29 deletions(-) diff --git a/Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs b/Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs index e4abf00..aad7928 100644 --- a/Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs +++ b/Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs @@ -20,6 +20,7 @@ using Tiger.Model.Minsun; using static IronPython.Runtime.Profiler; using static Microsoft.CodeAnalysis.CSharp.SyntaxTokenParser; +using Microsoft.Scripting.Utils; namespace Tiger.Business.WMS.Transaction { @@ -32,18 +33,28 @@ { base.Init(id, userCode, apiHost, orgCode); Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]"); + LoadData(); return this; } #region Propertys & Variables //private List<WmsOrder<BIZ_U9_ASN>> _OrderList { get; set; } = new(); private List<string> OrderList = new(); - private BIZ_U9_ASN order = new(); + private BIZ_U9_ASN CurOrder = new(); private List<BIZ_U9_ASN_SN> CurSn = new(); List<string> SnList = new(); + private string rcvDocType = "RCV03"; //榛樿鏃犲崟 #endregion #region Functions + /// <summary> + /// 鍒濆鍖栨竻鐐规暟鎹� + /// </summary> + private void LoadData() + { + var _Sns = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.ORDER_NO == SqlFunc.Subqueryable<BIZ_U9_ASN_DTL>().Where(s => SqlFunc.StartsWith(s.UPDATE_USER, $"GenerateASN_{UserCode}")).Select(s => s.ORDER_NO)).ToList(); + CurSn.AddRange(_Sns); + } /// <summary> /// 鎵弿鍏ュ彛 /// </summary> @@ -100,15 +111,15 @@ var action = new ApiAction<ScanOutput>($"鎴愬姛鑾峰彇ASN鍗昜{input.SN}]淇℃伅", new ScanOutput()); try { - order = await MainDB.Queryable<BIZ_U9_ASN>().Where(q => q.ORDER_NO == input.SN && q.STATUS < BIZ_U9_ASN.STATUSs.Finished.GetValue()).Includes(q => q.Details, d => d._ItemInfos).IncludesAllFirstLayer().FirstAsync(); - if (order == null) + CurOrder = await MainDB.Queryable<BIZ_U9_ASN>().Where(q => q.ORDER_NO == input.SN && q.STATUS < BIZ_U9_ASN.STATUSs.Finished.GetValue()).Includes(q => q.Details, d => d._ItemInfos).IncludesAllFirstLayer().FirstAsync(); + if (CurOrder == null) { action.IsSuccessed = false; action.LocaleMsg = Biz.L($"鏌ヤ笉鍒癆SN鍗昜{input.SN}]鐨勬暟鎹�"); return action; } - action.LocaleMsg = order.STATUS == BIZ_U9_ASN.STATUSs.Counting.GetValue() ? Biz.L($"ASN鍗昜{input.SN}]鐘舵�佷负[{BIZ_U9_ASN.STATUSs.Counting.GetDesc()}]锛岃缁х画鏈畬鎴愮殑鎿嶄綔") : action.LocaleMsg; - action.Data.Data = order; + action.LocaleMsg = CurOrder.STATUS == BIZ_U9_ASN.STATUSs.Counting.GetValue() ? Biz.L($"ASN鍗昜{input.SN}]鐘舵�佷负[{BIZ_U9_ASN.STATUSs.Counting.GetDesc()}]锛岃缁х画鏈畬鎴愮殑鎿嶄綔") : action.LocaleMsg; + action.Data.Data = CurOrder; } catch (Exception ex) { @@ -129,6 +140,14 @@ var action = new ApiAction<ScanOutput>(new ScanOutput()); try { + var reqType = input.Options["reqType"].ToString(); + rcvDocType = "RCV01"; + if (reqType != "1") + { + action.IsSuccessed = false; + action.LocaleMsg = Biz.L($"涓嶆槸闅忓崟璧犲搧锛屼笉鐢ㄦ壂鎻忔潯鐮�"); + return action; + } var AsnSn = await MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.SN == input.SN).FirstAsync(); if (AsnSn == null) { @@ -136,26 +155,39 @@ action.LocaleMsg = Biz.L($"鏌ヤ笉鍒版潯鐮乕{input.SN}]鐨勬暟鎹�"); return action; } - if (CurSn.Count > 0 && CurSn.Any(q => q.LOTNO == AsnSn.LOTNO && q.STATUS <= WMS_ITEM.STATUSs.Counted.GetValue())) - { - action.IsSuccessed = false; - action.LocaleMsg = Biz.L($"宸茬粡瀛樺湪鐨勬壒娆{AsnSn.LOTNO}]鏈畬鎴愭搷浣滐紝璇峰厛瀹屾垚姝ゆ壒娆�"); - return action; - } - order = await MainDB.Queryable<BIZ_U9_ASN>().Where(q => q.ORDER_NO == AsnSn.ORDER_NO).Includes(q => q.Details, d => d._ItemInfos).IncludesAllFirstLayer().FirstAsync(); - if (order == null) + CurOrder = await MainDB.Queryable<BIZ_U9_ASN>().Where(q => q.ORDER_NO == AsnSn.ORDER_NO).Includes(q => q.Details, d => d._ItemInfos).IncludesAllFirstLayer().FirstAsync(); + if (CurOrder == null) { action.IsSuccessed = false; action.LocaleMsg = Biz.L($"鏌ヤ笉鍒癆SN鍗昜{input.SN}]鐨勬暟鎹�"); return action; } - //濡傛灉鏄涓�娆℃壂鎻忥紝鐢熸垚鍗曞彿 - if (CurSn.Count == 0) + var _sns = CurSn.Where(q => q.LOTNO == AsnSn.LOTNO && q.STATUS <= WMS_ITEM.STATUSs.Counted.GetValue()).ToList(); + if (CurSn.Count > 0 && _sns.Any()) { - action.Data.Command = $"WASN{DateTime.Now.ToString("yyyyMMddHHmmss")}"; + action.LocaleMsg = Biz.L($"鎵规[{AsnSn.LOTNO}]宸茬粡鎻愪氦锛岃缁х画涓嬩竴姝ユ搷浣�"); + var _Order = await MainDB.Queryable<BIZ_U9_ASN>().Where(q => q.ORDER_NO == _sns[0].ORDER_NO).Includes(q => q.Details, d => d._ItemInfos).IncludesAllFirstLayer().FirstAsync(); + if (_Order == null) + { + action.IsSuccessed = false; + action.LocaleMsg = Biz.L($"鏌ヤ笉鍒癆SN鍗昜{_Order.ORDER_NO}]鐨勬暟鎹�"); + return action; + } + _Order.Details = _Order.Details.Where(q => _sns[0].LINE_NO == q.LINE_NO).ToList(); + SnList.AddRange(_sns.Select(q => q.SN).ToList()); + _Order.BarcodeList = SnList; + action.Data.Data = _Order; + return action; + } + if (CurSn.Any(q=> q.ORDER_NO == AsnSn.ORDER_NO && q.LINE_NO == AsnSn.LINE_NO)) + { + action.IsSuccessed = false; + action.LocaleMsg = Biz.L($"鎵弿鐨勬潯鐮佺殑ASN鍗昜{AsnSn.ORDER_NO}]鐨勮鍙穂{AsnSn.LINE_NO}]宸茬粡瀛樺湪锛岃鍏堝畬鎴愭湭瀹屾垚鐨勬搷浣�"); + return action; } CurSn.Add(AsnSn); - var _order = order.Clone(); + var _order = CurOrder.Clone(); + CurOrder.ORDER_NO = $"WASN{DateTime.Now.ToString("yyyyMMddHHmmss")}"; _order.Details = _order.Details.Where(q => CurSn.Any(s => s.LINE_NO == q.LINE_NO)).ToList(); action.LocaleMsg = Biz.L($"鎴愬姛鑾峰彇ASN鍗昜{AsnSn.ORDER_NO}]鐨勪俊鎭�"); action.Data.Data = _order; @@ -181,27 +213,37 @@ { var reqType = input.Options["reqType"].ToString(); var dtl = input.Options["record"].ToString().JsonToObject<BIZ_U9_ASN_DTL>(); + CurOrder = CurOrder??new() { + SUPP_CODE = dtl.SUPP_CODE, + DELIVERY_DATE = DateTime.Now, + PLANARRIVED_DATE = DateTime.Now, + AUTH_ORG = OrgCode, + }; + CurOrder.ORDER_NO = $"WASN{DateTime.Now.ToString("yyyyMMddHHmmss")}"; + dtl.UPDATE_USER = $"GenerateASN_{UserCode}"; + dtl.REMARK = CurSn.Where(q => q.ORDER_NO == dtl.ORDER_NO && q.LINE_NO == dtl.LINE_NO).FirstOrDefault()?.SN; + dtl.ORDER_NO = CurOrder.ORDER_NO; BIZ_U9_ASN Asn = new() { ID = Guid.NewGuid().ToString("N"), - ORDER_NO = dtl.ORDER_NO, + ORDER_NO = CurOrder.ORDER_NO, STATUS = BIZ_U9_ASN.STATUSs.Counting.GetValue(), - SUPP_CODE = order.SUPP_CODE, - SUPP_NAME = order.SUPP_NAME, - DELIVERY_DATE = order.DELIVERY_DATE, - PLANARRIVED_DATE = order.PLANARRIVED_DATE, + SUPP_CODE = CurOrder.SUPP_CODE, + SUPP_NAME = CurOrder.SUPP_NAME, + DELIVERY_DATE = CurOrder.DELIVERY_DATE, + PLANARRIVED_DATE = CurOrder.PLANARRIVED_DATE, ORDER_DATE = DateTime.Now, CREATE_TIME = DateTime.Now, CREATE_USER = $"Print_BIZ_U9_ASN_{UserCode}", UPDATE_TIME = DateTime.Now, UPDATE_USER = $"Print_BIZ_U9_ASN_{UserCode}", - AUTH_ORG = order.AUTH_ORG, + AUTH_ORG = CurOrder.AUTH_ORG, }; //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊� var _dtl = dtl.Clone(); _dtl.ID = Guid.NewGuid().ToString("N"); _dtl.IS_GIFT = reqType == "1" ? "Y" : "N"; - _dtl.AUTH_ORG = order.AUTH_ORG; + _dtl.AUTH_ORG = CurOrder.AUTH_ORG; input.Options["record"] = _dtl.ToJson(); var _Asn = Asn.Clone(); AddCommitAction("GenerateASN", () => @@ -210,7 +252,7 @@ var db = GetCommitDB(); //鏁版嵁淇濆瓨閫昏緫 db.Insertable(_Asn, UserCode).ExecuteCommand(); - var y = db.Storageable(_dtl, UserCode).WhereColumns(t => new { t.ORDER_NO, t.LINE_NO, t.GHOST_ROW }).ToStorage(); + var y = db.Storageable(_dtl).WhereColumns(t => new { t.ORDER_NO, t.LINE_NO, t.GHOST_ROW }).ToStorage(); y.AsInsertable.ExecuteCommand(); y.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(q => new { q.ITEM_CODE, q.AUTH_ORG, q.QTY, q.STATUS, q.SUPP_CODE, q.SUPP_LOTNO, q.QTY_PACKING, q.QTY_GIFT, q.IS_GIFT, q.UPDATE_TIME, q.UPDATE_USER, }).ExecuteCommand(); }); @@ -397,7 +439,6 @@ //濡傛灉鏄殢鍗曡禒鍝佹垨鑰呮牱鍝� if (reqType.ToInt32() > 0) { - var rcvDocType = reqType == "1" ? "RCV01" : "RCV03"; var iInput = new CreateReceivementInput { userId = UserCode, @@ -424,8 +465,8 @@ RcvQtyPU = 0, EyeballingQtyTU = q.QTY, RcvProcedure = 0, - RcvLotCode = rcvDocType == "RCV03" ? $"{DateTime.Now.ToString("yyyyMMdd")}" : "", - InvLotCode = rcvDocType == "RCV03"? $"{DateTime.Now.ToString("yyyyMMdd")}": q.LOTNO, + RcvLotCode = q.SUPP_LOTNO, + InvLotCode = q.LOTNO, }).ToList(), } }, @@ -444,7 +485,7 @@ var iInput = new CreateRcvBySrcASNInput { userId = UserCode, - IsLogin = false, // true, + IsLogin = true, CreateRcvBySrcASNParam = new() { aSNToRcvTransDTOs = finishNotSubmit.Select(q => new ASNToRcvTransDTO diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN.cs index dda1f6d..0b7d38a 100644 --- a/Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN.cs +++ b/Tiger.Model.Net/Entitys/WMS/BIZ_U9_ASN.cs @@ -123,6 +123,8 @@ */ [SugarColumn(IsIgnore = true)] public bool IsFinished { get; set; } + [SugarColumn(IsIgnore = true)] + public List<string> BarcodeList { get; set; } #endregion #region 澶栭敭灞炴�� -- Gitblit v1.9.3