服务端的TigerApi 框架,基于.NET6 2024 版本
59767bdf5a8aa4e3e2250263f262aa4a599d6c7a..2df22d081aa4d3677b474962e9bbc38db8efa536
2025-03-24 Rodney Chen
Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/Serve...
2df22d 对比 | 目录
2025-03-24 Rodney Chen
更新U9实体,新增业务实体
459d4a 对比 | 目录
已修改19个文件
已添加5个文件
1986 ■■■■ 文件已修改
Tiger.Business.MES/iERP/U9C_MES.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/T100ToWMS/MaterialInfoBusiness.cs 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/T100ToWMS/ProductInputBusiness.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/T100ToWMS/TrasferInfoBusiness.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Task/ERP/Jobs.ReceiptHToErpJob.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Old/InProductionReturn.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Old/OutSplit.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Old/OutTransfer.cs 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Old/OutWorkOrder.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/Transaction/Old/ProductionMaterialReq.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.WMS/iWMS/ProdMaterialReq.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs 308 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/YadaU9/mes_ItemMaster.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_ITEM_CVT.cs 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_ITEM_CVT_DTL.cs 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_ITEM_CVT_SN.cs 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_U9_SCM_OUT.cs 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_U9_SCM_OUT_DTL.cs 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_DTL.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_SN.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER.cs 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_SN.cs 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/iERP/U9C_MES.cs
@@ -65,6 +65,7 @@
                            AUTH_ORG = orgs.Where(x => x.ID == orgId).Select(q => q.ORG_CODE).FirstOrDefault(),
                            CUST_PROD_CODE = di["CustomerItem"] == null ? "" : di["CustomerItem"].ToString(),
                            RULE_CODE = di["BarRule"] == null ? "" : di["BarRule"].ToString(),
                            DEFAULT_LOCATION = di["BinCode"] == null ? "" : di["BinCode"].ToString(),
                        };
                        items.Add(basItem);
                        var extInfo = new BAS_ITEM_EXT()
Tiger.Business.WMS/T100ToWMS/MaterialInfoBusiness.cs
@@ -269,7 +269,7 @@
        public int GetOtherOutInfoToT100(InputDTO input)
        {
            var DB = Biz.Db;
            var dataList = DB.Queryable<BIZ_ERP_OTH_OUT>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();
            var dataList = DB.Queryable<BIZ_ERP_OTH_OUT>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();
            Logger.Scheduler.Info("其他出库单信息开始推送。。。数据检查进行中。。。");
            if (!dataList.Any())
@@ -363,7 +363,7 @@
        public int PutSaleOutInfoToT100(InputDTO input)
        {
            var DB = Biz.Db;
            var dataList = DB.Queryable<BIZ_ERP_SALE_OUT>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();// èŽ·å–ç¬¦åˆæ¡ä»¶çš„é”€å”®å‡ºåº“å•æ•°æ®
            var dataList = DB.Queryable<BIZ_ERP_SALE_OUT>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();// èŽ·å–ç¬¦åˆæ¡ä»¶çš„é”€å”®å‡ºåº“å•æ•°æ®
            Logger.Scheduler.Info("销售出库单信息开始推送。。。数据检查进行中。。。");
            if (!dataList.Any())
@@ -484,7 +484,7 @@
            //}
            var dataList = DB.Queryable<BIZ_WMS_TRANSFER>().
                Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site)
                Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && string.IsNullOrWhiteSpace(i.ERP_ORDER) && i.AUTH_ORG == input.site)
                .ToList();
            Logger.Scheduler.Info("调拨单信息开始推送。。。数据检查进行中。。。");
@@ -494,29 +494,29 @@
                return 0;
            }
            var billcodeLst = dataList.Select(i => i.BILLCODE).Distinct().ToList();
            var billcodeLst = dataList.Select(i => i.ORDER_NO).Distinct().ToList();
            var detailData = DB.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => billcodeLst.Contains(i.BILLCODE)).ToList();// èŽ·å–æ˜Žç»†æ•°æ®
            var detailData = DB.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => billcodeLst.Contains(i.ORDER_NO)).ToList();// èŽ·å–æ˜Žç»†æ•°æ®
            var returnData = DB.Queryable<BIZ_ERP_PROD_RETURN>().Where(i => billcodeLst.Contains(i.BILLCODE)).ToList();// èŽ·å–é€€æ–™è¡¨å¤´æ•°æ®
            var returnDetailData = DB.Queryable<BIZ_ERP_PROD_RETURN_DTL>().Where(i => billcodeLst.Contains(i.BILLCODE)).ToList();// èŽ·å–é€€æ–™è¡¨å¤´æ•°æ®
            Logger.Scheduler.Info("调拨单信息开始推送。。。");
            foreach (var data in dataList)
            {
                var detailLst = detailData.Where(i => i.BILLCODE == data.BILLCODE).ToList();
                var detailLst = detailData.Where(i => i.ORDER_NO == data.ORDER_NO).ToList();
                var details = new List<TrasferDetailDTO>();
                foreach (var detail in detailLst)
                {
                    details.Add(new TrasferDetailDTO()
                    {
                        indd101 = detail.SOURCECODE,
                        inddseq = detail.BILLLINE,
                        indd101 = detail.SOURCE_ORDER,
                        inddseq = detail.ORDER_LINE,
                        indd002 = detail.ITEM_CODE,
                        indd022 = detail.OUTWAREHOUSECODE,
                        indd022 = detail.OUT_WH_CODE,
                        indd023 = "",
                        indd024 = detail.BATCH_NO_IN,
                        indd103 = detail.OUTQTY.ToString(),
                        indd032 = detail.INWAREHOUSECODE,
                        indd024 = detail.IN_LOTNO,
                        indd103 = detail.QTY_OUT.ToString(),
                        indd032 = detail.IN_WH_CODE,
                        indd033 = ""
                    });
                }
@@ -541,7 +541,7 @@
                                indcdocno = "1201",
                                indcdocdt = DateTime.Now.ToString("yyyy/MM/dd"),
                                indc004 = "L16225", //detailLst[0].CREATE_USER,
                                indc008 = data.SOURCECODE,
                                indc008 = data.SOURCE_ORDER,
                                detail = details
                            }
                        }
@@ -617,15 +617,15 @@
                #endregion å‘起请求
                var res = returnData.Where(i => i.BILLCODE == data.BILLCODE).FirstOrDefault();
                var retuendetailData = returnDetailData.Where(i => i.BILLCODE == data.BILLCODE).ToList();
                var res = returnData.Where(i => i.BILLCODE == data.ORDER_NO).FirstOrDefault();
                var retuendetailData = returnDetailData.Where(i => i.BILLCODE == data.ORDER_NO).ToList();
                if (!string.IsNullOrWhiteSpace(result.payload.std_data?.parameter?.docno))
                {
                    data.ERP_BILL_CODE = result.payload.std_data?.parameter?.docno;// æ›´æ–°å•号
                    data.ERP_ORDER = result.payload.std_data?.parameter?.docno;// æ›´æ–°å•号
                    foreach (var item in detailLst)
                    {
                        item.ERP_BILL_CODE = result.payload.std_data?.parameter?.docno;
                        item.ERP_ORDER = result.payload.std_data?.parameter?.docno;
                    }
                    DB.Updateable(detailLst).ExecuteCommand();
@@ -641,11 +641,11 @@
                        DB.Updateable(res).ExecuteCommand();// æ•°æ®æ›´æ–°
                    }
                }
                if (result.payload.std_data?.execution.code == "S" && string.IsNullOrWhiteSpace(data.ERP_BILL_CODE))
                if (result.payload.std_data?.execution.code == "S" && string.IsNullOrWhiteSpace(data.ERP_ORDER))
                {
                    data.ERP_BILL_CODE = "T100返回信息已过账";// æ›´æ–°å•号
                    data.ERP_ORDER = "T100返回信息已过账";// æ›´æ–°å•号
                }
                Logger.Scheduler.Info($"调拨单号: {data.BILLCODE},T100返回单号: {result.payload.std_data?.parameter?.docno}");
                Logger.Scheduler.Info($"调拨单号: {data.ORDER_NO},T100返回单号: {result.payload.std_data?.parameter?.docno}");
                DB.Updateable(data).ExecuteCommand();// æ•°æ®æ›´æ–°
            }
            Logger.Scheduler.Info("调拨单信息推送完成");
@@ -668,7 +668,7 @@
        public int GetTrasferInfoToT100Plan2(InputDTO input)
        {
            var DB = Biz.Db;
            var dataList = DB.Queryable<BIZ_WMS_TRANSFER>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue() && string.IsNullOrWhiteSpace(i.ERP_BILL_CODE) && i.AUTH_ORG == input.site).ToList();
            var dataList = DB.Queryable<BIZ_WMS_TRANSFER>().Where(i => i.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && string.IsNullOrWhiteSpace(i.ERP_ORDER) && i.AUTH_ORG == input.site).ToList();
            Logger.Scheduler.Info("直接过账调拨单信息开始推送。。。数据检查进行中。。。");
            if (!dataList.Any())
