服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
21 小时以前 52e14bf30c5ce0f5ec90db0b1410295fe19b62e8
修复了一些已知问题
已修改3个文件
17 ■■■■ 文件已修改
Tiger.Api/Controllers/Test/TestController.R.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Common/WmsTask.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Api/Controllers/Test/TestController.R.cs
@@ -27,6 +27,7 @@
using System.Runtime.Loader;
using MailKit.Search;
using Tiger.Model.DigitalTwin;
using static Microsoft.Scripting.Hosting.Shell.ConsoleHostOptions;
namespace Tiger.Api.Controllers.Test
{
@@ -100,6 +101,10 @@
            //predicate = predicate.And(q => q.RULE_TYPE == 0);
            ////var data = Cache.CodeRule.Rules.Where(predicate.Compile());
            //var data = Cache.CodeRule.Verify("AB23#7930000002010", predicate.Compile());
            var trans = AutoFacContainer.Instance.Resolve<IOut_BIZ_WMS_PREP>().Init("action.ID", "action.Data?.USER_CODE", "", "action.Data?.ORG_CODE");
            var task = trans.Scan(new BaseInput() { Data = "" });
            return Ok("");
        }
Tiger.Business.WMS/Common/WmsTask.cs
@@ -358,9 +358,9 @@
                                            //如果有传入货架,则只允该货架的物料
                                            .WhereIF(!option.ShelfID.IsNullOrEmpty(), (q, p, w, r, s, l) => q.SHELF_ID == option.ShelfID && q.AUTH_ORG == auth.CurOrg)
                                            //优先使用库存池中的物料
                                            .OrderBy((q, p, w, r, s, l) => SqlFunc.IsNullOrEmpty(p.ID))
                                            .OrderBy((q, p, w, r, s, l) => SqlFunc.IIF(SqlFunc.IsNullOrEmpty(p.ID), 1, 0))
                                            //优先使用尾数物料(截料或者退料之后的物料)
                                            //.OrderByDescending((q, p, w, r, s, l) => q.SN.Contains("_C") || q.SN.Contains("_T"))
                                            //.OrderByDescending((q, p, w, r, s, l) => SqlFunc.IIF(q.SN.Contains("_C") || q.SN.Contains("_T"), 1, 0))
                                            //备料策略:按生产日期先进先出
                                            .OrderByIF(option.Strategy.HasFlag(WMS_ITEM_POOL.STRATEGYs.FIFO), (q, p, w, r, s, l) => q.PROD_DATE)
                                            //按生产日期先进先出,再按物料数量从小到大,
@@ -444,9 +444,9 @@
                                            //如果有传入货架,则只允该货架的物料
                                            .WhereIF(!option.ShelfID.IsNullOrEmpty(), (q, p, w, r, s, l) => q.SHELF_ID == option.ShelfID && q.AUTH_ORG == auth.CurOrg)
                                            //优先使用库存池中的物料
                                            .OrderBy((q, p, w, r, s, l) => SqlFunc.IsNullOrEmpty(p.ID))
                                            .OrderBy((q, p, w, r, s, l) => SqlFunc.IIF(SqlFunc.IsNullOrEmpty(p.ID), 1, 0))
                                            //优先使用尾数物料(截料或者退料之后的物料)
                                            //.OrderByDescending((q, p, w, r, s, l) => q.SN.Contains("_C") || q.SN.Contains("_T"))
                                            //.OrderByDescending((q, p, w, r, s, l) => SqlFunc.IIF(q.SN.Contains("_C") || q.SN.Contains("_T"), 1, 0))
                                            //备料策略:按生产日期先进先出
                                            .OrderByIF(option.Strategy.HasFlag(WMS_ITEM_POOL.STRATEGYs.FIFO), (q, p, w, r, s, l) => q.PROD_DATE)
                                            //按生产日期先进先出,再按物料数量从小到大,
Tiger.Business.WMS/Transaction/Yada/Out_BIZ_WMS_PREP.cs
@@ -15,6 +15,7 @@
using MailKit.Search;
using Tiger.Business.WMS.Extensions;
using static Tiger.Model.BIZ_WMS_PREP_BTH;
using Microsoft.CodeAnalysis.Options;
namespace Tiger.Business.WMS.Transaction
{
@@ -51,7 +52,8 @@
            var action = new ApiAction<ScanOutput>(new ScanOutput());
            try
            {
                //Result<List<SuggestItem>> result = Suggest("CurPrepDtl.ORDER_NO", "CurPrepDtl.ITEM_CODE", new SuggestOption(), new(), 100.0);
                //action.LocaleMsg = result.LocaleMsg;
                if (input.Command == "ScanOrder")
                {
                    action = await ScanOrder(input);