From e163a27328c805ffec7c894259430f76f0881d00 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期四, 03 四月 2025 23:12:23 +0800 Subject: [PATCH] 更新收货单提交按行提交已完成清点的行,上架增加IQC审核的判断 --- Tiger.Business.WMS/ERP/U9C_WMS.cs | 8 +- Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs | 2 Tiger.Api/Language.db | 0 Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransferIn.cs | 24 ++++---- Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs | 31 +++++++--- Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs | 12 +++ Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT_DTL.cs | 28 ++++++--- Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs | 8 ++ Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransInLine.cs | 40 ++++++------ 9 files changed, 98 insertions(+), 55 deletions(-) diff --git a/Tiger.Api/Language.db b/Tiger.Api/Language.db index be164f4..9a024a6 100644 --- a/Tiger.Api/Language.db +++ b/Tiger.Api/Language.db Binary files differ diff --git a/Tiger.Business.WMS/ERP/U9C_WMS.cs b/Tiger.Business.WMS/ERP/U9C_WMS.cs index 9563e70..28f4a1d 100644 --- a/Tiger.Business.WMS/ERP/U9C_WMS.cs +++ b/Tiger.Business.WMS/ERP/U9C_WMS.cs @@ -340,8 +340,10 @@ AUTH_ORG = orgs.FirstOrDefault(q => q.ID == item.Org.ToString())?.ORG_CODE, //鐢熶骇鍗曞厓鎺堟潈鏍囪瘑瀛楃 CREATE_TIME = item.ModifiedOn,//--鏃堕棿涓嶆洿鏂� CREATE_USER = UserCode, - UPDATE_TIME = item.ModifiedOn, - UPDATE_USER = UserCode + UPDATE_TIME = item.ModifiedOn, + UPDATE_USER = UserCode, + ERP_STATUS_CODE = item.Status.ToString(), + ERP_STATUS_NAME = item.StatusName, }; resultDt.Add(info); } @@ -367,7 +369,7 @@ .WhereColumns(t => new { t.ORDER_NO, t.LINE_NO, t.GHOST_ROW }) .ToStorage(); y.AsInsertable.ExecuteCommand(); - y.AsUpdateable.UpdateColumns(q => new { q.STATUS, q.ORDER_NO, q.LINE_NO, q.ITEM_CODE, q.QTY, q.AUTH_ORG, q.CREATE_USER, q.UPDATE_USER, q.UPDATE_TIME }).ExecuteCommand(); + y.AsUpdateable.UpdateColumns(q => new { q.STATUS, q.ORDER_NO, q.LINE_NO, q.ITEM_CODE, q.QTY, q.AUTH_ORG, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.CREATE_USER, q.CREATE_TIME, q.UPDATE_USER, q.UPDATE_TIME }).ExecuteCommand(); }); } Logger.Scheduler.Info($"鏀惰揣鍗曡〃澶翠俊鎭瓨鍏ユ暟鎹簱锛屾�绘暟锛歔{resultDt.Count}]"); diff --git a/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs b/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs index 8fbcc2c..912f92e 100644 --- a/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs +++ b/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs @@ -402,12 +402,13 @@ return action; } - //鏌ヨ鏄惁娓呯偣瀹屾垚 + //鏌ヨ鏄惁瀛樺湪娓呯偣瀹屾垚鐨勮鏄庣粏锛屽鏋滄湁鍒欏厛鎻愪氦瀹屾垚鐨勮锛屽鏋滄病鏈夊垯鎶ラ敊 + var finishNotSubmit = order.Details.Where(q => SqlFunc.IsNullOrEmpty(q.RECEIVER_NO) && q.QTY == order.SnList.Where(s => s.LINE_NO == q.LINE_NO && (s.STATUS == WMS_ITEM.STATUSs.Counted.GetValue() || q.STATUS == WMS_ITEM.STATUSs.Rejected.GetValue())).Sum(s => s.QTY)).ToList(); var noFinish = order.Details.Where(q => q.QTY != order.SnList.Where(s => s.LINE_NO == q.LINE_NO && (s.STATUS == WMS_ITEM.STATUSs.Counted.GetValue() || q.STATUS == WMS_ITEM.STATUSs.Rejected.GetValue())).Sum(s => s.QTY)); - if (noFinish.Any()) + if (!finishNotSubmit.Any()) { action.IsSuccessed = false; - //action.LocaleMsg = Biz.L("閫佽揣鍗昜{0}]鏈竻鐐瑰畬鎴愶紝璇峰厛娓呯偣瀹屾垚锛屾湭瀹屾垚娓呯偣鐨勮鍙峰涓嬶細{1}"); + //action.LocaleMsg = Biz.L("閫佽揣鍗昜{0}]娌℃湁娓呯偣瀹屾垚鍙互鎻愪氦鐨勮锛屾湭瀹屾垚娓呯偣鐨勮鍙峰涓嬶細{1}"); action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.GenerateReceipt.NoFinishCounting", orderNo, string.Join("锛�", noFinish.Select(q => q.LINE_NO))); return action; } @@ -418,7 +419,7 @@ IsLogin = true, CreateRcvBySrcASNParam = new() { - aSNToRcvTransDTOs = order.Details.Select(q => new ASNToRcvTransDTO + aSNToRcvTransDTOs = finishNotSubmit.Select(q => new ASNToRcvTransDTO { ASNLineKey = q.ID, TransQty = new() { m_amount1 = q.QTY }, @@ -459,7 +460,7 @@ foreach (var item in list) { - var asnDtl = order.Details.First(q => q.ID == item.SrcASNDocLineId.ToString()); + var asnDtl = finishNotSubmit.First(q => q.ID == item.SrcASNDocLineId.ToString()); BIZ_U9_RECEIPT_DTL receiptDt = new() { ID = item.RcvLineId.ToString(), @@ -475,8 +476,16 @@ ASN_LINE_ID = item.SrcASNDocLineId.ToString(), ASN_LINE = asnDtl.LINE_NO, ERP_CODE = item.ItemCode1, + ERP_STATUS_CODE = item.Status.ToString(), + ERP_STATUS_NAME = item.StatusName, }; receipt.Details.Add(receiptDt); + asnDtl.STATUS = BIZ_U9_ASN.STATUSs.Finished.GetValue(); + asnDtl.RECEIVER_ID = item.RcvId.ToString(); + asnDtl.RECEIVER_NO = item.DocNo; + asnDtl.RECEIVER_LINE = item.DocLineNo.ToString(); + asnDtl.RECEIVER = UserCode; + asnDtl.RECEIVE_DATE = DateTime.Now; } foreach (var sn in order.SnList) @@ -529,11 +538,12 @@ item.TRANS_NO = receipt.ORDER_NO; item.TRANS_LINE = receipt.SnList.First(q => q.SN == item.SN).LINE_NO; } - order.STATUS = BIZ_U9_ASN.STATUSs.Finished.GetValue(); - order.RECEIVER_ID = receipt.ID; - order.RECEIVER_NO = receipt.ORDER_NO; - order.RECEIVER = UserCode; - order.RECEIVE_DATE = DateTime.Now; + if (!noFinish.Any()) + { + order.STATUS = BIZ_U9_ASN.STATUSs.Finished.GetValue(); + order.RECEIVER = UserCode; + order.RECEIVE_DATE = DateTime.Now; + } //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄 var db = GetCommitDB(); @@ -543,6 +553,7 @@ db.Updateable(pkgs, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.AUTH_ORG, q.TRANS_CODE, q.TRANS_NO, q.TRANS_LINE, q.SOURCE_CODE, q.SOURCE_ORDER, q.SOURCE_LINE }).ExecuteCommand(); db.Insertable(historys, UserCode).ExecuteCommand(); db.Updateable(order, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS, q.RECEIVER, q.RECEIVE_DATE, q.RECEIVER_ID, q.RECEIVER_NO }).ExecuteCommand(); + db.Updateable(finishNotSubmit, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS, q.RECEIVER, q.RECEIVE_DATE, q.RECEIVER_ID, q.RECEIVER_NO }).ExecuteCommand(); db.Insertable(receipt, UserCode).ExecuteCommand(); db.Insertable(receipt.Details, UserCode).ExecuteCommand(); db.Insertable(receipt.SnList, UserCode).ExecuteCommand(); diff --git a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs index 609996a..12720db 100644 --- a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs +++ b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs @@ -135,11 +135,21 @@ } //浠嶶9鑾峰彇鏀惰揣鍗曡淇℃伅 var u9Dtl = Biz.DataSource["YadaU9C"].Client.Queryable<mes_ReturnedDocInfo>().Where(x => x.RcvId == receipt.ID.ToDouble() && x.DocLineNo == receiptDtl.LINE_NO.ToDouble() && x.SplitFlag != 1).First(); + //鏀惰揣鍗曠殑鐘舵�佸垽鏂槸鍚﹀凡鎻愪氦IQC瀹℃牳锛屾湭閫氳繃IQC涓嶈兘涓婃灦 + if (!u9Dtl.IsNullOrEmpty() && u9Dtl.Status != 3) + { + action.IsSuccessed = false; + //action.LocaleMsg = Biz.L("鏀惰揣鍗曡鐘舵�乕{0}]寮傚父锛岃鍏堟彁浜QC妫�楠岀粨鏋�"); + action.LocaleMsg = Biz.L("WMS.In_BIZ_U9_RECEIPT.ScanItem.U9StatusException", u9Dtl.StatusName); + return SetOutPutMqttMsg(action, input.Locale); + } if (!u9Dtl.IsNullOrEmpty() && u9Dtl.RcvQtyTU != receiptDtl.QTY_OK) { receiptDtl.ID = u9Dtl.RcvLineId.ToString(); receiptDtl.QTY_OK = u9Dtl.RcvQtyTU; receiptDtl.QTY_NG = receiptDtl.QTY - receiptDtl.QTY_OK; + receiptDtl.ERP_STATUS_CODE = u9Dtl.Status.ToString(); + receiptDtl.ERP_STATUS_NAME = u9Dtl.StatusName; } var nLocation = new WMS_LOCATION(); @@ -289,7 +299,7 @@ var db = GetCommitDB(); //鏁版嵁淇濆瓨閫昏緫 db.Updateable(receipt, UserCode).UpdateColumns(q => new { q.STATUS, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); - db.Updateable(receiptDtl, UserCode).UpdateColumns(q => new { q.ID, q.STATUS, q.QTY_IN, q.QTY_OK, q.QTY_NG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); + db.Updateable(receiptDtl, UserCode).UpdateColumns(q => new { q.ID, q.STATUS, q.QTY_IN, q.QTY_OK, q.QTY_NG, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); db.Updateable(receiptSn, UserCode).UpdateColumns(q => new { q.STATUS, q.IS_IN, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); }); 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 5c963a7..9ba2272 100644 --- a/Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs +++ b/Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs @@ -377,6 +377,8 @@ ASN_LINE_ID = item.SrcASNDocLineId.ToString(), ASN_LINE = asnDtl.LINE_NO, ERP_CODE = item.ItemCode1, + ERP_STATUS_CODE = item.Status.ToString(), + ERP_STATUS_NAME = item.StatusName, }; receipt.Details.Add(receiptDt); } diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs index 67e8b52..290a58c 100644 --- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs @@ -55,6 +55,14 @@ /// </summary> public int DocLineNo { get; set; } /// <summary> + /// 单据状态 + /// </summary> + public int Status { get; set; } + /// <summary> + /// 单据状态名称 + /// </summary> + public string StatusName { get; set; } + /// <summary> /// 料号 /// </summary> public string ItemCode { get; set; } diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransInLine.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransInLine.cs index be60208..034e01a 100644 --- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransInLine.cs +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransInLine.cs @@ -23,83 +23,83 @@ #region 公共属性 /// <summary> - /// + /// 行ID /// </summary> public long TransferInLineId { get; set; } /// <summary> - /// + /// 单头ID /// </summary> public long TransferInId { get; set; } /// <summary> - /// + /// 行号 /// </summary> public int DocLineNo { get; set; } /// <summary> - /// + /// 料号 /// </summary> public string ItemCode { get; set; } /// <summary> - /// + /// 品名 /// </summary> public string ItemName { get; set; } /// <summary> - /// + /// 调出数量 /// </summary> public double StoreUOMQty { get; set; } /// <summary> - /// + /// 调出单位 /// </summary> public string StoreUOM { get; set; } /// <summary> - /// + /// 成本数量 /// </summary> public double CostUOMQty { get; set; } /// <summary> - /// + /// 成本单位 /// </summary> public string CostUOM { get; set; } /// <summary> - /// + /// 调入仓库 /// </summary> public string TransInWhCode { get; set; } /// <summary> - /// + /// 调入仓库名称 /// </summary> public string TransInWhName { get; set; } /// <summary> - /// + /// 调出仓库 /// </summary> public string TransOutWhCode { get; set; } /// <summary> - /// + /// 调出仓库名称 /// </summary> public string TransOutWhName { get; set; } /// <summary> - /// + /// 调入库位 /// </summary> public string TransInBin { get; set; } /// <summary> - /// + /// 调出库位 /// </summary> public string TransOutBin { get; set; } /// <summary> - /// + /// 批次号 /// </summary> public string LotCode { get; set; } /// <summary> - /// + /// 创建人 /// </summary> public string CreatedBy { get; set; } /// <summary> - /// + /// 创建时间 /// </summary> public DateTime CreatedOn { get; set; } = DateTime.MinValue; /// <summary> - /// + /// 更新人 /// </summary> public string ModifiedBy { get; set; } /// <summary> - /// + /// 更新时间 /// </summary> public DateTime ModifiedOn { get; set; } = DateTime.MinValue; #endregion diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransferIn.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransferIn.cs index d7f6ff4..980ddeb 100644 --- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransferIn.cs +++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_TransferIn.cs @@ -23,51 +23,51 @@ #region 公共属性 /// <summary> - /// + /// 调入单号 /// </summary> public long TransferInId { get; set; } /// <summary> - /// + /// 调入组织 /// </summary> public long Org { get; set; } /// <summary> - /// + /// 业务日期 /// </summary> public DateTime BusinessDate { get; set; } = DateTime.MinValue; /// <summary> - /// + /// 单号 /// </summary> public string DocNo { get; set; } /// <summary> - /// + /// 单据类型 /// </summary> public string TransferInDocType { get; set; } /// <summary> - /// + /// 单据类型名称 /// </summary> public string TransferInDocTypeName { get; set; } /// <summary> - /// + /// 单据状态 /// </summary> public int Status { get; set; } /// <summary> - /// + /// 单据状态名称 /// </summary> public string StatusName { get; set; } /// <summary> - /// + /// 创建人 /// </summary> public string CreatedBy { get; set; } /// <summary> - /// + /// 创建时间 /// </summary> public DateTime CreatedOn { get; set; } = DateTime.MinValue; /// <summary> - /// + /// 更新人 /// </summary> public string ModifiedBy { get; set; } /// <summary> - /// + /// 更新时间 /// </summary> public DateTime ModifiedOn { get; set; } = DateTime.MinValue; #endregion diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT_DTL.cs index 99b76a7..c94f193 100644 --- a/Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT_DTL.cs +++ b/Tiger.Model.Net/Entitys/WMS/BIZ_U9_RECEIPT_DTL.cs @@ -78,17 +78,27 @@ /// </summary> [DisplayName("鎶ュ簾鏁伴噺")] public double QTY_SCRAP { get; set; } - /// <summary> - /// 璧犲搧鏁伴噺 - /// </summary> - [DisplayName("璧犲搧鏁伴噺")] - public double QTY_GIFT { get; set; } - /// <summary> - /// 鎵规鍙� - /// </summary> - [DisplayName("鎵规鍙�")] + /// <summary> + /// 璧犲搧鏁伴噺 + /// </summary> + [DisplayName("璧犲搧鏁伴噺")] + public double QTY_GIFT { get; set; } + /// <summary> + /// 鎵规鍙� + /// </summary> + [DisplayName("鎵规鍙�")] public string LOTNO { get; set; } /// <summary> + /// ERP鍗曟嵁鐘舵�� + /// </summary> + [DisplayName("ERP鍗曟嵁鐘舵��")] + public string ERP_STATUS_CODE { get; set; } + /// <summary> + /// ERP鍗曟嵁鐘舵�佸悕绉� + /// </summary> + [DisplayName("ERP鍗曟嵁鐘舵�佸悕绉�")] + public string ERP_STATUS_NAME { get; set; } + /// <summary> /// 閫佽揣鍗旾D /// </summary> [DisplayName("閫佽揣鍗旾D")] -- Gitblit v1.9.3