服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2025-02-21 8a09a1fabfa8840288c10f6c58ff4a6d519e66d7
雅达-更新条码生成逻辑,注释多处代码块

- 在 `MES_U9C.cs` 文件中,`BarcodeCreateByAssignQtyParam` 类的 `CreateBarCodeEntitys` 属性的 `EntityID` 从 `input.RevDocId` 修改为 `input.RevDocLineId`。
- 在 `In_Default.cs` 文件中,向 `inv.Packages.Add(ItemPkgs)` 后添加了 `_inv = inv.Clone();`。
- 在 `PrintSemiProdLabel.cs` 文件中,删除了 `ScanItem` 方法的实现。
- 在 `ReprintLabel.cs` 文件中,注释掉了检查批次数量是否足够的代码块。
- 在 `ReprintLabel.cs` 文件中,注释掉了执行上架操作的代码块。
- 在 `ReprintLabel.cs` 文件中,注释掉了保存到数据库的代码块。
- 在 `IPrintSemiProdLabel.cs` 文件中,注释掉了 `ScanItem` 方法的声明。
- 在 `U9CParameter.cs` 文件中,`BarcodeCreateInput` 类新增了 `RevDocLineId` 属性。
已修改6个文件
117 ■■■■■ 文件已修改
Tiger.Business.MES/iERP/MES_U9C.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/In_Default.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/PrintSemiProdLabel.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/ReprintLabel.cs 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness.WMS/Transaction/IPrintSemiProdLabel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/iERP/MES_U9C.cs
@@ -279,7 +279,7 @@
                        CreateBarCodeEntitys = new(){
                                           new CreateBarCodeEntitys
                                           {
                                                EntityID = input.RevDocId, //入库单ID
                                                EntityID = input.RevDocLineId, //入库单ID
                                                EntityType="UFIDA.U9.Complete.RCVRpt.RcvRptDocLine"
                                           }
                                        },
Tiger.Business.WMS/Transaction/In_Default.cs
@@ -162,6 +162,7 @@
                        inv.Items.Add(Item);
                        inv.History.Add(his);
                        inv.Packages.Add(ItemPkgs);
                        _inv = inv.Clone();
                    }
                    else if (inv.Items.Count == 1)
                    {
Tiger.Business.WMS/Transaction/PrintSemiProdLabel.cs
@@ -92,37 +92,6 @@
            return SetOutPutMqttMsg(action, input.Locale);
        }
        public async Task<ApiAction<ScanOutput>> ScanItem(BaseInput input)
        {
            var action = new ApiAction<ScanOutput>(new ScanOutput());
            try
            {
                List<WMS_ITEM> items = new List<WMS_ITEM>();
                List<WMS_ITEM_HIS> itemhiss = new List<WMS_ITEM_HIS>();
                List<WMS_ITEM_PKG> itemPkgs = new List<WMS_ITEM_PKG>();
                List<WMS_ITEM_EXT> itemExts = new List<WMS_ITEM_EXT>();
                var rePrints = (input.Data ?? "").JsonToObject<PrintSemiProdLabelEntity>() ?? new PrintSemiProdLabelEntity();
                if (!rePrints.SnList.Any() || rePrints.SnList.Any(q => q.Qty <= 0))
                {
                    action.IsSuccessed = false;
                    //action.LocaleMsg = Biz.L("数量不能小于等于零,请重新确认条码[{0}]的数量");
                    action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ReComfirmQty", input.SN);
                    return action;
                }
                else
                {
                    action.Data.Data = rePrints;
                    action.LocaleMsg = Biz.L("半成品打印标签成功");
                }
            }
            catch (Exception ex)
            {
                action.CatchExceptionWithLog(ex, Biz.L("半成品打印标签失败"));
            }
            return action;
        }
        #endregion
        public override bool Close(bool needSaveHistoryLog = false)