@@ -677,20 +677,20 @@
                return 0;
            }
            var billcodeLst = dataList.Select(i => i.BILLCODE).Distinct().ToList();
            var detailData = DB.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => billcodeLst.Contains(i.BILLCODE)).ToList();// èŽ·å–æ˜Žç»†æ•°æ®
            var billcodeLst = dataList.Select(i => i.ORDER_NO).Distinct().ToList();
            var detailData = DB.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => billcodeLst.Contains(i.ORDER_NO)).ToList();// èŽ·å–æ˜Žç»†æ•°æ®
            Logger.Scheduler.Info("调拨单信息开始推送。。。");
            foreach (var data in dataList)
            {
                var detailLst = detailData.Where(i => i.BILLCODE == data.BILLCODE).ToList();
                var detailLst = detailData.Where(i => i.ORDER_NO == data.ORDER_NO).ToList();
                var details = new List<TrasferDetailDTO>();
                foreach (var detail in detailLst)
                {
                    details.Add(new TrasferDetailDTO()
                    {
                        inddseq = detail.BILLLINE,
                        indd103 = detail.OUTQTY.ToString(),
                        inddseq = detail.ORDER_LINE,
                        indd103 = detail.QTY_OUT.ToString(),
                    });
                }
@@ -711,7 +711,7 @@
                        {
                            parameter = new ParameterTrasferInfoDTO()
                            {
                                indcdocno = data.BILLCODE,
                                indcdocno = data.ORDER_NO,
                                indc022 = DateTime.Now.ToString("yyyy/MM/dd"),
                                detail = details
                            }
@@ -729,7 +729,7 @@
                    var requestJson = JsonConvert.SerializeObject(model);
                    var response = HttpHelper.PostAsync(t100Url, requestJson).Result;
                    result = JsonConvert.DeserializeObject<T100ActionResult<resultStd_data<ParameterTransferInfoT100>>>(response.Message);
                    Logger.Scheduler.Info($"调拨单过账提交Json: {requestJson},调拨单号:{data.BILLCODE},返回Json: {response.Message}");
                    Logger.Scheduler.Info($"调拨单过账提交Json: {requestJson},调拨单号:{data.ORDER_NO},返回Json: {response.Message}");
                }
                catch (Exception ex)
                {
@@ -743,14 +743,14 @@
                if (!string.IsNullOrWhiteSpace(result.payload.std_data?.parameter?.docno))
                {
                    Result = result.payload.std_data?.parameter?.docno;
                    data.ERP_BILL_CODE = result.payload.std_data?.parameter?.docno;// æ›´æ–°å•号
                    Logger.Scheduler.Info($"调拨单号:{data.BILLCODE}对应的T100返回单号:{result.payload.std_data?.parameter?.docno}已更新");
                    data.ERP_ORDER = result.payload.std_data?.parameter?.docno;// æ›´æ–°å•号
                    Logger.Scheduler.Info($"调拨单号:{data.ORDER_NO}对应的T100返回单号:{result.payload.std_data?.parameter?.docno}已更新");
                }
                if (result.payload.std_data?.execution.code == "S" && string.IsNullOrWhiteSpace(data.ERP_BILL_CODE))
                if (result.payload.std_data?.execution.code == "S" && string.IsNullOrWhiteSpace(data.ERP_ORDER))
                {
                    data.ERP_BILL_CODE = "T100返回信息已过账";
                    data.ERP_ORDER = "T100返回信息已过账";
                    Result = "T100返回信息已过账";
                    Logger.Scheduler.Info($"调拨单号:{data.BILLCODE}对应的T100返回信息:{"T100返回信息已过账"}已更新");
                    Logger.Scheduler.Info($"调拨单号:{data.ORDER_NO}对应的T100返回信息:{"T100返回信息已过账"}已更新");
                }
                if (!string.IsNullOrWhiteSpace(Result))
                {
@@ -859,8 +859,8 @@
                    {
                        ID = Guid.NewGuid().ToString("N"),
                        AUTH_ORG = input.site,
                        BILLCODE = item.indcdocno,
                        BILLDATE = item.indcdocdt.ToDateTime(),
                        ORDER_NO = item.indcdocno,
                        ORDER_DATE = item.indcdocdt.ToDateTime(),
                        CREATE_USER = "T100-" + item.indc004
                    };
@@ -895,17 +895,17 @@
                        {
                            detailData.Add(new BIZ_WMS_TRANSFER_DTL()
                            {
                                BILLCODE = ser.indddocno,
                                BILLLINE = ser.inddseq.ToString(),
                                ORDER_NO = ser.indddocno,
                                ORDER_LINE = ser.inddseq.ToString(),
                                ITEM_CODE = ser.indd002,
                                UNITCODE = ser.indd006,
                                PRQTY = ser.indd103,
                                UNIT = ser.indd006,
                                QTY_REQ = ser.indd103,
                                AUTH_ORG = input.site,
                                OUTWAREHOUSECODE = ser.indd022,
                                INWAREHOUSECODE = ser.indd032
                                OUT_WH_CODE = ser.indd022,
                                IN_WH_CODE = ser.indd032
                            });
                            transferData.INWAREHOUSECODE = ser.indd032;
                            transferData.OUTWAREHOUSECODE = ser.indd022;
                            transferData.IN_WH_CODE = ser.indd032;
                            transferData.OUT_WH_CODE = ser.indd022;
                        }
                    }
@@ -920,31 +920,31 @@
            foreach (var item in masterData)
            {
                var detaildatas = detailData.Where(i => i.BILLCODE == item.BILLCODE).ToList();
                var detaildatas = detailData.Where(i => i.ORDER_NO == item.ORDER_NO).ToList();
                var detaildto = new List<TrasferInfoDetailDTO>();
                foreach (var detailitem in detaildatas)
                {
                    detaildto.Add(new TrasferInfoDetailDTO()
                    {
                        BILLCODE = detailitem.BILLCODE,
                        BILLLINE = Convert.ToInt32(detailitem.BILLLINE),
                        LINESTATUS = detailitem.LINESTATUS.ToString(),
                        OUTQTY = detailitem.OUTQTY,
                        BILLCODE = detailitem.ORDER_NO,
                        BILLLINE = Convert.ToInt32(detailitem.ORDER_LINE),
                        LINESTATUS = detailitem.STATUS.ToString(),
                        OUTQTY = detailitem.QTY_OUT,
                        ITEM_CODE = detailitem.ITEM_CODE,
                        UNITCODE = detailitem.UNITCODE,
                        PRQTY = detailitem.PRQTY,
                        OUTWAREHOUSECODE = detailitem.OUTWAREHOUSECODE,
                        INWAREHOUSECODE = detailitem.INWAREHOUSECODE,
                        UNITCODE = detailitem.UNIT,
                        PRQTY = detailitem.QTY_REQ,
                        OUTWAREHOUSECODE = detailitem.OUT_WH_CODE,
                        INWAREHOUSECODE = detailitem.IN_WH_CODE,
                        CREATE_TIME = DateTime.Now
                    });
                }
                inputdto.Add(new TrasferInfoDTO()
                {
                    AUTH_ORG = input.site,
                    BILLCODE = item.BILLCODE,
                    BILLDATE = item.BILLDATE,
                    OUTWAREHOUSECODE = item.OUTWAREHOUSECODE,
                    INWAREHOUSECODE = item.INWAREHOUSECODE,
                    BILLCODE = item.ORDER_NO,
                    BILLDATE = item.ORDER_DATE,
                    OUTWAREHOUSECODE = item.OUT_WH_CODE,
                    INWAREHOUSECODE = item.IN_WH_CODE,
                    CREATE_TIME = item.CREATE_TIME,
                    details = detaildto
                });
Tiger.Business.WMS/T100ToWMS/ProductInputBusiness.cs
@@ -109,12 +109,12 @@
                    snLst.Add(new BIZ_WMS_TRANSFER_SN()
                    {
                        AUTH_ORG = warehouse.OrgCode,
                        BILLCODE = input.BillCode,
                        ORDER_NO = input.BillCode,
                        SN = item.SN,
                        STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(),
                        ITEM_CODE = snData.Where(i => i.SN == item.SN).FirstOrDefault()?.ITEM_CODE,
                        QTY = item.Qty,
                        BILLLINE = dicitemcode[item.ItemCode]
                        ORDER_LINE = dicitemcode[item.ItemCode]
                    });
                }
            }
@@ -209,7 +209,7 @@
            if (snLst.Any())
            {
                var history = db.Queryable<BIZ_WMS_TRANSFER_SN>().Where(i => i.BILLCODE == input.BillCode).ToList();
                var history = db.Queryable<BIZ_WMS_TRANSFER_SN>().Where(i => i.ORDER_NO == input.BillCode).ToList();
                if (history.Any())
                {
                    db.Deleteable(history).ExecuteCommand();
Tiger.Business.WMS/T100ToWMS/TrasferInfoBusiness.cs
@@ -27,7 +27,7 @@
            {
                foreach (var item in masterData)
                {
                    item.SOURCECODE = item.BILLCODE;
                    item.SOURCE_ORDER = item.ORDER_NO;
                }
            }
            var detailSource = new List<TrasferInfoDetailDTO>();
@@ -54,32 +54,32 @@
            //var db = Biz.Db;// åŒºåˆ†æ­£å¼åº“还是测试库
            var db = Biz.DataSource["WMS57"].Client; // åŒºåˆ†æ­£å¼åº“还是测试库
            var BILLCODELst = masterData.Select(i => i.BILLCODE).Distinct().ToList();
            var BILLCODELst = masterData.Select(i => i.ORDER_NO).Distinct().ToList();
            #region åŒºåˆ†ä¸»è¡¨éœ€è¦æ’入及更新的数据
            var hostoryMasterData = db.Queryable<BIZ_WMS_TRANSFER>().Where(i => BILLCODELst.Contains(i.BILLCODE)).ToList();// èŽ·å–ä¸»è¡¨æ—§æ•°æ®
            var resMaster = hostoryMasterData.Select(i => i.BILLCODE).Distinct().ToList();
            var masterNeedInsert = masterData.Where(i => !resMaster.Contains(i.BILLCODE)).ToList();// éœ€è¦æ’入的数据
            var masterNeedUpdate = masterData.Where(i => resMaster.Contains(i.BILLCODE)).ToList();// éœ€è¦æ›´æ–°çš„æ•°æ®
            var hostoryMasterData = db.Queryable<BIZ_WMS_TRANSFER>().Where(i => BILLCODELst.Contains(i.ORDER_NO)).ToList();// èŽ·å–ä¸»è¡¨æ—§æ•°æ®
            var resMaster = hostoryMasterData.Select(i => i.ORDER_NO).Distinct().ToList();
            var masterNeedInsert = masterData.Where(i => !resMaster.Contains(i.ORDER_NO)).ToList();// éœ€è¦æ’入的数据
            var masterNeedUpdate = masterData.Where(i => resMaster.Contains(i.ORDER_NO)).ToList();// éœ€è¦æ›´æ–°çš„æ•°æ®
            foreach (var item in masterNeedUpdate)
            {
                item.ID = hostoryMasterData.Where(i => i.BILLCODE == item.BILLCODE).FirstOrDefault()?.ID;
                item.ID = hostoryMasterData.Where(i => i.ORDER_NO == item.ORDER_NO).FirstOrDefault()?.ID;
            }
            #endregion åŒºåˆ†ä¸»è¡¨éœ€è¦æ’入及更新的数据
            #region åŒºåˆ†æ˜Žç»†è¡¨éœ€è¦æ’入及更新的数据
            var hostoryDetailData = db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => BILLCODELst.Contains(i.BILLCODE)).ToList();// èŽ·å–æ˜Žç»†è¡¨æ—§æ•°æ®   å‰”除状态为2的数据
            var hostoryDetailData = db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(i => BILLCODELst.Contains(i.ORDER_NO)).ToList();// èŽ·å–æ˜Žç»†è¡¨æ—§æ•°æ®   å‰”除状态为2的数据
            var resDetail = hostoryDetailData.Select(i => i.ITEM_CODE).Distinct().ToList();// èŽ·å–æ‰€æœ‰çš„ç‰©æ–™ç¼–å·
            var ignoreCode = hostoryDetailData.Where(i => i.LINESTATUS == 2 || i.LINESTATUS == 3).Select(i => i.ITEM_CODE).Distinct().ToList();// éœ€è¦å¿½ç•¥çš„物料编号
            var ignoreCode = hostoryDetailData.Where(i => i.STATUS == 2 || i.STATUS == 3).Select(i => i.ITEM_CODE).Distinct().ToList();// éœ€è¦å¿½ç•¥çš„物料编号
            var needInsertData = detailData.Where(i => !resDetail.Contains(i.ITEM_CODE) && !ignoreCode.Contains(i.ITEM_CODE)).ToList();// éœ€è¦æ’入的数据
            if (type == "1")
            {
                foreach (var item in needInsertData)
                {
                    item.OUTQTY = 0;
                    item.QTY_OUT = 0;
                }
            }
@@ -87,9 +87,9 @@
            foreach (var item in needUpdateDetail)
            {
                if (item.LINESTATUS == 0 && type == "1")
                if (item.STATUS == 0 && type == "1")
                {
                    item.OUTQTY = 0;
                    item.QTY_OUT = 0;
                }
                item.AUTH_ORG = input[0].AUTH_ORG;
            }
@@ -97,7 +97,7 @@
            var exceptCode = detailData.Select(i => i.ITEM_CODE).Distinct().ToList();
            var deletecode = resDetail.Except(exceptCode).ToList();
            var needDeleteData = hostoryDetailData.Where(i => deletecode.Contains(i.ITEM_CODE) && BILLCODELst.Contains(i.BILLCODE)).ToList();
            var needDeleteData = hostoryDetailData.Where(i => deletecode.Contains(i.ITEM_CODE) && BILLCODELst.Contains(i.ORDER_NO)).ToList();
            foreach (var item in needUpdateDetail)
            {
Tiger.Business.WMS/Task/ERP/Jobs.ReceiptHToErpJob.cs
@@ -133,6 +133,13 @@
        //    _materialInfoBusiness = materialInfoBusiness;
        //}
        public static List<string> strongHoldList = new List<string>
        {
            "XCSJ",
            "DGXC",
            "AHXC"
        };
        /// <summary>
        /// åŒæ­¥ç‰©æ–™ä¿¡æ¯å®šæ—¶ä»»åŠ¡
        /// </summary>
@@ -145,7 +152,7 @@
            try
            {
                Logger.Scheduler.Info(context.Trigger.ConvertToMonitor()); //计划任务开始日志
                foreach (var item in BIZ_WMS_TRANSFER.strongHoldList)
                foreach (var item in strongHoldList)
                {
                    var model = new InputDTO()
                    {
Tiger.Business.WMS/Transaction/Old/InProductionReturn.cs
@@ -246,7 +246,7 @@
                    return action;
                }
                string billCode = barcodeScanneds?.BUSINESSCODE;
                string billCodeT = barcodeScannedsT?.BILLCODE;
                string billCodeT = barcodeScannedsT?.ORDER_NO;
                //string billLine = barcodeScanneds[0].BILLLINE;
                foreach (var item in inv.Items)
@@ -321,41 +321,41 @@
                }
                Logger.Default.Info($"更新单据明细信息:单号[{billCode}],项次[{string.Join(",", billDetail.Select(q=>q.BILLLINE))}],数量[{string.Join(",", billDetail.Select(q => q.INVENTORYQTY))}],状态[{string.Join(",", billDetail.Select(q => q.LINESTATUS))}]");
                //调拨单
                var billDetailT = Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(t => t.BILLCODE.ToUpper() == billCodeT.ToUpper() && t.ITEM_CODE == inv.ItemInfo.ITEM_CODE).ToList();
                var billDetailT = Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(t => t.ORDER_NO.ToUpper() == billCodeT.ToUpper() && t.ITEM_CODE == inv.ItemInfo.ITEM_CODE).ToList();
                foreach (var dtl in billDetailT)
                {
                    dtl.INWAREHOUSECODE = putOnInfo.Warehouse.WH_CODE;
                    dtl.IN_WH_CODE = putOnInfo.Warehouse.WH_CODE;
                }
                var totalT = Biz.Db.Queryable<BIZ_WMS_TRANSFER_SN>()
                   .Where(t => t.BILLCODE.ToUpper() == billCodeT.ToUpper() && t.ITEM_CODE == inv.ItemInfo.ITEM_CODE)
                   .Where(t => t.ORDER_NO.ToUpper() == billCodeT.ToUpper() && t.ITEM_CODE == inv.ItemInfo.ITEM_CODE)
                   .Where(t => t.STATUS == WMS_ITEM.STATUSs.InStore.GetValue() || inv.Items.Select(q => q.SN).Contains(t.SN))
                   .Sum(x => x.QTY);
                foreach (var dtl in billDetailT)
                {
                    dtl.INQTY = total;
                    dtl.INVENTORYQTY = total;
                    dtl.QTY_IN = total;
                    //dtl.INVENTORYQTY = total;
                    if (dtl.ITEM_CODE == lotNo?.ITEM_CODE)
                    {
                        dtl.BATCH_NO_IN = WarehouseName.Contains("客供") ? lotNo.LOTNO : "";
                        dtl.BATCH_NO_OUT = WarehouseName.Contains("客供") ? lotNo.LOTNO : "";
                        dtl.IN_LOTNO = WarehouseName.Contains("客供") ? lotNo.LOTNO : "";
                        dtl.OUT_LOTNO = WarehouseName.Contains("客供") ? lotNo.LOTNO : "";
                    }
                }
                //billDetail.DELIVERYDATE = DateTime.Now.Date;
                //billDetail.QTY = total; //inv.Barcode.Qty.ToDouble();
                var isCompletedT = false;
                // æ›´æ–°å•据HEADER状态
                var billHeaderT = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(t => t.BILLCODE.ToUpper() == billCodeT).First();
                if (billDetailT.Sum(t => t.PRQTY) == totalT)
                var billHeaderT = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(t => t.ORDER_NO.ToUpper() == billCodeT).First();
                if (billDetailT.Sum(t => t.QTY_REQ) == totalT)
                {
                    foreach (var dtl in billDetailT)
                    {
                        dtl.LINESTATUS = BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue();
                        dtl.STATUS = BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue();
                    }
                    //barcodeScanned.STATUS = WMS_ITEM.STATUSs.InStore.GetValue();
                    if (!Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(t => t.BILLCODE.ToUpper() == billCodeT.ToUpper() && t.ITEM_CODE != inv.ItemInfo.ITEM_CODE && t.LINESTATUS != BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue()).Any())
                    if (!Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(t => t.ORDER_NO.ToUpper() == billCodeT.ToUpper() && t.ITEM_CODE != inv.ItemInfo.ITEM_CODE && t.STATUS != BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue()).Any())
                    {
                        billHeaderT.STATUS = BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue();
                        billHeaderT.STATUS = BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue();
                        isCompletedT = true;
                    }
                }
@@ -363,10 +363,10 @@
                {
                    foreach (var dtl in billDetailT)
                    {
                        dtl.LINESTATUS = BIZ_WMS_TRANSFER.STATUSs.WORKING.GetValue();
                        dtl.STATUS = BIZ_WMS_TRANSFER.STATUSs.Storing.GetValue();
                    }
                }
                Logger.Default.Info($"更新单据明细信息:单号[{billCodeT}],项次[{string.Join(",", billDetailT.Select(q => q.BILLLINE))}],数量[{string.Join(",", billDetailT.Select(q => q.INVENTORYQTY))}],状态[{string.Join(",", billDetail.Select(q => q.LINESTATUS))}]");
                Logger.Default.Info($"更新单据明细信息:单号[{billCodeT}],项次[{string.Join(",", billDetailT.Select(q => q.ORDER_LINE))}],数量[{string.Join(",", billDetailT.Select(q => q.QTY_IN))}],状态[{string.Join(",", billDetail.Select(q => q.LINESTATUS))}]");
                #endregion
Tiger.Business.WMS/Transaction/Old/OutSplit.cs
@@ -206,7 +206,7 @@
                    var MaterialReqTrans = Biz.Db.Queryable<BIZ_ERP_PROD_OUT>().Where(t => t.BILLCODE == ReqNo).Any();
                    var OthReqTrans = Biz.Db.Queryable<BIZ_ERP_OTH_OUT>().Where(t => t.BILLCODE == ReqNo).Any();
                    var SaleReqTrans = Biz.Db.Queryable<BIZ_ERP_SALE_OUT>().Where(t => t.BILLCODE == ReqNo).Any();
                    var TfTrans = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(t => t.BILLCODE == ReqNo).Any();
                    var TfTrans = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(t => t.ORDER_NO == ReqNo).Any();
                    ProductionMaterialReq trans = null;
                    OutWorkOrder owoTrans = null;
                    OutOther othTrans = null;
Tiger.Business.WMS/Transaction/Old/OutTransfer.cs
@@ -61,7 +61,7 @@
            var action = new ApiAction<ProdReqOutput>();
            try
            {
                req = await Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.BILLCODE == input.ReqNo).Includes(q => q.DtlsWithGhost, d => d.ItemInfo).IncludesAllFirstLayer().FirstAsync();
                req = await Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.ORDER_NO == input.ReqNo).Includes(q => q.DtlsWithGhost, d => d.ItemInfo).IncludesAllFirstLayer().FirstAsync();
                //验证明细是否正确
                if (!req.Dtls.Any())
                {
@@ -71,9 +71,9 @@
                }
                //如果是手工创建的调拨单
                isManual = req.STATUS == BIZ_WMS_TRANSFER.STATUSs.MANUAL.GetValue();
                isManual = req.STATUS == BIZ_WMS_TRANSFER.STATUSs.Imported.GetValue();
                Biz.Db.Deleteable<WMS_ITEM_POOL>().Where(q => q.TRANS_CODE == req.BILLCODE).ExecuteCommand();
                Biz.Db.Deleteable<WMS_ITEM_POOL>().Where(q => q.TRANS_CODE == req.ORDER_NO).ExecuteCommand();
                //如果上一次推荐有数据,则先灭掉亮的灯
                if (Suggests.Any())
                {
@@ -82,8 +82,8 @@
                var begin = DateTime.Now;
                var ElapsedTime = 0.0;
                var sumDtls = req.Dtls.Where(q => q.LINESTATUS != BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue())
                    .GroupBy(x => new { x.ITEM_CODE }).Select(x => new { ItemCode = x.Key.ITEM_CODE.ToString(), WarehouseCode = x.Max(t => t.OUTWAREHOUSECODE), actQty = x.Sum(t => t.PRQTY - t.OUTQTY), lockObj = new object() });
                var sumDtls = req.Dtls.Where(q => q.STATUS != BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue())
                    .GroupBy(x => new { x.ITEM_CODE }).Select(x => new { ItemCode = x.Key.ITEM_CODE.ToString(), WarehouseCode = x.Max(t => t.OUT_WH_CODE), actQty = x.Sum(t => t.QTY_REQ - t.QTY_OUT), lockObj = new object() });
                var dic = sumDtls.ToDictionary(k => k, v => new Result<List<SuggestItem>>());
                foreach (var item in dic)
                {
@@ -92,7 +92,7 @@
                    {
                        lock (item.Key.lockObj)
                        {
                            dic[item.Key] = WMS_ITEM_Biz.WmsItem.Suggest(req.BILLCODE, item.Key.ItemCode, item.Key.WarehouseCode, null, null, null, input.AuthOption, item.Key.actQty);
                            dic[item.Key] = WMS_ITEM_Biz.WmsItem.Suggest(req.ORDER_NO, item.Key.ItemCode, item.Key.WarehouseCode, null, null, null, input.AuthOption, item.Key.actQty);
                        }
                    });
                }
@@ -120,7 +120,7 @@
                    var actQty = sumDtls.ToList().Where(x => x.ItemCode.Trim() == inv.Item.ITEM_CODE.Trim()).Select(x => x.actQty).FirstOrDefault();
                    if (actQty > 0)
                    {
                        inv.poolItem = inv.Item.GetPoolItem(input.AuthOption.OrgCode, nameof(req), req.BILLCODE, null, actQty, false);
                        inv.poolItem = inv.Item.GetPoolItem(input.AuthOption.OrgCode, nameof(req), req.ORDER_NO, null, actQty, false);
                    }
                    else
                    {
@@ -169,7 +169,7 @@
                            await Share.Shelf.LightMulti(TransID, light.Color, locs);
                            action.Data = new ProdReqOutput()
                            {
                                ReqNo = req.BILLCODE,
                                ReqNo = req.ORDER_NO,
                                ReqType = light.ReqType.GetValue()
                            };
                            action.LocaleMsg = Biz.L("亮灯成功,亮灯颜色[{0}]", light.Color.GetDesc());
@@ -206,11 +206,11 @@
            var action = new ApiAction();
            try
            {
                var dtls = req.Dtls.GroupBy(x => new { x.BILLLINE, x.ITEM_CODE, x.ItemInfo.ITEM_NAME }).Select(x => new ProdReqDtl() { BillLine = x.Key.BILLLINE.ToInt32(), ItemCode = x.Key.ITEM_CODE, ItemName = x.Key.ITEM_NAME, Status = "", Items = new List<ProdReqDtlItems>() }).ToList();
                var dtls = req.Dtls.GroupBy(x => new { x.ORDER_LINE, x.ITEM_CODE, x.ItemInfo.ITEM_NAME }).Select(x => new ProdReqDtl() { BillLine = x.Key.ORDER_LINE.ToInt32(), ItemCode = x.Key.ITEM_CODE, ItemName = x.Key.ITEM_NAME, Status = "", Items = new List<ProdReqDtlItems>() }).ToList();
                foreach (var d in dtls)
                {
                    d.Items = Suggests.Where(x => x.Item.ITEM_CODE == d.ItemCode).Select(x => new ProdReqDtlItems { WHCode = x.Warehouse.WH_CODE, LocationCode = x.Location.LOCATION_CODE, SN = x.Item.SN, QTY = x.Item.QTY }).ToList();
                    d.Status = $"{(double)req.Dtls.Where(x => x.ITEM_CODE == d.ItemCode).Sum(x => x.OUTQTY)} / {(double)req.Dtls.Where(x => x.ITEM_CODE == d.ItemCode).Sum(x => x.PRQTY)} {Suggests.FirstOrDefault()?.Item?.UNIT} (还需{d.Items.Count}个)";
                    d.Status = $"{(double)req.Dtls.Where(x => x.ITEM_CODE == d.ItemCode).Sum(x => x.QTY_OUT)} / {(double)req.Dtls.Where(x => x.ITEM_CODE == d.ItemCode).Sum(x => x.QTY_REQ)} {Suggests.FirstOrDefault()?.Item?.UNIT} (还需{d.Items.Count}个)";
                }
                action.Data = itemcode.IsNullOrEmpty() ? dtls.OrderBy(q => q.BillLine) : dtls.Where(x => x.ItemCode == itemcode).FirstOrDefault()?.Items.OrderBy(q => q.SN);
            }
@@ -230,7 +230,7 @@
            var action = new ApiAction();
            try
            {
                action.Data = $"物料{itemcode}:已下架[{(double)req.Dtls.Where(x => x.ITEM_CODE == itemcode).Sum(x => x.OUTQTY)}],共{(double)req.Dtls.Where(x => x.ITEM_CODE == itemcode).Sum(x => x.PRQTY)} {Suggests.FirstOrDefault()?.Item?.UNIT}";
                action.Data = $"物料{itemcode}:已下架[{(double)req.Dtls.Where(x => x.ITEM_CODE == itemcode).Sum(x => x.QTY_OUT)}],共{(double)req.Dtls.Where(x => x.ITEM_CODE == itemcode).Sum(x => x.QTY_REQ)} {Suggests.FirstOrDefault()?.Item?.UNIT}";
            }
            catch (Exception ex)
            {
@@ -318,10 +318,10 @@
                }
                //仓库卡控
                if (!req.Dtls.Any(q => q.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE && q.OUTWAREHOUSECODE == CurInv.Warehouse.WH_CODE))
                if (!req.Dtls.Any(q => q.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE && q.OUT_WH_CODE == CurInv.Warehouse.WH_CODE))
                {
                    action.IsSuccessed = false;
                    action.LocaleMsg = Biz.L($"条码[{CurInv.Barcode.SN}]的料号或者仓库跟单据[{req.BILLCODE}]上的不一致");
                    action.LocaleMsg = Biz.L($"条码[{CurInv.Barcode.SN}]的料号或者仓库跟单据[{req.ORDER_NO}]上的不一致");
                    return action;
                }
@@ -382,7 +382,7 @@
                //2.是否超发
                isExceed = false;
                req = await Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.BILLCODE == req.BILLCODE).Includes(q => q.DtlsWithGhost, d => d.ItemInfo).IncludesAllFirstLayer().FirstAsync();
                req = await Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.ORDER_NO == req.ORDER_NO).Includes(q => q.DtlsWithGhost, d => d.ItemInfo).IncludesAllFirstLayer().FirstAsync();
                dtls = req.Dtls.Where(x => x.ITEM_CODE == CurInv.ItemInfo.ITEM_CODE).ToList();
                if (dtls.IsNullOrEmpty())
                {
@@ -392,13 +392,13 @@
                }
                //如果状态完成
                if (dtls.Where(x => x.LINESTATUS == BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue()).Count() == dtls.Count)
                if (dtls.Where(x => x.STATUS == BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue()).Count() == dtls.Count)
                {
                    action.IsSuccessed = false;
                    action.LocaleMsg = Biz.L("料已经发完");
                    return action;
                }
                var actQty = dtls.Sum(x => x.OUTQTY > x.PRQTY ? 0 : x.PRQTY - x.OUTQTY);
                var actQty = dtls.Sum(x => x.QTY_OUT > x.QTY_REQ ? 0 : x.QTY_REQ - x.QTY_OUT);
                cutQty = 0;
                if (actQty < CurInv.CurPkg.QTY)
                {
@@ -411,26 +411,26 @@
                double curQty = CurInv.CurPkg.QTY;
                foreach (var d in dtls)
                {
                    var actPrQty = d.PRQTY - d.OUTQTY;
                    var actPrQty = d.QTY_REQ - d.QTY_OUT;
                    if (actPrQty > 0 && curQty > 0)
                    {
                        if (actPrQty >= curQty)
                        {
                            d.OUTQTY += curQty;
                            d.QTY_OUT += curQty;
                            curQty = 0;
                        }
                        else
                        {
                            d.OUTQTY = d.PRQTY;
                            d.QTY_OUT = d.QTY_REQ;
                            curQty -= actPrQty;
                        }
                        d.LINESTATUS = d.OUTQTY >= d.PRQTY ? BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue() : BIZ_WMS_TRANSFER.STATUSs.WORKING.GetValue();
                        d.STATUS = d.QTY_OUT >= d.QTY_REQ ? BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() : BIZ_WMS_TRANSFER.STATUSs.Storing.GetValue();
                        //d.OUTWAREHOUSECODE = CurInv.Warehouse.WH_CODE;
                    }
                }
                if (isExceed)
                {
                    if (CurInv.ItemInfo.DLVY_TYPE == BAS_ITEM.DLVY_TYPEs.ByDemand.GetValue() || req.BILLCODE.Substring(2, 4) == "5408" || req.BILLCODE.Substring(2, 4) == "5409")
                    if (CurInv.ItemInfo.DLVY_TYPE == BAS_ITEM.DLVY_TYPEs.ByDemand.GetValue() || req.ORDER_NO.Substring(2, 4) == "5408" || req.ORDER_NO.Substring(2, 4) == "5409")
                    {
                        isCutting = true;
                        isExceed = false;
@@ -444,8 +444,8 @@
                    else
                    {
                        //最大数量明细行用于调拨,该行发料数量加上应截料数量
                        var tfdtl = dtls.OrderBy(q => q.BILLLINE.ToDecimal()).Last();
                        tfdtl.OUTQTY += cutQty;
                        var tfdtl = dtls.OrderBy(q => q.ORDER_LINE.ToDecimal()).Last();
                        tfdtl.QTY_OUT += cutQty;
                    }
                }
@@ -543,7 +543,7 @@
                    CutQty = CurInv.CurPkg.QTY - cutQty,
                    isCutting = isCutting,
                    isExceed = isExceed,
                    ReqNo = req.BILLCODE,
                    ReqNo = req.ORDER_NO,
                    regionCode = CurInv.Region.REGION_CODE,
                    locationCode = CurInv.Location?.LOCATION_CODE,
                };
@@ -578,38 +578,36 @@
                    SN = CurInv.CurPkg.SN,
                    ITEM_CODE = CurInv.ItemInfo.ITEM_CODE,
                    QTY = CurInv.CurPkg.QTY,
                    META_SN = CurInv.Barcode.MetaSn,
                    BILLCODE = req.BILLCODE,
                    BILLDATE = req.BILLDATE,
                    ORDER_NO = req.ORDER_NO,
                    //BILLLINE = tfdtl.BILLLINE
                };
                //4.更新业务单据,BIZ_WMS_TRANSFER、BIZ_WMS_TRANSFER_DTL、BIZ_WMS_TRANSFER_SN åˆ¤æ–­æ˜Žç»†è¡ŒçŠ¶æ€æ˜¯å¦å®Œæˆ
                var isComplete = !req.Dtls.Any(x => x.LINESTATUS != BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue() && x.LINESTATUS != BIZ_WMS_TRANSFER.STATUSs.MANUALCOMPLETE.GetValue() && x.PRQTY > 0);
                var isComplete = !req.Dtls.Any(x => x.STATUS != BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue() && x.STATUS != BIZ_WMS_TRANSFER.STATUSs.Picked.GetValue() && x.QTY_REQ > 0);
                his_isComplete = isComplete;
                if (isComplete)
                {
                    //detail全部完成了
                    req.STATUS = isManual ? BIZ_WMS_TRANSFER.STATUSs.MANUALCOMPLETE.GetValue() : BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue();
                    req.STATUS = isManual ? BIZ_WMS_TRANSFER.STATUSs.Picked.GetValue() : BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue();
                }
                else
                {
                    req.STATUS = BIZ_WMS_TRANSFER.STATUSs.WORKING.GetValue();
                    req.STATUS = BIZ_WMS_TRANSFER.STATUSs.Storing.GetValue();
                }
                //如果是Agv
                if (CurReqType == ReqType.IsAgv)
                {
                    req.STATUS = isManual ? BIZ_WMS_TRANSFER.STATUSs.MANUALCOMPLETE.GetValue() : BIZ_WMS_TRANSFER.STATUSs.COMPLETE.GetValue();
                    req.STATUS = isManual ? BIZ_WMS_TRANSFER.STATUSs.Picked.GetValue() : BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue();
                }
                //5.出库下架
                foreach (var item in CurInv.Items)
                {
                    item.TRANS_CODE = nameof(BIZ_WMS_TRANSFER);
                    item.TRANS_NO = req.BILLCODE;
                    item.TRANS_LINE = string.Join(",", dtls.Select(x => x.BILLLINE));
                    item.TRANS_NO = req.ORDER_NO;
                    item.TRANS_LINE = string.Join(",", dtls.Select(x => x.ORDER_LINE));
                    item.SOURCE_CODE = "WORK_ORDER";
                    item.SOURCE_ORDER = dtls.First().SOURCECODE;
                    item.SOURCE_ORDER = dtls.First().SOURCE_ORDER;
                }
                Result<TakeDownInfo> downResult = WMS_ITEM_Biz.WmsItem.TakeDown(CurInv, input.AuthOption, WMS_ITEM.STATUSs.Sended, !isCutting);
                if (!downResult.IsSuccessed)
@@ -650,7 +648,7 @@
                //6. å¯¹æŽ¥MES、Agv
                action.LocaleMsg = Biz.L($"调拨出库完成,单号[{req.BILLCODE}],条码[{CurInv.SN}],状态[{req.STATUS.GetEnumDesc<BIZ_WMS_TRANSFER.STATUSs>()}]");
                action.LocaleMsg = Biz.L($"调拨出库完成,单号[{req.ORDER_NO}],条码[{CurInv.SN}],状态[{req.STATUS.GetEnumDesc<BIZ_WMS_TRANSFER.STATUSs>()}]");
                action.Data = new ProdReqOutput()
                {
                    SN = CurInv.SN,
@@ -659,7 +657,7 @@
                    CutQty = CurInv.CurPkg.QTY - cutQty,
                    isCutting = isCutting,
                    isExceed = isExceed,
                    ReqNo = req.BILLCODE,
                    ReqNo = req.ORDER_NO,
                    regionCode = CurInv.Region.REGION_CODE,
                    locationCode = CurInv.Location?.LOCATION_CODE,
                };
@@ -694,9 +692,9 @@
        {
            //needSaveHistoryLog = true;
            CloseLight(LocationHis).Wait();
            if (!(req?.BILLCODE ?? "").IsNullOrEmpty())
            if (!(req?.ORDER_NO ?? "").IsNullOrEmpty())
            {
                Biz.Db.Deleteable<WMS_ITEM_POOL>().Where(x => x.TRANS_NO == req.BILLCODE).ExecuteCommand();
                Biz.Db.Deleteable<WMS_ITEM_POOL>().Where(x => x.TRANS_NO == req.ORDER_NO).ExecuteCommand();
            }
            Biz.Db.Deleteable<WMS_ITEM_POOL>().Where(q => CurPoolList.Select(q => q.SN).Contains(q.SN)).ExecuteCommand();
            //保存操作日志
Tiger.Business.WMS/Transaction/Old/OutWorkOrder.cs
@@ -591,43 +591,42 @@
                        var tfdtl = dtls.OrderBy(q => q.BILLLINE.ToDecimal()).Last();
                        tfdtl.QTY += cutQty;
                        //调拨
                        transferH = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.SOURCECODE == req.BILLCODE).First() ?? new()
                        transferH = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.SOURCE_ORDER == req.BILLCODE).First() ?? new()
                        {
                            BILLCODE = "TF-" + req.BILLCODE,
                            BILLDATE = DateTime.Now,
                            STATUS = BIZ_WMS_TRANSFER.STATUSs.INIT.GetValue(),
                            BIZTYPE = null,
                            OUTWAREHOUSECODE = CurInv.Warehouse.WH_CODE,
                            INWAREHOUSECODE = CurInv.Warehouse.TRANSFER_WH,
                            SOURCETYPE = 0,
                            SOURCECODE = req.BILLCODE,
                            ORDER_NO = "TF-" + req.BILLCODE,
                            ORDER_DATE = DateTime.Now,
                            STATUS = BIZ_WMS_TRANSFER.STATUSs.Init.GetValue(),
                            OUT_WH_CODE = CurInv.Warehouse.WH_CODE,
                            IN_WH_CODE = CurInv.Warehouse.TRANSFER_WH,
                            SOURCE_CODE = nameof(req),
                            SOURCE_ORDER = req.BILLCODE,
                            AUTH_ORG = OrgCode
                        };
                        transferDtl = Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(x => x.BILLCODE == transferH.BILLCODE && x.BILLLINE == tfdtl.BILLLINE).First() ?? new()
                        transferDtl = Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(x => x.ORDER_NO == transferH.ORDER_NO && x.ORDER_LINE == tfdtl.BILLLINE).First() ?? new()
                        {
                            BILLCODE = transferH.BILLCODE,
                            BILLLINE = tfdtl.BILLLINE,
                            LINESTATUS = BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue(),
                            ORDER_NO = transferH.ORDER_NO,
                            ORDER_LINE = tfdtl.BILLLINE,
                            STATUS = BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue(),
                            ITEM_CODE = CurInv.ItemInfo.ITEM_CODE,
                            UNITCODE = "",
                            PRQTY = remainQty,
                            OUTQTY = remainQty,
                            INQTY = remainQty,
                            OUTWAREHOUSECODE = CurInv.Warehouse.WH_CODE,
                            INWAREHOUSECODE = CurInv.Warehouse.TRANSFER_WH,
                            SOURCETYPE = transferH.SOURCETYPE,
                            SOURCECODE = transferH.SOURCECODE,
                            SOURCELINE = tfdtl.BILLLINE,
                            UNIT = "",
                            QTY_REQ = remainQty,
                            QTY_OUT = remainQty,
                            QTY_IN = remainQty,
                            OUT_WH_CODE = CurInv.Warehouse.WH_CODE,
                            IN_WH_CODE = CurInv.Warehouse.TRANSFER_WH,
                            SOURCE_CODE = transferH.SOURCE_CODE,
                            SOURCE_ORDER = transferH.SOURCE_ORDER,
                            SOURCE_LINE = tfdtl.BILLLINE,
                            REMARK = "",
                            AUTH_ORG = OrgCode
                        };
                        Logger.Interface.Info($"工单领料 =>生成调拨明细,单号:[{transferH.BILLCODE}],Qty:{remainQty},状态:{transferDtl.LINESTATUS},项次:[{transferDtl.BILLLINE}]");
                        Logger.Interface.Info($"工单领料 =>生成调拨明细,单号:[{transferH.ORDER_NO}],Qty:{remainQty},状态:{transferDtl.STATUS},项次:[{transferDtl.ORDER_LINE}]");
                        transferSn = new()
                        {
                            BILLCODE = transferH.BILLCODE,
                            BILLLINE = tfdtl.BILLLINE,
                            ORDER_NO = transferH.ORDER_NO,
                            ORDER_LINE = tfdtl.BILLLINE,
                            ITEM_CODE = CurInv.ItemInfo.ITEM_CODE,
                            SN = CurInv.CurPkg.SN,
                            QTY = CurInv.CurPkg.QTY,
@@ -670,11 +669,11 @@
                    //detail å…¨éƒ¨å®Œæˆäº†
                    req.STATUS = BIZ_ERP_PROD_OUT.STATUSs.COMPLETE.GetValue();
                    Logger.Interface.Info($"工单领料 =>领料单[{req.BILLCODE}]发料完成,单头状态:{req.STATUS}");
                    transferH = transferH != null ? transferH : Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.SOURCECODE == req.BILLCODE).First();
                    transferH = transferH != null ? transferH : Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.SOURCE_ORDER == req.BILLCODE).First();
                    if (transferH != null)
                    {
                        transferH.STATUS = BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue();
                        Logger.Interface.Info($"工单领料 =>更新调拨单[{transferH.BILLCODE}]状态:{transferH.STATUS}");
                        transferH.STATUS = BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue();
                        Logger.Interface.Info($"工单领料 =>更新调拨单[{transferH.ORDER_NO}]状态:{transferH.STATUS}");
                    }
                }
                else
