服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
17 小时以前 d254250296297f391ae8bc1128122e3c9a71243e
生成截料条码
已修改3个文件
87 ■■■■■ 文件已修改
Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.WMS/Controllers/WMSController.Out_BIZ_WMS_PREP.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness.WMS/Transaction/IOut_BIZ_WMS_PREP.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs
@@ -471,7 +471,8 @@
                //    return action;
                //}
                CurInvItem = inv;
                CurSn = CurInvItem.Items.Select(q => new BIZ_WMS_PREP_SN() {
                CurSn = CurInvItem.Items.Select(q => new BIZ_WMS_PREP_SN()
                {
                    ORDER_NO = CurPREP.Order.ORDER_NO,
                    ORDER_LINE = CurPrepDtl.ORDER_LINE,
                    SN = q.SN,
@@ -755,6 +756,38 @@
            return action;
        }
        /// <summary>
        /// 生成截料条码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task<ApiAction<ScanOutput>> GenerateSNs(BaseInput input)
        {
            var action = new ApiAction<ScanOutput>(new ScanOutput());
            try
            {
                var snlist = input.Options["Snlist"].ToString().JsonToObject<List<BIZ_WMS_PREP_SN>>();
                List<string> SnList = new();
                foreach (var sn in snlist)
                {
                    var metaSn = $"{DI.Resolve<ICodeRuleCache>()["CuttingBarcode"]?.Generate(sn.SN, "/").Data.ToString() ?? ""}" ;
                    SnList.Add(metaSn);
                    sn.ReserveSN = sn.SN;
                    sn.DeliverySN = metaSn;
                }
                // 返回数据
                action.Data.Data = new { Snlist = snlist, Sns = SnList };
                action.LocaleMsg = Biz.L("生成截料条码成功");
            }
            catch (Exception ex)
            {
                action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.Scan.ScanException", input.SN));
            }
            return SetOutPutMqttMsg(action, input.Locale);
        }
        /// <summary>
        /// 完成所有处理后使用事务保存数据
        /// </summary>
Tiger.Controllers.WMS/Controllers/WMSController.Out_BIZ_WMS_PREP.cs
@@ -261,5 +261,50 @@
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
        /// <summary>
        /// 生成截料条码
        /// </summary>
        /// <param name="action"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("api/[controller]/Out_PREP/GenerateSNs")]
        public async Task<IActionResult> Out_BIZ_WMS_PREP_GenerateSNsAsync([FromBody] ApiAction<BaseInput> action)
        {
            ApiAction response;
            IOut_BIZ_WMS_PREP trans = null;
            try
            {
                if (iBiz.WMS.Context.GetTransDic().ContainsKey(action.ID))
                {
                    trans = iBiz.WMS.Context.GetTransDic()[action.ID] as IOut_BIZ_WMS_PREP;
                    if (!trans.IsFinished)
                    {
                        if (action.IsAsync)
                        {
                            response = action.GetResponse(await trans.GenerateSNs(action.Data));
                        }
                        else
                        {
                            lock (trans.TransLock) { response = action.GetResponse(trans.GenerateSNs(action.Data).Result); }
                        }
                    }
                    else
                    {
                        response = action.GetResponse($"Transaction Error: 备料任务下架事务[ID:{action.ID}]已经关闭,请重新打开备料任务下架功能", false);
                    }
                }
                else
                {
                    response = action.GetResponse($"Transaction Error: 备料任务下架事务[ID:{action.ID}]数据丢失,请重新打开备料任务下架功能", false);
                }
            }
            catch (System.Exception ex)
            {
                response = action.GetResponse().CatchExceptionWithLog(ex);
            }
            trans?.AddHistory(Request, action);
            return Ok(response);
        }
    }//endClass
}
Tiger.IBusiness.WMS/Transaction/IOut_BIZ_WMS_PREP.cs
@@ -39,6 +39,13 @@
        /// <returns></returns>
        public Task<ApiAction> GenerateDlvyBatch(BaseInput input);
        /// <summary>
        /// 生成截料条码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public Task<ApiAction<ScanOutput>> GenerateSNs(BaseInput input);
        public bool Close(bool needSaveHistoryLog = false);
    }
}