Tiger.Business.WMS/Transaction/ReprintLabel.cs
@@ -150,11 +150,11 @@
                }
                else
                {
                    if (Biz.Db.Queryable<WMS_ITEM>().Any(q=>q.SUPP_LOTNO == rePrints.BatchNo) && (Biz.Db.Queryable<WMS_ITEM>().Where(q=>q.SUPP_LOTNO == rePrints.BatchNo).Sum(x=>x.QTY)>= rePrints.BatchQty)) {
                        action.IsSuccessed = false;
                        action.LocaleMsg = Biz.L($"此库位[{LocationCode}]上的批次[{rePrints.BatchNo}]数量已经够数,不能再上架生成标签");
                        return action;
                    }
                    //if (Biz.Db.Queryable<WMS_ITEM>().Any(q=>q.SUPP_LOTNO == rePrints.BatchNo) && (Biz.Db.Queryable<WMS_ITEM>().Where(q=>q.SUPP_LOTNO == rePrints.BatchNo && q.STATUS == WMS_ITEM.STATUSs.InStore.GetValue()).Sum(x=>x.QTY)>= rePrints.BatchQty)) {
                    //    action.IsSuccessed = false;
                    //    action.LocaleMsg = Biz.L($"此库位[{LocationCode}]上的批次[{rePrints.BatchNo}]数量已经够数,不能再上架生成标签");
                    //    return action;
                    //}
                    foreach (var ent in rePrints.SnList)
                    {
                        string CurSN = DI.Resolve<ICodeRuleCache>()["InitialBarcode"]?.Generate($"{ent.SN}").Data.ToString() ?? "";
@@ -289,43 +289,43 @@
                        //}
                        //执行上架
                        foreach (var item in inv.Items)
                        {
                            item.TRANS_CODE = "ReprintLabel";
                            item.TRANS_NO = $"ReprintLabel{DateTime.Now:yyyyMMdd}";
                        }
                        Result<PutOnInfo> putonResult = WMS_ITEM_Biz.WmsItem.PutOn(inv, input.AuthOption, nLocation.LOCATION_CODE);
                        if (!putonResult.IsSuccessed)
                        {
                            action.IsSuccessed = false;
                            action.LocaleMsg = putonResult.LocaleMsg;
                            inv = null;
                            CurSN = "";
                            return action;
                        }
                        PutOnInfo putOnInfo = putonResult.Data;
                        items.AddRange(putOnInfo.Items);
                        itemhiss.AddRange(putOnInfo.History);
                        itemPkgs.AddRange(putOnInfo.Packages);
                        itemExts.AddRange(putOnInfo.ItemsExt);
                        //foreach (var item in inv.Items)
                        //{
                        //    item.TRANS_CODE = "ReprintLabel";
                        //    item.TRANS_NO = $"ReprintLabel{DateTime.Now:yyyyMMdd}";
                        //}
                        //Result<PutOnInfo> putonResult = WMS_ITEM_Biz.WmsItem.PutOn(inv, input.AuthOption, nLocation.LOCATION_CODE);
                        //if (!putonResult.IsSuccessed)
                        //{
                        //    action.IsSuccessed = false;
                        //    action.LocaleMsg = putonResult.LocaleMsg;
                        //    inv = null;
                        //    CurSN = "";
                        //    return action;
                        //}
                        //PutOnInfo putOnInfo = putonResult.Data;
                        //items.AddRange(putOnInfo.Items);
                        //itemhiss.AddRange(putOnInfo.History);
                        //itemPkgs.AddRange(putOnInfo.Packages);
                        //itemExts.AddRange(putOnInfo.ItemsExt);
                    }
                    //保存到数据库
                    var db = Business.Biz.Db;
                    var dbTran = db.UseTran(() =>
                    {
                        //入库
                        db.Storageable(items, UserCode).ExecuteCommand();
                        db.Storageable(itemPkgs, UserCode).ExecuteCommand();
                        db.Insertable(itemhiss, UserCode).ExecuteCommand();
                        var x = db.Storageable(itemExts, UserCode).ToStorage();
                        x.AsInsertable.ExecuteCommand();//不存在插入
                        x.AsUpdateable.ExecuteCommand();//存在更新
                    });
                    if (!dbTran.IsSuccess)
                    {
                        Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception");
                        throw dbTran.ErrorException;
                    }
                    //var db = Business.Biz.Db;
                    //var dbTran = db.UseTran(() =>
                    //{
                    //    //入库
                    //    db.Storageable(items, UserCode).ExecuteCommand();
                    //    db.Storageable(itemPkgs, UserCode).ExecuteCommand();
                    //    db.Insertable(itemhiss, UserCode).ExecuteCommand();
                    //    var x = db.Storageable(itemExts, UserCode).ToStorage();
                    //    x.AsInsertable.ExecuteCommand();//不存在插入
                    //    x.AsUpdateable.ExecuteCommand();//存在更新
                    //});
                    //if (!dbTran.IsSuccess)
                    //{
                    //    Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception");
                    //    throw dbTran.ErrorException;
                    //}
                    action.Data.Data = rePrints;
                    action.LocaleMsg = Biz.L("库位批次条码上架成功");
Tiger.IBusiness.WMS/Transaction/IPrintSemiProdLabel.cs
@@ -15,7 +15,7 @@
    {
        public IPrintSemiProdLabel Init(string id, string userCode, string apiHost, string orgCode);
        public Task<ApiAction<ScanOutput>> Scan(BaseInput input);
        public Task<ApiAction<ScanOutput>> ScanItem(BaseInput input);
        //public Task<ApiAction<ScanOutput>> ScanItem(BaseInput input);
        public bool Close(bool needSaveHistoryLog = false);
Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
@@ -100,6 +100,7 @@
    public class BarcodeCreateInput
    {
        public string RevDocId { get; set; }
        public string RevDocLineId { get; set; }
        public string userId { get; set; }
        public string token { get; set; }
        public bool IsLogin { get; set; }