Tiger.Business.WMS/Transaction/Old/ProductionMaterialReq.cs
@@ -721,43 +721,42 @@
                        var tfdtl = dtls.OrderBy(q => q.BILLLINE.ToDecimal()).Last();
                        tfdtl.QTY += cutQty;
                        //调拨
                        transferH = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.SOURCECODE == req.BILLCODE).First() ?? new()
                        transferH = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.SOURCE_ORDER == req.BILLCODE).First() ?? new()
                        {
                            BILLCODE = "TF-" + req.BILLCODE,
                            BILLDATE = DateTime.Now,
                            STATUS = BIZ_WMS_TRANSFER.STATUSs.INIT.GetValue(),
                            BIZTYPE = null,
                            OUTWAREHOUSECODE = CurInv.Warehouse.WH_CODE,
                            INWAREHOUSECODE = CurInv.Warehouse.TRANSFER_WH,
                            SOURCETYPE = 0,
                            SOURCECODE = req.BILLCODE,
                            ORDER_NO = "TF-" + req.BILLCODE,
                            ORDER_DATE = DateTime.Now,
                            STATUS = BIZ_WMS_TRANSFER.STATUSs.Init.GetValue(),
                            OUT_WH_CODE = CurInv.Warehouse.WH_CODE,
                            IN_WH_CODE = CurInv.Warehouse.TRANSFER_WH,
                            SOURCE_CODE = nameof(req),
                            SOURCE_ORDER = req.BILLCODE,
                            AUTH_ORG = OrgCode
                        };
                        transferDtl = Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(x => x.BILLCODE == transferH.BILLCODE && x.BILLLINE == tfdtl.BILLLINE).First() ?? new()
                        transferDtl = Biz.Db.Queryable<BIZ_WMS_TRANSFER_DTL>().Where(x => x.ORDER_NO == transferH.ORDER_NO && x.ORDER_LINE == tfdtl.BILLLINE).First() ?? new()
                        {
                            BILLCODE = transferH.BILLCODE,
                            BILLLINE = tfdtl.BILLLINE,
                            LINESTATUS = BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue(),
                            ORDER_NO = transferH.ORDER_NO,
                            ORDER_LINE = tfdtl.BILLLINE,
                            STATUS = BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue(),
                            ITEM_CODE = CurInv.ItemInfo.ITEM_CODE,
                            UNITCODE = "",
                            PRQTY = remainQty,
                            OUTQTY = remainQty,
                            INQTY = remainQty,
                            OUTWAREHOUSECODE = CurInv.Warehouse.WH_CODE,
                            INWAREHOUSECODE = CurInv.Warehouse.TRANSFER_WH,
                            SOURCETYPE = transferH.SOURCETYPE,
                            SOURCECODE = transferH.SOURCECODE,
                            SOURCELINE = tfdtl.BILLLINE,
                            UNIT = "",
                            QTY_REQ = remainQty,
                            QTY_OUT = remainQty,
                            QTY_IN = remainQty,
                            OUT_WH_CODE = CurInv.Warehouse.WH_CODE,
                            IN_WH_CODE = CurInv.Warehouse.TRANSFER_WH,
                            SOURCE_CODE = transferH.SOURCE_CODE,
                            SOURCE_ORDER = transferH.SOURCE_ORDER,
                            SOURCE_LINE = tfdtl.BILLLINE,
                            REMARK = "",
                            AUTH_ORG = OrgCode
                        };
                        Logger.Interface.Info($"生产领料 =>生成调拨明细,单号:[{transferH.BILLCODE}],Qty:{remainQty},状态:{transferDtl.LINESTATUS},项次:[{transferDtl.BILLLINE}]");
                        Logger.Interface.Info($"生产领料 =>生成调拨明细,单号:[{transferH.ORDER_NO}],Qty:{remainQty},状态:{transferDtl.STATUS},项次:[{transferDtl.ORDER_LINE}]");
                        transferSn = new()
                        {
                            BILLCODE = transferH.BILLCODE,
                            BILLLINE = tfdtl.BILLLINE,
                            ORDER_NO = transferH.ORDER_NO,
                            ORDER_LINE = tfdtl.BILLLINE,
                            ITEM_CODE = CurInv.ItemInfo.ITEM_CODE,
                            SN = CurInv.CurPkg.SN,
                            QTY = CurInv.CurPkg.QTY,
@@ -800,11 +799,11 @@
                    //detail全部完成了
                    req.STATUS = BIZ_ERP_PROD_OUT.STATUSs.COMPLETE.GetValue();
                    Logger.Interface.Info($"生产领料 =>领料单[{req.BILLCODE}]发料完成,单头状态:{req.STATUS}");
                    transferH = transferH != null ? transferH : Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.SOURCECODE == req.BILLCODE).First();
                    transferH = transferH != null ? transferH : Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x => x.SOURCE_ORDER == req.BILLCODE).First();
                    if (transferH != null)
                    {
                        transferH.STATUS = BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue();
                        Logger.Interface.Info($"生产领料 =>更新调拨单[{transferH.BILLCODE}]状态:{transferH.STATUS}");
                        transferH.STATUS = BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue();
                        Logger.Interface.Info($"生产领料 =>更新调拨单[{transferH.ORDER_NO}]状态:{transferH.STATUS}");
                    }
                }
                else
