服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2025-03-25 379d73eaed4c3468c91b1dec52c4309d4f01522f
简化收货单审核流程,重构打印逻辑

在 `WMS_U9C.cs` 中,修改 `ReceivementApproveLine` 方法,注释掉原有的提交和审核逻辑,直接调用 `ApproveLine` 方法。

在 `Print_BIZ_U9_ASN.cs` 中,新增 `GetAsnInfoForPrint` 方法以获取打印所需的 ASN 信息,同时注释掉扫描物料并复核的逻辑,表明正在进行重构。

此外,注释掉与历史记录相关的代码和 `DeleteScannedSn` 方法中的查询与状态更新逻辑,以简化代码和调整功能。
已修改2个文件
72 ■■■■ 文件已修改
Tiger.Business.WMS/ERP/WMS_U9C.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/ERP/WMS_U9C.cs
@@ -155,11 +155,12 @@
            var action = new ApiAction<List<U9CReturnData2>>();
            try
            {
                action = await SubmitLine(input);
                if (action.IsSuccessed) {
                    input.IsLogin = false;
                    action = await ApproveLine(input);
                }
                //action = await SubmitLine(input);
                //if (action.IsSuccessed) {
                //    input.IsLogin = false;
                //    action = await ApproveLine(input);
                //}
                action = await ApproveLine(input);
            }
            catch (System.Exception ex)
            {
Tiger.Business.WMS/Transaction/Yada/Print_BIZ_U9_ASN.cs
@@ -60,8 +60,17 @@
                    action.LocaleMsg = Biz.L("WMS.Default.ScanItem.SnEmptyFailure");
                    return SetOutPutMqttMsg(action, input.Locale);
                }
                //扫描物料并复核
                else //if (Command == "Normal")
                //如果是未上门户
                else if (input.Data == "0")
                {
                    action = await GetAsnInfoForPrint(input);
                }
                //如果是随单赠品或者样品
                else if (input.Data == "1")
                {
                }
                else
                {
                    action = await ScanItem(input);
                }
@@ -77,7 +86,28 @@
        }
        /// <summary>
        /// 扫描物料并复核
        /// 获取用于打印的 asn 信息
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ApiAction<ScanOutput>> GetAsnInfoForPrint(BaseInput input)
        {
            var action = new ApiAction<ScanOutput>(new ScanOutput() );
            try
            {
            }
            catch (Exception ex)
            {
                //取消当前操作
                ResetScan();
                action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.Scan.ScanException", input.SN));
            }
            return SetOutPutMqttMsg(action, input.Locale);
        }
        /// <summary>
        /// 扫描条码分析类型
        /// </summary>
        public async Task<ApiAction<ScanOutput>> ScanItem(BaseInput input)
        {
@@ -210,21 +240,6 @@
                    sn.RECEIVE_DATE = DateTime.MinValue;
                }
                //var historys = new List<WMS_ITEM_HIS>();
                //var items = await Biz.Db.Queryable<WMS_ITEM>().Where(q => ScanList.Select(s => s.SN).Contains(q.SN)).ToListAsync();
                //foreach (var item in items)
                //{
                //    var order = item.TRANS_CODE;
                //    item.STATUS = WMS_ITEM.STATUSs.Incoming.GetValue();
                //    item.SOURCE_CODE = "";
                //    item.SOURCE_ORDER = "";
                //    item.SOURCE_LINE = "";
                //    item.TRANS_CODE = item.SOURCE_CODE;
                //    item.TRANS_NO = item.SOURCE_ORDER;
                //    item.TRANS_LINE = item.SOURCE_LINE;
                //    historys.Add(new WMS_ITEM_HIS(item, $"条码[{item.SN}]取消清点,操作单据[{order}]"));
                //}
                //使用统一的事务DB对象
                var db = GetCommitDB();
                var dbTran = db.UseTran(() =>
@@ -261,16 +276,6 @@
            var action = new ApiAction();
            try
            {
                //var item = await Biz.Db.Queryable<WMS_ITEM>().Where(q => q.SN == input.SN).FirstAsync();
                //var order = item.TRANS_CODE;
                //item.STATUS = WMS_ITEM.STATUSs.Incoming.GetValue();
                //item.SOURCE_CODE = "";
                //item.SOURCE_ORDER = "";
                //item.SOURCE_LINE = "";
                //item.TRANS_CODE = item.SOURCE_CODE;
                //item.TRANS_NO = item.SOURCE_ORDER;
                //item.TRANS_LINE = item.SOURCE_LINE;
                //使用统一的事务DB对象
                var db = GetCommitDB();
                var dbTran = db.UseTran(() =>