服务端的TigerApi 框架,基于.NET6 2024 版本
物料扩展表增加字段
上架需要按物料的默认储位进行限制,不允许上架到其他储位
没有默认储位则不限制,需要记录并调用接口反写到U9
已修改5个文件
52 ■■■■■ 文件已修改
Tiger.Api/Language.db 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/iERP/U9C_MES.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Common/WmsTask.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/BAS/BAS_ITEM_EXT.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Api/Language.db
Binary files differ
Tiger.Business.MES/iERP/U9C_MES.cs
@@ -81,6 +81,7 @@
                            Remark = (di["Remark"] ?? "").ToString(),
                            Packaging = (di["Packaging"] ?? "").ToString(),
                            SapCode = (di["Code1"] ?? "").ToString(),
                            ReceiptMode = (di["ReceiptMode"] ?? "").ToInt32(),
                        };
                        itemExts.Add(extInfo);
                    }
Tiger.Business.WMS/Common/WmsTask.cs
@@ -8,6 +8,7 @@
using Tiger.IBusiness;
using Tiger.Model;
using Tiger.Model.Entitys.MES.Position;
using Tiger.Model.Entitys.MES.U9C;
using static IronPython.Modules._ast;
namespace Tiger.Business.WMS.Transaction
@@ -793,6 +794,33 @@
            action.Data.MqttMsg = msg;
            return action;
        }
        /// <summary>
        /// 设置当前物料的默认储位
        /// </summary>
        public ApiAction<ScanOutput> SetDefaultLocation(DbClient db, BAS_ITEM Item, WMS_LOCATION location)
        {
            var action = new ApiAction<ScanOutput>(new ScanOutput());
            //调用设置默认储位接口
            //var iInput = new CreateRcvLineLocationInput
            //{
            //};
            //var result = await DI.Resolve<IWMS_U9C>().CreateRcvLineLocation(iInput);
            //if (!result.IsSuccessed)
            //{
            //    action.IsSuccessed = false;
            //    action.LocaleMsg = result.LocaleMsg;
            //}
            //else
            {
                Item.DEFAULT_LOCATION = location.LOCATION_CODE;
                db.Updateable(Item, UserCode).UpdateColumns(q => new { q.DEFAULT_LOCATION, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
            }
            return action;
        }
        #endregion Functions
        /// <summary>
Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs
@@ -13,6 +13,7 @@
using Tiger.Business.WMS.Sharetronic.Shelf;
using Tiger.Model.Entitys.MES.U9C;
using Tiger.Model.MES.Yada;
using static IronPython.Modules._ast;
namespace Tiger.Business.WMS.Transaction
{
@@ -106,6 +107,14 @@
                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ItemCodeNotExistsOrNotActive", inv.ItemInfo.ITEM_CODE.IsNullOrEmpty(inv.Barcode.ItemCode));
                        return SetOutPutMqttMsg(action, input.Locale);
                    }
                    //默认储位验证
                    if (!inv.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty() && inv.ItemInfo.DEFAULT_LOCATION != CurScanShelf.LocationCode)
                    {
                        action.IsSuccessed = false;
                        //action.LocaleMsg = Biz.L("物料[{0}]只允许上架到储位[{0}],请重新扫描储位");
                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.DefaultLocationError", inv.ItemInfo.ITEM_CODE, inv.ItemInfo.DEFAULT_LOCATION);
                        return SetOutPutMqttMsg(action, input.Locale);
                    }
                    CurInvItem = inv;
                }
@@ -181,6 +190,7 @@
                        action.LocaleMsg = Biz.L($"WMS.Default.ScanShelf.ItemAlreadyExistsInLocation", nLocation.LOCATION_CODE, locationData.SN);
                        return SetOutPutMqttMsg(action, input.Locale);
                    }
                    CurScanShelf.Location = nLocation;
                    CurScanShelf.LocationCode = nLocation.LOCATION_CODE;
                }
                else
@@ -304,7 +314,13 @@
                });
                //完成所有处理后使用事务保存数据
                action = DoIfFinish(action, input.Locale);
                action = DoIfFinish(action, input.Locale, () => {
                    //设置当前物料的默认储位
                    if (CurInvItem.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty())
                    {
                        SetDefaultLocation(MainDB, CurInvItem.ItemInfo, nLocation);
                    }
                });
            }
            catch (Exception ex)
            {
Tiger.Model.Net/Entitys/BAS/BAS_ITEM_EXT.cs
@@ -78,6 +78,11 @@
        /// </summary>
        [DisplayName("SAP料号")]
        public string SapCode { get; set; }
        /// <summary>
        /// 打印模式
        /// </summary>
        [DisplayName("打印模式")]
        public int ReceiptMode { get; set; }
        #endregion
        #region 虚拟属性