Tiger.Business.WMS/iWMS/ProdMaterialReq.cs
@@ -216,15 +216,15 @@
                        entity_h.Add(prd_h);
                        list_dOld.AddRange(list_d);
                        //检查有没有调拨单,有就更新状态为完成
                        var transferList = db.Queryable<BIZ_WMS_TRANSFER>().Where(s => s.SOURCECODE == prd_h.BILLCODE).ToList();
                        var transferList = db.Queryable<BIZ_WMS_TRANSFER>().Where(s => s.SOURCE_ORDER == prd_h.BILLCODE).ToList();
                        if (transferList.Any())
                        {
                            foreach (var item in transferList)
                            {
                                item.STATUS = BIZ_WMS_TRANSFER.STATUSs.FINISHED.GetValue();
                                item.SOURCECODE = prd_h.BILLCODE;
                                item.STATUS = BIZ_WMS_TRANSFER.STATUSs.Finished.GetValue();
                                item.SOURCE_ORDER = prd_h.BILLCODE;
                                transferH.Add(item);
                                action.Message += $",领料单[{prd_h.BILLCODE}]对应调拨单[{item.BILLCODE}]完成";
                                action.Message += $",领料单[{prd_h.BILLCODE}]对应调拨单[{item.ORDER_NO}]完成";
                            }
                        }
                    }
@@ -332,16 +332,16 @@
        {
            var action = new ApiAction<PageAble<BIZ_WMS_TRANSFER>>();
            var query = Biz.Db.Queryable<BIZ_WMS_TRANSFER>().Where(x =>
            (x.STATUS == BIZ_WMS_TRANSFER.STATUSs.INIT.GetValue()
            || x.STATUS == BIZ_WMS_TRANSFER.STATUSs.MANUAL.GetValue()
            || x.STATUS == BIZ_WMS_TRANSFER.STATUSs.WORKING.GetValue())
            (x.STATUS == BIZ_WMS_TRANSFER.STATUSs.Init.GetValue()
            || x.STATUS == BIZ_WMS_TRANSFER.STATUSs.Imported.GetValue()
            || x.STATUS == BIZ_WMS_TRANSFER.STATUSs.Storing.GetValue())
            && x.AUTH_ORG == orgcode)
                .WhereIF(!billcode.IsNullOrEmpty(), x => x.BILLCODE.Contains(billcode))
                .WhereIF(!billcode.IsNullOrEmpty(), x => x.ORDER_NO.Contains(billcode))
                .OrderByDescending(x => x.UPDATE_TIME.ToString("yyyy-MM-dd"))
                //.OrderBy(x => x.REMARK == "L40774" ? 0 : 1)
                //.OrderBy(x => x.SOURCECODE == null ? 1 : 0)
                .OrderByDescending(x => x.BILLDATE)
                .OrderBy(x => new { x.CREATE_TIME, x.BILLCODE})
                .OrderByDescending(x => x.ORDER_DATE)
                .OrderBy(x => new { x.CREATE_TIME, x.ORDER_NO})
                
                //.OrderBy(x => x.CREATE_TIME)
                .ToPage(pageIndex, pageSize);
Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs
@@ -6,137 +6,157 @@
namespace Tiger.Model
{
    /// <summary>
    /// å®žä½“:物品基础信息
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("物品基础信息")]
    [Serializable]
    [SugarTable("BAS_ITEM")]
    public class BAS_ITEM : DbEntityWithAuth
    {
        #region æž„造函数
        /// <summary>
        /// å®žä½“:物品基础信息
        /// </summary>
        public BAS_ITEM() { }
        #endregion
    /// <summary>
    /// å®žä½“:物品基础信息
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("物品基础信息")]
    [Serializable]
    [SugarTable("BAS_ITEM")]
    public class BAS_ITEM : DbEntityWithAuth
    {
        #region æž„造函数
        /// <summary>
        /// å®žä½“:物品基础信息
        /// </summary>
        public BAS_ITEM() {}
        #endregion
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// ç‰©æ–™åç§°
        /// </summary>
        [DisplayName("物料名称")]
        public string ITEM_NAME { get; set; }
        /// <summary>
        /// ç‰©æ–™æè¿°
        /// </summary>
        [DisplayName("物料描述")]
        public string ITEM_DESC { get; set; }
        /// <summary>
        /// ç‰©å“åˆ†ç±»ç¼–码
        /// </summary>
        [DisplayName("物品分类编码")]
        public string ITEM_TYPE { get; set; }
        /// <summary>
        /// ç‰©æ–™ç‰ˆæœ¬
        /// </summary>
        [DisplayName("物料版本")]
        public string ITEM_VER { get; set; }
        /// <summary>
        /// è§„æ ¼
        /// </summary>
        [DisplayName("规格")]
        public string SPEC { get; set; }
        /// <summary>
        /// å‚¨ä½è§„æ ¼(SmallReel卷装小盘|BigReel卷装大盘)
        /// </summary>
        [DisplayName("储位规格(SmallReel卷装小盘|BigReel卷装大盘)")]
        public string SPEC_WH { get; set; }
        /// <summary>
        /// é¢œè‰²
        /// </summary>
        [DisplayName("颜色")]
        public string COLOR { get; set; }
        /// <summary>
        /// å•位
        /// </summary>
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// æ˜¯å¦æˆå“(Y/N)
        /// </summary>
        [DisplayName("是否成品(Y/N)")]
        public string IS_PROD { get; set; }
        /// <summary>
        /// äº§å“ç±»åž‹
        /// </summary>
        [DisplayName("产品类型")]
        public string PROD_TYPE { get; set; }
        /// <summary>
        /// å®¢æˆ·äº§å“ç¼–码
        /// </summary>
        [DisplayName("客户产品编码")]
        public string CUST_PROD_CODE { get; set; }
        /// <summary>
        /// æ˜¯å¦å¯ç”¨(Y/N)
        /// </summary>
        [DisplayName("是否启用(Y/N)")]
        public string IS_ACTIVE { get; set; }
        /// <summary>
        /// ç®¡æŽ§æ–¹å¼ï¼ˆBatch批次管控/Single单件管控)
        /// </summary>
        [DisplayName("管控方式(Batch批次管控/Single单件管控)")]
        public string CTRL_MODE { get; set; }
        /// <summary>
        /// å‘布时间
        /// </summary>
        [DisplayName("发布时间")]
        public DateTime RELEASE_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// ç”Ÿæ•ˆæ—¶é—´
        /// </summary>
        [DisplayName("生效时间")]
        public DateTime EFFECTIVE_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// æœ‰æ•ˆå¤©æ•°
        /// </summary>
        [DisplayName("有效天数")]
        public double VALIDITY_DAYS { get; set; }
        /// <summary>
        /// å‘料管控(0ByDemand按需发料|1ByMinPackage最小包装发料)
        /// </summary>
        [DisplayName("发料管控(0ByDemand按需发料|1ByMinPackage最小包装发料)")]
        public int DLVY_TYPE { get; set; }
        /// <summary>
        /// æ˜¯å¦å¯ç”¨å…ˆè¿›å…ˆå‡º(Y/N)
        /// </summary>
        [DisplayName("是否启用先进先出(Y/N)")]
        public string ENABLE_FIFO { get; set; }
        /// <summary>
        /// æ¡ç è§„则编码
        /// </summary>
        [DisplayName("条码规则编码")]
        public string RULE_CODE { get; set; }
        /// <summary>
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// ç‰©æ–™åç§°
        /// </summary>
        [DisplayName("物料名称")]
        public string ITEM_NAME { get; set; }
        /// <summary>
        /// ç‰©æ–™æè¿°
        /// </summary>
        [DisplayName("物料描述")]
        public string ITEM_DESC { get; set; }
        /// <summary>
        /// ç‰©å“åˆ†ç±»ç¼–码
        /// </summary>
        [DisplayName("物品分类编码")]
        public string ITEM_TYPE { get; set; }
        /// <summary>
        /// ç‰©æ–™ç‰ˆæœ¬
        /// </summary>
        [DisplayName("物料版本")]
        public string ITEM_VER { get; set; }
        /// <summary>
        /// è§„æ ¼
        /// </summary>
        [DisplayName("规格")]
        public string SPEC { get; set; }
        /// <summary>
        /// å‚¨ä½è§„æ ¼(SmallReel卷装小盘|BigReel卷装大盘)
        /// </summary>
        [DisplayName("储位规格(SmallReel卷装小盘|BigReel卷装大盘)")]
        public string SPEC_WH { get; set; }
        /// <summary>
        /// é¢œè‰²
        /// </summary>
        [DisplayName("颜色")]
        public string COLOR { get; set; }
        /// <summary>
        /// å•位
        /// </summary>
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// æ˜¯å¦æˆå“(Y/N)
        /// </summary>
        [DisplayName("是否成品(Y/N)")]
        public string IS_PROD { get; set; }
        /// <summary>
        /// äº§å“ç±»åž‹
        /// </summary>
        [DisplayName("产品类型")]
        public string PROD_TYPE { get; set; }
        /// <summary>
        /// å®¢æˆ·äº§å“ç¼–码
        /// </summary>
        [DisplayName("客户产品编码")]
        public string CUST_PROD_CODE { get; set; }
        /// <summary>
        /// æ˜¯å¦å¯ç”¨(Y/N)
        /// </summary>
        [DisplayName("是否启用(Y/N)")]
        public string IS_ACTIVE { get; set; }
        /// <summary>
        /// ç®¡æŽ§æ–¹å¼ï¼ˆBatch批次管控/Single单件管控)
        /// </summary>
        [DisplayName("管控方式(Batch批次管控/Single单件管控)")]
        public string CTRL_MODE { get; set; }
        /// <summary>
        /// å‘布时间
        /// </summary>
        [DisplayName("发布时间")]
        public DateTime RELEASE_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// ç”Ÿæ•ˆæ—¶é—´
        /// </summary>
        [DisplayName("生效时间")]
        public DateTime EFFECTIVE_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// æœ‰æ•ˆå¤©æ•°
        /// </summary>
        [DisplayName("有效天数")]
        public double VALIDITY_DAYS { get; set; }
        /// <summary>
        /// å‘料管控(0ByDemand按需发料|1ByMinPackage最小包装发料)
        /// </summary>
        [DisplayName("发料管控(0ByDemand按需发料|1ByMinPackage最小包装发料)")]
        public int DLVY_TYPE { get; set; }
        /// <summary>
        /// æ˜¯å¦å¯ç”¨å…ˆè¿›å…ˆå‡º(Y/N)
        /// </summary>
        [DisplayName("是否启用先进先出(Y/N)")]
        public string ENABLE_FIFO { get; set; }
        /// <summary>
        /// æ¡ç è§„则编码
        /// </summary>
        [DisplayName("条码规则编码")]
        public string RULE_CODE { get; set; }
        /// <summary>
        /// é»˜è®¤å·¥è‰ºè·¯çº¿ç¼–码
        /// </summary>
        [DisplayName("默认工艺路线编码")]
        public string DEFAULT_ROUTE { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        public string DEFAULT_ROUTE { get; set; }
        /// <summary>
        /// é»˜è®¤ä»“库
        /// </summary>
        [DisplayName("默认仓库")]
        public string DEFAULT_WH { get; set; }
        /// <summary>
        /// é»˜è®¤å‚¨åŒº
        /// </summary>
        [DisplayName("默认储区")]
        public string DEFAULT_REGION { get; set; }
        /// <summary>
        /// é»˜è®¤è´§æž¶/料车
        /// </summary>
        [DisplayName("默认货架/料车")]
        public string DEFAULT_SHELF { get; set; }
        /// <summary>
        /// é»˜è®¤å‚¨ä½
        /// </summary>
        [DisplayName("默认储位")]
        public string DEFAULT_LOCATION { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
@@ -147,8 +167,8 @@
        public double DepositDays { get; set; }
        #endregion è™šæ‹Ÿå±žæ€§
        #region å¤–键属性
        /*例子
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BAS_ITEM类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
@@ -163,8 +183,8 @@
        public BAS_ITEM_EXT ExtInfo { get; set; } //注意禁止手动赋值,只能是null
        #endregion
        #region æžšä¸¾å˜é‡
        /*例子
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
@@ -174,21 +194,21 @@
        }
        */
        /// <summary>
        /// æžšä¸¾ï¼šå‘料管控(0ByDemand按需发料|1ByMinPackage最小包装发料)
        /// </summary>
        public enum DLVY_TYPEs
        {
            [Description("按需发料")]
            ByDemand = 0,
            [Description("最小包装发料")]
            ByMinPackage = 1,
        }
        #endregion
        /// <summary>
        /// æžšä¸¾ï¼šå‘料管控(0ByDemand按需发料|1ByMinPackage最小包装发料)
        /// </summary>
        public enum DLVY_TYPEs
        {
            [Description("按需发料")]
            ByDemand = 0,
            [Description("最小包装发料")]
            ByMinPackage = 1,
        }
        #endregion
        #region å…¬å…±æ–¹æ³•
        #region å…¬å…±æ–¹æ³•
        #endregion
        #endregion
    }//endClass
    }//endClass
}
Tiger.Model.Net/Entitys/MES/YadaU9/mes_ItemMaster.cs
@@ -130,6 +130,10 @@
        /// æ‰“印模式
        /// </summary>
        public int ReceiptMode { get; set; }
        /// <summary>
        /// é»˜è®¤å‚¨ä½
        /// </summary>
        public string BinCode { get; set; }
        #endregion
        #region è™šæ‹Ÿå±žæ€§
Tiger.Model.Net/Entitys/WMS/BIZ_ITEM_CVT.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,145 @@
using System;
using SqlSugar;
using System.Linq;
using System.ComponentModel;
using System.Collections.Generic;
namespace Tiger.Model
{
    /// <summary>
    /// å®žä½“:物品转变单(WMS)
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("物品转变单(WMS)")]
    [Serializable]
    [SugarTable("BIZ_ITEM_CVT")]
    public class BIZ_ITEM_CVT : DbEntityWithAuth
    {
        #region æž„造函数
        /// <summary>
        /// å®žä½“:物品转变单(WMS)
        /// </summary>
        public BIZ_ITEM_CVT() {}
        #endregion
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// è½¬å˜å•号
        /// </summary>
        [DisplayName("转变单号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// å•据日期
        /// </summary>
        [DisplayName("单据日期")]
        public DateTime ORDER_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// çŠ¶æ€(0Init新创建|1Working作业中|2Pending待审核|3Finished已完成|4Failed审核失败|7Cancel已作废)
        /// </summary>
        [DisplayName("状态(0Init新创建|1Working作业中|2Pending待审核|3Finished已完成|4Failed审核失败|7Cancel已作废)")]
        public int STATUS { get; set; }
        /// <summary>
        /// ERP类型
        /// </summary>
        [DisplayName("ERP类型")]
        public string ERP_TYPE_CODE { get; set; }
        /// <summary>
        /// ERP类型名称
        /// </summary>
        [DisplayName("ERP类型名称")]
        public string ERP_TYPE_NAME { get; set; }
        /// <summary>
        /// ERP单据状态
        /// </summary>
        [DisplayName("ERP单据状态")]
        public string ERP_STATUS_CODE { get; set; }
        /// <summary>
        /// ERP单据状态名称
        /// </summary>
        [DisplayName("ERP单据状态名称")]
        public string ERP_STATUS_NAME { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// -1:未处理,0:同步处理完,>0:同步处理失败次数
        /// </summary>
        [DisplayName("-1:未处理,0:同步处理完,>0:同步处理失败次数")]
        public int HANDLED { get; set; } = -1;
        /// <summary>
        /// æœ€åŽä¸€æ¬¡åŒæ­¥å¤„理日期
        /// </summary>
        [DisplayName("最后一次同步处理日期")]
        public DateTime HANDLED_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// è¿‡è´¦æäº¤çš„JSON
        /// </summary>
        [DisplayName("过账提交的JSON")]
        public string COMMIT_JSON { get; set; }
        /// <summary>
        /// è¿‡è´¦æäº¤çš„返回信息
        /// </summary>
        [DisplayName("过账提交的返回信息")]
        public string COMMIT_MSG { get; set; }
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ITEM_CVT类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ITEM_CVTId))]//ClassA表中的BIZ_ITEM_CVTId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ITEM_CVTId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            Enum1,
        }
        */
        /// <summary>
        /// æžšä¸¾ï¼šçŠ¶æ€(0Init新创建|1Working作业中|2Pending待审核|3Finished已完成|4Failed审核失败|7Cancel已作废)
        /// </summary>
        public enum STATUSs
        {
            [Description("新创建")]
            Init = 0,
            [Description("作业中")]
            Working = 1,
            [Description("待审核")]
            Pending = 2,
            [Description("已完成")]
            Finished = 3,
            [Description("审核失败")]
            Failed = 4,
            [Description("已作废")]
            Cancel = 7,
        }
        #endregion
        #region å…¬å…±æ–¹æ³•
        #endregion
    }//endClass
}
Tiger.Model.Net/Entitys/WMS/BIZ_ITEM_CVT_DTL.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
using System;
using SqlSugar;
using System.Linq;
using System.ComponentModel;
using System.Collections.Generic;
namespace Tiger.Model
{
    /// <summary>
    /// å®žä½“:物品转变单(WMS)明细
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("物品转变单(WMS)明细")]
    [Serializable]
    [SugarTable("BIZ_ITEM_CVT_DTL")]
    public class BIZ_ITEM_CVT_DTL : DbEntityWithAuth
    {
        #region æž„造函数
        /// <summary>
        /// å®žä½“:物品转变单(WMS)明细
        /// </summary>
        public BIZ_ITEM_CVT_DTL() {}
        #endregion
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// è½¬å˜å•号
        /// </summary>
        [DisplayName("转变单号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// è½¬å˜å•行号
        /// </summary>
        [DisplayName("转变单行号")]
        public string ORDER_LINE { get; set; }
        /// <summary>
        /// çŠ¶æ€(同单据状态)
        /// </summary>
        [DisplayName("状态(同单据状态)")]
        public int STATUS { get; set; }
        /// <summary>
        /// åŽŸç‰©æ–™ç¼–ç 
        /// </summary>
        [DisplayName("原物料编码")]
        public string ITEM_CODE_BF { get; set; }
        /// <summary>
        /// åŽŸç‰©æ–™åç§°
        /// </summary>
        [DisplayName("原物料名称")]
        public string ITEM_NAME_BF { get; set; }
        /// <summary>
        /// è½¬å˜åŽç‰©æ–™ç¼–码
        /// </summary>
        [DisplayName("转变后物料编码")]
        public string ITEM_CODE_AF { get; set; }
        /// <summary>
        /// è½¬å˜åŽç‰©æ–™åç§°
        /// </summary>
        [DisplayName("转变后物料名称")]
        public string ITEM_NAME_AF { get; set; }
        /// <summary>
        /// è½¬å˜æ•°é‡
        /// </summary>
        [DisplayName("转变数量")]
        public double QTY { get; set; }
        /// <summary>
        /// ERP转变类型
        /// </summary>
        [DisplayName("ERP转变类型")]
        public string ERP_TYPE_CODE { get; set; }
        /// <summary>
        /// ERP转变名称
        /// </summary>
        [DisplayName("ERP转变名称")]
        public string ERP_TYPE_NAME { get; set; }
        /// <summary>
        /// åº“存单位
        /// </summary>
        [DisplayName("库存单位")]
        public string STORE_UNIT { get; set; }
        /// <summary>
        /// åº“存单位数量
        /// </summary>
        [DisplayName("库存单位数量")]
        public double STORE_UNIT_QTY { get; set; }
        /// <summary>
        /// æˆæœ¬å•位
        /// </summary>
        [DisplayName("成本单位")]
        public string COST_UNIT { get; set; }
        /// <summary>
        /// æˆæœ¬å•位数量
        /// </summary>
        [DisplayName("成本单位数量")]
        public double COST_UNIT_QTY { get; set; }
        /// <summary>
        /// ä»“库编码(ERP)
        /// </summary>
        [DisplayName("仓库编码(ERP)")]
        public string WH_CODE { get; set; }
        /// <summary>
        /// ä»“库名称(ERP)
        /// </summary>
        [DisplayName("仓库名称(ERP)")]
        public string WH_NAME { get; set; }
        /// <summary>
        /// å‚¨ä½ç¼–码(ERP)
        /// </summary>
        [DisplayName("储位编码(ERP)")]
        public string LOCATION_CODE { get; set; }
        /// <summary>
        /// æ‰¹æ¬¡å·(ERP)
        /// </summary>
        [DisplayName("批次号(ERP)")]
        public string LOTNO { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ITEM_CVT_DTL类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ITEM_CVT_DTLId))]//ClassA表中的BIZ_ITEM_CVT_DTLId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ITEM_CVT_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            Enum1,
        }
        */
        #endregion
        #region å…¬å…±æ–¹æ³•
        #endregion
    }//endClass
}
Tiger.Model.Net/Entitys/WMS/BIZ_ITEM_CVT_SN.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,136 @@
using System;
using SqlSugar;
using System.Linq;
using System.ComponentModel;
using System.Collections.Generic;
namespace Tiger.Model
{
    /// <summary>
    /// å®žä½“:物品转变单(WMS)条码明细
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("物品转变单(WMS)条码明细")]
    [Serializable]
    [SugarTable("BIZ_ITEM_CVT_SN")]
    public class BIZ_ITEM_CVT_SN : DbEntityWithAuth
    {
        #region æž„造函数
        /// <summary>
        /// å®žä½“:物品转变单(WMS)条码明细
        /// </summary>
        public BIZ_ITEM_CVT_SN() {}
        #endregion
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// è½¬å˜å•号
        /// </summary>
        [DisplayName("转变单号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// è½¬å˜å•行号
        /// </summary>
        [DisplayName("转变单行号")]
        public string ORDER_LINE { get; set; }
        /// <summary>
        /// ç‰©å“æ ‡ç­¾
        /// </summary>
        [DisplayName("物品标签")]
        public string SN { get; set; }
        /// <summary>
        /// åŽŸç‰©æ–™ç¼–ç 
        /// </summary>
        [DisplayName("原物料编码")]
        public string ITEM_CODE_BF { get; set; }
        /// <summary>
        /// åŽŸç‰©æ–™åç§°
        /// </summary>
        [DisplayName("原物料名称")]
        public string ITEM_NAME_BF { get; set; }
        /// <summary>
        /// è½¬å˜åŽç‰©æ–™ç¼–码
        /// </summary>
        [DisplayName("转变后物料编码")]
        public string ITEM_CODE_AF { get; set; }
        /// <summary>
        /// è½¬å˜åŽç‰©æ–™åç§°
        /// </summary>
        [DisplayName("转变后物料名称")]
        public string ITEM_NAME_AF { get; set; }
        /// <summary>
        /// ç‰©å“æ•°é‡
        /// </summary>
        [DisplayName("物品数量")]
        public double QTY { get; set; }
        /// <summary>
        /// æ‰€åœ¨ä»“库
        /// </summary>
        [DisplayName("所在仓库")]
        public string WH_CODE { get; set; }
        /// <summary>
        /// æ‰€åœ¨å‚¨åŒº
        /// </summary>
        [DisplayName("所在储区")]
        public string REGION_CODE { get; set; }
        /// <summary>
        /// æ‰€åœ¨è´§æž¶
        /// </summary>
        [DisplayName("所在货架")]
        public string SHELF_CODE { get; set; }
        /// <summary>
        /// æ‰€åœ¨å‚¨ä½
        /// </summary>
        [DisplayName("所在储位")]
        public string LOCATION_CODE { get; set; }
        /// <summary>
        /// å½“前操作时间
        /// </summary>
        [DisplayName("当前操作时间")]
        public DateTime OPERATION_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ITEM_CVT_SN类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ITEM_CVT_SNId))]//ClassA表中的BIZ_ITEM_CVT_SNId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ITEM_CVT_SNId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            Enum1,
        }
        */
        #endregion
        #region å…¬å…±æ–¹æ³•
        #endregion
    }//endClass
}
Tiger.Model.Net/Entitys/WMS/BIZ_U9_SCM_OUT.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,167 @@
using System;
using SqlSugar;
using System.Linq;
using System.ComponentModel;
using System.Collections.Generic;
namespace Tiger.Model
{
    /// <summary>
    /// å®žä½“:委外发料单(U9)
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("委外发料单(U9)")]
    [Serializable]
    [SugarTable("BIZ_U9_SCM_OUT")]
    public class BIZ_U9_SCM_OUT : DbEntityWithAuth
    {
        #region æž„造函数
        /// <summary>
        /// å®žä½“:委外发料单(U9)
        /// </summary>
        public BIZ_U9_SCM_OUT() {}
        #endregion
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// å•据号
        /// </summary>
        [DisplayName("单据号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// çŠ¶æ€(0Init初始化|1WaitPick待捡料|2Picking捡料中|3Picked已捡完|4Sended已发料|5Close已关闭|6Cancel作废)
        /// </summary>
        [DisplayName("状态(0Init初始化|1WaitPick待捡料|2Picking捡料中|3Picked已捡完|4Sended已发料|5Close已关闭|6Cancel作废)")]
        public int STATUS { get; set; }
        /// <summary>
        /// å•据日期
        /// </summary>
        [DisplayName("单据日期")]
        public DateTime ORDER_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// ä¾›åº”商组织
        /// </summary>
        [DisplayName("供应商组织")]
        public string SUPP_ORG { get; set; }
        /// <summary>
        /// é‡‡è´­å•ID
        /// </summary>
        [DisplayName("采购单ID")]
        public string PO_ID { get; set; }
        /// <summary>
        /// é‡‡è´­å•号
        /// </summary>
        [DisplayName("采购单号")]
        public string PO_NO { get; set; }
        /// <summary>
        /// å¤‡æ–™äºº
        /// </summary>
        [DisplayName("备料人")]
        public string PREP_PERSON { get; set; }
        /// <summary>
        /// å¤‡æ–™å®Œæˆæ—¶é—´
        /// </summary>
        [DisplayName("备料完成时间")]
        public DateTime FINISH_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// é¢†æ–™äºº
        /// </summary>
        [DisplayName("领料人")]
        public string REQ_PERSON { get; set; }
        /// <summary>
        /// é¢†æ–™éƒ¨é—¨
        /// </summary>
        [DisplayName("领料部门")]
        public string REQ_DEPT { get; set; }
        /// <summary>
        /// å‡ºåº“æ—¶é—´
        /// </summary>
        [DisplayName("出库时间")]
        public DateTime DLVY_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// -1:未处理,0:同步处理完,>0:同步处理失败次数
        /// </summary>
        [DisplayName("-1:未处理,0:同步处理完,>0:同步处理失败次数")]
        public int HANDLED { get; set; }
        /// <summary>
        /// æœ€åŽä¸€æ¬¡åŒæ­¥å¤„理日期
        /// </summary>
        [DisplayName("最后一次同步处理日期")]
        public DateTime HANDLED_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// è¿‡è´¦æäº¤çš„JSON
        /// </summary>
        [DisplayName("过账提交的JSON")]
        public string COMMIT_JSON { get; set; }
        /// <summary>
        /// è¿‡è´¦æäº¤çš„返回信息
        /// </summary>
        [DisplayName("过账提交的返回信息")]
        public string COMMIT_MSG { get; set; }
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_SCM_OUT类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_U9_SCM_OUTId))]//ClassA表中的BIZ_U9_SCM_OUTId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_U9_SCM_OUTId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            Enum1,
        }
        */
        /// <summary>
        /// æžšä¸¾ï¼šçŠ¶æ€(0Init初始化|1WaitPick待捡料|2Picking捡料中|3Picked已捡完|4Sended已发料|5Close已关闭|6Cancel作废)
        /// </summary>
        public enum STATUSs
        {
            [Description("初始化")]
            Init = 0,
            [Description("待捡料")]
            WaitPick = 1,
            [Description("捡料中")]
            Picking = 2,
            [Description("已捡完")]
            Picked = 3,
            [Description("已发料")]
            Sended = 4,
            [Description("已关闭")]
            Close = 5,
            [Description("作废")]
            Cancel = 6,
        }
        #endregion
        #region å…¬å…±æ–¹æ³•
        #endregion
    }//endClass
}
Tiger.Model.Net/Entitys/WMS/BIZ_U9_SCM_OUT_DTL.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
using System;
using SqlSugar;
using System.Linq;
using System.ComponentModel;
using System.Collections.Generic;
namespace Tiger.Model
{
    /// <summary>
    /// å®žä½“:委外发料单(U9)明细
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("委外发料单(U9)明细")]
    [Serializable]
    [SugarTable("BIZ_U9_SCM_OUT_DTL")]
    public class BIZ_U9_SCM_OUT_DTL : DbEntityWithAuth
    {
        #region æž„造函数
        /// <summary>
        /// å®žä½“:委外发料单(U9)明细
        /// </summary>
        public BIZ_U9_SCM_OUT_DTL() {}
        #endregion
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// å•据号
        /// </summary>
        [DisplayName("单据号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// å•据行号
        /// </summary>
        [DisplayName("单据行号")]
        public string LINE_NO { get; set; }
        /// <summary>
        /// çŠ¶æ€(同单据状态)
        /// </summary>
        [DisplayName("状态(同单据状态)")]
        public int STATUS { get; set; }
        /// <summary>
        /// ç‰©æ–™ID
        /// </summary>
        [DisplayName("物料ID")]
        public string ITEM_ID { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// å•位
        /// </summary>
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// å•据数量
        /// </summary>
        [DisplayName("单据数量")]
        public double QTY { get; set; }
        /// <summary>
        /// å·²å¤‡æ–™æ•°é‡
        /// </summary>
        [DisplayName("已备料数量")]
        public double QTY_PREP { get; set; }
        /// <summary>
        /// å·²å‘料数量
        /// </summary>
        [DisplayName("已发料数量")]
        public double QTY_DLVY { get; set; }
        /// <summary>
        /// é¢†æ–™æœªå‘数量
        /// </summary>
        [DisplayName("领料未发数量")]
        public double QTY_NOTDLVY { get; set; }
        /// <summary>
        /// å‘料方式(ERP)
        /// </summary>
        [DisplayName("发料方式(ERP)")]
        public string DLVY_TYPE { get; set; }
        /// <summary>
        /// å‘料方式名称(ERP)
        /// </summary>
        [DisplayName("发料方式名称(ERP)")]
        public string DLVY_NAME { get; set; }
        /// <summary>
        /// ä»“库编码(ERP)
        /// </summary>
        [DisplayName("仓库编码(ERP)")]
        public string WH_ID { get; set; }
        /// <summary>
        /// ä»“库编码(ERP)
        /// </summary>
        [DisplayName("仓库编码(ERP)")]
        public string WH_CODE { get; set; }
        /// <summary>
        /// ä»“库名称(ERP)
        /// </summary>
        [DisplayName("仓库名称(ERP)")]
        public string WH_NAME { get; set; }
        /// <summary>
        /// å‚¨ä½ç¼–码(ERP)
        /// </summary>
        [DisplayName("储位编码(ERP)")]
        public string LOCATION_ID { get; set; }
        /// <summary>
        /// å‚¨ä½ç¼–码(ERP)
        /// </summary>
        [DisplayName("储位编码(ERP)")]
        public string LOCATION_CODE { get; set; }
        /// <summary>
        /// å‚¨ä½åç§°(ERP)
        /// </summary>
        [DisplayName("储位名称(ERP)")]
        public string LOCATION_NAME { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_U9_SCM_OUT_DTL类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_U9_SCM_OUT_DTLId))]//ClassA表中的BIZ_U9_SCM_OUT_DTLId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_U9_SCM_OUT_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            Enum1,
        }
        */
        #endregion
        #region å…¬å…±æ–¹æ³•
        #endregion
    }//endClass
}
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP.cs
@@ -27,7 +27,7 @@
        /// å¤‡æ–™å•号
        /// </summary>
        [DisplayName("备料单号")]
        public string PREP_NO { get; set; }
        public string ORDER_NO { get; set; }
        /// <summary>
        /// ç±»åž‹(0Supply正常备料|1First首套备料)
        /// </summary>
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_DTL.cs
@@ -27,12 +27,12 @@
        /// å¤‡æ–™å•号
        /// </summary>
        [DisplayName("备料单号")]
        public string PREP_NO { get; set; }
        public string ORDER_NO { get; set; }
        /// <summary>
        /// å¤‡æ–™å•行号
        /// </summary>
        [DisplayName("备料单行号")]
        public string PREP_LINE { get; set; }
        public string ORDER_LINE { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
@@ -44,10 +44,10 @@
        [DisplayName("替代料,多个用“'”分隔")]
        public string SUBITEM_CODE { get; set; }
        /// <summary>
        /// å•位用量
        /// å•位
        /// </summary>
        [DisplayName("单位用量")]
        public double UNIT_QTY { get; set; }
        [DisplayName("单位")]
        public double UNIT { get; set; }
        /// <summary>
        /// ç”Ÿäº§è®¡åˆ’损耗比例(%)
        /// </summary>
@@ -89,20 +89,25 @@
        [DisplayName("状态(0UnCalc未计算|1FistrLack首套缺料|2SupplyLack补料缺料|3Enough满足需求|4NoCalc不参与备料计算|5Cancel已作废|6Finish备料完成)")]
        public int STATUS { get; set; }
        /// <summary>
        /// å•位用量
        /// </summary>
        [DisplayName("单位用量")]
        public double QTY_UNIT { get; set; }
        /// <summary>
        /// éœ€æ±‚数量
        /// </summary>
        [DisplayName("需求数量")]
        public double REQ_QTY { get; set; }
        public double QTY_REQ { get; set; }
        /// <summary>
        /// å·²å¤‡æ–™æ•°é‡
        /// </summary>
        [DisplayName("已备料数量")]
        public double PREP_QTY { get; set; }
        public double QTY_PREP { get; set; }
        /// <summary>
        /// å‘出数量
        /// </summary>
        [DisplayName("发出数量")]
        public double DLVY_QTY { get; set; }
        public double QTY_DLVY { get; set; }
        /// <summary>
        /// å·¥åŽ‚ç¼–ç 
        /// </summary>
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_PREP_SN.cs
@@ -27,46 +27,46 @@
        /// å¤‡æ–™å•号
        /// </summary>
        [DisplayName("备料单号")]
        public string PREP_NO { get; set; }
        public string ORDER_NO { get; set; }
        /// <summary>
        /// å¤‡æ–™å•行号
        /// </summary>
        [DisplayName("备料单行号")]
        public string PREP_LINE { get; set; }
        public string ORDER_LINE { get; set; }
        /// <summary>
        /// è´§ç‰©æ ‡ç­¾
        /// ç‰©å“æ ‡ç­¾
        /// </summary>
        [DisplayName("货物标签")]
        [DisplayName("物品标签")]
        public string SN { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// ç‰©å“ç¼–码
        /// </summary>
        [DisplayName("物料编码")]
        [DisplayName("物品编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// ç‰©æ–™æ•°é‡
        /// </summary>
        [DisplayName("物料数量")]
        public double QTY { get; set; }
        /// <summary>
        /// å•位
        /// </summary>
        [DisplayName("单位")]
        public string UNIT { get; set; }
        public double UNIT { get; set; }
        /// <summary>
        /// ç‰©å“æ•°é‡
        /// </summary>
        [DisplayName("物品数量")]
        public string QTY { get; set; }
        /// <summary>
        /// å•位用量
        /// </summary>
        [DisplayName("单位用量")]
        public double UNIT_QTY { get; set; }
        public double QTY_UNIT { get; set; }
        /// <summary>
        /// å‘出数量
        /// </summary>
        [DisplayName("发出数量")]
        public double DLVY_QTY { get; set; }
        public double QTY_DLVY { get; set; }
        /// <summary>
        /// çŠ¶æ€(0Init初始化|1WaitPick待拣料|2OffShelf已下架|3Picked已捡料|4Sended已发料|5Cancel作废)
        /// ×´Ì¬(ͬWMS_ITEM״̬)
        /// </summary>
        [DisplayName("状态(0Init初始化|1WaitPick待拣料|2OffShelf已下架|3Picked已捡料|4Sended已发料|5Cancel作废)")]
        [DisplayName("״̬(ͬWMS_ITEM״̬)")]
        public int STATUS { get; set; }
        /// <summary>
        /// å‘料仓库
@@ -211,25 +211,6 @@
            Enum1,
        }
        */
        /// <summary>
        /// æžšä¸¾ï¼šçŠ¶æ€(0Init初始化|1WaitPick待拣料|2OffShelf已下架|3Picked已捡料|4Sended已发料|5Cancel作废)
        /// </summary>
        public enum STATUSs
        {
            [Description("初始化")]
            Init = 0,
            [Description("待拣料")]
            WaitPick = 1,
            [Description("已下架")]
            OffShelf = 2,
            [Description("已捡料")]
            Picked = 3,
            [Description("已发料")]
            Sended = 4,
            [Description("作废")]
            Cancel = 5,
        }
        #endregion
        #region å…¬å…±æ–¹æ³•
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER.cs
@@ -10,105 +10,94 @@
    /// å®žä½“:调拨单(WMS)
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("调拨单(WMS)")]
    [Serializable]
    [SugarTable("BIZ_WMS_TRANSFER")]
    public class BIZ_WMS_TRANSFER : DbEntityWithAuth
    {
        #region æž„造函数
        /// <summary>
        /// å®žä½“:调拨单(WMS)
        /// </summary>
        public BIZ_WMS_TRANSFER()
        { }
        #endregion æž„造函数
        public BIZ_WMS_TRANSFER() { }
        #endregion
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// å•据代码
        /// è°ƒæ‹¨å•号
        /// </summary>
        public string BILLCODE { get; set; }
        [DisplayName("调拨单号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// å•据日期
        /// </summary>
        public DateTime BILLDATE { get; set; } = DateTime.MinValue;
        [DisplayName("单据日期")]
        public DateTime ORDER_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// å•据状态
        /// çŠ¶æ€(0Init新创建|1Imported已导入|2WaitPick待捡料|3Picking捡料中|4Picked已捡完|5Sended已调出|6Arrived已送达|7Counting清点中|8InQC检验中|9Storing上架中|10Finished已完成|11Cancel作废)
        /// </summary>
        [DisplayName("状态(0Init新创建|1Imported已导入|2WaitPick待捡料|3Picking捡料中|4Picked已捡完|5Sended已调出|6Arrived已送达|7Counting清点中|8InQC检验中|9Storing上架中|10Finished已完成|11Cancel作废)")]
        public int STATUS { get; set; }
        /// <summary>
        /// ä¸šåŠ¡ç±»åž‹
        /// è°ƒå‡ºä»“库
        /// </summary>
        public string BIZTYPE { get; set; }
        [DisplayName("调出仓库")]
        public string OUT_WH_CODE { get; set; }
        /// <summary>
        /// å‡ºåº“仓库代码
        /// æ‹¨å…¥ä»“库
        /// </summary>
        public string OUTWAREHOUSECODE { get; set; }
        [DisplayName("拨入仓库")]
        public string IN_WH_CODE { get; set; }
        /// <summary>
        /// å…¥åº“库仓库代码
        /// æ¥æºå•据编码,多个用“'”分隔
        /// </summary>
        public string INWAREHOUSECODE { get; set; }
        [DisplayName("来源单据编码,多个用“'”分隔")]
        public string SOURCE_CODE { get; set; }
        /// <summary>
        /// æ¥æºå•据类型
        /// æ¥æºå•号,多个用“'”分隔,跟编码一一对应
        /// </summary>
        public int SOURCETYPE { get; set; }
        [DisplayName("来源单号,多个用“'”分隔,跟编码一一对应")]
        public string SOURCE_ORDER { get; set; }
        /// <summary>
        /// æ¥æºå•据代码
        /// ERP单据号码
        /// </summary>
        public string SOURCECODE { get; set; }
        [DisplayName("ERP单据号码")]
        public string ERP_ORDER { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// ERP单据代码
        /// </summary>
        public string ERP_BILL_CODE { get; set; }
        /// <summary>
        /// -1:未处理,0:同步处理完,>0:同步处理失败次数
        /// </summary>
        [DisplayName("-1:未处理,0:同步处理完,>0:同步处理失败次数")]
        public int HANDLED { get; set; }
        /// <summary>
        /// æœ€åŽä¸€æ¬¡åŒæ­¥å¤„理日期
        /// </summary>
        [DisplayName("最后一次同步处理日期")]
        public DateTime HANDLED_DATE { get; set; } = DateTime.MinValue;
        /// <summary>
        /// è¿‡è´¦æäº¤çš„JSON
        /// </summary>
        [DisplayName("过账提交的JSON")]
        public string COMMIT_JSON { get; set; }
        /// <summary>
        /// è¿‡è´¦æäº¤çš„返回信息
        /// </summary>
        [DisplayName("过账提交的返回信息")]
        public string COMMIT_MSG { get; set; }
        #endregion å…¬å…±å±žæ€§
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion è™šæ‹Ÿå±žæ€§
        #endregion
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_WMS_TRANSFER类里面的外键ID字段
@@ -121,13 +110,13 @@
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        [Navigate(NavigateType.OneToMany, nameof(BIZ_WMS_TRANSFER_DTL.BILLCODE), nameof(BILLCODE))]
        [Navigate(NavigateType.OneToMany, nameof(BIZ_WMS_TRANSFER_DTL.ORDER_NO), nameof(ORDER_NO))]
        public List<BIZ_WMS_TRANSFER_DTL> DtlsWithGhost { get; set; }//注意禁止手动赋值,只能是null
        [SugarColumn(IsIgnore = true)]
        public List<BIZ_WMS_TRANSFER_DTL> Dtls => DtlsWithGhost?.Where(q => !q.GHOST_ROW).ToList();
        [Navigate(NavigateType.OneToMany, nameof(BIZ_WMS_TRANSFER_SN.BILLCODE), nameof(BILLCODE))]
        [Navigate(NavigateType.OneToMany, nameof(BIZ_WMS_TRANSFER_SN.ORDER_NO), nameof(ORDER_NO))]
        public List<BIZ_WMS_TRANSFER_SN> SnListWithGhost { get; set; }//注意禁止手动赋值,只能是null
        [SugarColumn(IsIgnore = true)]
@@ -136,73 +125,50 @@
        #endregion å¤–键属性
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            Enum1,
        }
        */
        public enum FieldNames
        {
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            Enum1,
        }
        */
        /// <summary>
        /// æžšä¸¾ï¼šçŠ¶æ€(0Init新创建|1Imported已导入|2WaitPick待捡料|3Picking捡料中|4Picked已捡完|5Sended已调出|6Arrived已送达|7Counting清点中|8InQC检验中|9Storing上架中|10Finished已完成|11Cancel作废)
        /// </summary>
        public enum STATUSs
        {
            /// <summary>
            ///
            /// </summary>
            [Description("手工新增")]
            MANUAL = -1,
            /// <summary>
            ///
            /// </summary>
            [Description("新增")]
            INIT,
            /// <summary>
            ///
            /// </summary>
            [Description("作业中")]
            WORKING,
            /// <summary>
            ///
            /// </summary>
            [Description("完成")]
            COMPLETE,
            /// <summary>
            /// é¢†æ–™å•主动调拨过账状态
            /// </summary>
            [Description("调拨完成")]
            FINISHED,
            /// <summary>
            /// æ‰‹åŠ¨ä¸‹æž¶å®Œæˆ
            /// </summary>
            [Description("手动下架完成")]
            MANUALCOMPLETE,
            /// <summary>
            /// è°ƒå‡º
            /// </summary>
            [Description("调出")]
            OUTERCOMPLETE,
            [Description("新创建")]
            Init = 0,
            [Description("已导入")]
            Imported = 1,
            [Description("待捡料")]
            WaitPick = 2,
            [Description("捡料中")]
            Picking = 3,
            [Description("已捡完")]
            Picked = 4,
            [Description("已调出")]
            Sended = 5,
            [Description("已送达")]
            Arrived = 6,
            [Description("清点中")]
            Counting = 7,
            [Description("检验中")]
            InQC = 8,
            [Description("上架中")]
            Storing = 9,
            [Description("已完成")]
            Finished = 10,
            [Description("作废")]
            Cancel = 11,
        }
        #endregion æžšä¸¾å˜é‡
        #endregion
        #region å…¬å…±æ–¹æ³•
        public static List<string> strongHoldList = new List<string>
        {
            "XCSJ",
            "DGXC",
            "AHXC"
        };
        #endregion
        #endregion å…¬å…±æ–¹æ³•
    }//endClass
}
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs
@@ -10,6 +10,7 @@
    /// å®žä½“:调拨单(WMS)明细
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("调拨单(WMS)明细")]
    [Serializable]
    [SugarTable("BIZ_WMS_TRANSFER_DTL")]
    public class BIZ_WMS_TRANSFER_DTL : DbEntityWithAuth
@@ -23,88 +24,101 @@
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// å•据代码
        /// è°ƒæ‹¨å•号
        /// </summary>
        public string BILLCODE { get; set; }
        [DisplayName("调拨单号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// å•据行号
        /// è°ƒæ‹¨å•行号
        /// </summary>
        public string BILLLINE { get; set; }
        [DisplayName("调拨单行号")]
        public string ORDER_LINE { get; set; }
        /// <summary>
        /// å•据行状态
        /// </summary>
        public int LINESTATUS { get; set; }
        [DisplayName("单据行状态")]
        public int STATUS { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// å•位代码
        /// å•位
        /// </summary>
        public string UNITCODE { get; set; }
        [DisplayName("单位")]
        public string UNIT { get; set; }
        /// <summary>
        /// éœ€æ±‚数量
        /// </summary>
        public double PRQTY { get; set; }
        [DisplayName("需求数量")]
        public double QTY_REQ { get; set; }
        /// <summary>
        /// å‡ºåº“数量
        /// è°ƒå‡ºæ•°é‡
        /// </summary>
        public double OUTQTY { get; set; }
        [DisplayName("调出数量")]
        public double QTY_OUT { get; set; }
        /// <summary>
        /// å…¥åº“数量
        /// æ‹¨å…¥æ•°é‡
        /// </summary>
        public double INQTY { get; set; }
        [DisplayName("拨入数量")]
        public double QTY_IN { get; set; }
        /// <summary>
        /// å‡ºåº“仓库代码
        /// è°ƒå‡ºä»“库
        /// </summary>
        public string OUTWAREHOUSECODE { get; set; }
        [DisplayName("调出仓库")]
        public string OUT_WH_CODE { get; set; }
        /// <summary>
        /// å…¥åº“仓库代码
        /// æ‹¨å…¥ä»“库
        /// </summary>
        public string INWAREHOUSECODE { get; set; }
        [DisplayName("拨入仓库")]
        public string IN_WH_CODE { get; set; }
        /// <summary>
        /// æ¥æºå•据类型
        /// æ‹¨å‡ºæ‰¹å·
        /// </summary>
        public int SOURCETYPE { get; set; }
        [DisplayName("拨出批号")]
        public string OUT_LOTNO { get; set; }
        /// <summary>
        /// æ¥æºå•据代码
        /// æ‹¨å…¥æ‰¹å·
        /// </summary>
        public string SOURCECODE { get; set; }
        [DisplayName("拨入批号")]
        public string IN_LOTNO { get; set; }
        /// <summary>
        /// æ¥æºå•据行号
        /// æ¥æºå•据编码,多个用“'”分隔
        /// </summary>
        public string SOURCELINE { get; set; }
        [DisplayName("来源单据编码,多个用“'”分隔")]
        public string SOURCE_CODE { get; set; }
        /// <summary>
        /// æ¥æºå•号,多个用“'”分隔,跟编码一一对应
        /// </summary>
        [DisplayName("来源单号,多个用“'”分隔,跟编码一一对应")]
        public string SOURCE_ORDER { get; set; }
        /// <summary>
        /// æ¥æºå•行号,多个用“'”分隔,跟编码一一对应
        /// </summary>
        [DisplayName("来源单行号,多个用“'”分隔,跟编码一一对应")]
        public string SOURCE_LINE { get; set; }
        /// <summary>
        /// ERP单据号码
        /// </summary>
        [DisplayName("ERP单据号码")]
        public string ERP_ORDER { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        /// <summary>
        /// ERP单据代码
        /// </summary>
        public string ERP_BILL_CODE { get; set; }
        /// <summary>
        /// åº“存数量
        /// </summary>
        public double INVENTORYQTY { get; set; } = 0;
        /// <summary>
        /// æ‹¨å…¥æ‰¹å·
        /// </summary>
        public string BATCH_NO_IN { get; set; }
        /// <summary>
        /// æ‹¨å‡ºæ‰¹å·
        /// </summary>
        public string BATCH_NO_OUT { get; set; }
        #endregion
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region å¤–键属性
        /*例子
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_WMS_TRANSFER_DTL类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
@@ -121,8 +135,8 @@
        public BAS_ITEM ItemInfo => _ItemInfos?.FirstOrDefault(q => q.AUTH_ORG == AUTH_ORG);
        #endregion
        #region æžšä¸¾å˜é‡
        /*例子
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
@@ -131,11 +145,11 @@
            Enum1,
        }
        */
        #endregion
        #endregion
        #region å…¬å…±æ–¹æ³•
        #region å…¬å…±æ–¹æ³•
        #endregion
        #endregion
    }//endClass
    }//endClass
}
Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_SN.cs
@@ -7,91 +7,145 @@
namespace Tiger.Model
{
    /// <summary>
    /// å®žä½“:调拨单(WMS)条码明细
    /// å®žä½“:调拨单(WMS)条码明细
    /// </summary>
    [Description("Primary:ID")]
    [DisplayName("调拨单(WMS)条码明细")]
    [Serializable]
    [SugarTable("BIZ_WMS_TRANSFER_SN")]
    public class BIZ_WMS_TRANSFER_SN : DbEntityWithAuth
    {
        #region æž„造函数
        #region æž„造函数
        /// <summary>
        /// å®žä½“:调拨单(WMS)条码明细
        /// å®žä½“:调拨单(WMS)条码明细
        /// </summary>
        public BIZ_WMS_TRANSFER_SN() {}
        #endregion
        #region å…¬å…±å±žæ€§
        #region å…¬å…±å±žæ€§
        /// <summary>
        /// æ¡ç 
        /// è°ƒæ‹¨å•号
        /// </summary>
        [DisplayName("调拨单号")]
        public string ORDER_NO { get; set; }
        /// <summary>
        /// è°ƒæ‹¨å•行号
        /// </summary>
        [DisplayName("调拨单行号")]
        public string ORDER_LINE { get; set; }
        /// <summary>
        /// æ¡ç 
        /// </summary>
        [DisplayName("条码")]
        public string SN { get; set; }
        /// <summary>
        /// å…ƒæ¡ç 
        /// </summary>
        public string META_SN { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// æ•°é‡
        /// ×´Ì¬(ͬWMS_ITEM״̬)
        /// </summary>
        [DisplayName("״̬(ͬWMS_ITEM״̬)")]
        public int STATUS { get; set; }
        /// <summary>
        /// ç‰©æ–™ç¼–码
        /// </summary>
        [DisplayName("物料编码")]
        public string ITEM_CODE { get; set; }
        /// <summary>
        /// æ•°é‡
        /// </summary>
        [DisplayName("数量")]
        public double QTY { get; set; }
        /// <summary>
        /// å•据代码
        /// è°ƒå‡ºä»“库
        /// </summary>
        public string BILLCODE { get; set; }
        [DisplayName("调出仓库")]
        public string OUT_WH_CODE { get; set; }
        /// <summary>
        /// å•据日期
        /// è°ƒå‡ºå‚¨åŒº
        /// </summary>
        public DateTime BILLDATE { get; set; } = DateTime.MinValue;
        [DisplayName("调出储区")]
        public string OUT_REGION_CODE { get; set; }
        /// <summary>
        /// å•据行号
        /// è°ƒå‡ºè´§æž¶
        /// </summary>
        public string BILLLINE { get; set; }
        /// <summary>
        /// å•据状态
        /// </summary>
        public int STATUS { get; set; }
        #endregion
        [DisplayName("调出货架")]
        public string OUT_SHELF_CODE { get; set; }
        /// <summary>
        /// è°ƒå‡ºå‚¨ä½
        /// </summary>
        [DisplayName("调出储位")]
        public string OUT_LOCATION_CODE { get; set; }
        /// <summary>
        /// è°ƒå‡ºæ—¶é—´
        /// </summary>
        [DisplayName("调出时间")]
        public DateTime OUT_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// æ‹¨å…¥ä»“库
        /// </summary>
        [DisplayName("拨入仓库")]
        public string IN_WH_CODE { get; set; }
        /// <summary>
        /// æ‹¨å…¥å‚¨åŒº
        /// </summary>
        [DisplayName("拨入储区")]
        public string IN_REGION_CODE { get; set; }
        /// <summary>
        /// æ‹¨å…¥è´§æž¶
        /// </summary>
        [DisplayName("拨入货架")]
        public string IN_SHELF_CODE { get; set; }
        /// <summary>
        /// æ‹¨å…¥å‚¨ä½
        /// </summary>
        [DisplayName("拨入储位")]
        public string IN_LOCATION_CODE { get; set; }
        /// <summary>
        /// æ‹¨å…¥æ—¶é—´
        /// </summary>
        [DisplayName("拨入时间")]
        public DateTime IN_TIME { get; set; } = DateTime.MinValue;
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [DisplayName("备注")]
        public string REMARK { get; set; }
        #endregion
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        #region è™šæ‹Ÿå±žæ€§
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        #endregion
        #endregion
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_WMS_TRANSFER_SN类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_WMS_TRANSFER_SNId))]//ClassA表中的BIZ_WMS_TRANSFER_SNId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_WMS_TRANSFER_SNId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        #region å¤–键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_WMS_TRANSFER_SN类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_WMS_TRANSFER_SNId))]//ClassA表中的BIZ_WMS_TRANSFER_SNId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_WMS_TRANSFER_SNId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
        #endregion
        #region æžšä¸¾å˜é‡
        /*例子
        #region æžšä¸¾å˜é‡
        /*例子
        public enum FieldNames
        {
            [Description("枚举描述0")]
            [Description("枚举描述0")]
            Enum0,
            [Description("枚举描述1")]
            [Description("枚举描述1")]
            Enum1,
        }
        */
        #endregion
        #endregion
        #region å…¬å…±æ–¹æ³•
        #region å…¬å…±æ–¹æ³•
        #endregion
        #endregion
    }//endClass
    }//endClass
}