From 40df5d91f800bb8b7be2638c13b4f9292d461221 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期一, 10 三月 2025 18:13:50 +0800
Subject: [PATCH] 增加送货单清点事务

---
 Tiger.Business.WMS/iWMS/RePrintBarcode.cs                        |    2 
 Tiger.Business.WMS/Transaction/ReprintLabel.cs                   |    8 
 Tiger.Model.Net/Entitys/Minsun/WMS_IQC_S.cs                      |    8 
 Tiger.Business.WMS/Common/OrderContext/OrderContext.cs           |  184 ++
 Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_Y.cs                      |    2 
 Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM.cs                        |    2 
 Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_SN.cs                   |    2 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_DTL.cs           |   98 
 Tiger.Model.Net/Entitys/Minsun/WMS_IQC_H.cs                      |   30 
 Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_ASN.cs             |  454 +++++
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO.cs                        |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_OTHEROUTSTOCK_D.cs            |    4 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO_DTL.cs                    |  224 +-
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs                     |   24 
 Tiger.Model.Net/Entitys/WMS/Api/InFinished.cs                    |   12 
 Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs              |    8 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_WMS_TRANSFER_DTL.cs            |   90 
 Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs             |   25 
 Tiger.Api/Language.db                                            |    0 
 Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1.cs                 |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_SCAN_D.cs                     |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_IQCMATERIAL_CHECKITEM.cs      |    6 
 Tiger.Model.Net/Entitys/WMS/Api/OutOtherEntitys.cs               |   12 
 Tiger.Business/Biz.cs                                            |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_LOG.cs                |   14 
 Tiger.Business.WMS/T100ToWMS/ProductInputBusiness.cs             |    6 
 Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B.cs         |    4 
 Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_HIS.cs                    |    2 
 Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs          |  364 ++++
 Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_SCAN.cs    |    2 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_SCMPickList.cs            |   28 
 Tiger.Business.WMS/Transaction/Old/OutOther.cs                   |    4 
 Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs                      |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_D.cs          |   16 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_SCAN.cs            |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_D.cs                  |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_CHECKITEMTYPE_ITEM.cs         |    6 
 Tiger.Model.Net/Entitys/WMS/V_SRM_ITEM.cs                        |    2 
 Tiger.Business.WMS/ERP/U9C_WMS.cs                                |    6 
 Tiger.Business.WMS/Transaction/Old/InFinished.cs                 |    6 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_SN.cs                |    2 
 Tiger.Business.WMS/iWMS/iWMS.Minsun.cs                           |   22 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCodeByBin.cs   |   24 
 Tiger.Model.Net/Entitys/MES/V_MES_ROUTE_NDS.cs                   |   26 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_D.cs               |    6 
 Tiger.Model.Net/Entitys/Minsun/WmsInvInTransaction.cs            |    2 
 Tiger.Business.WMS/iWMS/ProdMaterialReq.cs                       |    6 
 Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCAN.cs               |    2 
 Tiger.Model.Net/Entitys/WMS/Api/IncomingMatStorage.cs            |    2 
 Tiger.IBusiness.WMS/Core/IOrderContext.cs                        |   57 
 Tiger.Business.WMS/Tiger.Business.WMS.csproj                     |    4 
 Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_SUM.cs                    |    2 
 Tiger.Model.Net/Entitys/Minsun/Interface/InterfaceEntity.cs      |   10 
 Tiger.Model.Net/Entitys/Minsun/WMS_IQC_D.cs                      |    6 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_OUT_DTL.cs            |    6 
 Tiger.Model.Net/Entitys/Minsun/InputBarcodeDto.cs                |   10 
 Tiger.Model.Net/Entitys/WMS/DTOS/otherOutInfoDTO.cs              |   12 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_RETURN_DTL.cs         |   18 
 Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_D.cs            |   12 
 Tiger.Model.Net/Entitys/Minsun/WmsStorageLotInfo.cs              |    2 
 Tiger.Model.Net/Entitys/Minsun/WmsItemLot.cs                     |    4 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs             |   28 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_SN.cs               |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_WORKSHOPLOTINFO.cs            |    4 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_SN.cs                 |    2 
 Tiger.Business.WMS/Transaction/In_Default.cs                     |  159 -
 Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESOUT_D.cs          |    4 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_DTL.cs           |   16 
 Tiger.Model.Net/Entitys/WMS/WMS_COUNT_SUM.cs                     |   10 
 Tiger.Model.Net/Entitys/Minsun/WmsInvReceiptDetail.cs            |    6 
 Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN_LINES.cs              |   16 
 Tiger.Model.Net/Entitys/Minsun/WmsInvTransferDetail.cs           |    4 
 Tiger.Business.WMS/iSRM/SrmToWms.cs                              |   14 
 Tiger.Business.WMS/WMS_ITEM_Biz.cs                               |   10 
 Tiger.Model.Net/Entitys/WMS/Api/TransferEntitys.cs               |    2 
 Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_D.cs             |    4 
 Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs      |    8 
 Tiger.Model.Net/Entitys/WMS/Api/ProdReqInput.cs                  |   14 
 Tiger.Model.Net/Entitys/Minsun/WmsStorageInfo.cs                 |    2 
 Tiger.IBusiness.WMS/Transaction/IPreparation.cs                  |   53 
 Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_A.cs                      |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_SRMPRODSNList.cs              |    2 
 Tiger.Business.WMS/T100ToWMS/MaterialInfoBusiness.cs             |    2 
 Tiger.Model.Net/Entitys/WMS/V_ITEM_BIZ_ERP_RECEIPT_SN.cs         |    2 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_AsnDocInfo.cs             |   66 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_SN.cs            |    2 
 Tiger.Business.MES/Transaction/Position.cs                       |    4 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_DTL.cs               |    4 
 Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs                     |    4 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_IN_DTL.cs             |   84 
 Tiger.Business.WMS/T100ToWMS/ProductOutputtBusiness.cs           |    2 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_SN.cs               |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_SCAN.cs          |    2 
 Tiger.Business.WMS/Transaction/Old/CustomerSupplyInNew.cs        |    4 
 Tiger.Model.Net/Entitys/WMS/Api/LightEntityInput.cs              |    2 
 Tiger.Business.WMS/Common/Barcode/Barcode.cs                     |    2 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_DTL.cs              |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_SCAN.cs       |    2 
 Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_DTL.cs                  |  146 
 Tiger.Model.Net/Entitys/WMS/WMS_COUNT_MDTL.cs                    |    4 
 Tiger.Model.Net/Entitys/Minsun/MesMaterial.cs                    |    2 
 Tiger.Business.MES/Transaction/YadaPacking.cs                    |    2 
 Tiger.Business.WMS/Transaction/Old/InMatStorage.cs               |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1_copy1.cs           |    4 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_DTL.cs               |    6 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs        |   64 
 Tiger.Model.Net/Entitys/WMS/Api/Output_Entitys.cs                |   10 
 Tiger.IBusiness.WMS/Transaction/IIn_Default.cs                   |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_SCAN.cs             |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_SCAN.cs    |    2 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_RETURN_DTL.cs         |  102 
 Tiger.Model.Net/Entitys/Minsun/Materialreturnsheet.cs            |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_D.cs       |    4 
 Tiger.IBusiness.WMS/Transaction/IOut_Default.cs                  |    2 
 Tiger.Model.Net/Entitys/WMS/DTOS/SaleOutInfoDTO.cs               |    2 
 Tiger.Model.Net/Entitys/WMS/V_WH_ITEM_SUM.cs                     |    2 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_DTL.cs               |   18 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_OUT_DTL.cs             |    6 
 Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_MDTL.cs                  |    6 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCode.cs        |   24 
 Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINFO.cs                |    4 
 Tiger.Model.Net/Entitys/WMS/KanBan/WareHousing.cs                |   20 
 Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_SN.cs                  |    2 
 Tiger.Model.Net/Entitys/Minsun/Wms_ERPMaterialTotal.cs           |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_SCAN.cs          |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_D.cs           |   16 
 Tiger.Model.Net/Entitys/MES/V_BAS_PROD.cs                        |   24 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_ShipList.cs               |   24 
 Tiger.Business.WMS/Transaction/PrintSemiProdLabel.cs             |    4 
 Tiger.Model.Net/Entitys/Minsun/CustSupplyCheckList.cs            |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_D.cs                 |    8 
 Tiger.Model.Net/Entitys/Minsun/WMS_AQL_D.cs                      |   10 
 Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT_D.cs               |    2 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_DTL.cs                |   76 
 Tiger.Business.WMS/Task/iSRM/Jobs.QqtSrmJob.cs                   |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_SCAN.cs        |    2 
 Tiger.Business.MES/Transaction/InStoreOrderNo.cs                 |    2 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs              |   28 
 Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_SCAN.cs         |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT.cs                 |    4 
 Tiger.Model.Net/Entitys/WMS/Api/Resell.cs                        |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B_LOG.cs     |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_LOCATION.cs                   |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_D.cs                |   16 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_RcvRptDocLine.cs          |   24 
 Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_SUM.cs                   |   12 
 Tiger.Business.WMS/iSRM/iSRM.cs                                  |   20 
 Tiger.Model.Net/Entitys/WMS/WMS_COUNT_LDTL.cs                    |    8 
 Tiger.Model.Net/Entitys/WMS/Api/RePrint_Entitys.cs               |    8 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_SN.cs                |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList.cs                  |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN.cs                    |    6 
 Tiger.Model.Net/Entitys/WMS/WMS_SHELF.cs                         |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_D.cs             |   16 
 Tiger.Model.Net/Entitys/WMS/Api/ReprintEntitys.cs                |   14 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_IN_DTL.cs              |   82 
 Tiger.IBusiness.WMS/Transaction/IWmsTask.cs                      |   53 
 Tiger.Business.WMS/Transaction/Out_Default.cs                    |  104 
 Tiger.Model.Net/Entitys/Minsun/WMS_PO_D.cs                       |   26 
 Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_D.cs                |    4 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_OUT_DTL.cs            |   84 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs           |   24 
 Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_SN.cs               |    2 
 Tiger.Model.Net/Entitys/Minsun/WmsInvTransferLog.cs              |    2 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_SRM_DLVY_DTL.cs                |  150 
 Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY.cs                     |    4 
 Tiger.IBusiness.WMS/Transaction/IIn_BIZ_U9_ASN.cs                |   25 
 Tiger.Model.Net/Entitys/ERP/T100ActionResult.cs                  |   12 
 Tiger.Business.WMS/Common/OrderContext/WmsOrder.cs               |   80 
 Tiger.Model.Net/Entitys/WMS/Api/Input_Entitys.cs                 |    4 
 Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_LDTL.cs                  |   10 
 Tiger.Model.Net/Entitys/WMS/DTOS/InputDTO.cs                     |   10 
 Tiger.Business.WMS/Transaction/Old/ProductionMaterialReq.cs      |    6 
 Tiger.Business.WMS/iSRM/SrmDataToSiHua.cs                        |   12 
 Tiger.Business.WMS/iWMS/ReceiptInfo.cs                           |    2 
 Tiger.Model.Net/Entitys/Minsun/WmsIQCResult.cs                   |    2 
 Tiger.Business.WMS/Transaction/Old/OutWorkOrder.cs               |    6 
 Tiger.Model.Net/Entitys/WMS/V_ITEM_COUNT.cs                      |    2 
 Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqInput.cs           |    2 
 Tiger.Business.WMS/Common/Preparation.cs                         |  304 +++
 Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_DTL.cs                 |    8 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRDPICK_D.cs                  |    4 
 Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqOutput.cs          |    4 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_SN.cs            |    2 
 Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_EXT.cs                    |    4 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_SN.cs                |    4 
 Tiger.Business.WMS/Transaction/Old/OtherInLocation.cs            |   12 
 Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE.cs                    |    8 
 Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_X.cs                      |    2 
 Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_D.cs                      |    2 
 Tiger.Business.WMS/Transaction/Old/OutSale.cs                    |    4 
 Tiger.Model.Net/Entitys/MES/YadaU9/mes_WhLotCodeQtyInfo.cs       |   24 
 Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_SCAN.cs              |    2 
 Tiger.Business.WMS/Transaction/Old/OutTransfer.cs                |    4 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_DTL.cs              |    4 
 Tiger.Model.Net/Entitys/WMS/WMS_ITEM.cs                          |    4 
 Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_D.cs       |   16 
 Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY.cs                      |    4 
 Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_RECEIPT_DTL.cs             |   18 
 Tiger.Model.Net/Entitys/WMS/WMS_MesMaterial.cs                   |    2 
 Tiger.IBusiness.WMS/Core/IWmsOrder.cs                            |   32 
 Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCANTEMP.cs           |    2 
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_IQC.cs                       |   30 
 Tiger.Model.Net/Entitys/Minsun/CustomerSupplyPuton.cs            |   12 
 Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_D.cs         |    6 
 Tiger.Model.Net/Entitys/Minsun/WMS_PO_H.cs                       |    2 
 Tiger.Model.Net/Entitys/WMS/WMS_ITEM_HIS.cs                      |    2 
 Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_D.cs                  |   18 
 Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_SCAN.cs             |    2 
 Tiger.Business.WMS/Transaction/Old/InProductionReturn.cs         |   10 
 Tiger.Model.Net/Entitys/Minsun/WMS_STORAGELOTINFO.cs             |    2 
 Tiger.Business.WMS/Common/WmsTask.cs                             |  302 +++
 Tiger.Business.WMS/Transaction/WMSTransactionBase.cs             |    4 
 214 files changed, 3,362 insertions(+), 1,470 deletions(-)

diff --git a/Tiger.Api/Language.db b/Tiger.Api/Language.db
index 9fd5097..4bd53f9 100644
--- a/Tiger.Api/Language.db
+++ b/Tiger.Api/Language.db
Binary files differ
diff --git a/Tiger.Business.MES/Transaction/InStoreOrderNo.cs b/Tiger.Business.MES/Transaction/InStoreOrderNo.cs
index e0b0bd4..f93681a 100644
--- a/Tiger.Business.MES/Transaction/InStoreOrderNo.cs
+++ b/Tiger.Business.MES/Transaction/InStoreOrderNo.cs
@@ -194,7 +194,7 @@
                         SN = item.SN,
                         BUSINESSCODE = UserCode,
                         ITEM_CODE = item.ITEM_CODE,
-                        Qty = item.QTY.ToDecimal(),
+                        Qty = item.QTY.ToDouble(),
                         SOURCECODE = Info?.ErpProdInBth.WORK_ORDER,
                         STATUS = WMS_ITEM.STATUSs.Counted.GetValue(),
                         CREATE_USER = UserCode,
diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs
index 1cea2ce..7ded706 100644
--- a/Tiger.Business.MES/Transaction/Position.cs
+++ b/Tiger.Business.MES/Transaction/Position.cs
@@ -500,8 +500,8 @@
                     {
                         DBCommitList.Add("AppendSaveAction", new List<Action>());
                     }
-                    var commitList = DBCommitList["AppendSaveAction"];
-                    commitList.Add(appendToSave);
+                    var appendList = DBCommitList["AppendSaveAction"];
+                    appendList.Add(appendToSave);
                 }
             }
 
diff --git a/Tiger.Business.MES/Transaction/YadaPacking.cs b/Tiger.Business.MES/Transaction/YadaPacking.cs
index 72b1ea5..160715d 100644
--- a/Tiger.Business.MES/Transaction/YadaPacking.cs
+++ b/Tiger.Business.MES/Transaction/YadaPacking.cs
@@ -408,7 +408,7 @@
                     var shippingOrders = ships.Where(q=> q.Status != 2).Select(x=>x.ShipDoc).ToList();
                     var oldShipment = ships.Any(q => q.Status != 2) ? ships.Where(x => x.Status != 2).Sum(t => t.ShipQty) : 0;
                     var ship = ships.Where(q => q.Status == 2 && q.BusinessDate.Date == DateTime.Now.Date).FirstOrDefault();
-                    decimal CurShipQty = 0;
+                    double CurShipQty = 0;
                     int WaitShipmentCarton = 0;
                     int WaitShipment = 0;
                     int oWaitShipmentCarton = 0;
diff --git a/Tiger.Business.WMS/Common/Barcode/Barcode.cs b/Tiger.Business.WMS/Common/Barcode/Barcode.cs
index 385bb5a..31c4935 100644
--- a/Tiger.Business.WMS/Common/Barcode/Barcode.cs
+++ b/Tiger.Business.WMS/Common/Barcode/Barcode.cs
@@ -109,7 +109,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal? Qty { get => Convert.ToDecimal(BarcodeAnalysis.GetDouble(QtyStr)); }
+        public double? Qty { get => BarcodeAnalysis.GetDouble(QtyStr); }
 
         /// <summary>
         /// 姣涢噸
diff --git a/Tiger.Business.WMS/Common/OrderContext/OrderContext.cs b/Tiger.Business.WMS/Common/OrderContext/OrderContext.cs
new file mode 100644
index 0000000..6dae8f7
--- /dev/null
+++ b/Tiger.Business.WMS/Common/OrderContext/OrderContext.cs
@@ -0,0 +1,184 @@
+锘縰sing Microsoft.AspNetCore.Http;
+using Rhea.Common;
+using SqlSugar;
+using Swifter.Tools;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.WebSockets;
+using System.Text;
+using System.Threading.Tasks;
+using Tiger.IBusiness;
+using Tiger.IBusiness.WMS;
+using Tiger.Model;
+using Tiger.Model.Base;
+using Tiger.Model.Entitys.MES.Position;
+
+namespace Tiger.Business
+{
+    /// <summary>
+    /// 涓氬姟鍗曟嵁 涓婁笅鏂�
+    /// </summary>
+    public class OrderContext : IOrderContext
+    {
+        #region 涓氬姟鍗曟嵁绠$悊
+        /// <summary>
+        /// 涓氬姟鍗曟嵁缂撳瓨瀛楀吀
+        /// </summary>
+        public static Dictionary<string, IWmsOrder<iBizOrder>> OrderDic { get; set; } = new Dictionary<string, IWmsOrder<iBizOrder>>();
+        public Dictionary<string, IWmsOrder<iBizOrder>> GetOrderDic() => OrderDic;
+
+        /// <summary>
+        /// 浠庝笟鍔″崟鎹瓧鍏镐腑鑾峰彇涓�涓笟鍔″崟鎹璞�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public static IWmsOrder<iBizOrder> Get(string order)
+        {
+            if (OrderDic.ContainsKey(order))
+            {
+                return OrderDic[order];
+            }
+            return null;
+        }
+
+        /// <summary>
+        /// 浠庝笟鍔″崟鎹瓧鍏镐腑鑾峰彇涓�涓笟鍔″崟鎹璞�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public IWmsOrder<iBizOrder> GetOrder(string order)
+        {
+            return Get(order);
+        }
+
+        /// <summary>
+        /// 鍒ゆ柇涓氬姟鍗曟嵁鏄惁瀛樺湪浜庝笟鍔″崟鎹瓧鍏镐腑
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public static bool Exists(string order)
+        {
+            return OrderDic.ContainsKey(order);
+        }
+
+        /// <summary>
+        /// 鍒ゆ柇涓氬姟鍗曟嵁鏄惁瀛樺湪浜庝笟鍔″崟鎹瓧鍏镐腑
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public bool ExistsOrder(string order)
+        {
+            return Exists(order);
+        }
+
+        /// <summary>
+        /// 澧炲姞涓�涓笟鍔″崟鎹璞″埌涓氬姟鍗曟嵁瀛楀吀涓�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public static bool Add(IWmsOrder<iBizOrder> order)
+        {
+            try
+            {
+                if (OrderDic.ContainsKey(order.OrderNo))
+                {
+                    OrderDic[order.OrderNo] = order;
+                }
+                else
+                { 
+                    OrderDic.Add(order.OrderNo, order);
+                }
+                return true;
+            }
+            catch (Exception ex)
+            {
+                Logger.Default.Fatal(ex, $"浠庝笟鍔″崟鎹瓧鍏镐腑鍒犻櫎涓氬姟鍗曟嵁[{order}]瀵硅薄寮傚父");
+                return false;
+            }
+        }
+
+        /// <summary>
+        /// 澧炲姞涓�涓笟鍔″崟鎹璞″埌涓氬姟鍗曟嵁瀛楀吀涓�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public static bool Add(string type, string order)
+        {
+            throw new NotImplementedException();
+        }
+
+        /// <summary>
+        /// 澧炲姞涓�涓笟鍔″崟鎹璞″埌涓氬姟鍗曟嵁瀛楀吀涓�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public bool AddOrder(string type, string order)
+        {
+            return Add(type, order);
+        }
+
+        /// <summary>
+        /// 浠庝笟鍔″崟鎹瓧鍏镐腑鍒犻櫎涓�涓笟鍔″崟鎹璞�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public static bool Remove(string order)
+        {
+            try
+            {
+                if (OrderDic.ContainsKey(order))
+                {
+                    OrderDic.Remove(order);
+                }
+                return true;
+            }
+            catch (Exception ex)
+            {
+                Logger.Default.Fatal(ex, $"浠庝笟鍔″崟鎹瓧鍏镐腑鍒犻櫎涓氬姟鍗曟嵁[{order}]瀵硅薄寮傚父");
+                return false;
+            }
+        }
+
+        /// <summary>
+        /// 浠庝笟鍔″崟鎹瓧鍏镐腑鍒犻櫎涓�涓笟鍔″崟鎹璞�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public bool RemoveOrder(string order)
+        {
+            return Remove(order);
+        }
+
+        /// <summary>
+        /// 娓呯┖涓氬姟鍗曟嵁瀛楀吀
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public static bool Clear()
+        {
+            try
+            {
+                OrderDic.Clear();
+                return true;
+            }
+            catch (Exception ex)
+            {
+                Logger.Default.Fatal(ex, $"娓呯┖涓氬姟鍗曟嵁瀛楀吀寮傚父");
+                return false;
+            }
+        }
+
+        /// <summary>
+        /// 娓呯┖涓氬姟鍗曟嵁瀛楀吀
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public bool ClearOrder()
+        {
+            return Clear();
+        }
+
+        #endregion
+    }
+}
diff --git a/Tiger.Business.WMS/Common/OrderContext/WmsOrder.cs b/Tiger.Business.WMS/Common/OrderContext/WmsOrder.cs
new file mode 100644
index 0000000..34e4bfb
--- /dev/null
+++ b/Tiger.Business.WMS/Common/OrderContext/WmsOrder.cs
@@ -0,0 +1,80 @@
+锘縰sing Tiger.Model;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq.Expressions;
+using System.Text;
+using System.Threading.Tasks;
+using Rhea.Common;
+using System.Linq;
+using Tiger.IBusiness;
+using Tiger.Model.Entitys.MES.Position;
+using System.IO;
+using Tiger.IBusiness.WMS;
+using Tiger.Model.Base;
+
+namespace Tiger.Business
+{
+    /// <summary>
+    /// WMS涓氬姟鍗曟嵁
+    /// </summary>
+    public partial class WmsOrder<T> : IWmsOrder<T>, IDisposable where T : iBizOrder
+    {
+        public WmsOrder(string order)
+        {
+            OrderNo = order;
+            Init();
+        }
+        #region Propertys & Variables
+        public string OrderNo { get; set; }
+        public T Order { get; set; }
+        public List<WMS_ITEM> WmsItems { get; set; }
+        /// <summary>
+        /// 浜嬪姟閿�
+        /// </summary>
+        public object TransLock { get; }
+        #endregion
+
+        #region Functions
+        /// <summary>
+        /// 鍒濆鍖栦笟鍔″崟鎹�
+        /// </summary>
+        /// <returns></returns>
+        private WmsOrder<T> Init()
+        {
+            Refreash(true);
+            return this;
+        }
+
+        /// <summary>
+        /// 鏇存柊涓氬姟鍗曟嵁璧勬枡
+        /// </summary>
+        /// <param name="updateAll"></param>
+        public void Refreash(bool updateAll = false)
+        {
+            var strat = DateTime.Now;
+            Order = Biz.Db.Queryable<T>().Where(q => q.ORDER_NO == OrderNo).IncludesAllFirstLayer().First();
+            if (updateAll)
+            {
+               
+            }
+            //ConsoleExt.WriteLine($"{DateTime.Now:HH:mm:ss} ##### : {(DateTime.Now - strat).TotalSeconds}s", ConsoleColor.Yellow);
+        }
+
+        #endregion
+
+        /// <summary>
+        /// 鍏抽棴涓氬姟鍗曟嵁
+        /// </summary>
+        /// <returns></returns>
+        public bool Close()
+        {
+            Dispose();
+            return true;
+        }
+        public virtual void Dispose()
+        {
+            OrderContext.OrderDic.Remove(OrderNo);
+        }
+    }
+}
\ No newline at end of file
diff --git a/Tiger.Business.WMS/Common/Preparation.cs b/Tiger.Business.WMS/Common/Preparation.cs
new file mode 100644
index 0000000..9d18f2a
--- /dev/null
+++ b/Tiger.Business.WMS/Common/Preparation.cs
@@ -0,0 +1,304 @@
+锘縰sing Rhea.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tiger.Business.WMS.Transaction;
+using Tiger.IBusiness;
+using Tiger.Model;
+
+namespace Tiger.Business.WMS.Common
+{
+    /// <summary>
+    /// 澶囨枡鍗曞彂鏂欎簨鍔�
+    /// </summary>
+    public class Preparation : WMSTransactionBase, IPreparation
+    {
+        #region Propertys & Variables
+        public string UserCode { get; set; }
+        public long UserId { get; set; }
+        public string OrgCode { get; set; }
+        private DbClient _MainDB;
+        public DbClient MainDB => _MainDB;
+        private DbClient CommitDB;
+        public Inventory CurInvItem { get; set; }
+        public ScanShelfInfo CurScanShelf { get; set; }
+        /// <summary>
+        /// 璺熷鎴风閫氳鏃剁殑鎸囦护锛屾湁鍏蜂綋鍔熻兘瀹氫箟锛岄粯璁や负Normal
+        /// </summary>
+        public string Command { get; set; } = "Normal";
+        /// <summary>
+        /// 鏄惁闇�瑕佷复鏃跺瓨鍌ㄦ暟鎹簱鎻愪氦鎿嶄綔锛屽緟闇�瑕佺殑鏃跺�欏啀鎻愪氦
+        /// </summary>
+        public bool NeedTemporaryStoreDBCommitAction { get; set; } = false;
+        protected Dictionary<string, List<Action>> DBCommitList { get; set; } = new();
+        #endregion Propertys & Variables
+
+        #region Functions
+        public IPreparation Init(string id, string userCode, string apiHost, string orgCode)
+        {
+            TransID = id;
+            UserCode = userCode;
+            ApiHost = apiHost;
+            OrgCode = orgCode;
+            _MainDB = Biz.Db;
+
+            return this;
+        }
+
+        /// <summary>
+        /// 鑾峰彇鎻愪氦鏁版嵁鐨凞bClient瀵硅薄
+        /// </summary>
+        /// <returns></returns>
+        public DbClient GetCommitDB()
+        {
+            return CommitDB ??= Biz.Db;
+        }
+
+        /// <summary>
+        /// 澧炲姞鏆傚瓨鐨勬暟鎹簱鎿嶄綔
+        /// </summary>
+        /// <param name="groupName">鏆傚瓨鐨勫垎缁�</param>
+        /// <param name="action">鏆傚瓨鐨勬暟鎹簱鎿嶄綔</param>
+        public void AddCommitAction(string group, Action action)
+        {
+            //澧炲姞闄勫姞鐨勪繚瀛樺唴瀹�
+            if (!action.IsNullOrEmpty())
+            {
+                if (!DBCommitList.ContainsKey(group))
+                {
+                    DBCommitList.Add(group, new List<Action>());
+                }
+                var commitList = DBCommitList[group];
+                commitList.Add(action);
+            }
+        }
+
+        /// <summary>
+        /// 鏆傚瓨鐨勬暟鎹簱鎿嶄綔鎻愪氦鍒版暟鎹簱
+        /// </summary>
+        /// <param name="appendToSave">闄勫姞鐨勪繚瀛樺唴瀹�</param>
+        public void SaveCommitListToDB(Action appendToSave = null)
+        {
+            //澧炲姞闄勫姞鐨勪繚瀛樺唴瀹�
+            if (!appendToSave.IsNullOrEmpty())
+            {
+                if (!DBCommitList.ContainsKey("AppendSaveAction"))
+                {
+                    DBCommitList.Add("AppendSaveAction", new List<Action>());
+                }
+                var appendList = DBCommitList["AppendSaveAction"];
+                appendList.Add(appendToSave);
+            }
+
+            //濡傛灉涓嶉渶瑕佷复鏃跺瓨鍌ㄦ暟鎹簱鎻愪氦鎿嶄綔锛屽垯鎶婃彁浜ゆ搷浣滃垪琛ㄦ彁浜ゅ埌鏁版嵁搴�
+            if (!NeedTemporaryStoreDBCommitAction)
+            {
+                //鎭㈠涓存椂瀛樺偍鏍囪涓篺alse
+                NeedTemporaryStoreDBCommitAction = false;
+
+                var dbTran = GetCommitDB().UseTran(() =>
+                {
+                    //鍦ㄥ悓涓�涓簨鍔′腑淇濆瓨鎵�鏈夊伐姝ョ殑鏁版嵁
+                    foreach (var wipSn in DBCommitList.Keys.Where(q => q != "AppendSaveAction"))
+                    {
+                        foreach (var action in DBCommitList[wipSn])
+                        {
+                            action.Invoke();
+                        }
+                    }
+                    //闄勫姞鐨勪繚瀛樺唴瀹�
+                    if (DBCommitList.ContainsKey("AppendSaveAction"))
+                    {
+                        foreach (var action in DBCommitList["AppendSaveAction"])
+                        {
+                            action.Invoke();
+                        }
+                    }
+                });
+                if (dbTran.IsSuccess)
+                {
+                    //淇濆瓨鎴愬姛鍒欐竻绌烘彁浜ゆ搷浣滃垪琛�
+                    DBCommitList.Clear();
+                }
+                else
+                {
+                    //鎶涘嚭寮傚父
+                    throw dbTran.ErrorException;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 涓婃灦
+        /// </summary>
+        /// <param name="inventory">瑕佷笂鏋剁殑搴撳瓨瀵硅薄</param>
+        /// <param name="option">鎺堟潈鏌ヨ閫夐」</param>
+        /// <param name="targetLocation">瑕佷笂鏋剁殑鍌ㄤ綅浠g爜</param>
+        /// <param name="isTransfer">鏄惁绉诲簱鎿嶄綔</param>
+        /// <returns></returns>
+        public Result PutOn(AuthOption option, string targetLocation)
+        {
+            var result = new Result(Result.Flags.Success);
+            try
+            {
+                var location = Biz.Db.Queryable<V_WH_UNIT>().Where(q => q.LOCATION_CODE == targetLocation && q.AUTH_ORG == option.CurOrg).IncludesAllFirstLayer().First();
+                if (!location.IsNullOrEmpty())
+                {
+                    var isTransfer = CurInvItem.Location.LOCATION_CODE != location.LOCATION_CODE;
+                    foreach (var item in CurInvItem.Items)
+                    {
+                        item.STATUS = WMS_ITEM.STATUSs.InStore.GetValue();
+                        item.SUPP_LOTNO = CurInvItem.Barcode.LotNo;
+                        item.FIRST_IN_DATE = item.FIRST_IN_DATE <= DateTime.MinValue ? DateTime.Now : item.FIRST_IN_DATE;
+                        item.PROD_DATE = item.PROD_DATE <= DateTime.MinValue ? item.FIRST_IN_DATE : item.PROD_DATE;
+                        item.WH_ID = location.WH_ID;
+                        item.REGION_ID = location.REGION_ID;
+                        item.SHELF_ID = location.SHELF_ID;
+                        item.LOCATION_ID = location.LOCATION_ID;
+                        CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"鏉$爜[{CurInvItem.SN}]{(isTransfer ? $"浠庡偍浣峓{CurInvItem?.Location?.LOCATION_CODE}]绉诲簱" : "涓婃灦")}鍒板偍浣峓{location.LOCATION_CODE}]鎴愬姛{(isTransfer ? "" : $"锛屾搷浣滃崟鎹甗{item.TRANS_NO}]")}"));
+                    }
+                    foreach (var item in CurInvItem.Packages)
+                    {
+                        item.WH_ID = location.WH_ID;
+                        item.REGION_ID = location.REGION_ID;
+                        item.SHELF_ID = location.SHELF_ID;
+                        item.LOCATION_ID = location.LOCATION_ID;
+                    }
+                    foreach (var item in CurInvItem.ItemsExt)
+                    {
+                        item.AUTH_ORG = option.OrgCode;
+                        item.SN = CurInvItem.Barcode.SN;
+                    }
+                    //鏇存柊鍌ㄥ瓨淇℃伅
+                    CurInvItem.Warehouse = location.Warehouse;
+                    CurInvItem.Region = location.Region;
+                    CurInvItem.Shelf = location.Shelf;
+                    CurInvItem.Location = location.Location;
+
+                    //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
+                    var _Items = CurInvItem.Items.Clone();
+                    var _Packages = CurInvItem.Packages.Clone();
+                    var _History = CurInvItem.History.Clone();
+                    var _ItemsExt = CurInvItem.ItemsExt.Clone();
+                    AddCommitAction("PutOn", () =>
+                    {
+                        //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄
+                        var db = GetCommitDB();
+                        //鏁版嵁淇濆瓨閫昏緫
+                        db.Storageable(_Items, UserCode).ExecuteCommand();
+                        db.Storageable(_Packages, UserCode).ExecuteCommand();
+                        db.Insertable(_History, UserCode).ExecuteCommand();
+                        var x = db.Storageable(_ItemsExt, UserCode).ToStorage();
+                        x.AsInsertable.ExecuteCommand();//涓嶅瓨鍦ㄦ彃鍏�
+                        x.AsUpdateable.ExecuteCommand();//瀛樺湪鏇存柊
+                    });
+                }
+                else
+                {
+                    result.Flag = Result.Flags.Failed;
+                    result.LocaleMsg = new("WMS.WmsItem.PutOn.LocationNotExists", targetLocation);
+                }
+            }
+            catch (Exception ex)
+            {
+                result.CatchExceptionWithLog(ex, Biz.L("WMS.WmsItem.PutOn.Exception", CurInvItem.SN, targetLocation));
+            }
+            return result;
+        }
+
+        /// <summary>
+        /// 涓嬫灦
+        /// </summary>
+        /// <param name="option">鎺堟潈鏌ヨ閫夐」</param>
+        /// <param name="status">涓嬫灦鍚庣姸鎬�</param>
+        /// <param name="clearLocation">鏄惁娓呯悊鍌ㄥ尯璐ф灦鍌ㄤ綅淇℃伅</param>
+        /// <returns></returns>
+        public Result TakeDown(AuthOption option, WMS_ITEM.STATUSs status)
+        {
+            return TakeDown(CurInvItem.Items.ToDictionary(k => k.SN, v => v.QTY), option, status);
+        }
+
+        /// <summary>
+        /// 涓嬫灦
+        /// </summary>
+        /// <param name="inventory">瑕佷笅鏋剁殑搴撳瓨瀵硅薄</param>
+        /// <param name="qtyList">瑕佷笅鏋剁殑鏈�灏忓寘瑁呮暟閲忓瓧鍏革紝key锛歴n锛寁alue锛歲ty</param>
+        /// <param name="option">鎺堟潈鏌ヨ閫夐」</param>
+        /// <param name="status">涓嬫灦鍚庣姸鎬�</param>
+        /// <param name="clearLocation">鏄惁娓呯悊鍌ㄥ尯璐ф灦鍌ㄤ綅淇℃伅</param>
+        /// <returns></returns>
+        public Result TakeDown(Dictionary<string, double> qtyList, AuthOption option, WMS_ITEM.STATUSs status)
+        {
+            var result = new Result(Result.Flags.Success);
+            try
+            {
+                //濡傛灉瑕佷笅鏋剁殑鏁伴噺瀛楀吀涓虹┖鍒欒涓烘槸鍏ㄩ儴涓嬫灦
+                qtyList = qtyList.IsNullOrEmpty(CurInvItem.Items.ToDictionary(k => k.SN, v => v.QTY));
+
+                foreach (var item in CurInvItem.Items)
+                {
+                    if (qtyList.ContainsKey(item.SN) && qtyList[item.SN] > 0)
+                    {
+                        var downQty = qtyList[item.SN];
+                        if (item.QTY > downQty)
+                        {
+                            item.QTY -= downQty;
+                            var pkg = CurInvItem.Packages.First(q => q.SN == item.SN);
+                            pkg.QTY = item.QTY;
+                        }
+                        else
+                        {
+                            item.STATUS = status.GetValue();
+                            var pkg = CurInvItem.Packages.First(q => q.SN == item.SN);
+                            pkg.PARENT_SN = null;
+                            pkg.Parent = null;
+                            //濡傛灉涓嬫灦鏁伴噺绛変簬搴撳瓨鏁伴噺鍒欐竻鐞嗗偍鍖鸿揣鏋跺偍浣嶄俊鎭紝鍚﹀垯淇濈暀浠撳簱淇℃伅
+                            //item.WH_ID = null;
+                            item.REGION_ID = null;
+                            item.SHELF_ID = null;
+                            item.LOCATION_ID = null;
+                            //pkg.WH_ID = null;
+                            pkg.REGION_ID = null;
+                            pkg.SHELF_ID = null;
+                            pkg.LOCATION_ID = null;
+                        }
+                        CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"鏉$爜[{CurInvItem.SN}]浠庡偍浣峓{CurInvItem?.Location?.LOCATION_CODE}]涓嬫灦鏁伴噺[{downQty}]鎴愬姛锛岀姸鎬乕{item.STATUS.GetEnumDesc<WMS_ITEM.STATUSs>()}]锛屾搷浣滃崟鎹甗{item.TRANS_NO}]"));
+                    }
+                }
+                CurInvItem.Packages = WMS_ITEM_PKG.UpdateQty(CurInvItem.Packages);
+
+                //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
+                var _Items = CurInvItem.Items.Clone();
+                var _Packages = CurInvItem.Packages.Clone();
+                var _History = CurInvItem.History.Clone();
+                AddCommitAction("TakeDown", () =>
+                {
+                    //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄
+                    var db = GetCommitDB();
+                    //鏁版嵁淇濆瓨閫昏緫
+                    db.Updateable(_Items, UserCode).ExecuteCommand();
+                    db.Insertable(_History, UserCode).ExecuteCommand();
+                    db.Updateable(_Packages, UserCode).ExecuteCommand();
+                });
+            }
+            catch (Exception ex)
+            {
+                result.CatchExceptionWithLog(ex, Biz.L("WMS.WmsItem.TakeDown.Exception", CurInvItem.SN, CurInvItem?.Location?.LOCATION_CODE));
+            }
+            return result;
+        }
+
+        #endregion Functions
+
+        public override bool Close(bool needSaveHistoryLog = false)
+        {
+            //needSaveHistoryLog = true;
+            //淇濆瓨鎿嶄綔鏃ュ織
+
+            this.IsFinished = true;
+            return IsFinished ? base.Close(needSaveHistoryLog) : IsFinished;
+        }
+    }
+}
diff --git a/Tiger.Business.WMS/Common/WmsTask.cs b/Tiger.Business.WMS/Common/WmsTask.cs
new file mode 100644
index 0000000..b13368e
--- /dev/null
+++ b/Tiger.Business.WMS/Common/WmsTask.cs
@@ -0,0 +1,302 @@
+锘縰sing Rhea.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tiger.IBusiness;
+using Tiger.Model;
+
+namespace Tiger.Business.WMS.Transaction
+{
+    /// <summary>
+    /// 浠撳簱浣滀笟浠诲姟锛屽寘鎷竻鐐广�佷笂鏋躲�佷笅鏋躲�佺Щ搴撱�佺洏鐐圭瓑
+    /// </summary>
+    public class WmsTask : WMSTransactionBase, IWmsTask
+    {
+        #region Propertys & Variables
+        public string UserCode { get; set; }
+        public string OrgCode { get; set; }
+        private DbClient _MainDB;
+        public DbClient MainDB => _MainDB;
+        private DbClient CommitDB;
+        public Inventory CurInvItem { get; set; }
+        public ScanShelfInfo CurScanShelf { get; set; }
+        /// <summary>
+        /// 璺熷鎴风閫氳鏃剁殑鎸囦护锛屾湁鍏蜂綋鍔熻兘瀹氫箟锛岄粯璁や负Normal
+        /// </summary>
+        public string Command { get; set; } = "Normal";
+        /// <summary>
+        /// 鏄惁闇�瑕佷复鏃跺瓨鍌ㄦ暟鎹簱鎻愪氦鎿嶄綔锛屽緟闇�瑕佺殑鏃跺�欏啀鎻愪氦
+        /// </summary>
+        public bool NeedTemporaryStoreDBCommitAction { get; set; } = false;
+        protected Dictionary<string, List<Action>> DBCommitList { get; set; } = new();
+        #endregion Propertys & Variables
+
+        #region Functions
+        public IWmsTask Init(string id, string userCode, string apiHost, string orgCode)
+        {
+            TransID = id;
+            UserCode = userCode;
+            ApiHost = apiHost;
+            OrgCode = orgCode;
+            _MainDB = Biz.Db;
+
+            return this;
+        }
+
+        /// <summary>
+        /// 鑾峰彇鎻愪氦鏁版嵁鐨凞bClient瀵硅薄
+        /// </summary>
+        /// <returns></returns>
+        public DbClient GetCommitDB()
+        {
+            return CommitDB ??= Biz.Db;
+        }
+
+        /// <summary>
+        /// 澧炲姞鏆傚瓨鐨勬暟鎹簱鎿嶄綔
+        /// </summary>
+        /// <param name="groupName">鏆傚瓨鐨勫垎缁�</param>
+        /// <param name="action">鏆傚瓨鐨勬暟鎹簱鎿嶄綔</param>
+        public void AddCommitAction(string group, Action action)
+        {
+            //澧炲姞闄勫姞鐨勪繚瀛樺唴瀹�
+            if (!action.IsNullOrEmpty())
+            {
+                if (!DBCommitList.ContainsKey(group))
+                {
+                    DBCommitList.Add(group, new List<Action>());
+                }
+                var commitList = DBCommitList[group];
+                commitList.Add(action);
+            }
+        }
+
+        /// <summary>
+        /// 鏆傚瓨鐨勬暟鎹簱鎿嶄綔鎻愪氦鍒版暟鎹簱
+        /// </summary>
+        /// <param name="appendToSave">闄勫姞鐨勪繚瀛樺唴瀹�</param>
+        public void SaveCommitListToDB(Action appendToSave = null)
+        {
+            //澧炲姞闄勫姞鐨勪繚瀛樺唴瀹�
+            if (!appendToSave.IsNullOrEmpty())
+            {
+                if (!DBCommitList.ContainsKey("AppendSaveAction"))
+                {
+                    DBCommitList.Add("AppendSaveAction", new List<Action>());
+                }
+                var appendList = DBCommitList["AppendSaveAction"];
+                appendList.Add(appendToSave);
+            }
+
+            //濡傛灉涓嶉渶瑕佷复鏃跺瓨鍌ㄦ暟鎹簱鎻愪氦鎿嶄綔锛屽垯鎶婃彁浜ゆ搷浣滃垪琛ㄦ彁浜ゅ埌鏁版嵁搴�
+            if (!NeedTemporaryStoreDBCommitAction)
+            {
+                //鎭㈠涓存椂瀛樺偍鏍囪涓篺alse
+                NeedTemporaryStoreDBCommitAction = false;
+
+                var dbTran = GetCommitDB().UseTran(() =>
+                {
+                    //鍦ㄥ悓涓�涓簨鍔′腑淇濆瓨鎵�鏈夊伐姝ョ殑鏁版嵁
+                    foreach (var wipSn in DBCommitList.Keys.Where(q => q != "AppendSaveAction"))
+                    {
+                        foreach (var action in DBCommitList[wipSn])
+                        {
+                            action.Invoke();
+                        }
+                    }
+                    //闄勫姞鐨勪繚瀛樺唴瀹�
+                    if (DBCommitList.ContainsKey("AppendSaveAction"))
+                    {
+                        foreach (var action in DBCommitList["AppendSaveAction"])
+                        {
+                            action.Invoke();
+                        }
+                    }
+                });
+                if (dbTran.IsSuccess)
+                {
+                    //淇濆瓨鎴愬姛鍒欐竻绌烘彁浜ゆ搷浣滃垪琛�
+                    DBCommitList.Clear();
+                }
+                else
+                {
+                    //鎶涘嚭寮傚父
+                    throw dbTran.ErrorException;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 涓婃灦
+        /// </summary>
+        /// <param name="inventory">瑕佷笂鏋剁殑搴撳瓨瀵硅薄</param>
+        /// <param name="option">鎺堟潈鏌ヨ閫夐」</param>
+        /// <param name="targetLocation">瑕佷笂鏋剁殑鍌ㄤ綅浠g爜</param>
+        /// <param name="isTransfer">鏄惁绉诲簱鎿嶄綔</param>
+        /// <returns></returns>
+        public Result PutOn(AuthOption option, string targetLocation)
+        {
+            var result = new Result(Result.Flags.Success);
+            try
+            {
+                var location = Biz.Db.Queryable<V_WH_UNIT>().Where(q => q.LOCATION_CODE == targetLocation && q.AUTH_ORG == option.CurOrg).IncludesAllFirstLayer().First();
+                if (!location.IsNullOrEmpty())
+                {
+                    var isTransfer = CurInvItem.Location.LOCATION_CODE != location.LOCATION_CODE;
+                    foreach (var item in CurInvItem.Items)
+                    {
+                        item.STATUS = WMS_ITEM.STATUSs.InStore.GetValue();
+                        item.SUPP_LOTNO = CurInvItem.Barcode.LotNo;
+                        item.FIRST_IN_DATE = item.FIRST_IN_DATE <= DateTime.MinValue ? DateTime.Now : item.FIRST_IN_DATE;
+                        item.PROD_DATE = item.PROD_DATE <= DateTime.MinValue ? item.FIRST_IN_DATE : item.PROD_DATE;
+                        item.WH_ID = location.WH_ID;
+                        item.REGION_ID = location.REGION_ID;
+                        item.SHELF_ID = location.SHELF_ID;
+                        item.LOCATION_ID = location.LOCATION_ID;
+                        CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"鏉$爜[{CurInvItem.SN}]{(isTransfer ? $"浠庡偍浣峓{CurInvItem?.Location?.LOCATION_CODE}]绉诲簱" : "涓婃灦")}鍒板偍浣峓{location.LOCATION_CODE}]鎴愬姛{(isTransfer ? "" : $"锛屾搷浣滃崟鎹甗{item.TRANS_NO}]")}"));
+                    }
+                    foreach (var item in CurInvItem.Packages)
+                    {
+                        item.WH_ID = location.WH_ID;
+                        item.REGION_ID = location.REGION_ID;
+                        item.SHELF_ID = location.SHELF_ID;
+                        item.LOCATION_ID = location.LOCATION_ID;
+                    }
+                    foreach (var item in CurInvItem.ItemsExt)
+                    {
+                        item.AUTH_ORG = option.OrgCode;
+                        item.SN = CurInvItem.Barcode.SN;
+                    }
+                    //鏇存柊鍌ㄥ瓨淇℃伅
+                    CurInvItem.Warehouse = location.Warehouse;
+                    CurInvItem.Region = location.Region;
+                    CurInvItem.Shelf = location.Shelf;
+                    CurInvItem.Location = location.Location;
+
+                    //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
+                    var _Items = CurInvItem.Items.Clone();
+                    var _Packages = CurInvItem.Packages.Clone();
+                    var _History = CurInvItem.History.Clone();
+                    var _ItemsExt = CurInvItem.ItemsExt.Clone();
+                    AddCommitAction("PutOn", () =>
+                    {
+                        //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄
+                        var db = GetCommitDB();
+                        //鏁版嵁淇濆瓨閫昏緫
+                        db.Storageable(_Items, UserCode).ExecuteCommand();
+                        db.Storageable(_Packages, UserCode).ExecuteCommand();
+                        db.Insertable(_History, UserCode).ExecuteCommand();
+                        var x = db.Storageable(_ItemsExt, UserCode).ToStorage();
+                        x.AsInsertable.ExecuteCommand();//涓嶅瓨鍦ㄦ彃鍏�
+                        x.AsUpdateable.ExecuteCommand();//瀛樺湪鏇存柊
+                    });
+                }
+                else
+                {
+                    result.Flag = Result.Flags.Failed;
+                    result.LocaleMsg = new("WMS.WmsItem.PutOn.LocationNotExists", targetLocation);
+                }
+            }
+            catch (Exception ex)
+            {
+                result.CatchExceptionWithLog(ex, Biz.L("WMS.WmsItem.PutOn.Exception", CurInvItem.SN, targetLocation));
+            }
+            return result;
+        }
+
+        /// <summary>
+        /// 涓嬫灦
+        /// </summary>
+        /// <param name="option">鎺堟潈鏌ヨ閫夐」</param>
+        /// <param name="status">涓嬫灦鍚庣姸鎬�</param>
+        /// <param name="clearLocation">鏄惁娓呯悊鍌ㄥ尯璐ф灦鍌ㄤ綅淇℃伅</param>
+        /// <returns></returns>
+        public Result TakeDown(AuthOption option, WMS_ITEM.STATUSs status)
+        {
+            return TakeDown(CurInvItem.Items.ToDictionary(k => k.SN, v => v.QTY), option, status);
+        }
+
+        /// <summary>
+        /// 涓嬫灦
+        /// </summary>
+        /// <param name="inventory">瑕佷笅鏋剁殑搴撳瓨瀵硅薄</param>
+        /// <param name="qtyList">瑕佷笅鏋剁殑鏈�灏忓寘瑁呮暟閲忓瓧鍏革紝key锛歴n锛寁alue锛歲ty</param>
+        /// <param name="option">鎺堟潈鏌ヨ閫夐」</param>
+        /// <param name="status">涓嬫灦鍚庣姸鎬�</param>
+        /// <param name="clearLocation">鏄惁娓呯悊鍌ㄥ尯璐ф灦鍌ㄤ綅淇℃伅</param>
+        /// <returns></returns>
+        public Result TakeDown(Dictionary<string, double> qtyList, AuthOption option, WMS_ITEM.STATUSs status)
+        {
+            var result = new Result(Result.Flags.Success);
+            try
+            {
+                //濡傛灉瑕佷笅鏋剁殑鏁伴噺瀛楀吀涓虹┖鍒欒涓烘槸鍏ㄩ儴涓嬫灦
+                qtyList = qtyList.IsNullOrEmpty(CurInvItem.Items.ToDictionary(k => k.SN, v => v.QTY));
+
+                foreach (var item in CurInvItem.Items)
+                {
+                    if (qtyList.ContainsKey(item.SN) && qtyList[item.SN] > 0)
+                    {
+                        var downQty = qtyList[item.SN];
+                        if (item.QTY > downQty)
+                        {
+                            item.QTY -= downQty;
+                            var pkg = CurInvItem.Packages.First(q => q.SN == item.SN);
+                            pkg.QTY = item.QTY;
+                        }
+                        else
+                        {
+                            item.STATUS = status.GetValue();
+                            var pkg = CurInvItem.Packages.First(q => q.SN == item.SN);
+                            pkg.PARENT_SN = null;
+                            pkg.Parent = null;
+                            //濡傛灉涓嬫灦鏁伴噺绛変簬搴撳瓨鏁伴噺鍒欐竻鐞嗗偍鍖鸿揣鏋跺偍浣嶄俊鎭紝鍚﹀垯淇濈暀浠撳簱淇℃伅
+                            //item.WH_ID = null;
+                            item.REGION_ID = null;
+                            item.SHELF_ID = null;
+                            item.LOCATION_ID = null;
+                            //pkg.WH_ID = null;
+                            pkg.REGION_ID = null;
+                            pkg.SHELF_ID = null;
+                            pkg.LOCATION_ID = null;
+                        }
+                        CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"鏉$爜[{CurInvItem.SN}]浠庡偍浣峓{CurInvItem?.Location?.LOCATION_CODE}]涓嬫灦鏁伴噺[{downQty}]鎴愬姛锛岀姸鎬乕{item.STATUS.GetEnumDesc<WMS_ITEM.STATUSs>()}]锛屾搷浣滃崟鎹甗{item.TRANS_NO}]"));
+                    }
+                }
+                CurInvItem.Packages = WMS_ITEM_PKG.UpdateQty(CurInvItem.Packages);
+
+                //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
+                var _Items = CurInvItem.Items.Clone();
+                var _Packages = CurInvItem.Packages.Clone();
+                var _History = CurInvItem.History.Clone();
+                AddCommitAction("TakeDown", () =>
+                {
+                    //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄
+                    var db = GetCommitDB();
+                    //鏁版嵁淇濆瓨閫昏緫
+                    db.Updateable(_Items, UserCode).ExecuteCommand();
+                    db.Insertable(_History, UserCode).ExecuteCommand();
+                    db.Updateable(_Packages, UserCode).ExecuteCommand();
+                });
+            }
+            catch (Exception ex)
+            {
+                result.CatchExceptionWithLog(ex, Biz.L("WMS.WmsItem.TakeDown.Exception", CurInvItem.SN, CurInvItem?.Location?.LOCATION_CODE));
+            }
+            return result;
+        }
+
+        #endregion Functions
+
+        public override bool Close(bool needSaveHistoryLog = false)
+        {
+            //needSaveHistoryLog = true;
+            //淇濆瓨鎿嶄綔鏃ュ織
+
+            this.IsFinished = true;
+            return IsFinished ? base.Close(needSaveHistoryLog) : IsFinished;
+        }
+    }
+}
diff --git a/Tiger.Business.WMS/ERP/U9C_WMS.cs b/Tiger.Business.WMS/ERP/U9C_WMS.cs
index 09bd897..a5c321c 100644
--- a/Tiger.Business.WMS/ERP/U9C_WMS.cs
+++ b/Tiger.Business.WMS/ERP/U9C_WMS.cs
@@ -102,16 +102,16 @@
                 .GroupBy(x => new { x.DocNo })
                 .Select(x => new BIZ_U9_ASN
                 {
-                    STATUS= BIZ_U9_ASN.STATUSs.Imported.GetValue(),
+                    STATUS = BIZ_U9_ASN.STATUSs.Imported.GetValue(),
                     ORDER_NO = x.Key.DocNo,
-                    ID= x.Max(t => t.AsnId).ToString(),
+                    ID = x.Max(t => t.AsnId).ToString(),
                     SUPP_CODE = x.Max(t => t.SupplierCode),
                     SUPP_NAME = x.Max(t => t.SupplierName),
                     DELIVERY_DATE = x.Max(t => t.ShipDate),
                     PLANARRIVED_DATE = x.Max(t => t.PlanArriveDate),
                     ORDER_DATE = x.Max(t => t.ModifiedOn),
                     CREATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),//--鏃堕棿涓嶆洿鏂�
-                    CREATE_USER= "U9C_In_DocASN",
+                    CREATE_USER = "U9C_In_DocASN",
                     UPDATE_TIME = x.Max(t => t.ModifiedOn).ToDateTime(),
                     UPDATE_USER = "U9C_In_DocASN",
                     AUTH_ORG = orgs.FirstOrDefault(q => q.ID == x.Max(t => t.Org).ToString())?.ORG_CODE,
diff --git a/Tiger.Business.WMS/T100ToWMS/MaterialInfoBusiness.cs b/Tiger.Business.WMS/T100ToWMS/MaterialInfoBusiness.cs
index ac93108..86a5894 100644
--- a/Tiger.Business.WMS/T100ToWMS/MaterialInfoBusiness.cs
+++ b/Tiger.Business.WMS/T100ToWMS/MaterialInfoBusiness.cs
@@ -1275,7 +1275,7 @@
                         BILLTYPE = Convert.ToInt32(item.pmdldoctype),
                         //STATUS = Convert.ToInt32(item.pmdlstus), // 鐘舵�佹棤娉曡浆鎹�
                         CURRENCY = item.pmdl015,
-                        EXCHANGERATE = item.pmdl016.ToDecimal(),
+                        EXCHANGERATE = item.pmdl016.ToDouble(),
                         PURDEPTCODE = item.pmdl003,
                         PUREMPLOYEECODE = item.pmdl002,
                         SUPPLIERCODE = item.pmdl004,
diff --git a/Tiger.Business.WMS/T100ToWMS/ProductInputBusiness.cs b/Tiger.Business.WMS/T100ToWMS/ProductInputBusiness.cs
index a7ec6b8..5546b7f 100644
--- a/Tiger.Business.WMS/T100ToWMS/ProductInputBusiness.cs
+++ b/Tiger.Business.WMS/T100ToWMS/ProductInputBusiness.cs
@@ -495,7 +495,7 @@
                 sqn++;
                 var itemcode = dic[sqn];
                 var whUnit = whUnits.FirstOrDefault(q => q.WH_CODE + "@" + q.LOCATION_CODE == input.WarehouseCode + "@" + item.Location);
-                var mesCount = mesData.Count != 0 ? (mesData.FirstOrDefault(i => i.SHIPPING_SN == item.SN).SO_NUMBER).ToDecimal() : 0;
+                var mesCount = mesData.Count != 0 ? (mesData.FirstOrDefault(i => i.SHIPPING_SN == item.SN).SO_NUMBER).ToDouble() : 0;
                 if (whUnit.IsNullOrEmpty())
                 {
                     Logger.Scheduler.Info($"褰撳墠宸ュ崟锛歿input.WorkOrder} 鏈兘鏌ヨ鍒板綋鍓嶅簱浣�/鍌ㄤ綅{input.WarehouseCode}/{item.Location}淇℃伅锛岃纭璇ュ簱浣�/鍌ㄤ綅鏄惁瀛樺湪锛�");
@@ -579,7 +579,7 @@
                         #region 娣诲姞 SN-Box鏁版嵁
 
                         var whUnit = whUnits.FirstOrDefault(q => q.WH_CODE + "@" + q.LOCATION_CODE == input.WarehouseCode + "@" + item.Location);
-                        var mesCount = mesData.Count != 0 ? (mesData.FirstOrDefault(i => i.SHIPPING_SN == item.SN).SO_NUMBER).ToDecimal() : 0;
+                        var mesCount = mesData.Count != 0 ? (mesData.FirstOrDefault(i => i.SHIPPING_SN == item.SN).SO_NUMBER).ToDouble() : 0;
                         pkgModel.Add(new WMS_ITEM_PKG()
                         {
                             AUTH_ORG = inData?.AUTH_ORG,
@@ -876,7 +876,7 @@
         /// <param name="input"></param>
         /// <param name="Count"></param>
         /// <returns></returns>
-        public List<BIZ_ERP_PROD_IN_DTL> ChangeDTL(List<BIZ_ERP_PROD_IN_DTL> input, decimal Count)
+        public List<BIZ_ERP_PROD_IN_DTL> ChangeDTL(List<BIZ_ERP_PROD_IN_DTL> input, double Count)
         {
             var model = new List<BIZ_ERP_PROD_IN_DTL>();
             var data = input.Where(i => i.INSTOCKQTY < i.PRQTY).OrderBy(i => i.BILLLINE).ToList();
diff --git a/Tiger.Business.WMS/T100ToWMS/ProductOutputtBusiness.cs b/Tiger.Business.WMS/T100ToWMS/ProductOutputtBusiness.cs
index ef05438..789e376 100644
--- a/Tiger.Business.WMS/T100ToWMS/ProductOutputtBusiness.cs
+++ b/Tiger.Business.WMS/T100ToWMS/ProductOutputtBusiness.cs
@@ -104,7 +104,7 @@
         /// <param name="input"></param>
         /// <param name="Count"></param>
         /// <returns></returns>
-        public List<BIZ_ERP_SALE_OUT_DTL> ChangeDTL(List<BIZ_ERP_SALE_OUT_DTL> input, decimal Count)
+        public List<BIZ_ERP_SALE_OUT_DTL> ChangeDTL(List<BIZ_ERP_SALE_OUT_DTL> input, double Count)
         {
             var model = new List<BIZ_ERP_SALE_OUT_DTL>();
             var data = input.Where(i => i.QTY < i.PRQTY).OrderBy(i => i.BILLLINE).ToList();
diff --git a/Tiger.Business.WMS/Task/iSRM/Jobs.QqtSrmJob.cs b/Tiger.Business.WMS/Task/iSRM/Jobs.QqtSrmJob.cs
index e41bd05..c288d87 100644
--- a/Tiger.Business.WMS/Task/iSRM/Jobs.QqtSrmJob.cs
+++ b/Tiger.Business.WMS/Task/iSRM/Jobs.QqtSrmJob.cs
@@ -64,7 +64,7 @@
             Logger.Scheduler.Info(context.Trigger.ConvertToMonitor());
             try
             {
-                DbClient db = ApiConfig.IsTestServer ? Biz.DataSource["Test"].Client : Biz.DataSource["Main"].Client;
+                DbClient db = Biz.Db;
                 var LastRun = db.Queryable<Sys_Code>().Where(q => q.CodeType == "SRM_Interface" && q.Value == "QqtLastRun").Single();
                 var LastRunTime = LastRun.IsNullOrEmpty() ? DateTime.Now.AddMinutes(-30) : LastRun.Text.ToDateTime();
                 if ((DateTime.Now - LastRunTime).TotalMinutes > 30)
diff --git a/Tiger.Business.WMS/Tiger.Business.WMS.csproj b/Tiger.Business.WMS/Tiger.Business.WMS.csproj
index 509e46a..adecfea 100644
--- a/Tiger.Business.WMS/Tiger.Business.WMS.csproj
+++ b/Tiger.Business.WMS/Tiger.Business.WMS.csproj
@@ -21,10 +21,6 @@
     <ProjectReference Include="..\Tiger.IBusiness\Tiger.IBusiness.csproj" />
   </ItemGroup>
 
-  <ItemGroup>
-    <Folder Include="Transaction\Yada\" />
-  </ItemGroup>
-
   <Target Name="PostBuild" AfterTargets="PostBuildEvent">
     <Exec Command="xcopy /r/y/i $(ProjectDir)$(OutDir)$(AssemblyName).dll $(SolutionDir)Tiger.Api\$(OutDir)&#xD;&#xA;xcopy /r/y/i $(ProjectDir)$(OutDir)$(AssemblyName).pdb $(SolutionDir)Tiger.Api\$(OutDir)" />
   </Target>
diff --git a/Tiger.Business.WMS/Transaction/In_Default.cs b/Tiger.Business.WMS/Transaction/In_Default.cs
index 559029c..2e04e35 100644
--- a/Tiger.Business.WMS/Transaction/In_Default.cs
+++ b/Tiger.Business.WMS/Transaction/In_Default.cs
@@ -11,35 +11,25 @@
 using Tiger.IBusiness;
 using Tiger.Model.Sharetronic.Shelf;
 using Tiger.Business.WMS.Sharetronic.Shelf;
-using Microsoft.IdentityModel.Tokens;
-using Apache.NMS.ActiveMQ.Commands;
+//using Microsoft.IdentityModel.Tokens;
 using Tiger.Model.MES.Yada;
-using Tiger.Model.Entitys.MES.Position;
 
 namespace Tiger.Business.WMS.Transaction
 {
     /// <summary>
     /// 鏍囧噯涓婃灦浜嬪姟
     /// </summary>
-    public class In_Default : WMSTransactionBase, IIn_Default
+    public class In_Default : WmsTask, IIn_Default
     {
         public IIn_Default Init(string id, string userCode, string apiHost, string orgCode)
         {
-            TransID = id;
-            UserCode = userCode;
-            ApiHost = apiHost;
-            OrgCode = orgCode;
+            base.Init(id, apiHost, userCode, orgCode);
             Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]");
             return this;
         }
 
         #region Propertys & Variables
-        public string UserCode { get; set; }
-        public long UserId { get; set; }
-        public string OrgCode { get; set; }
-        public Inventory CurInvItem { get; set; }
-        public ScanShelfInfo CurScanShelf { get; set; }
-        public string Command { get; set; } = "Normal";
+        
         #endregion
 
         #region Functions
@@ -59,7 +49,7 @@
                     return SetOutPutMqttMsg(action, input.Locale);
                 }
                 //鍒ゆ柇鎵弿鐨勬槸鍚﹁揣鏋�
-                var whUnit = await Biz.Db.Queryable<V_WH_UNIT>().Where(t => (t.SHELF_CODE.ToUpper() == input.SN || t.LOCATION_CODE.ToUpper() == input.SN) && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
+                var whUnit = await MainDB.Queryable<V_WH_UNIT>().Where(t => (t.SHELF_CODE.ToUpper() == input.SN || t.LOCATION_CODE.ToUpper() == input.SN) && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
                 //if (string.IsNullOrEmpty(CurScanShelf?.ShelfCode))
                 if (!whUnit.IsNullOrEmpty() || string.IsNullOrEmpty(CurScanShelf?.ShelfCode))
                 {
@@ -73,7 +63,7 @@
             catch (Exception ex)
             {
                 //鍙栨秷褰撳墠鎿嶄綔
-                ResetInfo();
+                ResetScan();
                 //action.CatchExceptionWithLog(ex, $"鎵弿[{input.SN}]寮傚父");
                 action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.Scan.ScanException", input.SN));
             }
@@ -99,7 +89,7 @@
 	                    return action;
 	                }
 	                var inv = result.Data as Inventory;
-                    var _inv = inv.Clone();
+
                     //楠岃瘉鏉$爜鏄惁姝g‘
                     if (new[] { WMS_ITEM.STATUSs.InStore, WMS_ITEM.STATUSs.Loaded, WMS_ITEM.STATUSs.UseUp }.Contains(inv.Status))
                     {
@@ -129,7 +119,7 @@
                             ITEM_CODE = inv.Barcode.ItemCode,
                             AUTH_ORG = input.AuthOption.CurOrg,
                             STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(),
-                            QTY = inv.Barcode.Qty.ToDecimal(),
+                            QTY = inv.Barcode.Qty.ToDouble(),
                             PROD_DATE = inv.Barcode.DateCode.ToDateTime(),
                             ERP_WH = CurScanShelf.WarehouseCode,
                             UNIT = inv.Barcode.Unit,
@@ -142,7 +132,7 @@
                             SN = inv.Barcode.SN,
                             AUTH_ORG = input.AuthOption.CurOrg,
                             ITEM_CODE = inv.Barcode.ItemCode,
-                            QTY = inv.Barcode.Qty.ToDecimal(),
+                            QTY = inv.Barcode.Qty.ToDouble(),
                             ERP_WH = CurScanShelf.WarehouseCode,
                             UNIT = inv.Barcode.Unit,
                         };
@@ -162,18 +152,18 @@
                         inv.Items.Add(Item);
                         inv.History.Add(his);
                         inv.Packages.Add(ItemPkgs);
-                        _inv = inv.Clone();
                     }
-                    else if (inv.Items.Count == 1)
-                    {
-                        inv.Items.First().QTY = inv.Barcode.Qty.ToDecimal();
-                        inv.Items.First().ERP_WH = CurScanShelf.WarehouseCode;
-                        inv.Items.First().AUTH_ORG = input.AuthOption.CurOrg;
+                    //闆呰揪涓嶄粠鏉$爜涓婃洿鏂版暟閲�
+                    //else if (inv.Items.Count == 1)
+                    //{
+                    //    inv.Items.First().QTY = inv.Barcode.Qty.ToDouble();
+                    //    inv.Items.First().ERP_WH = CurScanShelf.WarehouseCode;
+                    //    inv.Items.First().AUTH_ORG = input.AuthOption.CurOrg;
 
-                        inv.Packages.First().QTY = inv.Barcode.Qty.ToDecimal();
-                        inv.Packages.First().ERP_WH = CurScanShelf.WarehouseCode;
-                        inv.Packages.First().AUTH_ORG = input.AuthOption.CurOrg;
-                    }
+                    //    inv.Packages.First().QTY = inv.Barcode.Qty.ToDouble();
+                    //    inv.Packages.First().ERP_WH = CurScanShelf.WarehouseCode;
+                    //    inv.Packages.First().AUTH_ORG = input.AuthOption.CurOrg;
+                    //}
                     //濡傛灉鎵弿澶栫鐨勪笉鑳芥洿鏂版暟閲�
                     else
                     {
@@ -194,18 +184,10 @@
                     if (CurInvItem.Items.Any(q => q.QTY <= 0))
                     {
                         var qtyList = Biz.DataSource["YadaU9C"].Client.Queryable<mes_MaterialBarCode>().Where(q => CurInvItem.Items.Select(q => q.SN).Contains(q.Code)).ToList();
-                        if (qtyList.Count == 0)
+                        foreach (var qty in qtyList)
                         {
-                            var item = CurInvItem.Items.First(q => q.SN == _inv.Barcode.SN);
-                            item.QTY = _inv.Items.First(q => q.SN == _inv.Barcode.SN).QTY;
-                        }
-                        else
-                        {
-                            foreach (var qty in qtyList)
-                            {
-                                var item = CurInvItem.Items.First(q => q.SN == qty.Code);
-                                item.QTY = qty.WhQty;
-                            }
+                            var item = CurInvItem.Items.First(q => q.SN == qty.Code);
+                            item.QTY = qty.WhQty;
                         }
                         action.Data.Data = CurInvItem.Items.Select(q => new { q.SN, q.QTY });
                         action.Data.Command = Command = "ComfirmQty";
@@ -264,7 +246,7 @@
                         action.LocaleMsg = Biz.L("WMS.Default.ScanItem.LocationNotExistsInShelf", CurScanShelf.Shelf.SHELF_CODE, reaultShelf.ledAddr);
                         return action;
                     }
-                    var locationData = Biz.Db.Queryable<WMS_ITEM>().Where(q => q.LOCATION_ID == nLocation.ID).First();
+                    var locationData = MainDB.Queryable<WMS_ITEM>().Where(q => q.LOCATION_ID == nLocation.ID).First();
                     if (!locationData.IsNullOrEmpty())
                     {
                         action.IsSuccessed = false;
@@ -284,7 +266,7 @@
                         return action;
                     }
 
-                    nLocation = await Biz.Db.Queryable<WMS_LOCATION>().Where(t => t.LOCATION_CODE == CurScanShelf.LocationCode && t.AUTH_ORG == OrgCode).FirstAsync();
+                    nLocation = await MainDB.Queryable<WMS_LOCATION>().Where(t => t.LOCATION_CODE == CurScanShelf.LocationCode && t.AUTH_ORG == OrgCode).FirstAsync();
                 }
 
                 //鍒ゆ柇鍌ㄤ綅鏄惁鍗曟斁
@@ -293,66 +275,32 @@
                     action.IsSuccessed = false;
                     //action.LocaleMsg = Biz.L("鍌ㄤ綅[{0}]鍙兘瀛樻斁涓�涓墿鏂�");
                     action.LocaleMsg = Biz.L("WMS.Default.ScanItem.LocationSingleFailure", nLocation.LOCATION_CODE);
-                    CurInvItem = null;
+                    ResetScan();
                     return action;
                 }
 
-                //鎵ц涓婃灦
+                //鎵ц涓婃灦鏁版嵁澶勭悊
                 foreach (var item in CurInvItem.Items)
                 {
                     item.TRANS_CODE = "In_Default";
                     item.TRANS_NO = $"In_Default_{DateTime.Now:yyyyMMdd}";
                 }
-                Result<PutOnInfo> putonResult = WMS_ITEM_Biz.WmsItem.PutOn(CurInvItem, input.AuthOption, nLocation.LOCATION_CODE);
+                Result putonResult = PutOn(input.AuthOption, nLocation.LOCATION_CODE);
                 if (!putonResult.IsSuccessed)
                 {
                     action.IsSuccessed = false;
                     action.LocaleMsg = putonResult.LocaleMsg;
-                    CurInvItem = null;
+                    ResetScan();
                     return action;
                 }
-                PutOnInfo putOnInfo = putonResult.Data;
 
-                //淇濆瓨鍒版暟鎹簱
-                var db = Business.Biz.Db;
-                var dbTran = db.UseTran(() =>
-                {
-                    //鍏ュ簱
-                    db.Storageable(putOnInfo.Items, UserCode).ExecuteCommand();
-                    db.Storageable(putOnInfo.Packages, UserCode).ExecuteCommand();
-                    db.Insertable(putOnInfo.History, UserCode).ExecuteCommand();
-                    var x = db.Storageable(putOnInfo.ItemsExt, UserCode).ToStorage();
-                    x.AsInsertable.ExecuteCommand();//涓嶅瓨鍦ㄦ彃鍏�
-                    x.AsUpdateable.ExecuteCommand();//瀛樺湪鏇存柊
-                });
-                if (!dbTran.IsSuccess)
-                {
-                    Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception");
-                    throw dbTran.ErrorException;
-                }
-                // 杩斿洖鍏朵粬鍏ュ簱瀵硅薄
-                action.Data.Data = new DefaultInStoreOutput
-                {
-                    Barcode = CurInvItem.SN,
-                    MaterialCode = CurInvItem.ItemInfo.ITEM_CODE,
-                    MaterialName = CurInvItem.ItemInfo.ITEM_NAME,
-                    CurrentQty = CurInvItem.Items[0].QTY,
-                    Unit = CurInvItem.Items[0].UNIT,
-                    DateCode = CurInvItem.Items[0].PROD_DATE,
-                    WarehouseCode = putOnInfo.Warehouse.WH_CODE,
-                    RegionCode = putOnInfo.Region.REGION_CODE,
-                    ShelfCode = putOnInfo.Shelf.SHELF_CODE,
-                    LocationCode = putOnInfo.Location.LOCATION_CODE,
-                };
-
-                //action.LocaleMsg = Biz.L($"鎵弿鏉$爜[{0}]涓婃灦鍒板偍浣峓{1}]鎴愬姛");
-                action.LocaleMsg = Biz.L("WMS.Default.ScanItem.PutOnSucceeded", CurInvItem.SN, putOnInfo.Location.LOCATION_CODE);
-                CurInvItem = null;
+                //瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
+                action = DoIfFinish(action, input.Locale);
             }
             catch (Exception ex)
             {
                 //鍙栨秷褰撳墠鎿嶄綔
-                ResetInfo();
+                ResetScan();
                 //action.CatchExceptionWithLog(ex, $"鎵弿鏉$爜[{input.SN}]澶嶆牳寮傚父");
                 action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.ScanItem.ScanException", input.SN));
             }
@@ -378,7 +326,7 @@
                 CurScanShelf = new ScanShelfInfo();
 
                 // 鏌ヨ璐ф灦淇℃伅
-                whUnit = whUnit.IsNullOrEmpty(await Biz.Db.Queryable<V_WH_UNIT>().Where(t => (t.SHELF_CODE.ToUpper() == Code || t.LOCATION_CODE.ToUpper() == Code) && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync());
+                whUnit = whUnit.IsNullOrEmpty(await MainDB.Queryable<V_WH_UNIT>().Where(t => (t.SHELF_CODE.ToUpper() == Code || t.LOCATION_CODE.ToUpper() == Code) && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync());
 
                 // 鎵弿璐ф灦浠g爜锛屼笖涓烘櫤鑳借揣鏋�
                 if (!whUnit.IsNullOrEmpty() && whUnit.SHELF_CODE  == Code)
@@ -393,7 +341,7 @@
                 // 鎵弿搴撲綅浠g爜
                 else if (!whUnit.IsNullOrEmpty() && whUnit.LOCATION_CODE == Code)
                 {
-                    //var nLocation = await Biz.Db.Queryable<V_WH_UNIT>().Where(t => t.LOCATION_CODE.ToUpper() == Code.ToUpper() && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
+                    //var nLocation = await MainDB.Queryable<V_WH_UNIT>().Where(t => t.LOCATION_CODE.ToUpper() == Code.ToUpper() && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
                     //if (nLocation == null)
                     //{
                     //    action.IsSuccessed = false;
@@ -410,7 +358,7 @@
                     }
                     if (whUnit.Shelf.IsLightShelf || whUnit.Location.IS_SINGLE == "Y")
                     {
-                        var locationData = Biz.Db.Queryable<WMS_ITEM>().Where(q => q.LOCATION_ID == whUnit.LOCATION_ID && q.AUTH_ORG == OrgCode).First();
+                        var locationData = MainDB.Queryable<WMS_ITEM>().Where(q => q.LOCATION_ID == whUnit.LOCATION_ID && q.AUTH_ORG == OrgCode).First();
                         if (!locationData.IsNullOrEmpty())
                         {
                             action.IsSuccessed = false;
@@ -443,10 +391,43 @@
             catch (Exception ex)
             {
                 //鍙栨秷褰撳墠鎿嶄綔
-                ResetInfo();
+                ResetScan();
                 //action.CatchExceptionWithLog(ex, $"鎵弿璐ф灦/鍌ㄤ綅[{0}]寮傚父");
                 action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.ScanShelf.ScanException", Code));
             }
+            return action;
+        }
+
+        /// <summary>
+        /// 瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        public ApiAction<ScanOutput> DoIfFinish(ApiAction<ScanOutput> action, string locale)
+        {
+            //淇濆瓨鏁版嵁搴�
+            SaveCommitListToDB();
+
+            // 杩斿洖鏁版嵁
+            action.Data.Data = new DefaultInStoreOutput
+            {
+                Barcode = CurInvItem.SN,
+                MaterialCode = CurInvItem.ItemInfo.ITEM_CODE,
+                MaterialName = CurInvItem.ItemInfo.ITEM_NAME,
+                CurrentQty = CurInvItem.Items[0].QTY,
+                Unit = CurInvItem.Items[0].UNIT,
+                DateCode = CurInvItem.Items[0].PROD_DATE,
+                WarehouseCode = CurInvItem.Warehouse.WH_CODE,
+                RegionCode = CurInvItem.Region.REGION_CODE,
+                ShelfCode = CurInvItem.Shelf.SHELF_CODE,
+                LocationCode = CurInvItem.Location.LOCATION_CODE,
+            };
+
+            //action.LocaleMsg = Biz.L($"鎵弿鏉$爜[{0}]涓婃灦鍒板偍浣峓{1}]鎴愬姛");
+            action.LocaleMsg = Biz.L("WMS.Default.ScanItem.PutOnSucceeded", CurInvItem.SN, CurInvItem.Location.LOCATION_CODE);
+
+            //閲嶇疆宸ュ簭
+            ResetScan();
             return action;
         }
 
@@ -455,9 +436,9 @@
         /// <summary>
         /// 閲嶇疆褰撳墠鎿嶄綔锛屾湁闇�瑕佸垯閲嶅啓姝ゆ柟娉�
         /// </summary>
-        public override void ResetInfo()
+        public override void ResetScan()
         {
-            base.ResetInfo();
+            base.ResetScan();
             Command = null;
             CurInvItem = null;
             CurScanShelf = null;
diff --git a/Tiger.Business.WMS/Transaction/Old/CustomerSupplyInNew.cs b/Tiger.Business.WMS/Transaction/Old/CustomerSupplyInNew.cs
index 541d0f3..2fc6f05 100644
--- a/Tiger.Business.WMS/Transaction/Old/CustomerSupplyInNew.cs
+++ b/Tiger.Business.WMS/Transaction/Old/CustomerSupplyInNew.cs
@@ -199,7 +199,7 @@
                         return action;
                     }
 
-                    if (barcodeScanned.QTY != inv.Barcode.Qty.ToDecimal())
+                    if (barcodeScanned.QTY != inv.Barcode.Qty.ToDouble())
                     {
                         action.IsSuccessed = false;
                         action.LocaleMsg = Biz.L("WMS.CustSupChk.ScanItem.DiffQty", inv.SN); //$"姝ょ墿鏂欐潯鐮佸叆搴撴暟閲忎笌娓呯偣鏁伴噺涓嶅悓锛屼笉鑳藉叆搴�";
@@ -294,7 +294,7 @@
                 var total = Biz.Db.Queryable<BIZ_ERP_OTH_IN_SN>().Where(t => t.BUSINESSCODE.ToUpper() == billCode.ToUpper() && t.BUSINESSLINE == billLine)
                     .Where(x=>x.STATUS == WMS_ITEM.STATUSs.InStore.GetValue() || x.SN == inv.SN).Sum(x => x.QTY);
                 billDetail.DELIVERYDATE = DateTime.Now.Date;
-                billDetail.QTY = total; //inv.Barcode.Qty.ToDecimal();
+                billDetail.QTY = total; //inv.Barcode.Qty.ToDouble();
                 var isCompleted = false;
                 // 鏇存柊鍗曟嵁HEADER鐘舵��
                 var billHeader = Biz.Db.Queryable<BIZ_ERP_OTH_IN>().Where(t => t.BILLCODE.ToUpper() == billCode).First();
diff --git a/Tiger.Business.WMS/Transaction/Old/InFinished.cs b/Tiger.Business.WMS/Transaction/Old/InFinished.cs
index c329fec..88701cb 100644
--- a/Tiger.Business.WMS/Transaction/Old/InFinished.cs
+++ b/Tiger.Business.WMS/Transaction/Old/InFinished.cs
@@ -185,7 +185,7 @@
                     //    return action;
                     //}
 
-                    if (barcodeScanned.Qty != inv.Barcode.Qty.ToDecimal())
+                    if (barcodeScanned.Qty != inv.Barcode.Qty.ToDouble())
                     {
                         action.IsSuccessed = false;
                         action.LocaleMsg = Biz.L("WMS.CustSupChk.ScanItem.DiffQty", inv.SN); //$"姝ょ墿鏂欐潯鐮佸叆搴撴暟閲忎笌娓呯偣鏁伴噺涓嶅悓锛屼笉鑳藉叆搴�";
@@ -287,8 +287,8 @@
                 var total = Biz.Db.Queryable<BIZ_ERP_PROD_IN_SN>().Where(t => t.BUSINESSCODE.ToUpper() == billCode.ToUpper() && t.BUSINESSLINE == billLine)
                     .Where(x => x.STATUS == WMS_ITEM.STATUSs.InStore.GetValue() || x.SN == inv.SN).Sum(x => x.Qty);
                 billDetail.UPDATE_TIME = DateTime.Now.Date;
-                billDetail.INSTOCKQTY = total; //inv.Barcode.Qty.ToDecimal();
-                billDetail.INVENTORYQTY = total; //inv.Barcode.Qty.ToDecimal();
+                billDetail.INSTOCKQTY = total; //inv.Barcode.Qty.ToDouble();
+                billDetail.INVENTORYQTY = total; //inv.Barcode.Qty.ToDouble();
                 var isCompleted = false;
                 // 鏇存柊鍗曟嵁HEADER鐘舵��
                 var billHeader = Biz.Db.Queryable<BIZ_ERP_PROD_IN>().Where(t => t.BILLCODE.ToUpper() == billCode).First();
diff --git a/Tiger.Business.WMS/Transaction/Old/InMatStorage.cs b/Tiger.Business.WMS/Transaction/Old/InMatStorage.cs
index 149e216..6b3ed8a 100644
--- a/Tiger.Business.WMS/Transaction/Old/InMatStorage.cs
+++ b/Tiger.Business.WMS/Transaction/Old/InMatStorage.cs
@@ -139,7 +139,7 @@
                 //            return action;
                 //        }
 
-                //        if (barcodeScanned.SCANQTY != inv.Barcode.Qty.ToDecimal())
+                //        if (barcodeScanned.SCANQTY != inv.Barcode.Qty.ToDouble())
                 //        {
                 //            action.IsSuccessed = false;
                 //            action.LocaleMsg = Biz.L("WMS.CustSupChk.ScanItem.DiffQty", inv.SN); //$"姝ょ墿鏂欐潯鐮佸叆搴撴暟閲忎笌娓呯偣鏁伴噺涓嶅悓锛屼笉鑳藉叆搴�";
@@ -235,7 +235,7 @@
                    .Where(t=> t.STATUS == WMS_ITEM.STATUSs.InStore.GetValue() || inv.Items.Select(q=>q.SN).Contains(t.SN))
                    .Sum(x => x.SCANQTY);
                 //billDetail.DELIVERYDATE = DateTime.Now.Date;
-               //billDetail.QTY = total; //inv.Barcode.Qty.ToDecimal();
+               //billDetail.QTY = total; //inv.Barcode.Qty.ToDouble();
                 var isCompleted = false;
                 // 鏇存柊鍗曟嵁HEADER鐘舵��
                 var billHeader = Biz.Db.Queryable<BIZ_ERP_RECEIPT>().Where(t => t.BILLCODE.ToUpper() == billCode).First();
diff --git a/Tiger.Business.WMS/Transaction/Old/InProductionReturn.cs b/Tiger.Business.WMS/Transaction/Old/InProductionReturn.cs
index 024841b..425ba4a 100644
--- a/Tiger.Business.WMS/Transaction/Old/InProductionReturn.cs
+++ b/Tiger.Business.WMS/Transaction/Old/InProductionReturn.cs
@@ -162,7 +162,7 @@
                 //            return action;
                 //        }
 
-                //        if (barcodeScanned.SCANQTY != inv.Barcode.Qty.ToDecimal())
+                //        if (barcodeScanned.SCANQTY != inv.Barcode.Qty.ToDouble())
                 //        {
                 //            action.IsSuccessed = false;
                 //            action.LocaleMsg = Biz.L("WMS.CustSupChk.ScanItem.DiffQty", inv.SN); //$"姝ょ墿鏂欐潯鐮佸叆搴撴暟閲忎笌娓呯偣鏁伴噺涓嶅悓锛屼笉鑳藉叆搴�";
@@ -187,11 +187,11 @@
                     {
                         foreach (var item in inv.Items)
                         {
-                            item.QTY = inv.Barcode.Qty.ToDecimal();
+                            item.QTY = inv.Barcode.Qty.ToDouble();
                         }
                         foreach (var item in inv.Packages)
                         {
-                            item.QTY = inv.Barcode.Qty.ToDecimal();
+                            item.QTY = inv.Barcode.Qty.ToDouble();
                         }
                     }
                     //CustomerSupplyPuton.LocationCode = nLocation.LOCATION_CODE;
@@ -295,7 +295,7 @@
                     dtl.INVENTORYQTY = total;
                 }
                 //billDetail.DELIVERYDATE = DateTime.Now.Date;
-                //billDetail.QTY = total; //inv.Barcode.Qty.ToDecimal();
+                //billDetail.QTY = total; //inv.Barcode.Qty.ToDouble();
                 var isCompleted = false;
                 // 鏇存柊鍗曟嵁HEADER鐘舵��
                 var billHeader = Biz.Db.Queryable<BIZ_ERP_PROD_RETURN>().Where(t => t.BILLCODE.ToUpper() == billCode).First();
@@ -341,7 +341,7 @@
                     }
                 }
                 //billDetail.DELIVERYDATE = DateTime.Now.Date;
-                //billDetail.QTY = total; //inv.Barcode.Qty.ToDecimal();
+                //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();
diff --git a/Tiger.Business.WMS/Transaction/Old/OtherInLocation.cs b/Tiger.Business.WMS/Transaction/Old/OtherInLocation.cs
index 7148c89..bb86e3d 100644
--- a/Tiger.Business.WMS/Transaction/Old/OtherInLocation.cs
+++ b/Tiger.Business.WMS/Transaction/Old/OtherInLocation.cs
@@ -130,7 +130,7 @@
                                 ITEM_CODE = WarehouseName.Contains("瀹緵") && !inv.Barcode.ItemCode.StartsWith("K") ? ("K" + inv.Barcode.ItemCode) : (inv.Barcode.ItemCode),
                                 AUTH_ORG = input.AuthOption.CurOrg,
                                 STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(),
-                                QTY = inv.Barcode.Qty.ToDecimal(),
+                                QTY = inv.Barcode.Qty.ToDouble(),
                                 PROD_DATE = inv.Barcode.DateCode.ToDateTime(),
                                 ERP_WH = WarehouseCode,
                                 UNIT = inv.Barcode.Unit,
@@ -143,7 +143,7 @@
                                 SN = inv.Barcode.SN,
                                 AUTH_ORG = input.AuthOption.CurOrg,
                                 ITEM_CODE = WarehouseName.Contains("瀹緵") && !inv.Barcode.ItemCode.StartsWith("K") ? ("K" + inv.Barcode.ItemCode) : (inv.Barcode.ItemCode),
-                                QTY = inv.Barcode.Qty.ToDecimal(),
+                                QTY = inv.Barcode.Qty.ToDouble(),
                                 ERP_WH = WarehouseCode,
                                 UNIT = inv.Barcode.Unit,
                             };
@@ -172,11 +172,11 @@
                         }
                         else if (inv.Items.Count == 1)
                         {
-                            inv.Items.First().QTY = inv.Barcode.Qty.ToDecimal();
+                            inv.Items.First().QTY = inv.Barcode.Qty.ToDouble();
                             inv.Items.First().ERP_WH = WarehouseCode;
                             inv.Items.First().AUTH_ORG = input.AuthOption.CurOrg;
 
-                            inv.Packages.First().QTY = inv.Barcode.Qty.ToDecimal();
+                            inv.Packages.First().QTY = inv.Barcode.Qty.ToDouble();
                             inv.Packages.First().ERP_WH = WarehouseCode;
                             inv.Packages.First().AUTH_ORG = input.AuthOption.CurOrg;
                         }
@@ -185,13 +185,13 @@
                         {
                             foreach (var item in inv.Items)
                             {
-                                //item.QTY = inv.Barcode.Qty.ToDecimal();
+                                //item.QTY = inv.Barcode.Qty.ToDouble();
                                 item.ERP_WH = WarehouseCode;
                                 item.AUTH_ORG = input.AuthOption.CurOrg;
                             }
                             foreach (var item in inv.Packages)
                             {
-                                //item.QTY = inv.Barcode.Qty.ToDecimal();
+                                //item.QTY = inv.Barcode.Qty.ToDouble();
                                 item.ERP_WH = WarehouseCode;
                                 item.AUTH_ORG = input.AuthOption.CurOrg;
                             }
diff --git a/Tiger.Business.WMS/Transaction/Old/OutOther.cs b/Tiger.Business.WMS/Transaction/Old/OutOther.cs
index e2ea672..430437a 100644
--- a/Tiger.Business.WMS/Transaction/Old/OutOther.cs
+++ b/Tiger.Business.WMS/Transaction/Old/OutOther.cs
@@ -41,7 +41,7 @@
         public BIZ_ERP_OTH_OUT req { get; set; }
         public bool isExceed { get; set; }
         public bool isCutting { get; set; }
-        public decimal cutQty { get; set; }
+        public double cutQty { get; set; }
         public string QrCode { get; set; }
         public List<BIZ_ERP_OTH_OUT_DTL> dtls { get; set; } = new();
         #endregion
@@ -478,7 +478,7 @@
 
                 //3.鏄惁鎴枡锛屼笉鍏佽瓒呭彂鐨勭墿鏂欙紝鎵�鏈夌殑鍗曞埆閮介渶瑕佸仛鎷嗗寘澶勭悊锛岃嚜鍔ㄨ皟鐢ㄦ媶鍖咃紝鍏佽瓒呭彂鐨勭墿鏂欙紝鍗曞埆5408鎴栬��5409鐨勮鎷嗗寘
                 isCutting = false;
-                decimal curQty = CurInv.CurPkg.QTY;
+                double curQty = CurInv.CurPkg.QTY;
                 foreach (var d in dtls)
                 {
                     var actPrQty = d.PRQTY - d.QTY;
diff --git a/Tiger.Business.WMS/Transaction/Old/OutSale.cs b/Tiger.Business.WMS/Transaction/Old/OutSale.cs
index 032c153..c4fd9b0 100644
--- a/Tiger.Business.WMS/Transaction/Old/OutSale.cs
+++ b/Tiger.Business.WMS/Transaction/Old/OutSale.cs
@@ -39,7 +39,7 @@
         public BIZ_ERP_SALE_OUT req { get; set; }
         public bool isExceed { get; set; }
         public bool isCutting { get; set; }
-        public decimal cutQty { get; set; }
+        public double cutQty { get; set; }
         #endregion
 
         #region Functions
@@ -401,7 +401,7 @@
 
                 //3.鏄惁鎴枡锛屼笉鍏佽瓒呭彂鐨勭墿鏂欙紝鎵�鏈夌殑鍗曞埆閮介渶瑕佸仛鎷嗗寘澶勭悊锛岃嚜鍔ㄨ皟鐢ㄦ媶鍖咃紝鍏佽瓒呭彂鐨勭墿鏂欙紝鍗曞埆5408鎴栬��5409鐨勮鎷嗗寘
                 isCutting = false;
-                decimal curQty = CurInv.CurPkg.QTY;
+                double curQty = CurInv.CurPkg.QTY;
                 foreach (var d in dtls)
                 {
                     var actPrQty = d.PRQTY - d.QTY;
diff --git a/Tiger.Business.WMS/Transaction/Old/OutTransfer.cs b/Tiger.Business.WMS/Transaction/Old/OutTransfer.cs
index de4e63a..dbd6da8 100644
--- a/Tiger.Business.WMS/Transaction/Old/OutTransfer.cs
+++ b/Tiger.Business.WMS/Transaction/Old/OutTransfer.cs
@@ -45,7 +45,7 @@
         public ProductionPickToMes toMes { get; set; }
         public bool his_isComplete { get; set; }
         public bool isManual { get; set; }
-        public decimal cutQty { get; set; }
+        public double cutQty { get; set; }
 
         #endregion Propertys & Variables
 
@@ -408,7 +408,7 @@
 
                 //3.鏄惁鎴枡锛屼笉鍏佽瓒呭彂鐨勭墿鏂欙紝鎵�鏈夌殑鍗曞埆閮介渶瑕佸仛鎷嗗寘澶勭悊锛岃嚜鍔ㄨ皟鐢ㄦ媶鍖咃紝鍏佽瓒呭彂鐨勭墿鏂欙紝鍗曞埆5408鎴栬��5409鐨勮鎷嗗寘
                 isCutting = false;
-                decimal curQty = CurInv.CurPkg.QTY;
+                double curQty = CurInv.CurPkg.QTY;
                 foreach (var d in dtls)
                 {
                     var actPrQty = d.PRQTY - d.OUTQTY;
diff --git a/Tiger.Business.WMS/Transaction/Old/OutWorkOrder.cs b/Tiger.Business.WMS/Transaction/Old/OutWorkOrder.cs
index 1dd7340..eab15ef 100644
--- a/Tiger.Business.WMS/Transaction/Old/OutWorkOrder.cs
+++ b/Tiger.Business.WMS/Transaction/Old/OutWorkOrder.cs
@@ -49,8 +49,8 @@
         public bool his_isComplete { get; set; }
         public bool isCutting { get; set; }
         public string ScanAfCut { get; set; }
-        public decimal cutQty { get; set; }
-        public decimal remainQty { get; set; }
+        public double cutQty { get; set; }
+        public double remainQty { get; set; }
         public string QrCode { get; set; }
 
         public BIZ_WMS_TRANSFER transferH = null;
@@ -504,7 +504,7 @@
                 transferSn = null;
                 var isFirstDtl = true; 
                 remainQty = 0;
-                decimal curQty = CurInv.CurPkg.QTY;
+                double curQty = CurInv.CurPkg.QTY;
                 foreach (var d in dtls)
                 {
                     var actPrQty = d.PRQTY - d.QTY;
diff --git a/Tiger.Business.WMS/Transaction/Old/ProductionMaterialReq.cs b/Tiger.Business.WMS/Transaction/Old/ProductionMaterialReq.cs
index 6b4e19d..d36bcfd 100644
--- a/Tiger.Business.WMS/Transaction/Old/ProductionMaterialReq.cs
+++ b/Tiger.Business.WMS/Transaction/Old/ProductionMaterialReq.cs
@@ -54,8 +54,8 @@
         public bool his_isComplete { get; set; }
         public bool isCutting { get; set; }
         public string ScanAfCut { get; set; }
-        public decimal cutQty { get; set; }
-        public decimal remainQty { get; set; }
+        public double cutQty { get; set; }
+        public double remainQty { get; set; }
         public string QrCode { get; set; }
 
         public BIZ_WMS_TRANSFER transferH = null;
@@ -623,7 +623,7 @@
                 transferSn = null;
                 var isFirstDtl = true;
                 remainQty = 0;
-                decimal curQty = CurInv.CurPkg.QTY;
+                double curQty = CurInv.CurPkg.QTY;
                 foreach (var d in dtls)
                 {
                     var actPrQty = d.PRQTY - d.QTY;
diff --git a/Tiger.Business.WMS/Transaction/Out_Default.cs b/Tiger.Business.WMS/Transaction/Out_Default.cs
index 1402921..77518d0 100644
--- a/Tiger.Business.WMS/Transaction/Out_Default.cs
+++ b/Tiger.Business.WMS/Transaction/Out_Default.cs
@@ -9,34 +9,23 @@
 using System.Threading.Tasks;
 using Tiger.Model;
 using Tiger.IBusiness;
-using Org.BouncyCastle.Ocsp;
-using Tiger.Model.MES.Yada;
 
 namespace Tiger.Business.WMS.Transaction
 {
     /// <summary>
     /// 鏍囧噯涓嬫灦浜嬪姟
     /// </summary>
-    public class Out_Default : WMSTransactionBase, IOut_Default
+    public class Out_Default : WmsTask, IOut_Default
     {
         public IOut_Default Init(string id, string userCode, string apiHost, string orgCode)
         {
-            TransID = id;
-            UserCode = userCode;
-            ApiHost = apiHost;
-            OrgCode = orgCode;
-           
+            base.Init(id, apiHost, userCode, orgCode);
             Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]");
             return this;
         }
 
         #region Propertys & Variables
-        public string UserCode { get; set; }
-        public long UserId { get; set; }
-        public string OrgCode { get; set; }
-        public Inventory CurInvItem { get; set; }
-        public ScanShelfInfo CurScanShelf { get; set; }
-        public string Command { get; set; } = "Normal";
+
         #endregion
 
         #region Functions
@@ -63,7 +52,7 @@
             catch (Exception ex)
             {
                 //鍙栨秷褰撳墠鎿嶄綔
-                ResetInfo();
+                ResetScan();
                 //action.CatchExceptionWithLog(ex, $"鎵弿[{input.SN}]寮傚父");
                 action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.Scan.ScanException", input.SN));
             }
@@ -127,7 +116,7 @@
                     }
                 }
 
-                Dictionary<string, decimal> downDic = null;
+                Dictionary<string, double> downDic = null;
                 //鏇存柊涓嬫灦鍚庣殑鐗╂枡鏁伴噺
                 if (Command == "ComfirmQty")
                 {
@@ -163,15 +152,14 @@
                     item.TRANS_CODE = "Out_Default";
                     item.TRANS_NO = $"Out_Default_{DateTime.Now:yyyyMMdd}";
                 }
-                Result<TakeDownInfo> downResult = WMS_ITEM_Biz.WmsItem.TakeDown(CurInvItem, downDic, input.AuthOption, WMS_ITEM.STATUSs.OffShelf);
+                Result downResult = TakeDown(downDic, input.AuthOption, WMS_ITEM.STATUSs.OffShelf);
                 if (!downResult.IsSuccessed)
                 {
                     action.IsSuccessed = false;
                     action.LocaleMsg = downResult.LocaleMsg;
-                    CurInvItem = null;
+                    ResetScan();
                     return action;
                 }
-                TakeDownInfo downInfo = downResult.Data;
 
                 //鐏伅
                 if (CurInvItem.Shelf.IsLightShelf)
@@ -179,40 +167,12 @@
                     await Share.Shelf.DownSingle(TransID, CurInvItem.Location);
                 }
 
-                //淇濆瓨鏁版嵁搴�
-                var db = Business.Biz.Db;
-                var dbTran = db.UseTran(() =>
-                {
-                    //涓嬫灦
-                    db.Updateable(downInfo.Items, UserCode).ExecuteCommand();
-                    db.Insertable(downInfo.History, UserCode).ExecuteCommand();
-                    db.Updateable(downInfo.Packages, UserCode).ExecuteCommand();
-                });
-                if (!dbTran.IsSuccess)
-                {
-                    Logger.Default.Fatal(dbTran.ErrorException, "Database transaction save exception");
-                    throw dbTran.ErrorException;
-                }
-
-                action.Data.Data = new DefaultScanItemOutput()
-                {
-                    SN = CurInvItem.SN,
-                    ItemCode = CurInvItem.ItemInfo.ITEM_CODE,
-                    MaterialName = CurInvItem.ItemInfo.ITEM_NAME,
-                    Qty = CurInvItem.CurPkg.QTY,
-                    Unit = CurInvItem.CurPkg.UNIT,
-                    regionCode = CurInvItem.Region.REGION_CODE,
-                    locationCode = CurInvItem.Location?.LOCATION_CODE,
-                    DateCode = CurInvItem.Items[0].PROD_DATE,
-                    ScanAfCut = CurInvItem.Warehouse.SCAN_AF_CUT
-                };
-                //action.LocaleMsg = Biz.L($"鎵弿鏉$爜[{0}]浠庡偍浣峓{1}]涓嬫灦鎴愬姛");
-                action.LocaleMsg = Biz.L("WMS.Default.ScanItem.TakeDownSucceeded", CurInvItem.SN, CurInvItem.Location?.LOCATION_CODE);
-                CurInvItem = null;
+                //瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
+                action = DoIfFinish(action, input.Locale);
             }
             catch (Exception ex)
             {
-                ResetInfo();
+                ResetScan();
                 //action.CatchExceptionWithLog(ex, $"鎵弿鏉$爜[{input.SN}]澶嶆牳寮傚父");
                 action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.ScanItem.ScanException", input.SN));
             }
@@ -238,7 +198,7 @@
                 CurScanShelf = new ScanShelfInfo();
 
                 // 鏌ヨ璐ф灦淇℃伅
-                var whUnit = await Biz.Db.Queryable<V_WH_UNIT>().Where(t => t.SHELF_CODE.ToUpper() == Code.ToUpper() && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
+                var whUnit = await MainDB.Queryable<V_WH_UNIT>().Where(t => t.SHELF_CODE.ToUpper() == Code.ToUpper() && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
 
                 // 鎵弿璐ф灦浠g爜锛屼笖涓烘櫤鑳借揣鏋�
                 if (whUnit != null && whUnit.SHELF_TYPE == WMS_SHELF.SHELF_TYPEs.Smart.GetValue())
@@ -253,7 +213,7 @@
                 // 鎵弿搴撲綅浠g爜
                 else
                 {
-                    var nLocation = await Biz.Db.Queryable<V_WH_UNIT>().Where(t => t.LOCATION_CODE.ToUpper() == Code.ToUpper() && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
+                    var nLocation = await MainDB.Queryable<V_WH_UNIT>().Where(t => t.LOCATION_CODE.ToUpper() == Code.ToUpper() && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
                     if (nLocation == null)
                     {
                         action.IsSuccessed = false;
@@ -270,7 +230,7 @@
                     }
                     //if (nLocation.Shelf.IsLightShelf || nLocation.Location.IS_SINGLE == "Y")
                     //{
-                    //    var locationData = Biz.Db.Queryable<WMS_ITEM>().Where(q => q.LOCATION_ID == nLocation.LOCATION_ID && q.AUTH_ORG == OrgCode).First();
+                    //    var locationData = MainDB.Queryable<WMS_ITEM>().Where(q => q.LOCATION_ID == nLocation.LOCATION_ID && q.AUTH_ORG == OrgCode).First();
                     //    if (!locationData.IsNullOrEmpty())
                     //    {
                     //        action.IsSuccessed = false;
@@ -296,10 +256,42 @@
             catch (Exception ex)
             {
                 //鍙栨秷褰撳墠鎿嶄綔
-                ResetInfo();
+                ResetScan();
                 //action.CatchExceptionWithLog(ex, $"鎵弿璐ф灦/鍌ㄤ綅[{0}]寮傚父");
                 action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.ScanShelf.ScanException", Code));
             }
+            return action;
+        }
+
+        /// <summary>
+        /// 瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        public ApiAction<ScanOutput> DoIfFinish(ApiAction<ScanOutput> action, string locale)
+        {
+            //淇濆瓨鏁版嵁搴�
+            SaveCommitListToDB();
+
+            // 杩斿洖鏁版嵁
+            action.Data.Data = new DefaultScanItemOutput()
+            {
+                SN = CurInvItem.SN,
+                ItemCode = CurInvItem.ItemInfo.ITEM_CODE,
+                MaterialName = CurInvItem.ItemInfo.ITEM_NAME,
+                Qty = CurInvItem.CurPkg.QTY,
+                Unit = CurInvItem.CurPkg.UNIT,
+                regionCode = CurInvItem.Region.REGION_CODE,
+                locationCode = CurInvItem.Location?.LOCATION_CODE,
+                DateCode = CurInvItem.Items[0].PROD_DATE,
+                ScanAfCut = CurInvItem.Warehouse.SCAN_AF_CUT
+            };
+
+            //action.LocaleMsg = Biz.L($"鎵弿鏉$爜[{0}]浠庡偍浣峓{1}]涓嬫灦鎴愬姛");
+            action.LocaleMsg = Biz.L("WMS.Default.ScanItem.TakeDownSucceeded", CurInvItem.SN, CurInvItem.Location?.LOCATION_CODE);
+
+            //閲嶇疆宸ュ簭
+            ResetScan();
             return action;
         }
 
@@ -308,9 +300,9 @@
         /// <summary>
         /// 閲嶇疆褰撳墠鎿嶄綔锛屾湁闇�瑕佸垯閲嶅啓姝ゆ柟娉�
         /// </summary>
-        public override void ResetInfo()
+        public override void ResetScan()
         {
-            base.ResetInfo();
+            base.ResetScan();
             Command = null;
             CurInvItem = null;
             CurScanShelf = null;
diff --git a/Tiger.Business.WMS/Transaction/PrintSemiProdLabel.cs b/Tiger.Business.WMS/Transaction/PrintSemiProdLabel.cs
index 23f0ebe..9b74fea 100644
--- a/Tiger.Business.WMS/Transaction/PrintSemiProdLabel.cs
+++ b/Tiger.Business.WMS/Transaction/PrintSemiProdLabel.cs
@@ -72,8 +72,8 @@
                         ItemDesc = item.ItemDescription,
                         SapItemCode = "",
                         WoBatch = item.LotCode,
-                        PackQty = item.PackQty.ToDecimal(),
-                        Qty = item.RcvQtyByWhUOM.ToDecimal(),
+                        PackQty = item.PackQty.ToDouble(),
+                        Qty = item.RcvQtyByWhUOM.ToDouble(),
                         DocNo = item.DocNo,
                         WorkOrder = item.Mo
                     };
diff --git a/Tiger.Business.WMS/Transaction/ReprintLabel.cs b/Tiger.Business.WMS/Transaction/ReprintLabel.cs
index 45eb8c4..143253e 100644
--- a/Tiger.Business.WMS/Transaction/ReprintLabel.cs
+++ b/Tiger.Business.WMS/Transaction/ReprintLabel.cs
@@ -199,7 +199,7 @@
                                 ITEM_CODE = inv.Barcode.ItemCode,
                                 AUTH_ORG = input.AuthOption.CurOrg,
                                 STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(),
-                                QTY = inv.Barcode.Qty.ToDecimal(),
+                                QTY = inv.Barcode.Qty.ToDouble(),
                                 PROD_DATE = inv.Barcode.DateCode.ToDateTime(),
                                 ERP_WH = CurScanShelf.WarehouseCode,
                                 UNIT = inv.Barcode.Unit,
@@ -212,7 +212,7 @@
                                 SN = inv.Barcode.SN,
                                 AUTH_ORG = input.AuthOption.CurOrg,
                                 ITEM_CODE = inv.Barcode.ItemCode,
-                                QTY = inv.Barcode.Qty.ToDecimal(),
+                                QTY = inv.Barcode.Qty.ToDouble(),
                                 ERP_WH = CurScanShelf.WarehouseCode,
                                 UNIT = inv.Barcode.Unit,
                             };
@@ -235,11 +235,11 @@
                         }
                         else if (inv.Items.Count == 1)
                         {
-                            inv.Items.First().QTY = inv.Barcode.Qty.ToDecimal();
+                            inv.Items.First().QTY = inv.Barcode.Qty.ToDouble();
                             inv.Items.First().ERP_WH = CurScanShelf.WarehouseCode;
                             inv.Items.First().AUTH_ORG = input.AuthOption.CurOrg;
 
-                            inv.Packages.First().QTY = inv.Barcode.Qty.ToDecimal();
+                            inv.Packages.First().QTY = inv.Barcode.Qty.ToDouble();
                             inv.Packages.First().ERP_WH = CurScanShelf.WarehouseCode;
                             inv.Packages.First().AUTH_ORG = input.AuthOption.CurOrg;
                         }
diff --git a/Tiger.Business.WMS/Transaction/WMSTransactionBase.cs b/Tiger.Business.WMS/Transaction/WMSTransactionBase.cs
index 186c7ad..92e4fce 100644
--- a/Tiger.Business.WMS/Transaction/WMSTransactionBase.cs
+++ b/Tiger.Business.WMS/Transaction/WMSTransactionBase.cs
@@ -71,7 +71,7 @@
         {
             var action = new ApiAction();
 
-            ResetInfo();
+            ResetScan();
             action.IsSuccessed = true;
             //action.LocaleMsg = new($"鎿嶄綔宸查噸缃紝璇烽噸鏂版壂鎻�");
             action.LocaleMsg = new("WMS.Transaction.Reset");
@@ -81,7 +81,7 @@
         /// <summary>
         /// 閲嶇疆褰撳墠鎿嶄綔锛屾湁闇�瑕佸垯閲嶅啓姝ゆ柟娉�
         /// </summary>
-        public virtual void ResetInfo()
+        public virtual void ResetScan()
         {
             ProcessingSn = null;
         }
diff --git a/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs b/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
new file mode 100644
index 0000000..cf6b9c1
--- /dev/null
+++ b/Tiger.Business.WMS/Transaction/Yada/Count_BIZ_U9_ASN.cs
@@ -0,0 +1,364 @@
+锘縰sing Rhea.Common;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using Tiger.Model;
+using Tiger.IBusiness;
+using Tiger.Model.Sharetronic.Shelf;
+using Tiger.Business.WMS.Sharetronic.Shelf;
+using Tiger.Model.MES.Yada;
+using static IronPython.SQLite.PythonSQLite;
+
+namespace Tiger.Business.WMS.Transaction
+{
+    /// <summary>
+    /// 閫佽揣鍗�(U9)娓呯偣浜嬪姟
+    /// </summary>
+    public class Count_BIZ_U9_ASN : WmsTask, ICount_BIZ_U9_ASN
+    {
+        public ICount_BIZ_U9_ASN Init(string id, string userCode, string apiHost, string orgCode)
+        {
+            base.Init(id, apiHost, userCode, orgCode);
+            //鍔犺浇宸茬粡娓呯偣鏁版嵁
+            LoadData();
+            Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]");
+            return this;
+        }
+
+        #region Propertys & Variables
+        //private List<WmsOrder<BIZ_U9_ASN>> _OrderList { get; set; } = new();
+        private List<string> OrderList = new();
+        private BIZ_U9_ASN_SN CurSn { get; set; }
+        #endregion
+
+        #region Functions
+        /// <summary>
+        /// 鍒濆鍖栨竻鐐规暟鎹�
+        /// </summary>
+        private void LoadData()
+        {
+            var orders = MainDB.Queryable<BIZ_U9_ASN>().Where(q => ("," + q.RECEIVER + ",").Contains("," + UserCode + ",")).ToList();
+            OrderList = orders.Select(q => q.ORDER_NO).ToList();
+        }
+        /// <summary>
+        /// 鎵弿鍏ュ彛
+        /// </summary>
+        public async Task<ApiAction<ScanOutput>> Scan(BaseInput input)
+        {
+            var action = new ApiAction<ScanOutput>(new ScanOutput());
+            try
+            {
+                if (input.SN.IsNullOrEmpty())
+                {
+                    action.IsSuccessed = false;
+                    //action.LocaleMsg = Biz.L("鏉$爜涓嶈兘涓虹┖");
+                    action.LocaleMsg = Biz.L("WMS.Default.ScanItem.SnEmptyFailure");
+                    return SetOutPutMqttMsg(action, input.Locale);
+                }
+                //鎵弿鐗╂枡骞跺鏍�
+                else //if (Command == "Normal")
+                {
+                    action = await ScanItem(input);
+                }
+            }
+            catch (Exception ex)
+            {
+                //鍙栨秷褰撳墠鎿嶄綔
+                ResetScan();
+                //action.CatchExceptionWithLog(ex, $"鎵弿[{input.SN}]寮傚父");
+                action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.Scan.ScanException", input.SN));
+            }
+            return SetOutPutMqttMsg(action, input.Locale);
+        }
+
+        /// <summary>
+        /// 鎵弿鐗╂枡骞跺鏍�
+        /// </summary>
+        public async Task<ApiAction<ScanOutput>> ScanItem(BaseInput input)
+        {
+            var action = new ApiAction<ScanOutput>(new ScanOutput() { Command = Command });
+            try
+            {
+                if (CurInvItem.IsNullOrEmpty())
+                {
+                    //瑙f瀽鏉$爜
+                    Barcode barcode = new Barcode(input.SN);
+                    if (barcode.IsException)
+                    {
+                        throw barcode.AnalyseException;
+                    }
+                    //闈炴硶鏉$爜
+                    else if (!barcode.IsRegular)
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("鏉$爜涓洪潪娉曟潯鐮�");
+                        action.LocaleMsg = Biz.L("WMS.WmsItem.Barcode.IllegalFailure", input.SN);
+                        return action;
+                    }
+                    CurSn = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.SN == barcode.SN).First();
+
+                    if (CurSn.IsNullOrEmpty())
+	                {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("ASN鍗曚腑涓嶅瓨鍦ㄦ潯鐮乕{0}]");
+                        action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.SnNotExists", input.SN);
+                        return action;
+                    }
+                    if (CurSn.AUTH_ORG != input.AuthOption.CurOrg)
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L($"鏉$爜鎵�灞炵粍缁嘯{0}]涓庡綋鍓嶇櫥褰曠粍缁嘯{1}]涓嶄竴鑷达紝璇烽噸鏂伴�夋嫨缁勭粐");
+                        action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.OrgNotCorrect", CurSn.AUTH_ORG, input.AuthOption.CurOrg);
+                        return action;
+                    }
+                    //楠岃瘉鏉$爜鏄惁姝g‘
+                    if (CurSn.STATUS > WMS_ITEM.STATUSs.Incoming.GetValue())
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("鐘舵�乕{0}]寮傚父锛岃閲嶆柊鎵弿");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.StatusException", CurSn.STATUS.GetEnumDesc<WMS_ITEM.STATUSs>());
+                        return action;
+                    }
+                    CurSn.META_SN = input.SN;
+
+                    Result<IInventory> result = WMS_ITEM_Biz.WmsItem.Get(barcode.SN, input.AuthOption, true);
+                    if (!result.IsSuccessed)
+                    {
+                        action.IsSuccessed = false;
+                        action.LocaleMsg = result.LocaleMsg;
+                        return action;
+                    }
+                    var inv = result.Data as Inventory;
+
+                    //鐗╂枡楠岃瘉
+                    if (inv.ItemInfo.IsNullOrEmpty() || inv.ItemInfo.IS_ACTIVE == "N")
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("鐗╂枡缂栫爜[{0}]涓嶅瓨鍦ㄦ垨鑰呰鐗╂枡鏈惎鐢�");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ItemCodeNotExistsOrNotActive", inv.ItemInfo.ITEM_CODE.IsNullOrEmpty(inv.Barcode.ItemCode));
+                        return action;
+                    }
+
+                    if (inv.Items.Count == 0)
+                    {
+                        List<WMS_ITEM_HIS> ItemHistorys = new List<WMS_ITEM_HIS>();
+                        WMS_ITEM Item;
+                        WMS_ITEM_PKG ItemPkgs;
+
+                        Item = new()
+                        {
+                            SN = inv.Barcode.SN,
+                            ITEM_CODE = inv.Barcode.ItemCode,
+                            AUTH_ORG = input.AuthOption.CurOrg,
+                            STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(),
+                            QTY = inv.Barcode.Qty.ToDouble(),
+                            PROD_DATE = inv.Barcode.DateCode.ToDateTime(),
+                            ERP_WH = CurScanShelf.WarehouseCode,
+                            UNIT = inv.Barcode.Unit,
+                        };
+
+                        WMS_ITEM_HIS his = new(Item, $"閫佽揣鍗�(U9)娓呯偣");
+                        ItemHistorys.Add(his);
+                        ItemPkgs = new()
+                        {
+                            SN = inv.Barcode.SN,
+                            AUTH_ORG = input.AuthOption.CurOrg,
+                            ITEM_CODE = inv.Barcode.ItemCode,
+                            QTY = inv.Barcode.Qty.ToDouble(),
+                            ERP_WH = CurScanShelf.WarehouseCode,
+                            UNIT = inv.Barcode.Unit,
+                        };
+
+                        var noExt = inv.Items.Where(q => !inv.ItemsExt.Any(s => s.SN == q.SN)).ToList();
+                        //鎵╁睍琛ㄤ笉瀛樺湪鏃舵柊寤�
+                        foreach (var item in noExt)
+                        {
+                            inv.ItemsExt.Add(new()
+                            {
+                                SN = item.SN,
+                                META_SN = inv.Barcode.MetaSn,
+                                QR_CODE = inv.Barcode.MetaSn
+                            });
+                        }
+
+                        inv.Items.Add(Item);
+                        inv.History.Add(his);
+                        inv.Packages.Add(ItemPkgs);
+                    }
+                    //闆呰揪涓嶄粠鏉$爜涓婃洿鏂版暟閲�
+                    //else if (inv.Items.Count == 1)
+                    //{
+                    //    inv.Items.First().QTY = inv.Barcode.Qty.ToDouble();
+                    //    inv.Items.First().ERP_WH = CurScanShelf.WarehouseCode;
+                    //    inv.Items.First().AUTH_ORG = input.AuthOption.CurOrg;
+
+                    //    inv.Packages.First().QTY = inv.Barcode.Qty.ToDouble();
+                    //    inv.Packages.First().ERP_WH = CurScanShelf.WarehouseCode;
+                    //    inv.Packages.First().AUTH_ORG = input.AuthOption.CurOrg;
+                    //}
+                    //濡傛灉鎵弿澶栫鐨勪笉鑳芥洿鏂版暟閲�
+                    else
+                    {
+                        foreach (var item in inv.Items)
+                        {
+                            item.ERP_WH = CurScanShelf.WarehouseCode;
+                            item.AUTH_ORG = input.AuthOption.CurOrg;
+                        }
+                        foreach (var item in inv.Packages)
+                        {
+                            item.ERP_WH = CurScanShelf.WarehouseCode;
+                            item.AUTH_ORG = input.AuthOption.CurOrg;
+                        }
+                    }
+                    CurInvItem = inv;
+
+                    //妫�鏌ョ墿鏂欐暟閲忥紝濡傛灉娌℃湁鍒欐煡璇㈤泤杈炬潯鐮佷富妗o紝鎶婃暟閲忚繑鍥炲墠绔‘璁�
+                    if (CurInvItem.Items.Any(q => q.QTY <= 0))
+                    {
+                        var qtyList = Biz.DataSource["YadaU9C"].Client.Queryable<mes_MaterialBarCode>().Where(q => CurInvItem.Items.Select(q => q.SN).Contains(q.Code)).ToList();
+                        foreach (var qty in qtyList)
+                        {
+                            var item = CurInvItem.Items.First(q => q.SN == qty.Code);
+                            item.QTY = qty.WhQty;
+                        }
+                        action.Data.Data = CurInvItem.Items.Select(q => new { q.SN, q.QTY });
+                        action.Data.Command = Command = "ComfirmQty";
+                        //action.LocaleMsg = Biz.L("璇风‘璁ゆ潯鐮乕{0}]鐨勬暟閲忔槸鍚︽纭�");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ComfirmQty", input.SN);
+                        return action;
+                    }
+                }
+
+                //鏇存柊宸茬‘璁ょ墿鏂欐暟閲�
+                if (Command == "ComfirmQty")
+                {
+                    var qtyList = (input.Data ?? "").JsonToObject<List<WMS_ITEM>>() ?? new List<WMS_ITEM>();
+                    if (!qtyList.Any() || qtyList.Any(q => q.QTY <= 0))
+                    {
+                        action.IsSuccessed = false;
+                        action.Data.Data = CurInvItem.Items.Select(q => new { q.SN, q.QTY });
+                        action.Data.Command = Command = "ComfirmQty";
+                        //action.LocaleMsg = Biz.L("鏁伴噺涓嶈兘灏忎簬绛変簬闆讹紝璇烽噸鏂扮‘璁ゆ潯鐮乕{0}]鐨勬暟閲�");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ReComfirmQty", input.SN); 
+                        return action;
+                    } 
+                    else
+                    {
+	                    foreach (var qty in qtyList)
+	                    {
+	                        var item = CurInvItem.Items.First(q => q.SN == qty.SN);
+	                        item.QTY = qty.QTY;
+                            var pkg = CurInvItem.Packages.First(q => q.SN == qty.SN);
+                            pkg.QTY = qty.QTY;
+                        }
+                        CurInvItem.UpdatePkgQty();
+
+                        Command = "Normal";
+                    }
+                }
+
+                //鎵ц娓呯偣鏁版嵁澶勭悊
+                CurSn.STATUS = WMS_ITEM.STATUSs.Counted.GetValue();
+                CurSn.QTY = CurInvItem.Items.Sum(q => q.QTY);
+                foreach (var item in CurInvItem.Items)
+                {
+                    item.STATUS = WMS_ITEM.STATUSs.Counted.GetValue();
+                    item.TRANS_CODE = nameof(BIZ_U9_ASN);
+                    item.TRANS_NO = CurSn.ORDER_NO;
+                    item.TRANS_LINE = CurSn.LINE_NO;
+                    item.AUTH_ORG = CurSn.AUTH_ORG;
+                    CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"鏉$爜[{CurInvItem.SN}]娓呯偣鎴愬姛锛屾搷浣滃崟鎹甗{item.TRANS_NO}]"));
+                }
+
+                //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
+                var _CurSn = CurSn.Clone();
+                var _Items = CurInvItem.Items.Clone();
+                var _Packages = CurInvItem.Packages.Clone();
+                var _History = CurInvItem.History.Clone();
+                AddCommitAction("Counted", () =>
+                {
+                    //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄
+                    var db = GetCommitDB();
+                    //鏁版嵁淇濆瓨閫昏緫
+                    var t = db.Storageable(_Items, UserCode).ToStorage();
+                    t.AsInsertable.ExecuteCommand();
+                    t.AsUpdateable.UpdateColumns(q => new { q.STATUS, q.TRANS_CODE, q.TRANS_NO, q.TRANS_LINE, q.AUTH_ORG, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand();
+                    db.Storageable(_Packages, UserCode).ToStorage().AsInsertable.ExecuteCommand();
+                    db.Insertable(_History, UserCode).ExecuteCommand();
+                    db.Storageable(_CurSn, UserCode).ExecuteCommand();
+                });
+
+
+                //瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
+                action = DoIfFinish(action, input.Locale);
+            }
+            catch (Exception ex)
+            {
+                //鍙栨秷褰撳墠鎿嶄綔
+                ResetScan();
+                //action.CatchExceptionWithLog(ex, $"鎵弿鏉$爜[{input.SN}]澶嶆牳寮傚父");
+                action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.ScanItem.ScanException", input.SN));
+            }
+            return action;
+        }
+
+        /// <summary>
+        /// 瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        public ApiAction<ScanOutput> DoIfFinish(ApiAction<ScanOutput> action, string locale)
+        {
+            //淇濆瓨鏁版嵁搴�
+            SaveCommitListToDB();
+
+            // 杩斿洖鏁版嵁
+            action.Data.Data = new DefaultInStoreOutput
+            {
+                Barcode = CurInvItem.SN,
+                MaterialCode = CurInvItem.ItemInfo.ITEM_CODE,
+                MaterialName = CurInvItem.ItemInfo.ITEM_NAME,
+                CurrentQty = CurInvItem.Items[0].QTY,
+                Unit = CurInvItem.Items[0].UNIT,
+                DateCode = CurInvItem.Items[0].PROD_DATE,
+                WarehouseCode = CurInvItem.Warehouse.WH_CODE,
+                RegionCode = CurInvItem.Region.REGION_CODE,
+                ShelfCode = CurInvItem.Shelf.SHELF_CODE,
+                LocationCode = CurInvItem.Location.LOCATION_CODE,
+            };
+
+            //action.LocaleMsg = Biz.L($"鎵弿鏉$爜[{0}]涓婃灦鍒板偍浣峓{1}]鎴愬姛");
+            action.LocaleMsg = Biz.L("WMS.Default.ScanItem.PutOnSucceeded", CurInvItem.SN, CurInvItem.Location.LOCATION_CODE);
+
+            //閲嶇疆宸ュ簭
+            ResetScan();
+            return action;
+        }
+
+        #endregion
+
+        /// <summary>
+        /// 閲嶇疆褰撳墠鎿嶄綔锛屾湁闇�瑕佸垯閲嶅啓姝ゆ柟娉�
+        /// </summary>
+        public override void ResetScan()
+        {
+            base.ResetScan();
+            Command = null;
+            CurInvItem = null;
+            CurScanShelf = null;
+            CurSn = null;
+        }
+
+        public override bool Close(bool needSaveHistoryLog = false)
+        {
+            this.IsFinished = true;
+            return IsFinished ? base.Close(needSaveHistoryLog) : IsFinished;
+        }
+
+    }//endClass
+}
diff --git a/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_ASN.cs b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_ASN.cs
new file mode 100644
index 0000000..71659e3
--- /dev/null
+++ b/Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_ASN.cs
@@ -0,0 +1,454 @@
+锘縰sing Rhea.Common;
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Expressions;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using Tiger.Model;
+using Tiger.IBusiness;
+using Tiger.Model.Sharetronic.Shelf;
+using Tiger.Business.WMS.Sharetronic.Shelf;
+//using Microsoft.IdentityModel.Tokens;
+using Tiger.Model.MES.Yada;
+
+namespace Tiger.Business.WMS.Transaction
+{
+    /// <summary>
+    /// 閫佽揣鍗�(U9)涓婃灦浜嬪姟
+    /// </summary>
+    public class In_BIZ_U9_ASN : WmsTask, IIn_BIZ_U9_ASN
+    {
+        public IIn_BIZ_U9_ASN Init(string id, string userCode, string apiHost, string orgCode)
+        {
+            base.Init(id, apiHost, userCode, orgCode);
+            Logger.Console.Info($"Start {this.GetType().Name} Transaction[ID: {TransID}]");
+            return this;
+        }
+
+        #region Propertys & Variables
+        
+        #endregion
+
+        #region Functions
+        /// <summary>
+        /// 鎵弿鍏ュ彛
+        /// </summary>
+        public async Task<ApiAction<ScanOutput>> Scan(BaseInput input)
+        {
+            var action = new ApiAction<ScanOutput>(new ScanOutput());
+            try
+            {
+                if (input.SN.IsNullOrEmpty())
+                {
+                    action.IsSuccessed = false;
+                    //action.LocaleMsg = Biz.L("鏉$爜涓嶈兘涓虹┖");
+                    action.LocaleMsg = Biz.L("WMS.Default.ScanItem.SnEmptyFailure");
+                    return SetOutPutMqttMsg(action, input.Locale);
+                }
+                //鍒ゆ柇鎵弿鐨勬槸鍚﹁揣鏋�
+                var whUnit = await MainDB.Queryable<V_WH_UNIT>().Where(t => (t.SHELF_CODE.ToUpper() == input.SN || t.LOCATION_CODE.ToUpper() == input.SN) && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
+                //if (string.IsNullOrEmpty(CurScanShelf?.ShelfCode))
+                if (!whUnit.IsNullOrEmpty() || string.IsNullOrEmpty(CurScanShelf?.ShelfCode))
+                {
+                    action = await ScanShelf(input.SN, whUnit);
+                }
+                else//鎵弿鐗╂枡骞跺鏍�
+                {
+                    action = await ScanItem(input);
+                }
+            }
+            catch (Exception ex)
+            {
+                //鍙栨秷褰撳墠鎿嶄綔
+                ResetScan();
+                //action.CatchExceptionWithLog(ex, $"鎵弿[{input.SN}]寮傚父");
+                action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.Scan.ScanException", input.SN));
+            }
+            return SetOutPutMqttMsg(action, input.Locale);
+        }
+
+        /// <summary>
+        /// 鎵弿鐗╂枡骞跺鏍革紝濡傛灉鐗╂枡宸茬粡瀹屾垚绉诲簱鍒欒揣鏋朵笂浜伅鎻愰啋鍌ㄤ綅
+        /// </summary>
+        public async Task<ApiAction<ScanOutput>> ScanItem(BaseInput input)
+        {
+            var action = new ApiAction<ScanOutput>(new ScanOutput() { Command = Command });
+            try
+            {
+                if (CurInvItem.IsNullOrEmpty())
+                {
+                    //瑙f瀽鏉$爜
+                    Result<IInventory> result = WMS_ITEM_Biz.WmsItem.Get(input.SN, input.AuthOption, true);
+	                if (!result.IsSuccessed)
+	                {
+	                    action.IsSuccessed = false;
+	                    action.LocaleMsg = result.LocaleMsg;
+	                    return action;
+	                }
+	                var inv = result.Data as Inventory;
+
+                    //楠岃瘉鏉$爜鏄惁姝g‘
+                    if (new[] { WMS_ITEM.STATUSs.InStore, WMS_ITEM.STATUSs.Loaded, WMS_ITEM.STATUSs.UseUp }.Contains(inv.Status))
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("鐘舵�乕{0}]寮傚父锛岃閲嶆柊鎵弿");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.StatusException", string.Join(',', inv.StatusList.Select(q => q.GetDesc())));
+                        return action;
+                    }
+                    //鐗╂枡楠岃瘉
+                    if (inv.ItemInfo.IsNullOrEmpty() || inv.ItemInfo.IS_ACTIVE == "N")
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("鐗╂枡缂栫爜[{0}]涓嶅瓨鍦ㄦ垨鑰呰鐗╂枡鏈惎鐢�");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ItemCodeNotExistsOrNotActive", inv.ItemInfo.ITEM_CODE.IsNullOrEmpty(inv.Barcode.ItemCode));
+                        return action;
+                    }
+
+                    if (inv.Items.Count == 0)
+                    {
+                        List<WMS_ITEM_HIS> ItemHistorys = new List<WMS_ITEM_HIS>();
+                        WMS_ITEM Item;
+                        WMS_ITEM_PKG ItemPkgs;
+
+                        Item = new()
+                        {
+                            SN = inv.Barcode.SN,
+                            ITEM_CODE = inv.Barcode.ItemCode,
+                            AUTH_ORG = input.AuthOption.CurOrg,
+                            STATUS = WMS_ITEM.STATUSs.WaitIn.GetValue(),
+                            QTY = inv.Barcode.Qty.ToDouble(),
+                            PROD_DATE = inv.Barcode.DateCode.ToDateTime(),
+                            ERP_WH = CurScanShelf.WarehouseCode,
+                            UNIT = inv.Barcode.Unit,
+                        };
+
+                        WMS_ITEM_HIS his = new(Item, $"鏍囧噯涓婃灦鍏ュ簱");
+                        ItemHistorys.Add(his);
+                        ItemPkgs = new()
+                        {
+                            SN = inv.Barcode.SN,
+                            AUTH_ORG = input.AuthOption.CurOrg,
+                            ITEM_CODE = inv.Barcode.ItemCode,
+                            QTY = inv.Barcode.Qty.ToDouble(),
+                            ERP_WH = CurScanShelf.WarehouseCode,
+                            UNIT = inv.Barcode.Unit,
+                        };
+
+                        var noExt = inv.Items.Where(q => !inv.ItemsExt.Any(s => s.SN == q.SN)).ToList();
+                        //鎵╁睍琛ㄤ笉瀛樺湪鏃舵柊寤�
+                        foreach (var item in noExt)
+                        {
+                            inv.ItemsExt.Add(new()
+                            {
+                                SN = item.SN,
+                                META_SN = inv.Barcode.MetaSn,
+                                QR_CODE = inv.Barcode.MetaSn
+                            });
+                        }
+
+                        inv.Items.Add(Item);
+                        inv.History.Add(his);
+                        inv.Packages.Add(ItemPkgs);
+                    }
+                    //闆呰揪涓嶄粠鏉$爜涓婃洿鏂版暟閲�
+                    //else if (inv.Items.Count == 1)
+                    //{
+                    //    inv.Items.First().QTY = inv.Barcode.Qty.ToDouble();
+                    //    inv.Items.First().ERP_WH = CurScanShelf.WarehouseCode;
+                    //    inv.Items.First().AUTH_ORG = input.AuthOption.CurOrg;
+
+                    //    inv.Packages.First().QTY = inv.Barcode.Qty.ToDouble();
+                    //    inv.Packages.First().ERP_WH = CurScanShelf.WarehouseCode;
+                    //    inv.Packages.First().AUTH_ORG = input.AuthOption.CurOrg;
+                    //}
+                    //濡傛灉鎵弿澶栫鐨勪笉鑳芥洿鏂版暟閲�
+                    else
+                    {
+                        foreach (var item in inv.Items)
+                        {
+                            item.ERP_WH = CurScanShelf.WarehouseCode;
+                            item.AUTH_ORG = input.AuthOption.CurOrg;
+                        }
+                        foreach (var item in inv.Packages)
+                        {
+                            item.ERP_WH = CurScanShelf.WarehouseCode;
+                            item.AUTH_ORG = input.AuthOption.CurOrg;
+                        }
+                    }
+                    CurInvItem = inv;
+
+                    //妫�鏌ョ墿鏂欐暟閲忥紝濡傛灉娌℃湁鍒欐煡璇㈤泤杈炬潯鐮佷富妗o紝鎶婃暟閲忚繑鍥炲墠绔‘璁�
+                    if (CurInvItem.Items.Any(q => q.QTY <= 0))
+                    {
+                        var qtyList = Biz.DataSource["YadaU9C"].Client.Queryable<mes_MaterialBarCode>().Where(q => CurInvItem.Items.Select(q => q.SN).Contains(q.Code)).ToList();
+                        foreach (var qty in qtyList)
+                        {
+                            var item = CurInvItem.Items.First(q => q.SN == qty.Code);
+                            item.QTY = qty.WhQty;
+                        }
+                        action.Data.Data = CurInvItem.Items.Select(q => new { q.SN, q.QTY });
+                        action.Data.Command = Command = "ComfirmQty";
+                        //action.LocaleMsg = Biz.L("璇风‘璁ゆ潯鐮乕{0}]鐨勬暟閲忔槸鍚︽纭�");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ComfirmQty", input.SN);
+                        return action;
+                    }
+                }
+
+                //鏇存柊宸茬‘璁ょ墿鏂欐暟閲�
+                if (Command == "ComfirmQty")
+                {
+                    var qtyList = (input.Data ?? "").JsonToObject<List<WMS_ITEM>>() ?? new List<WMS_ITEM>();
+                    if (!qtyList.Any() || qtyList.Any(q => q.QTY <= 0))
+                    {
+                        action.IsSuccessed = false;
+                        action.Data.Data = CurInvItem.Items.Select(q => new { q.SN, q.QTY });
+                        action.Data.Command = Command = "ComfirmQty";
+                        //action.LocaleMsg = Biz.L("鏁伴噺涓嶈兘灏忎簬绛変簬闆讹紝璇烽噸鏂扮‘璁ゆ潯鐮乕{0}]鐨勬暟閲�");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.ReComfirmQty", input.SN); 
+                        return action;
+                    } 
+                    else
+                    {
+	                    foreach (var qty in qtyList)
+	                    {
+	                        var item = CurInvItem.Items.First(q => q.SN == qty.SN);
+	                        item.QTY = qty.QTY;
+                            var pkg = CurInvItem.Packages.First(q => q.SN == qty.SN);
+                            pkg.QTY = qty.QTY;
+                        }
+                        CurInvItem.UpdatePkgQty();
+
+                        Command = "Normal";
+                    }
+                }
+
+                var nLocation = new WMS_LOCATION();
+                // 鍒ゆ柇鏄惁鏅鸿兘璐ф灦
+                if (CurScanShelf.Shelf.IsLightShelf)
+                {
+                    ShelfApiResult shelfApiResult = await Share.Shelf.PutOn(TransID, CurScanShelf.Shelf, CurInvItem.Items[0]);
+                    if (!shelfApiResult.IsSuccess)
+                    {
+                        action.IsSuccessed = false;
+                        action.LocaleMsg = Biz.L(shelfApiResult.GetData<string>());
+                        return action;
+                    }
+                    var reaultShelf = shelfApiResult.GetData<ShelfChangeModel>();
+
+                    nLocation = reaultShelf.GetLocation();
+                    if (nLocation == null)
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L($"璐ф灦[{0}]涓笉瀛樺湪id涓篬{1}]鐨勫偍浣嶏紝璇峰厛缁存姢璐ф灦淇℃伅");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanItem.LocationNotExistsInShelf", CurScanShelf.Shelf.SHELF_CODE, reaultShelf.ledAddr);
+                        return action;
+                    }
+                    var locationData = MainDB.Queryable<WMS_ITEM>().Where(q => q.LOCATION_ID == nLocation.ID).First();
+                    if (!locationData.IsNullOrEmpty())
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("鍌ㄤ綅[{0}]宸插瓨鏈夌墿鏂橻{1}]锛岃妫�鏌ョ郴缁熷簱瀛樹俊鎭�");
+                        action.LocaleMsg = Biz.L($"WMS.Default.ScanShelf.ItemAlreadyExistsInLocation", nLocation.LOCATION_CODE, locationData.SN);
+                        return action;
+                    }
+                    CurScanShelf.LocationCode = nLocation.LOCATION_CODE;
+                }
+                else
+                {
+                    if (CurScanShelf.LocationCode.IsNullOrEmpty() || CurScanShelf.WarehouseCode.IsNullOrEmpty())
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("璇疯緭鍏ユ垨鎵弿鏈夋晥鐨勮揣鏋�/鍌ㄤ綅鐮�");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanShelf.ShelfCanNotEmpty");
+                        return action;
+                    }
+
+                    nLocation = await MainDB.Queryable<WMS_LOCATION>().Where(t => t.LOCATION_CODE == CurScanShelf.LocationCode && t.AUTH_ORG == OrgCode).FirstAsync();
+                }
+
+                //鍒ゆ柇鍌ㄤ綅鏄惁鍗曟斁
+                if (nLocation.IS_SINGLE == "Y" && CurInvItem.Items.Count > 1)
+                {
+                    action.IsSuccessed = false;
+                    //action.LocaleMsg = Biz.L("鍌ㄤ綅[{0}]鍙兘瀛樻斁涓�涓墿鏂�");
+                    action.LocaleMsg = Biz.L("WMS.Default.ScanItem.LocationSingleFailure", nLocation.LOCATION_CODE);
+                    ResetScan();
+                    return action;
+                }
+
+                //鎵ц涓婃灦鏁版嵁澶勭悊
+                foreach (var item in CurInvItem.Items)
+                {
+                    item.TRANS_CODE = "In_Default";
+                    item.TRANS_NO = $"In_Default_{DateTime.Now:yyyyMMdd}";
+                }
+                Result putonResult = PutOn(input.AuthOption, nLocation.LOCATION_CODE);
+                if (!putonResult.IsSuccessed)
+                {
+                    action.IsSuccessed = false;
+                    action.LocaleMsg = putonResult.LocaleMsg;
+                    ResetScan();
+                    return action;
+                }
+
+                //瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
+                action = DoIfFinish(action, input.Locale);
+            }
+            catch (Exception ex)
+            {
+                //鍙栨秷褰撳墠鎿嶄綔
+                ResetScan();
+                //action.CatchExceptionWithLog(ex, $"鎵弿鏉$爜[{input.SN}]澶嶆牳寮傚父");
+                action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.ScanItem.ScanException", input.SN));
+            }
+            return action;
+        }
+
+        /// <summary>
+        /// 鎵弿璐ф灦鎴栬�呭偍浣�
+        /// </summary>
+        public async Task<ApiAction<ScanOutput>> ScanShelf(string Code, V_WH_UNIT whUnit)
+        {
+            var action = new ApiAction<ScanOutput>(new ScanOutput() { Command = Command });
+            try
+            {
+                if (Code.IsNullOrEmpty())
+                {
+                    action.IsSuccessed = false;
+                    //action.LocaleMsg = Biz.L("璇疯緭鍏ユ垨鎵弿鏈夋晥鐨勮揣鏋�/鍌ㄤ綅鐮�");
+                    action.LocaleMsg = Biz.L("WMS.Default.ScanShelf.ShelfCanNotEmpty");
+                    return action;
+                }
+
+                CurScanShelf = new ScanShelfInfo();
+
+                // 鏌ヨ璐ф灦淇℃伅
+                whUnit = whUnit.IsNullOrEmpty(await MainDB.Queryable<V_WH_UNIT>().Where(t => (t.SHELF_CODE.ToUpper() == Code || t.LOCATION_CODE.ToUpper() == Code) && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync());
+
+                // 鎵弿璐ф灦浠g爜锛屼笖涓烘櫤鑳借揣鏋�
+                if (!whUnit.IsNullOrEmpty() && whUnit.SHELF_CODE  == Code)
+                {
+                    CurScanShelf.Shelf = whUnit.Shelf;
+                    CurScanShelf.WarehouseCode = whUnit.WH_CODE;
+                    CurScanShelf.RegionCode = whUnit.REGION_CODE;
+                    CurScanShelf.ShelfCode = whUnit.SHELF_CODE;
+                    CurScanShelf.ShelfType = whUnit.SHELF_TYPE;
+                    CurScanShelf.IsSmartRack = true;
+                }
+                // 鎵弿搴撲綅浠g爜
+                else if (!whUnit.IsNullOrEmpty() && whUnit.LOCATION_CODE == Code)
+                {
+                    //var nLocation = await MainDB.Queryable<V_WH_UNIT>().Where(t => t.LOCATION_CODE.ToUpper() == Code.ToUpper() && t.AUTH_ORG == OrgCode).IncludesAllFirstLayer().FirstAsync();
+                    //if (nLocation == null)
+                    //{
+                    //    action.IsSuccessed = false;
+                    //    //action.LocaleMsg = Biz.L("鍌ㄤ綅[{0}]涓嶅瓨鍦�");
+                    //    action.LocaleMsg = Biz.L("WMS.Default.ScanShelf.LocationNotExist", Code);
+                    //    return action;
+                    //}
+                    if (whUnit.IS_ACTIVE == "N")
+                    {
+                        action.IsSuccessed = false;
+                        //action.LocaleMsg = Biz.L("鎵弿鐨勫偍浣峓{0}]鏈惎鐢�");
+                        action.LocaleMsg = Biz.L("WMS.Default.ScanShelf.ShelfOrLocationDisabled", Code);
+                        return action;
+                    }
+                    if (whUnit.Shelf.IsLightShelf || whUnit.Location.IS_SINGLE == "Y")
+                    {
+                        var locationData = MainDB.Queryable<WMS_ITEM>().Where(q => q.LOCATION_ID == whUnit.LOCATION_ID && q.AUTH_ORG == OrgCode).First();
+                        if (!locationData.IsNullOrEmpty())
+                        {
+                            action.IsSuccessed = false;
+                            //action.LocaleMsg = Biz.L("鍌ㄤ綅[{0}]宸插瓨鏈夌墿鏂橻{1}]锛岃妫�鏌ョ郴缁熷簱瀛樹俊鎭�");
+                            action.LocaleMsg = Biz.L($"WMS.Default.ScanShelf.ItemAlreadyExistsInLocation", Code, locationData.SN);
+                            return action;
+                        }
+                    }
+                    CurScanShelf.Shelf = whUnit.Shelf;
+                    CurScanShelf.Location = whUnit.Location;
+                    CurScanShelf.WarehouseCode = whUnit.WH_CODE;
+                    CurScanShelf.RegionCode = whUnit.REGION_CODE;
+                    CurScanShelf.ShelfCode = whUnit .SHELF_CODE;
+                    CurScanShelf.LocationCode = whUnit.LOCATION_CODE;
+                    CurScanShelf.IsSmartRack = false;
+                }
+                else
+                {
+                    action.IsSuccessed = false;
+                    //action.LocaleMsg = Biz.L("璇疯緭鍏ユ垨鎵弿鏈夋晥鐨勮揣鏋�/鍌ㄤ綅鐮�");
+                    action.LocaleMsg = Biz.L("WMS.Default.ScanShelf.ShelfCanNotEmpty");
+                    return action;
+                }
+
+                CurScanShelf.IsScanShelf = true;
+                //action.LocaleMsg = Biz.L("鎵弿璐ф灦/鍌ㄤ綅[{0}]鎴愬姛");
+                action.LocaleMsg = Biz.L("WMS.Default.ScanShelf.ScanSucceeded", Code);
+                action.Data.Data = CurScanShelf;
+            }
+            catch (Exception ex)
+            {
+                //鍙栨秷褰撳墠鎿嶄綔
+                ResetScan();
+                //action.CatchExceptionWithLog(ex, $"鎵弿璐ф灦/鍌ㄤ綅[{0}]寮傚父");
+                action.CatchExceptionWithLog(ex, Biz.L("WMS.Default.ScanShelf.ScanException", Code));
+            }
+            return action;
+        }
+
+        /// <summary>
+        /// 瀹屾垚鎵�鏈夊鐞嗗悗浣跨敤浜嬪姟淇濆瓨鏁版嵁
+        /// </summary>
+        /// <param name="action"></param>
+        /// <returns></returns>
+        public ApiAction<ScanOutput> DoIfFinish(ApiAction<ScanOutput> action, string locale)
+        {
+            //淇濆瓨鏁版嵁搴�
+            SaveCommitListToDB();
+
+            // 杩斿洖鏁版嵁
+            action.Data.Data = new DefaultInStoreOutput
+            {
+                Barcode = CurInvItem.SN,
+                MaterialCode = CurInvItem.ItemInfo.ITEM_CODE,
+                MaterialName = CurInvItem.ItemInfo.ITEM_NAME,
+                CurrentQty = CurInvItem.Items[0].QTY,
+                Unit = CurInvItem.Items[0].UNIT,
+                DateCode = CurInvItem.Items[0].PROD_DATE,
+                WarehouseCode = CurInvItem.Warehouse.WH_CODE,
+                RegionCode = CurInvItem.Region.REGION_CODE,
+                ShelfCode = CurInvItem.Shelf.SHELF_CODE,
+                LocationCode = CurInvItem.Location.LOCATION_CODE,
+            };
+
+            //action.LocaleMsg = Biz.L($"鎵弿鏉$爜[{0}]涓婃灦鍒板偍浣峓{1}]鎴愬姛");
+            action.LocaleMsg = Biz.L("WMS.Default.ScanItem.PutOnSucceeded", CurInvItem.SN, CurInvItem.Location.LOCATION_CODE);
+
+            //閲嶇疆宸ュ簭
+            ResetScan();
+            return action;
+        }
+
+        #endregion
+
+        /// <summary>
+        /// 閲嶇疆褰撳墠鎿嶄綔锛屾湁闇�瑕佸垯閲嶅啓姝ゆ柟娉�
+        /// </summary>
+        public override void ResetScan()
+        {
+            base.ResetScan();
+            Command = null;
+            CurInvItem = null;
+            CurScanShelf = null;
+        }
+
+        public override bool Close(bool needSaveHistoryLog = false)
+        {
+            this.IsFinished = true;
+            return IsFinished ? base.Close(needSaveHistoryLog) : IsFinished;
+        }
+
+    }//endClass
+}
diff --git a/Tiger.Business.WMS/WMS_ITEM_Biz.cs b/Tiger.Business.WMS/WMS_ITEM_Biz.cs
index db4265f..ea6dae1 100644
--- a/Tiger.Business.WMS/WMS_ITEM_Biz.cs
+++ b/Tiger.Business.WMS/WMS_ITEM_Biz.cs
@@ -367,7 +367,7 @@
             /// <param name="status">涓嬫灦鍚庣姸鎬�</param>
             /// <param name="clearLocation">鏄惁娓呯悊鍌ㄥ尯璐ф灦鍌ㄤ綅淇℃伅</param>
             /// <returns></returns>
-            public Result<TakeDownInfo> TakeDown(IInventory inventory, Dictionary<string, decimal> qtyList, AuthOption option, WMS_ITEM.STATUSs status, bool clearLocation = true)
+            public Result<TakeDownInfo> TakeDown(IInventory inventory, Dictionary<string, double> qtyList, AuthOption option, WMS_ITEM.STATUSs status, bool clearLocation = true)
             {
                 var result = new Result<TakeDownInfo>(Result.Flags.Success, new TakeDownInfo());
                 try
@@ -519,13 +519,13 @@
             /// <param name="option">鎺堟潈鏌ヨ閫夐」</param>
             /// <param name="reqQty">闇�姹傛暟閲忥紝浼氳繑鍥炴弧瓒抽渶姹傜殑鐗╂枡涓暟</param>
             /// <returns></returns>
-            public Result<List<SuggestItem>> Suggest(string order, string itemCode, string erpWH, string whID, string regionID, string shelfID, AuthOption option, decimal reqQty)
+            public Result<List<SuggestItem>> Suggest(string order, string itemCode, string erpWH, string whID, string regionID, string shelfID, AuthOption option, double reqQty)
             {
                 var result = new Result<List<SuggestItem>>(Result.Flags.Success, new List<SuggestItem>()) { LocaleMsg = new("WMS.WmsItem.Suggest.Success") };
                 try
                 {
                     var takeCount = 0;
-                    var checkSum = (decimal)0;
+                    var checkSum = 0.0;
                     var checkCount = 0;
                     do
                     {
@@ -626,7 +626,7 @@
                                                     Location = l,
                                                 })
                                                 .Take(takeCount).ToList();
-                    var curQty = (decimal)0;
+                    var curQty = 0.0;
                     foreach (var item in items)
                     {
                         result.Data.Add(item);
@@ -737,7 +737,7 @@
         /// <param name="transLine"></param>
         /// <param name="actQty"></param>
         /// <param name="isFirst"></param>
-        public static WMS_ITEM_POOL GetPoolItem(this WMS_ITEM item, string orgCode, string transCode, string transNo, string transLine, decimal actQty, bool isFirst)
+        public static WMS_ITEM_POOL GetPoolItem(this WMS_ITEM item, string orgCode, string transCode, string transNo, string transLine, double actQty, bool isFirst)
         {
             var poolItem = new WMS_ITEM_POOL()
             {
diff --git a/Tiger.Business.WMS/iSRM/SrmDataToSiHua.cs b/Tiger.Business.WMS/iSRM/SrmDataToSiHua.cs
index 8f022fc..6564401 100644
--- a/Tiger.Business.WMS/iSRM/SrmDataToSiHua.cs
+++ b/Tiger.Business.WMS/iSRM/SrmDataToSiHua.cs
@@ -24,18 +24,6 @@
             try
             {
                 DbClient db = Biz.DataSource["WMS57"].Client;
-                //switch (param.company)
-                //{
-                //    case "XCSJ":
-                //        db = Biz.DataSource["Main"].Client;
-                //        break;
-                //    case "DGXC":
-                //        db = Biz.DataSource["DGXC"].Client;
-                //        break;
-                //    case "AHXC":
-                //        db = Biz.DataSource["AHXC"].Client;
-                //        break;
-                //}
                 var dlvyList = await db.Queryable<BIZ_SRM_DLVY>().ByAuth(new AuthOption() { ByOrg = true,CurOrg = param.company, OrgCode = param.company,UserId="admin" }).IncludesAllFirstLayer()
                     .WhereIF(!string.IsNullOrEmpty(param.startDate), t => t.CREATE_TIME >= Convert.ToDateTime(param.startDate))
                     .WhereIF(!string.IsNullOrEmpty(param.endDate), t => t.CREATE_TIME < Convert.ToDateTime(param.endDate)).ToListAsync();
diff --git a/Tiger.Business.WMS/iSRM/SrmToWms.cs b/Tiger.Business.WMS/iSRM/SrmToWms.cs
index 315ff3b..0c65b3b 100644
--- a/Tiger.Business.WMS/iSRM/SrmToWms.cs
+++ b/Tiger.Business.WMS/iSRM/SrmToWms.cs
@@ -53,7 +53,7 @@
                         switch (group)
                         {
                             case "XCSJ":
-                                db = Biz.DataSource["Main"].Client;
+                                db = Biz.Db;
                                 break;
 
                             case "DGXC":
@@ -124,7 +124,7 @@
                                         productCode = item.materialNumber,
                                         //productName = item.productName,
                                         //productScale = item.productScale,
-                                        deliveryQty = Convert.ToDecimal(item.deliveryQuantity),
+                                        deliveryQty = Convert.ToDouble(item.deliveryQuantity),
                                         //deliveryUnitCode = item.deliveryUnitCode,
                                         deliveryUnitName = item.purchaseUnit,
                                         //deliveryValuationQty = Convert.ToInt32(item.deliveryValuationQty),
@@ -159,7 +159,7 @@
                                     dlvySn.SOURCETYPE = "SRM";
                                     //dlvySn.ITEM_NAME = item.productName;
                                     //dlvySn.SPECIFICATION = item.productScale;
-                                    dlvySn.IncludeQty = Convert.ToDecimal(item.materialQuantity);
+                                    dlvySn.IncludeQty = Convert.ToDouble(item.materialQuantity);
                                     dlvySn.SmallBarcode = item.packetBarcodeNumber;
                                     dlvySn.BigBarcode = item.mediumBarcodeNumber;
                                     dlvySn.OuterBarcode = item.cartonBarcodeNumber;
@@ -301,7 +301,7 @@
                             dtl.ITEM_CODE = item.materialNumber;
                             //productName = item.productName,
                             //productScale = item.productScale,
-                            dtl.QTY = Convert.ToDecimal(item.deliveryQuantity);
+                            dtl.QTY = Convert.ToDouble(item.deliveryQuantity);
                             dtl.UNIT = item.purchaseUnit;
                             dtl.PRICE = Convert.ToDouble(item.price);
                             dtl.TAX_PRICE = Convert.ToDouble(item.taxPrice);
@@ -331,7 +331,7 @@
                             dlvySn.DELIVERY_NO = DeliveryNo;
                             //dlvySn.PO_LINE_NO = lineno;
                             dlvySn.ITEM_CODE = item.materialNumber;
-                            dlvySn.QTY = Convert.ToDecimal(item.materialQuantity);
+                            dlvySn.QTY = Convert.ToDouble(item.materialQuantity);
                             dlvySn.SMALL_BARCODE = sn;
                             dlvySn.SMALL_SN = sn;
                             dlvySn.BIG_BARCODE = item.mediumBarcodeNumber;
@@ -621,7 +621,7 @@
                                 dtl.ITEM_CODE = item.materialNumber;
                                 //productName = item.productName,
                                 //productScale = item.productScale,
-                                dtl.QTY = Convert.ToDecimal(item.deliveryQuantity);
+                                dtl.QTY = Convert.ToDouble(item.deliveryQuantity);
                                 dtl.UNIT = item.purchaseUnit;
                                 dtl.PRICE = Convert.ToDouble(item.price);
                                 dtl.TAX_PRICE = Convert.ToDouble(item.taxPrice);
@@ -651,7 +651,7 @@
                                 dlvySn.DELIVERY_NO = DeliveryNo;
                                 //dlvySn.PO_LINE_NO = lineno;
                                 dlvySn.ITEM_CODE = item.materialNumber;
-                                dlvySn.QTY = Convert.ToDecimal(item.materialQuantity);
+                                dlvySn.QTY = Convert.ToDouble(item.materialQuantity);
                                 dlvySn.SMALL_BARCODE = sn;
                                 dlvySn.SMALL_SN = sn;
                                 dlvySn.BIG_BARCODE = item.mediumBarcodeNumber;
diff --git a/Tiger.Business.WMS/iSRM/iSRM.cs b/Tiger.Business.WMS/iSRM/iSRM.cs
index 1f38284..11a3b56 100644
--- a/Tiger.Business.WMS/iSRM/iSRM.cs
+++ b/Tiger.Business.WMS/iSRM/iSRM.cs
@@ -146,9 +146,9 @@
                         asn.CreationTime = DateTime.Now;
                         asn.LastModificationTime = DateTime.Now;
                         asn.updateTime = FromUnixTime(responseJson["data"]["updateTime"]?.ToInt64());
-                        asn.grossWeight = responseJson["data"]["grossWeight"]?.ToDecimal() ?? 0;
-                        asn.netWeight = responseJson["data"]["netWeight"]?.ToDecimal() ?? 0;
-                        asn.totalPackingQty = responseJson["data"]["totalPackingQty"]?.ToDecimal() ?? 0;
+                        asn.grossWeight = responseJson["data"]["grossWeight"]?.ToDouble() ?? 0;
+                        asn.netWeight = responseJson["data"]["netWeight"]?.ToDouble() ?? 0;
+                        asn.totalPackingQty = responseJson["data"]["totalPackingQty"]?.ToDouble() ?? 0;
                         asn.cargoDeliveryTime = FromUnixTime(responseJson["data"]["cargoDeliveryTime"]?.ToInt64());
                         asn.CreationTime = DateTime.Now;
                         dlvy.FLAW = "Y";
@@ -169,10 +169,10 @@
                                 productCode = item["productCode"]?.ToString(),
                                 productName = item["productName"]?.ToString(),
                                 productScale = item["productScale"]?.ToString(),
-                                deliveryQty = item["deliveryQty"]?.ToDecimal() ?? 0,
+                                deliveryQty = item["deliveryQty"]?.ToDouble() ?? 0,
                                 deliveryUnitCode = item["deliveryUnitCode"]?.ToString(),
                                 deliveryUnitName = item["deliveryUnitName"]?.ToString(),
-                                deliveryValuationQty = item["deliveryValuationQty"]?.ToDecimal() ?? 0,
+                                deliveryValuationQty = item["deliveryValuationQty"]?.ToDouble() ?? 0,
                                 price = item["price"]?.ToDouble() ?? double.MinValue,
                                 taxPrice = item["taxPrice"]?.ToDouble() ?? double.MinValue,
                                 status = item["status"]?.ToInt32() ?? 0,
@@ -355,7 +355,7 @@
                         db = Biz.DataSource["Test"].Client;
                         break;
                     case "XCSJ":
-                        db = Biz.DataSource["Main"].Client;
+                        db = Biz.Db;
                         _lastrun = "QqtLastRun";
                         break;
                     case "DGXC":
@@ -447,7 +447,7 @@
                                             productCode = item["materialNumber"]?.ToString(),
                                             //productName = item["productName"]?.ToString(),
                                             //productScale = item["productScale"]?.ToString(),
-                                            deliveryQty = item["deliveryQuantity"]?.ToDecimal() ?? 0,
+                                            deliveryQty = item["deliveryQuantity"]?.ToDouble() ?? 0,
                                             //deliveryUnitCode = item["deliveryUnitCode"]?.ToString(),
                                             deliveryUnitName = item["purchaseUnit"]?.ToString(),
                                             //deliveryValuationQty = item["deliveryValuationQty"]?.ToInt32() ?? 0,
@@ -482,7 +482,7 @@
                                         dlvySn.SOURCETYPE = "SRM";
                                         //dlvySn.ITEM_NAME = item["productName"]?.ToString();
                                         //dlvySn.SPECIFICATION = item["productScale"]?.ToString();
-                                        dlvySn.IncludeQty = item["materialQuantity"]?.ToDecimal() ?? int.MinValue;
+                                        dlvySn.IncludeQty = item["materialQuantity"]?.ToDouble() ?? int.MinValue;
                                         dlvySn.SmallBarcode = item["packetBarcodeNumber"]?.ToString();
                                         dlvySn.BigBarcode = item["mediumBarcodeNumber"]?.ToString();
                                         dlvySn.OuterBarcode = item["cartonBarcodeNumber"]?.ToString();
@@ -666,7 +666,7 @@
                                             ITEM_CODE = item["materialNumber"]?.ToString(),
                                             //productName = item["productName"]?.ToString(),
                                             //productScale = item["productScale"]?.ToString(),
-                                            QTY = item["deliveryQuantity"]?.ToDecimal() ?? 0,
+                                            QTY = item["deliveryQuantity"]?.ToDouble() ?? 0,
                                             //deliveryUnitCode = item["deliveryUnitCode"]?.ToString(),
                                             UNIT = item["purchaseUnit"]?.ToString(),
                                             //deliveryValuationQty = item["deliveryValuationQty"]?.ToInt32() ?? 0,
@@ -700,7 +700,7 @@
                                         //dlvySn.SOURCETYPE = "SRM";
                                         //dlvySn.ITEM_NAME = item["productName"]?.ToString();
                                         //dlvySn.SPECIFICATION = item["productScale"]?.ToString();
-                                        dlvySn.QTY = item["materialQuantity"]?.ToDecimal() ?? int.MinValue;
+                                        dlvySn.QTY = item["materialQuantity"]?.ToDouble() ?? int.MinValue;
                                         dlvySn.SMALL_BARCODE = item["packetBarcodeNumber"]?.ToString();
                                         dlvySn.BIG_BARCODE = item["mediumBarcodeNumber"]?.ToString();
                                         dlvySn.OUTER_BARCODE = item["cartonBarcodeNumber"]?.ToString();
diff --git a/Tiger.Business.WMS/iWMS/ProdMaterialReq.cs b/Tiger.Business.WMS/iWMS/ProdMaterialReq.cs
index 728904a..e0f4c49 100644
--- a/Tiger.Business.WMS/iWMS/ProdMaterialReq.cs
+++ b/Tiger.Business.WMS/iWMS/ProdMaterialReq.cs
@@ -159,7 +159,7 @@
                                 BILLLINE = item.sfdcseq,
                                 UNITCODE = item.sfdc006,
                                 ITEM_CODE = item.sfdc004,
-                                PRQTY = Convert.ToDecimal(item.sfdc007),
+                                PRQTY = Convert.ToDouble(item.sfdc007),
                                 DELIVERYDATE = Convert.ToDateTime(item.sfdareqdt),
                                 WAREHOUSECODE = item.sfdc012,
                                 SOURCETYPE = Convert.ToInt32(item.sfdc003),
@@ -193,13 +193,13 @@
                             prd_d = prd_d ?? new BIZ_ERP_PROD_OUT_DTL()
                             {
                                 LINESTATUS = BIZ_ERP_PROD_OUT.STATUSs.INIT.GetValue(),
-                                QTY = Convert.ToDecimal(0),
+                                QTY = Convert.ToDouble(0),
                             };
                             prd_d.BILLCODE = item_d.BILLCODE;
                             prd_d.BILLLINE = item_d.BILLLINE;
                             prd_d.UNITCODE = item_d.UNITCODE;
                             prd_d.ITEM_CODE = item_d.ITEM_CODE;
-                            prd_d.PRQTY = Convert.ToDecimal(item_d.PRQTY);
+                            prd_d.PRQTY = Convert.ToDouble(item_d.PRQTY);
                             prd_d.DELIVERYDATE = Convert.ToDateTime(item_d.DELIVERYDATE);
                             prd_d.WAREHOUSECODE = item_d.WAREHOUSECODE;
                             prd_d.LINESTATUS = prd_d.PRQTY == prd_d.QTY ? BIZ_ERP_PROD_OUT.STATUSs.COMPLETE.GetValue() : Convert.ToDecimal(item_d.PRQTY) == 0 ? BIZ_ERP_PROD_OUT.STATUSs.COMPLETE.GetValue() : prd_d.LINESTATUS == BIZ_ERP_PROD_OUT.STATUSs.DELETE.GetValue() ? BIZ_ERP_PROD_OUT.STATUSs.INIT.GetValue() : prd_d.LINESTATUS;
diff --git a/Tiger.Business.WMS/iWMS/RePrintBarcode.cs b/Tiger.Business.WMS/iWMS/RePrintBarcode.cs
index 398db1f..c5f345d 100644
--- a/Tiger.Business.WMS/iWMS/RePrintBarcode.cs
+++ b/Tiger.Business.WMS/iWMS/RePrintBarcode.cs
@@ -67,7 +67,7 @@
                         MaterialName = CurInv.Barcode.ItemName,
                         MaterialStandard = CurInv.Barcode.ItemName,
                         DateCode = (DateTime)CurInv.Barcode.ProdDate,
-                        ScanQty = (decimal)CurInv.Barcode.Qty,
+                        ScanQty = (double)CurInv.Barcode.Qty,
                         Unit = CurInv.Barcode.Unit,
                         VenderSName = ""
                     };
diff --git a/Tiger.Business.WMS/iWMS/ReceiptInfo.cs b/Tiger.Business.WMS/iWMS/ReceiptInfo.cs
index 42e0585..3ed3435 100644
--- a/Tiger.Business.WMS/iWMS/ReceiptInfo.cs
+++ b/Tiger.Business.WMS/iWMS/ReceiptInfo.cs
@@ -29,8 +29,6 @@
                 {
                     case "TXXC":
                     case "XCTC":
-                    //db = Biz.DataSource["Main"].Client;
-                    //break;
                     case "XCSJ":
                     case "DGXC":
                     //db = Biz.DataSource["DGXC"].Client;
diff --git a/Tiger.Business.WMS/iWMS/iWMS.Minsun.cs b/Tiger.Business.WMS/iWMS/iWMS.Minsun.cs
index 497a5c7..f54faff 100644
--- a/Tiger.Business.WMS/iWMS/iWMS.Minsun.cs
+++ b/Tiger.Business.WMS/iWMS/iWMS.Minsun.cs
@@ -983,7 +983,7 @@
                                 BILLLINE = Convert.ToInt32(item.sfdcseq),
                                 UNITCODE = item.sfdc006,
                                 MATERIALCODE = item.sfdc004,
-                                PRQTY = Convert.ToDecimal(item.sfdc007),
+                                PRQTY = Convert.ToDouble(item.sfdc007),
                                 DELIVERYDATE = Convert.ToDateTime(item.sfdareqdt),
                                 WAREHOUSECODE = item.sfdc012,
                                 SOURCETYPE = Convert.ToInt32(item.sfdc003),
@@ -1016,7 +1016,7 @@
                             prd_d = prd_d ?? new WMS_PRDPICK_D()
                             {
                                 LINESTATUS = "INIT",
-                                QTY = Convert.ToDecimal(0),
+                                QTY = Convert.ToDouble(0),
                                 CreationTime = DateTime.Now,
                                 CreatorUserId = 1,
                             };
@@ -1024,7 +1024,7 @@
                             prd_d.BILLLINE = item_d.BILLLINE;
                             prd_d.UNITCODE = item_d.UNITCODE;
                             prd_d.MATERIALCODE = item_d.MATERIALCODE;
-                            prd_d.PRQTY = Convert.ToDecimal(item_d.PRQTY);
+                            prd_d.PRQTY = Convert.ToDouble(item_d.PRQTY);
                             prd_d.DELIVERYDATE = Convert.ToDateTime(item_d.DELIVERYDATE);
                             prd_d.WAREHOUSECODE = item_d.WAREHOUSECODE;
                             prd_d.LINESTATUS = prd_d.PRQTY == prd_d.QTY ? "COMPLETE" : Convert.ToDecimal(item_d.PRQTY) == 0 ? "COMPLETE" : prd_d.LINESTATUS == "DELETE" ? "INIT" : prd_d.LINESTATUS;
@@ -1175,7 +1175,7 @@
 
 
             // 鍒ゆ柇鏍囩鏁伴噺鏄惁鍚堟硶
-            if (!decimal.TryParse(nLotQty, out decimal nBarcodeQty))
+            if (!double.TryParse(nLotQty, out double nBarcodeQty))
             {
                 result.Flag = Result.Flags.Failed;
                 result.Message = $"鏉$爜鏍煎紡閿欒锛氭湭鍙栧埌姝g‘鐨勬潯鐮佹暟閲�";
@@ -1310,7 +1310,7 @@
             bool isBox = false;
             var nLotNo = "";
 
-            List<Tuple<string, decimal>> snList = new List<Tuple<string, decimal>>();
+            List<Tuple<string, double>> snList = new List<Tuple<string, double>>();
 
 
             foreach (string item in nSplitArray)
@@ -1367,11 +1367,11 @@
             if (nInputSnDto.Any())
             {
                 isBox = true;
-                snList = nInputSnDto.Select(t => new Tuple<string, decimal>(t.SmallBarcode, t.IncludeQty)).ToList();
+                snList = nInputSnDto.Select(t => new Tuple<string, double>(t.SmallBarcode, t.IncludeQty)).ToList();
             }
 
 
-            if (!decimal.TryParse(nLotQty, out decimal nBarcodeQty))
+            if (!double.TryParse(nLotQty, out double nBarcodeQty))
             {
                 //throw new UserFriendlyException("鏉$爜鏍煎紡閿欒锛氭湭鍙栧埌姝g‘鐨勬潯鐮佹暟閲�");
                 result.Flag = Result.Flags.Failed;
@@ -1494,7 +1494,7 @@
             var nLotNo = "";
 
             // 鏈�灏忓寘瑁呮潯鐮佸垪琛�
-            List<Tuple<string, decimal>> snList = new List<Tuple<string, decimal>>();
+            List<Tuple<string, double>> snList = new List<Tuple<string, double>>();
             // 閫佽揣鍗曡鏄庣粏
             List<InputAsnLineDto> asnLineList = new List<InputAsnLineDto>();
             // 鏈�灏忓寘瑁呮潯鐮佹槑缁�
@@ -1559,7 +1559,7 @@
 
             if (snBarcodeList.Any())
             {
-                snList = snBarcodeList.Select(t => new Tuple<string, decimal>(t.SmallBarcode, t.IncludeQty)).ToList();
+                snList = snBarcodeList.Select(t => new Tuple<string, double>(t.SmallBarcode, t.IncludeQty)).ToList();
                 snBarcodeList = snBarcodeList.Select(t => new WMS_SRMSNList
                 {
                     BILLCODE = t.BILLCODE,
@@ -1600,7 +1600,7 @@
             }
 
             // 楠岃瘉鏉$爜鏍囩鏁伴噺鏍煎紡鏄惁姝g‘
-            if (!decimal.TryParse(nLotQty, out decimal nBarcodeQty))
+            if (!double.TryParse(nLotQty, out double nBarcodeQty))
             {
                 //throw new UserFriendlyException("鏉$爜鏍煎紡閿欒锛氭湭鍙栧埌姝g‘鐨勬潯鐮佹暟閲�");
                 result.Flag = Result.Flags.Failed;
@@ -1609,7 +1609,7 @@
             }
 
             // 楠岃瘉鏉$爜鏍囩鏁伴噺涓嶴RM 鏈�灏忓寘瑁呮暟閲忓悎璁℃槸鍚︿竴鑷�
-            decimal snQtyTotal = snBarcodeList.Sum(t => t.IncludeQty);
+            double snQtyTotal = snBarcodeList.Sum(t => t.IncludeQty);
             if (nBarcodeQty != snQtyTotal)
             {
                 //throw new UserFriendlyException("鏍囩鏁伴噺涓嶴RM鏈�灏忓寘瑁呮�绘暟閲忎笉涓�鑷�");
diff --git a/Tiger.Business/Biz.cs b/Tiger.Business/Biz.cs
index f545659..a20e1a6 100644
--- a/Tiger.Business/Biz.cs
+++ b/Tiger.Business/Biz.cs
@@ -33,6 +33,10 @@
         /// </summary>
         public static DbBase Base { get => ApiConfig.IsTestServer ? DataSource["Test"]?.Base: DataSource["Main"]?.Base; }
 
+        #region 浜у搧鏁版嵁搴�
+
+        #endregion
+
         /// <summary>
         /// 鏍规嵁鏁版嵁搴撳悕鑾峰彇鏁版嵁搴撳璞�
         /// </summary>
diff --git a/Tiger.IBusiness.WMS/Core/IOrderContext.cs b/Tiger.IBusiness.WMS/Core/IOrderContext.cs
new file mode 100644
index 0000000..e64ddbd
--- /dev/null
+++ b/Tiger.IBusiness.WMS/Core/IOrderContext.cs
@@ -0,0 +1,57 @@
+锘縰sing Microsoft.AspNetCore.Http;
+using Rhea.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net.Http;
+using System.Text;
+using System.Threading.Tasks;
+using Tiger.Model;
+using Tiger.Model.Base;
+
+namespace Tiger.IBusiness.WMS
+{
+    public interface IOrderContext
+    {
+        /// <summary>
+        /// 涓氬姟鍗曟嵁鎵规缂撳瓨瀛楀吀
+        /// </summary>
+        /// <returns></returns>
+        public Dictionary<string, IWmsOrder<iBizOrder>> GetOrderDic();
+
+        /// <summary>
+        /// 浠庝笟鍔″崟鎹瓧鍏镐腑鑾峰彇涓�涓笟鍔″崟鎹璞�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public IWmsOrder<iBizOrder> GetOrder(string order);
+
+        /// <summary>
+        /// 鍒ゆ柇涓氬姟鍗曟嵁鏄惁瀛樺湪浜庝笟鍔″崟鎹瓧鍏镐腑
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public bool ExistsOrder(string order);
+
+        /// <summary>
+        /// 澧炲姞涓�涓笟鍔″崟鎹璞″埌涓氬姟鍗曟嵁瀛楀吀涓�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public bool AddOrder(string type, string order);
+
+        /// <summary>
+        /// 浠庝笟鍔″崟鎹瓧鍏镐腑鍒犻櫎涓�涓笟鍔″崟鎹璞�
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public bool RemoveOrder(string order);
+
+        /// <summary>
+        /// 娓呯┖涓氬姟鍗曟嵁瀛楀吀
+        /// </summary>
+        /// <param name="order"></param>
+        /// <returns></returns>
+        public bool ClearOrder();
+    }
+}
diff --git a/Tiger.IBusiness.WMS/Core/IWmsOrder.cs b/Tiger.IBusiness.WMS/Core/IWmsOrder.cs
new file mode 100644
index 0000000..e0a451b
--- /dev/null
+++ b/Tiger.IBusiness.WMS/Core/IWmsOrder.cs
@@ -0,0 +1,32 @@
+锘縰sing Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using Rhea.Common;
+using System;
+using Tiger.Model;
+using Tiger.Model.Base;
+using Tiger.Model.Entitys.MES.Position;
+
+namespace Tiger.IBusiness.WMS
+{
+    /// <summary>
+    /// WMS涓氬姟鍗曟嵁
+    /// </summary>
+    public interface IWmsOrder<T> where T : iBizOrder
+    {
+        public string OrderNo { get; set; }
+        public T Order { get; set; }
+        public List<WMS_ITEM> WmsItems { get; set; }
+
+        /// <summary>
+        /// 鏇存柊缂撳瓨淇℃伅
+        /// </summary>
+        /// <param name="updateAll"></param>
+        public void Refreash(bool updateAll = false);
+
+        /// <summary>
+        /// 鍏抽棴涓氬姟鍗曟嵁
+        /// </summary>
+        /// <returns></returns>
+        public bool Close();
+    }
+}
diff --git a/Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs b/Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs
new file mode 100644
index 0000000..43241ca
--- /dev/null
+++ b/Tiger.IBusiness.WMS/Transaction/ICount_BIZ_U9_ASN.cs
@@ -0,0 +1,25 @@
+锘縰sing Rhea.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tiger.Model;
+
+namespace Tiger.IBusiness
+{
+    /// <summary>
+    /// 閫佽揣鍗�(U9)娓呯偣浜嬪姟
+    /// </summary>
+    public interface ICount_BIZ_U9_ASN : IWmsTask
+    {
+        public ICount_BIZ_U9_ASN Init(string id, string userCode, string apiHost, string orgCode);
+
+        /// <summary>
+        /// 鎵弿鍏ュ彛
+        /// </summary>
+        public Task<ApiAction<ScanOutput>> Scan(BaseInput input);
+
+        public bool Close(bool needSaveHistoryLog = false);
+    }
+}
diff --git a/Tiger.IBusiness.WMS/Transaction/IIn_BIZ_U9_ASN.cs b/Tiger.IBusiness.WMS/Transaction/IIn_BIZ_U9_ASN.cs
new file mode 100644
index 0000000..67a229f
--- /dev/null
+++ b/Tiger.IBusiness.WMS/Transaction/IIn_BIZ_U9_ASN.cs
@@ -0,0 +1,25 @@
+锘縰sing Rhea.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tiger.Model;
+
+namespace Tiger.IBusiness
+{
+    /// <summary>
+    /// 閫佽揣鍗�(U9)涓婃灦浜嬪姟
+    /// </summary>
+    public interface IIn_BIZ_U9_ASN : IWmsTask
+    {
+        public IIn_BIZ_U9_ASN Init(string id, string userCode, string apiHost, string orgCode);
+
+        /// <summary>
+        /// 鎵弿鍏ュ彛
+        /// </summary>
+        public Task<ApiAction<ScanOutput>> Scan(BaseInput input);
+
+        public bool Close(bool needSaveHistoryLog = false);
+    }
+}
diff --git a/Tiger.IBusiness.WMS/Transaction/IIn_Default.cs b/Tiger.IBusiness.WMS/Transaction/IIn_Default.cs
index 9a31726..cead4dd 100644
--- a/Tiger.IBusiness.WMS/Transaction/IIn_Default.cs
+++ b/Tiger.IBusiness.WMS/Transaction/IIn_Default.cs
@@ -8,7 +8,7 @@
 
 namespace Tiger.IBusiness
 {
-    public interface IIn_Default : IWMSTransaction
+    public interface IIn_Default : IWmsTask
     {
         public IIn_Default Init(string id, string userCode, string apiHost, string orgCode);
 
diff --git a/Tiger.IBusiness.WMS/Transaction/IOut_Default.cs b/Tiger.IBusiness.WMS/Transaction/IOut_Default.cs
index 8685a03..599912f 100644
--- a/Tiger.IBusiness.WMS/Transaction/IOut_Default.cs
+++ b/Tiger.IBusiness.WMS/Transaction/IOut_Default.cs
@@ -8,7 +8,7 @@
 
 namespace Tiger.IBusiness
 {
-    public interface IOut_Default : IWMSTransaction
+    public interface IOut_Default : IWmsTask
     {
         public IOut_Default Init(string id, string userCode, string apiHost, string orgCode);
 
diff --git a/Tiger.IBusiness.WMS/Transaction/IPreparation.cs b/Tiger.IBusiness.WMS/Transaction/IPreparation.cs
new file mode 100644
index 0000000..6d97ba7
--- /dev/null
+++ b/Tiger.IBusiness.WMS/Transaction/IPreparation.cs
@@ -0,0 +1,53 @@
+锘縰sing Rhea.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tiger.Model;
+
+namespace Tiger.IBusiness
+{
+    /// <summary>
+    /// 澶囨枡鍗曞彂鏂欎簨鍔�
+    /// </summary>
+    public interface IPreparation : IWMSTransaction
+    {
+        #region Propertys & Variables
+        public string UserCode { get; set; }
+        public long UserId { get; set; }
+        public string OrgCode { get; set; }
+        #endregion Propertys & Variables
+
+        #region Functions
+        /// <summary>
+        /// 鍒濆鍖�
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="apiHost"></param>
+        /// <param name="userCode"></param>
+        /// <param name="orgCode"></param>
+        /// <returns></returns>
+        public IPreparation Init(string id, string userCode, string apiHost, string orgCode);
+        /// <summary>
+        /// 鎵弿鍏ュ彛
+        /// </summary>
+        //public Task<ApiAction<ScanOutput>> Scan(BaseInput input);
+        /// <summary>
+        /// 閲嶇疆鎿嶄綔
+        /// </summary>
+        /// <returns></returns>
+        public ApiAction Reset();
+        /// <summary>
+        /// 鑾峰彇鎻愪氦鏁版嵁鐨凞bClient瀵硅薄
+        /// </summary>
+        /// <returns></returns>
+        public DbClient GetCommitDB();
+        /// <summary>
+        /// 鏆傚瓨鐨勬暟鎹簱鎿嶄綔鎻愪氦鍒版暟鎹簱
+        /// </summary>
+        /// <param name="appendAction">闄勫姞鐨勪繚瀛樺唴瀹�</param>
+        public void SaveCommitListToDB(Action appendToSave = null);
+        #endregion Functions
+    }
+}
diff --git a/Tiger.IBusiness.WMS/Transaction/IWmsTask.cs b/Tiger.IBusiness.WMS/Transaction/IWmsTask.cs
new file mode 100644
index 0000000..bf63766
--- /dev/null
+++ b/Tiger.IBusiness.WMS/Transaction/IWmsTask.cs
@@ -0,0 +1,53 @@
+锘縰sing Rhea.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tiger.Model;
+using Tiger.Model.Entitys.MES.Position;
+
+namespace Tiger.IBusiness
+{
+    /// <summary>
+    /// 浠撳簱浣滀笟浠诲姟锛屽寘鎷竻鐐广�佷笂鏋躲�佷笅鏋躲�佺Щ搴撱�佺洏鐐圭瓑
+    /// </summary>
+    public interface IWmsTask : IWMSTransaction
+    {
+        #region Propertys & Variables
+        public string UserCode { get; set; }
+        public string OrgCode { get; set; }
+        #endregion Propertys & Variables
+
+        #region Functions
+        /// <summary>
+        /// 鍒濆鍖�
+        /// </summary>
+        /// <param name="id"></param>
+        /// <param name="apiHost"></param>
+        /// <param name="userCode"></param>
+        /// <param name="orgCode"></param>
+        /// <returns></returns>
+        public IWmsTask Init(string id, string userCode, string apiHost, string orgCode);
+        /// <summary>
+        /// 鎵弿鍏ュ彛
+        /// </summary>
+        //public Task<ApiAction<ScanOutput>> Scan(BaseInput input);
+        /// <summary>
+        /// 閲嶇疆鎿嶄綔
+        /// </summary>
+        /// <returns></returns>
+        public ApiAction Reset();
+        /// <summary>
+        /// 鑾峰彇鎻愪氦鏁版嵁鐨凞bClient瀵硅薄
+        /// </summary>
+        /// <returns></returns>
+        public DbClient GetCommitDB();
+        /// <summary>
+        /// 鏆傚瓨鐨勬暟鎹簱鎿嶄綔鎻愪氦鍒版暟鎹簱
+        /// </summary>
+        /// <param name="appendAction">闄勫姞鐨勪繚瀛樺唴瀹�</param>
+        public void SaveCommitListToDB(Action appendToSave = null);
+        #endregion Functions
+    }
+}
diff --git a/Tiger.Model.Net/Entitys/ERP/T100ActionResult.cs b/Tiger.Model.Net/Entitys/ERP/T100ActionResult.cs
index ecafa9b..064d15a 100644
--- a/Tiger.Model.Net/Entitys/ERP/T100ActionResult.cs
+++ b/Tiger.Model.Net/Entitys/ERP/T100ActionResult.cs
@@ -333,12 +333,12 @@
         /// <summary>
         /// 鍚堟牸鏁伴噺
         /// </summary>
-        public decimal qcba023 { get; set; }
+        public double qcba023 { get; set; }
 
         /// <summary>
         /// 涓嶅悎鏍兼暟閲�
         /// </summary>
-        public decimal qcba027 { get; set; }
+        public double qcba027 { get; set; }
     }
 
     /// <summary>
@@ -452,7 +452,7 @@
         /// <summary>
         /// 鐢宠鏁伴噺
         /// </summary>
-        public decimal inbb011 { get; set; }
+        public double inbb011 { get; set; }
 
         /// <summary>
         /// 闇�姹傛棩鏈�
@@ -509,7 +509,7 @@
         /// <summary>
         /// 闇�姹傛暟閲�
         /// </summary>
-        public decimal indd103 { get; set; }
+        public double indd103 { get; set; }
 
         /// <summary>
         /// 闇�姹傛棩鏈�
@@ -556,7 +556,7 @@
         /// <summary>
         /// 閲囪喘鍗曢」娆�
         /// </summary>
-        public decimal pmdnseq { get; set; }
+        public double pmdnseq { get; set; }
 
         /// <summary>
         /// 鏂欏彿
@@ -571,7 +571,7 @@
         /// <summary>
         /// 閲囪喘鏁伴噺
         /// </summary>
-        public decimal pmdn007 { get; set; }
+        public double pmdn007 { get; set; }
 
         /// <summary>
         /// 渚涘簲鍟嗙墿鍝佺紪鐮�
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs
index 4992792..06e0af3 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/BizMesWoParameter.cs
@@ -80,7 +80,7 @@
         public string SapCode { get; set; }
         public string ItemCode { get; set; }
         public string ItemDesc { get; set; }
-        public decimal PickQty { get; set; }
+        public double PickQty { get; set; }
         public string LineRemark { get; set; }
         public string WhCode { get; set; }
         public string WhCode07 { get; set; }
@@ -102,7 +102,7 @@
         public string Customer { get; set; }
         public string DemandCode { get; set; }
         public string RouteStr { get; set; }
-        public decimal Qty { get; set; }
+        public double Qty { get; set; }
         public List<PrintWoPickList> Items { get; set; } = new List<PrintWoPickList>();
     }
 }
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
index 3b18545..f4c8521 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
@@ -160,11 +160,11 @@
         /// <summary>
         /// 鍏ュ簱鍗曡鎬绘暟閲�
         /// </summary>
-        public decimal CreateBarCodeItemQty { get; set; }
+        public double CreateBarCodeItemQty { get; set; }
         /// <summary>
         /// 鍖呰瑁呯鏁伴噺
         /// </summary>
-        public decimal LabelQty { get; set; }
+        public double LabelQty { get; set; }
     }
 
     public class BarcodeCreateByAssignQtyParam
@@ -174,11 +174,11 @@
         /// <summary>
         /// 鍏ュ簱鍗曡鎬绘暟閲�
         /// </summary>
-        public decimal CreateBarCodeItemQty { get; set; }
+        public double CreateBarCodeItemQty { get; set; }
         /// <summary>
         /// 鍖呰瑁呯鏁伴噺
         /// </summary>
-        public decimal LabelQty { get; set; }
+        public double LabelQty { get; set; }
     }
 
     public class CreateBarCodeEntitys
diff --git a/Tiger.Model.Net/Entitys/MES/V_BAS_PROD.cs b/Tiger.Model.Net/Entitys/MES/V_BAS_PROD.cs
index dc6aa34..5a048c2 100644
--- a/Tiger.Model.Net/Entitys/MES/V_BAS_PROD.cs
+++ b/Tiger.Model.Net/Entitys/MES/V_BAS_PROD.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:V_BAS_PROD
+	/// 瀹炰綋锛歏_BAS_PROD
 	/// </summary>
 	[Serializable]
 	[SugarTable("V_BAS_PROD")]
 	public class V_BAS_PROD : iViewEntity, iTableHasAuth
     {
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:V_BAS_PROD
+		/// 瀹炰綋锛歏_BAS_PROD
 		/// </summary>
 		public V_BAS_PROD() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -117,7 +117,7 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal VALIDITY_DAYS { get; set; }
+		public double VALIDITY_DAYS { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -132,26 +132,26 @@
 		public string REMARK { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/V_MES_ROUTE_NDS.cs b/Tiger.Model.Net/Entitys/MES/V_MES_ROUTE_NDS.cs
index 8e4cbdb..9a5758f 100644
--- a/Tiger.Model.Net/Entitys/MES/V_MES_ROUTE_NDS.cs
+++ b/Tiger.Model.Net/Entitys/MES/V_MES_ROUTE_NDS.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:V_MES_ROUTE_NDS
+	/// 瀹炰綋锛歏_MES_ROUTE_NDS
 	/// </summary>
 	[Serializable]
 	[SugarTable("V_MES_ROUTE_NDS")]
 	public class V_MES_ROUTE_NDS : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:V_MES_ROUTE_NDS
+		/// 瀹炰綋锛歏_MES_ROUTE_NDS
 		/// </summary>
 		public V_MES_ROUTE_NDS() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -49,11 +49,11 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal GPH_X { get; set; }
+		public double GPH_X { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal GPH_Y { get; set; }
+		public double GPH_Y { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -120,26 +120,26 @@
 		public string REMARK { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_AsnDocInfo.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_AsnDocInfo.cs
index a29caa1..3b8401f 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_AsnDocInfo.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_AsnDocInfo.cs
@@ -8,126 +8,126 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_AsnDocInfo
+	/// 瀹炰綋锛歮es_AsnDocInfo
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_AsnDocInfo")]
 	public class mes_AsnDocInfo : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_AsnDocInfo
+		/// 瀹炰綋锛歮es_AsnDocInfo
 		/// </summary>
 		public mes_AsnDocInfo() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 组织
+		/// 缁勭粐
 		/// </summary>
 		public long Org { get; set; }
 		/// <summary>
-		/// 单ID
+		/// 鍗旾D
 		/// </summary>
 		public long AsnId { get; set; }
 		/// <summary>
-		/// 单号
+		/// 鍗曞彿
 		/// </summary>
 		public string DocNo { get; set; }
 		/// <summary>
-		/// 供应商编码
+		/// 渚涘簲鍟嗙紪鐮�
 		/// </summary>
 		public string SupplierCode { get; set; }
 		/// <summary>
-		/// 供应商名字
+		/// 渚涘簲鍟嗗悕瀛�
 		/// </summary>
 		public string SupplierName { get; set; }
 		/// <summary>
-		/// 发货日期
+		/// 鍙戣揣鏃ユ湡
 		/// </summary>
 		public DateTime ShipDate { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 预计送达日期
+		/// 棰勮閫佽揪鏃ユ湡
 		/// </summary>
 		public DateTime PlanArriveDate { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 状态
+		/// 鐘舵��
 		/// </summary>
 		public int Status { get; set; }
 		/// <summary>
-		/// 行ID
+		/// 琛孖D
 		/// </summary>
 		public long LineID { get; set; }
 		/// <summary>
-		/// 行号
+		/// 琛屽彿
 		/// </summary>
 		public int DocLineNo { get; set; }
 		/// <summary>
-		/// 料号
+		/// 鏂欏彿
 		/// </summary>
 		public string ItemCode { get; set; }
 		/// <summary>
-		/// sap料号
+		/// sap鏂欏彿
 		/// </summary>
 		public string ItemCode1 { get; set; }
 		/// <summary>
-		/// 品名
+		/// 鍝佸悕
 		/// </summary>
 		public string ItemName { get; set; }
 		/// <summary>
-		/// 料品描述
+		/// 鏂欏搧鎻忚堪
 		/// </summary>
 		public string ItemDescription { get; set; }
 		/// <summary>
-		/// 采购数量
+		/// 閲囪喘鏁伴噺
 		/// </summary>
-		public decimal POQtyTU { get; set; }
+		public double POQtyTU { get; set; }
 		/// <summary>
-		/// 最小包装数量
+		/// 鏈�灏忓寘瑁呮暟閲�
 		/// </summary>
 		public string PackQty { get; set; }
 		/// <summary>
-		/// 生产批号(供应商)
+		/// 鐢熶骇鎵瑰彿(渚涘簲鍟�)
 		/// </summary>
 		public string SupplierLot { get; set; }
 		/// <summary>
-		/// 批号
+		/// 鎵瑰彿
 		/// </summary>
 		public string LotMater { get; set; }
 		/// <summary>
-		/// 更新人
+		/// 鏇存柊浜�
 		/// </summary>
 		public string ModifiedBy { get; set; }
 		/// <summary>
-		/// 更新时间
+		/// 鏇存柊鏃堕棿
 		/// </summary>
 		public DateTime ModifiedOn { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 单位ID
+		/// 鍗曚綅ID
 		/// </summary>
 		public long TradeUOM { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs
index d222f51..2422fa7 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomComponent.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_BomComponent
+	/// 瀹炰綋锛歮es_BomComponent
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_BomComponent")]
 	public class mes_BomComponent : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_BomComponent
+		/// 瀹炰綋锛歮es_BomComponent
 		/// </summary>
 		public mes_BomComponent() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -53,7 +53,7 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal UsageQty { get; set; }
+		public double UsageQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -64,26 +64,26 @@
 		public DateTime ModifiedOn { get; set; } = DateTime.MinValue;
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs
index a39e294..c48d58a 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_BomDetail.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_BomDetail
+	/// 瀹炰綋锛歮es_BomDetail
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_BomDetail")]
 	public class mes_BomDetail : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_BomDetail
+		/// 瀹炰綋锛歮es_BomDetail
 		/// </summary>
 		public mes_BomDetail() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -93,11 +93,11 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal UsageQty { get; set; }
+		public double UsageQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal ParentQty { get; set; }
+		public double ParentQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -141,7 +141,7 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal SubPercent { get; set; }
+		public double SubPercent { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -160,26 +160,26 @@
 		public DateTime BomComponentModifiedOn { get; set; } = DateTime.MinValue;
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs
index 93cfc6e..e582d55 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MOPickList.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_MOPickList
+	/// 瀹炰綋锛歮es_MOPickList
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_MOPickList")]
 	public class mes_MOPickList : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_MOPickList
+		/// 瀹炰綋锛歮es_MOPickList
 		/// </summary>
 		public mes_MOPickList() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -53,15 +53,15 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal ActualReqQty { get; set; }
+		public double ActualReqQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal IssuedQty { get; set; }
+		public double IssuedQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal IssueNotDeliverQty { get; set; }
+		public double IssueNotDeliverQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -148,26 +148,26 @@
 		public string DemandCode { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCode.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCode.cs
index 16892bb..74fede8 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCode.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCode.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_MaterialBarCode
+	/// 瀹炰綋锛歮es_MaterialBarCode
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_MaterialBarCode")]
 	public class mes_MaterialBarCode : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_MaterialBarCode
+		/// 瀹炰綋锛歮es_MaterialBarCode
 		/// </summary>
 		public mes_MaterialBarCode() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -29,7 +29,7 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal WhQty { get; set; }
+		public double WhQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -64,26 +64,26 @@
 		public string CreateEntity_EntityType { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCodeByBin.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCodeByBin.cs
index e530d03..9235aec 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCodeByBin.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_MaterialBarCodeByBin.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_MaterialBarCodeByBin
+	/// 瀹炰綋锛歮es_MaterialBarCodeByBin
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_MaterialBarCodeByBin")]
 	public class mes_MaterialBarCodeByBin : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_MaterialBarCodeByBin
+		/// 瀹炰綋锛歮es_MaterialBarCodeByBin
 		/// </summary>
 		public mes_MaterialBarCodeByBin() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -29,7 +29,7 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal WhQty { get; set; }
+		public double WhQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -80,26 +80,26 @@
         public string LotNo { get; set; }
         #endregion
 
-        #region 虚拟属性
-        /*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
         #endregion
 
-        #region 枚举变量
-        /*例子
+        #region 鏋氫妇鍙橀噺
+        /*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
         #endregion
 
-        #region 公共方法
+        #region 鍏叡鏂规硶
 
         #endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs
index 72236e7..ec1cd95 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_Mo.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_Mo
+	/// 瀹炰綋锛歮es_Mo
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_Mo")]
 	public class mes_Mo : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_Mo
+		/// 瀹炰綋锛歮es_Mo
 		/// </summary>
 		public mes_Mo() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -41,7 +41,7 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal ProductQty { get; set; }
+		public double ProductQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -120,26 +120,26 @@
 		public int BusinessType { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_RcvRptDocLine.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_RcvRptDocLine.cs
index ee5b00b..5ef2ccd 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_RcvRptDocLine.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_RcvRptDocLine.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_RcvRptDocLine
+	/// 瀹炰綋锛歮es_RcvRptDocLine
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_RcvRptDocLine")]
 	public class mes_RcvRptDocLine : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_RcvRptDocLine
+		/// 瀹炰綋锛歮es_RcvRptDocLine
 		/// </summary>
 		public mes_RcvRptDocLine() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -61,7 +61,7 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal RcvQtyByWhUOM { get; set; }
+		public double RcvQtyByWhUOM { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -72,26 +72,26 @@
 		public string StoreUOM { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs
index 458e83b..b78e70e 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ReturnedDocInfo.cs
@@ -8,122 +8,122 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_ReturnedDocInfo
+	/// 瀹炰綋锛歮es_ReturnedDocInfo
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_ReturnedDocInfo")]
 	public class mes_ReturnedDocInfo : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_ReturnedDocInfo
+		/// 瀹炰綋锛歮es_ReturnedDocInfo
 		/// </summary>
 		public mes_ReturnedDocInfo() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 收货类型(0-收货,1-退货)
+		/// 鏀惰揣绫诲瀷(0-鏀惰揣锛�1-閫�璐�)
 		/// </summary>
 		public int ReceivementType { get; set; }
 		/// <summary>
-		/// 收货单ID
+		/// 鏀惰揣鍗旾D
 		/// </summary>
 		public long RcvId { get; set; }
 		/// <summary>
-		/// 收货单号
+		/// 鏀惰揣鍗曞彿
 		/// </summary>
 		public string DocNo { get; set; }
 		/// <summary>
-		/// 组织
+		/// 缁勭粐
 		/// </summary>
 		public long Org { get; set; }
 		/// <summary>
-		/// 供应商编码
+		/// 渚涘簲鍟嗙紪鐮�
 		/// </summary>
 		public string SupplierCode { get; set; }
 		/// <summary>
-		/// 供应商名称
+		/// 渚涘簲鍟嗗悕绉�
 		/// </summary>
 		public string SupplierName { get; set; }
 		/// <summary>
-		/// 行ID
+		/// 琛孖D
 		/// </summary>
 		public long RcvLineId { get; set; }
 		/// <summary>
-		/// 行号
+		/// 琛屽彿
 		/// </summary>
 		public int DocLineNo { get; set; }
 		/// <summary>
-		/// 料号
+		/// 鏂欏彿
 		/// </summary>
 		public string ItemCode { get; set; }
 		/// <summary>
-		/// sap料号
+		/// sap鏂欏彿
 		/// </summary>
 		public string ItemCode1 { get; set; }
 		/// <summary>
-		/// 品名
+		/// 鍝佸悕
 		/// </summary>
 		public string ItemName { get; set; }
 		/// <summary>
-		/// 料品描述
+		/// 鏂欏搧鎻忚堪
 		/// </summary>
 		public string ItemDescription { get; set; }
 		/// <summary>
-		/// 退补数量
+		/// 閫�琛ユ暟閲�
 		/// </summary>
-		public decimal RtnFillQtyTU { get; set; }
+		public double RtnFillQtyTU { get; set; }
 		/// <summary>
-		/// 拆分标记:0-原始行,1-拆前行,2-拆后行,拆前有一行记录,拆后审核完有另一条记录
+		/// 鎷嗗垎鏍囪锛�0-鍘熷琛�,1-鎷嗗墠琛�,2-鎷嗗悗琛岋紝鎷嗗墠鏈変竴琛岃褰曪紝鎷嗗悗瀹℃牳瀹屾湁鍙︿竴鏉¤褰�
 		/// </summary>
 		public int SplitFlag { get; set; }
 		/// <summary>
-		/// ASN单ID,不是ASN单为0
+		/// ASN鍗旾D锛屼笉鏄疉SN鍗曚负0
 		/// </summary>
 		public long SrcASNDocId { get; set; }
 		/// <summary>
-		/// ASN单行ID
+		/// ASN鍗曡ID
 		/// </summary>
 		public long SrcASNDocLineId { get; set; }
 		/// <summary>
-		/// 创建时间
+		/// 鍒涘缓鏃堕棿
 		/// </summary>
 		public DateTime CreatedOn { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 创建人
+		/// 鍒涘缓浜�
 		/// </summary>
 		public string CreatedBy { get; set; }
 		/// <summary>
-		/// 更新时间
+		/// 鏇存柊鏃堕棿
 		/// </summary>
 		public DateTime ModifiedOn { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 更新人
+		/// 鏇存柊浜�
 		/// </summary>
 		public string ModifiedBy { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_SCMPickList.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_SCMPickList.cs
index 615c695..a5b75b7 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_SCMPickList.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_SCMPickList.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_SCMPickList
+	/// 瀹炰綋锛歮es_SCMPickList
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_SCMPickList")]
 	public class mes_SCMPickList : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_SCMPickList
+		/// 瀹炰綋锛歮es_SCMPickList
 		/// </summary>
 		public mes_SCMPickList() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -53,15 +53,15 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal ActualReqQty { get; set; }
+		public double ActualReqQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal IssuedQty { get; set; }
+		public double IssuedQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal IssueNotDeliverQty { get; set; }
+		public double IssueNotDeliverQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -108,26 +108,26 @@
 		public DateTime ModifiedOn { get; set; } = DateTime.MinValue;
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ShipList.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ShipList.cs
index 18c496c..43df192 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ShipList.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_ShipList.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_ShipList
+	/// 瀹炰綋锛歮es_ShipList
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_ShipList")]
 	public class mes_ShipList : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_ShipList
+		/// 瀹炰綋锛歮es_ShipList
 		/// </summary>
 		public mes_ShipList() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
 		/// 
 		/// </summary>
@@ -49,29 +49,29 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal ShipQty { get; set; }
+		public double ShipQty { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_WhLotCodeQtyInfo.cs b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_WhLotCodeQtyInfo.cs
index c202671..66bb1ab 100644
--- a/Tiger.Model.Net/Entitys/MES/YadaU9/mes_WhLotCodeQtyInfo.cs
+++ b/Tiger.Model.Net/Entitys/MES/YadaU9/mes_WhLotCodeQtyInfo.cs
@@ -8,20 +8,20 @@
 namespace Tiger.Model.MES.Yada
 {
 	/// <summary>
-	/// 实体:mes_WhLotCodeQtyInfo
+	/// 瀹炰綋锛歮es_WhLotCodeQtyInfo
 	/// </summary>
 	[Serializable]
 	[SugarTable("mes_WhLotCodeQtyInfo")]
 	public class mes_WhLotCodeQtyInfo : iViewEntity
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:mes_WhLotCodeQtyInfo
+		/// 瀹炰綋锛歮es_WhLotCodeQtyInfo
 		/// </summary>
 		public mes_WhLotCodeQtyInfo() {}
         #endregion
 
-        #region 公共属性
+        #region 鍏叡灞炴��
         /// <summary>
         /// 
         /// </summary>
@@ -46,7 +46,7 @@
 		/// <summary>
 		/// 
 		/// </summary>
-		public decimal StoreQty { get; set; }
+		public double StoreQty { get; set; }
 		/// <summary>
 		/// 
 		/// </summary>
@@ -61,26 +61,26 @@
 		public string SapCode { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/Minsun/CustSupplyCheckList.cs b/Tiger.Model.Net/Entitys/Minsun/CustSupplyCheckList.cs
index 2c9d424..c24b2ac 100644
--- a/Tiger.Model.Net/Entitys/Minsun/CustSupplyCheckList.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/CustSupplyCheckList.cs
@@ -13,7 +13,7 @@
         public string MaterialName { get; set; }
         public string MaterialStandard { get; set; }
         public string Unit { get; set; }
-        public decimal InventoryQty { get; set; }
+        public double InventoryQty { get; set; }
         public DateTime? DateCode { get; set; }
         public string DateCodeString { get; set; }
         public string LotNo { get; set; }
@@ -23,7 +23,7 @@
     {
         public string Barcode { get; set; }
         public string Unit { get; set; }
-        public decimal BarcodeQty { get; set; }
+        public double BarcodeQty { get; set; }
     }
 
     public class InputCustSupplyCheck
diff --git a/Tiger.Model.Net/Entitys/Minsun/CustomerSupplyPuton.cs b/Tiger.Model.Net/Entitys/Minsun/CustomerSupplyPuton.cs
index cf56fd4..1d309b1 100644
--- a/Tiger.Model.Net/Entitys/Minsun/CustomerSupplyPuton.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/CustomerSupplyPuton.cs
@@ -13,9 +13,9 @@
         public string RackCode { get; set; }
         public string RackType { get; set; }
         public bool IsSmartRack { get; set; }
-        public decimal Capacity { get; set; }
+        public double Capacity { get; set; }
         public int LotCount { get; set; }
-        public decimal MaxSize { get; set; }
+        public double MaxSize { get; set; }
         public int ShelfType { get; set; }
         public bool IsScanShelf { get; set; }
     }
@@ -26,9 +26,9 @@
         public string RackCode { get; set; }
         public string RackType { get; set; }
         public bool IsSmartRack { get; set; }
-        public decimal Capacity { get; set; }
+        public double Capacity { get; set; }
         public int LotCount { get; set; }
-        public decimal MaxSize { get; set; }
+        public double MaxSize { get; set; }
         public int ShelfType { get; set; }
         public bool IsScanShelf { get; set; }
     }
@@ -40,8 +40,8 @@
         public string MaterialCode { get; set; }
         public string MaterialName { get; set; }
         public string MaterialStandard { get; set; }
-        public decimal InitialQty { get; set; }
-        public decimal CurrentQty { get; set; }
+        public double InitialQty { get; set; }
+        public double CurrentQty { get; set; }
         public string Unit { get; set; }
         public DateTime DateCode { get; set; }
         public DateTime? Period { get; set; }
diff --git a/Tiger.Model.Net/Entitys/Minsun/InputBarcodeDto.cs b/Tiger.Model.Net/Entitys/Minsun/InputBarcodeDto.cs
index 5269bae..a899c6c 100644
--- a/Tiger.Model.Net/Entitys/Minsun/InputBarcodeDto.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/InputBarcodeDto.cs
@@ -21,12 +21,12 @@
         public DateTime LotDate { get; set; }
         public string LotNo { get; set; }
         public int? PeriodDays { get; set; }
-        public decimal LotQty { get; set; }
+        public double LotQty { get; set; }
         public bool FIFO { get; set; }
-        public decimal? SafeStorageQty { get; set; }
+        public double? SafeStorageQty { get; set; }
         public string StateFlag { get; set; }
         public bool IsBox { get; set; }
-        public List<Tuple<string, decimal>> SnList { get; set; }
+        public List<Tuple<string, double>> SnList { get; set; }
         public List<InputAsnLineDto> AsnLineList { get; set; }
         public string PalletNo { get; set; }
         public string CartonNo { get; set; }
@@ -40,7 +40,7 @@
         public string SmallBarcode { get; set; }
         public string BigBarcode { get; set; }
         public string OuterBarcode { get; set; }
-        public decimal IncludeQty { get; set; }
+        public double IncludeQty { get; set; }
 
     }
 
@@ -53,7 +53,7 @@
         public string PoErpNo { get; set; }
         public string PoLineNo { get; set; }
         public int PoErpLine { get; set; }
-        public decimal DeliveryQty { get; set; }
+        public double DeliveryQty { get; set; }
         public int Status { get; set; }
 
     }
diff --git a/Tiger.Model.Net/Entitys/Minsun/Interface/InterfaceEntity.cs b/Tiger.Model.Net/Entitys/Minsun/Interface/InterfaceEntity.cs
index e7b0954..913f1bc 100644
--- a/Tiger.Model.Net/Entitys/Minsun/Interface/InterfaceEntity.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/Interface/InterfaceEntity.cs
@@ -44,7 +44,7 @@
         public string SourceCode { get; set; }
         public DateTime CreateDate { get; set; }
         public DateTime UpdateDate { get; set; }
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
     }
 
     public class iOutStoreInfo : iEntity
@@ -57,7 +57,7 @@
         public string LocationCode { get; set; }
         public DateTime CreateDate { get; set; }
         public DateTime UpdateDate { get; set; }
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
     }
 
     public class iReturnInfo : iEntity
@@ -77,7 +77,7 @@
         public string MaterialCode { get; set; }
         public string MaterialName { get; set; }
         public DateTime UpdateDate { get; set; }
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
     }
 
     public class iReceiptDtl
@@ -89,7 +89,7 @@
         public string DeliveryNo { get; set; }
         public string MaterialCode { get; set; }
         public string innerVendorCode { get; set; }
-        public decimal SCANQTY { get; set; }
+        public double SCANQTY { get; set; }
     }
 
     public class iReceiptInput : iEntity
@@ -107,7 +107,7 @@
         public string VenderCode { get; set; }
         public string VenderName { get; set; }
         public DateTime? UpdateDate { get; set; }
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
     }
 
     public class iDropdownlist : iEntity
diff --git a/Tiger.Model.Net/Entitys/Minsun/Materialreturnsheet.cs b/Tiger.Model.Net/Entitys/Minsun/Materialreturnsheet.cs
index a790a0d..0cbee02 100644
--- a/Tiger.Model.Net/Entitys/Minsun/Materialreturnsheet.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/Materialreturnsheet.cs
@@ -35,7 +35,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/MesMaterial.cs b/Tiger.Model.Net/Entitys/Minsun/MesMaterial.cs
index 6ae94f9..a1093fe 100644
--- a/Tiger.Model.Net/Entitys/Minsun/MesMaterial.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/MesMaterial.cs
@@ -116,7 +116,7 @@
         /// <summary>
         ///
         /// </summary>
-        public decimal SAFEQTY { get; set; }
+        public double SAFEQTY { get; set; }
 
         /// <summary>
         ///
diff --git a/Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqInput.cs b/Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqInput.cs
index 07827ad..00ef25d 100644
--- a/Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqInput.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqInput.cs
@@ -19,7 +19,7 @@
         public List<string> OffLocations { get; set; }
         public List<string> OffRacks { get; set; }
         public List<BacodeRackLocation> SuggestBarcodes { get; set; }
-        public decimal PickQty { get; set; }
+        public double PickQty { get; set; }
         public string Qrcode { get; set; }
     }
 
diff --git a/Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqOutput.cs b/Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqOutput.cs
index bcf2f71..bf1e17f 100644
--- a/Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqOutput.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/ProdMaterialReqOutput.cs
@@ -14,8 +14,8 @@
         public string MaterialName { get; set; }
         public string MaterialStandard { get; set; }
         public string UnitCode { get; set; }
-        public decimal PRQty { get; set; }
-        public decimal Qty { get; set; }
+        public double PRQty { get; set; }
+        public double Qty { get; set; }
         public DateTime? DeliveryDate { get; set; }
         public string WarehouseCode { get; set; }
         public string WarehouseName { get; set; }
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_AQL_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_AQL_D.cs
index 1deb26f..a05382b 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_AQL_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_AQL_D.cs
@@ -39,23 +39,23 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LOTMAXQTY { get; set; }
+		public double LOTMAXQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LOTMINQTY { get; set; }
+		public double LOTMINQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SAMPLEQTY { get; set; }
+		public double SAMPLEQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ACCEPTQTY { get; set; }
+		public double ACCEPTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal REJECTQTY { get; set; }
+		public double REJECTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE.cs
index 28206e6..fc55368 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE.cs
@@ -91,15 +91,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PACKQTY { get; set; }
+		public double PACKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal? CURRENTQTY { get; set; }
+		public double? CURRENTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INITIALQTY { get; set; }
+		public double INITIALQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -107,7 +107,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal WEIGHT { get; set; }
+		public double WEIGHT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_D.cs
index 219e576..cd3154e 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_D.cs
@@ -43,7 +43,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_LOG.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_LOG.cs
index 23697d3..9571c72 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_LOG.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_BARCODE_LOG.cs
@@ -103,31 +103,31 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INITIALQTY { get; set; }
+		public double INITIALQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LASTQTY { get; set; }
+		public double LASTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRICE { get; set; }
+		public double PRICE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal TAXPRICE { get; set; }
+		public double TAXPRICE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal AMOUNT { get; set; }
+		public double AMOUNT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ALLAMOUNT { get; set; }
+		public double ALLAMOUNT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_CHECKITEMTYPE_ITEM.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_CHECKITEMTYPE_ITEM.cs
index 2b7bea9..74fd7e6 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_CHECKITEMTYPE_ITEM.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_CHECKITEMTYPE_ITEM.cs
@@ -67,15 +67,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LIMITLOW { get; set; }
+		public double LIMITLOW { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LIMITHIGH { get; set; }
+		public double LIMITHIGH { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal STANDARD { get; set; }
+		public double STANDARD { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_D.cs
index 5cda8d8..f06da7c 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_D.cs
@@ -51,27 +51,27 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODQTY { get; set; }
+		public double GOODQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; }
+		public double GOODINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; }
+		public double SCRAPINSTCOKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_SCAN.cs
index 22f823a..b320481 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_EXPIREDCHANGE_SCAN.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_IQCMATERIAL_CHECKITEM.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_IQCMATERIAL_CHECKITEM.cs
index 65994ab..941457e 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_IQCMATERIAL_CHECKITEM.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_IQCMATERIAL_CHECKITEM.cs
@@ -79,15 +79,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LIMITLOW { get; set; }
+		public double LIMITLOW { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LIMITHIGH { get; set; }
+		public double LIMITHIGH { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal STANDARD { get; set; }
+		public double STANDARD { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_D.cs
index 268bdba..765f3e4 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_D.cs
@@ -67,15 +67,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LIMITLOW { get; set; }
+		public double LIMITLOW { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LIMITHIGH { get; set; }
+		public double LIMITHIGH { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal STANDARD { get; set; }
+		public double STANDARD { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_H.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_H.cs
index 90a1857..6543c59 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_H.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_H.cs
@@ -63,7 +63,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal REVIEWQTY { get; set; }
+		public double REVIEWQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -91,55 +91,55 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SAMPLEQTY { get; set; }
+		public double SAMPLEQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SAMPLEPASSQTY { get; set; }
+		public double SAMPLEPASSQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SAMPLENGQTY { get; set; }
+		public double SAMPLENGQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal BEGINQTY { get; set; }
+		public double BEGINQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ENDQTY { get; set; }
+		public double ENDQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal FATALQTY { get; set; }
+		public double FATALQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SERIOUSQTY { get; set; }
+		public double SERIOUSQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal COMMONLYQTY { get; set; }
+		public double COMMONLYQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SLIGHTQTY { get; set; }
+		public double SLIGHTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QCQTY { get; set; }
+		public double QCQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal RECEIVEQTY { get; set; }
+		public double RECEIVEQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal REJECTQTY { get; set; }
+		public double REJECTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INSTOCKQTY { get; set; }
+		public double INSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -163,7 +163,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT.cs
index a1c15ea..fce0065 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal REJECTQTY { get; set; }
+		public double REJECTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -91,7 +91,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal RETURNEDQTY { get; set; }
+		public double RETURNEDQTY { get; set; }
 		#endregion
 
 		#region 铏氭嫙灞炴��
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT_D.cs
index 7d3a741..031ed1e 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_REJECT_D.cs
@@ -63,7 +63,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal RETURNQTY { get; set; }
+		public double RETURNQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_S.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_S.cs
index 4e0b267..6c1b68d 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_S.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_IQC_S.cs
@@ -51,19 +51,19 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal FATALQTY { get; set; }
+		public double FATALQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SERIOUSQTY { get; set; }
+		public double SERIOUSQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal COMMONLYQTY { get; set; }
+		public double COMMONLYQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SLIGHTQTY { get; set; }
+		public double SLIGHTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_LOCATION.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_LOCATION.cs
index 301d978..e753e2d 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_LOCATION.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_LOCATION.cs
@@ -79,7 +79,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal MAXSIZE { get; set; } = 0;
+		public double MAXSIZE { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_D.cs
index 322480f..46131ea 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_D.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_SCAN.cs
index f741f5f..3225e5a 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_OTHERINSTOCK_SCAN.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_OTHEROUTSTOCK_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_OTHEROUTSTOCK_D.cs
index a5347ba..738c423 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_OTHEROUTSTOCK_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_OTHEROUTSTOCK_D.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_D.cs
index 8c95396..18d31c5 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_D.cs
@@ -51,35 +51,35 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODQTY { get; set; }
+		public double GOODQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGQTY { get; set; }
+		public double NGQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; }
+		public double GOODINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGINSTOCKQTY { get; set; }
+		public double NGINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; }
+		public double SCRAPINSTCOKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_SCAN.cs
index 66300ea..2e2b15a 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCERETURN_SCAN.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_D.cs
index 6f6a79b..dc19230 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_D.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_SCAN.cs
index dd269fb..4564b8c 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_OUTSOURCE_SCAN.cs
@@ -51,7 +51,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PO_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PO_D.cs
index a28872d..0b370ea 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PO_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PO_D.cs
@@ -55,23 +55,23 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal? ARRIVALQTY { get; set; }
+		public double? ARRIVALQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INSTOCKQTY { get; set; }
+		public double INSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal RETURNQTY { get; set; }
+		public double RETURNQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -79,35 +79,35 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal TAXRATE { get; set; }
+		public double TAXRATE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRICE { get; set; }
+		public double PRICE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal TAXPRICE { get; set; }
+		public double TAXPRICE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal AMOUNT { get; set; }
+		public double AMOUNT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ALLAMOUNT { get; set; }
+		public double ALLAMOUNT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal TAXAMOUNT { get; set; }
+		public double TAXAMOUNT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal DISCOUNTRATE { get; set; }
+		public double DISCOUNTRATE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal DISCOUNT { get; set; }
+		public double DISCOUNT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PO_H.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PO_H.cs
index 3eec1d5..fee11cf 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PO_H.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PO_H.cs
@@ -51,7 +51,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal EXCHANGERATE { get; set; }
+		public double EXCHANGERATE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_D.cs
index 41695f5..5a45123 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_D.cs
@@ -51,15 +51,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INSTOCKQTY { get; set; }
+		public double INSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_SCAN.cs
index e9b309e..06e25d6 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDINSTOCK_SCAN.cs
@@ -67,7 +67,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal Qty { get; set; } = 0;
+		public double Qty { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDPICK_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDPICK_D.cs
index a44aac5..caf8cd2 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDPICK_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDPICK_D.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_D.cs
index 0295a5c..d82bc56 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_D.cs
@@ -51,7 +51,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -91,31 +91,31 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODQTY { get; set; } = 0;
+		public double GOODQTY { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGQTY { get; set; } = 0;
+		public double NGQTY { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; } = 0;
+		public double GOODINSTOCKQTY { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NgINSTOCKQTY { get; set; } = 0;
+		public double NgINSTOCKQTY { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPQTY { get; set; } = 0;
+		public double SCRAPQTY { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; } = 0;
+		public double SCRAPINSTCOKQTY { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; } = 0;
+		public double INVENTORYQTY { get; set; } = 0;
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_SCAN.cs
index fca9289..8ae3ff2 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRDRETURN_SCAN.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESOUT_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESOUT_D.cs
index 0e00dc9..14fe801 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESOUT_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESOUT_D.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_D.cs
index 3a58e99..5bf5c1a 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_D.cs
@@ -51,35 +51,35 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODQTY { get; set; }
+		public double GOODQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGQTY { get; set; }
+		public double NGQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; }
+		public double GOODINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGINSTOCKQTY { get; set; }
+		public double NGINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; }
+		public double SCRAPINSTCOKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_SCAN.cs
index 696a6ac..8529ce3 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSALESRETURN_SCAN.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_D.cs
index 4956633..257af19 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_D.cs
@@ -51,35 +51,35 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODQTY { get; set; }
+		public double GOODQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGQTY { get; set; }
+		public double NGQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; }
+		public double GOODINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGINSTOCKQTY { get; set; }
+		public double NGINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; }
+		public double SCRAPINSTCOKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_SCAN.cs
index efd3616..1ad47d5 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_PRODUCTSCRAP_SCAN.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_D.cs
index 6c7a8b3..53498e8 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_D.cs
@@ -55,19 +55,19 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTYPASS { get; set; }
+		public double QTYPASS { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INSTOCKQTY { get; set; }
+		public double INSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal RETURNQTY { get; set; }
+		public double RETURNQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -79,19 +79,19 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRICE { get; set; }
+		public double PRICE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal TAXPRICE { get; set; }
+		public double TAXPRICE { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal AMOUNT { get; set; }
+		public double AMOUNT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ALLAMOUNT { get; set; }
+		public double ALLAMOUNT { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -115,7 +115,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCANQTY { get; set; }
+		public double SCANQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCAN.cs
index 0c2afc5..7060434 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCAN.cs
@@ -59,7 +59,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCANQTY { get; set; }
+		public double SCANQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCANTEMP.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCANTEMP.cs
index ed17f86..ecf58f6 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCANTEMP.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_RECEIPT_SCANTEMP.cs
@@ -59,7 +59,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCANQTY { get; set; }
+		public double SCANQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SCAN_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SCAN_D.cs
index c5025c5..83d58ac 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SCAN_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SCAN_D.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal? SCANQTY { get; set; }
+		public double? SCANQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GIVEQTY { get; set; }
+		public double GIVEQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_D.cs
index f3d2367..3340d12 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_D.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_SCAN.cs
index aab7454..6dbde47 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SELFPRODUCTINSTOCK_SCAN.cs
@@ -51,7 +51,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SRMPRODSNList.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SRMPRODSNList.cs
index 9fa4a8a..c9bd1f7 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SRMPRODSNList.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SRMPRODSNList.cs
@@ -59,7 +59,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal IncludeQty { get; set; }
+		public double IncludeQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList.cs
index feb77e9..5fca18a 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList.cs
@@ -63,11 +63,11 @@
 		/// <summary>
 		/// /
 		/// </summary>
-		public decimal IncludeQty { get; set; }
+		public double IncludeQty { get; set; }
 		/// <summary>
 		/// /
 		/// </summary>
-		public decimal SmallIncludeCount { get; set; }
+		public double SmallIncludeCount { get; set; }
 		/// <summary>
 		/// /
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1.cs
index c5b0a90..c64a34a 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1.cs
@@ -63,11 +63,11 @@
 		/// <summary>
 		/// /
 		/// </summary>
-		public decimal IncludeQty { get; set; }
+		public double IncludeQty { get; set; }
 		/// <summary>
 		/// /
 		/// </summary>
-		public decimal SmallIncludeCount { get; set; }
+		public double SmallIncludeCount { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1_copy1.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1_copy1.cs
index 953e77a..9189b2e 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1_copy1.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SRMSNList1_copy1.cs
@@ -63,11 +63,11 @@
 		/// <summary>
 		/// /
 		/// </summary>
-		public decimal IncludeQty { get; set; }
+		public double IncludeQty { get; set; }
 		/// <summary>
 		/// /
 		/// </summary>
-		public decimal SmallIncludeCount { get; set; }
+		public double SmallIncludeCount { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN.cs
index 733ce03..be76596 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN.cs
@@ -94,11 +94,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal grossWeight { get; set; }
+		public double grossWeight { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal netWeight { get; set; }
+		public double netWeight { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -110,7 +110,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal totalPackingQty { get; set; }
+		public double totalPackingQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN_LINES.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN_LINES.cs
index 1cabd70..3fa0e8e 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN_LINES.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SRM_ASN_LINES.cs
@@ -70,11 +70,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal deliveryQty { get; set; }
+		public double deliveryQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal deliveryValuationQty { get; set; }
+		public double deliveryValuationQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -94,11 +94,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal grossWeight { get; set; }
+		public double grossWeight { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal netWeight { get; set; }
+		public double netWeight { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -110,7 +110,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal packingQty { get; set; }
+		public double packingQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -186,15 +186,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal prodLength { get; set; }
+		public double prodLength { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal prodWidth { get; set; }
+		public double prodWidth { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal prodHeight { get; set; }
+		public double prodHeight { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINFO.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINFO.cs
index cd2a1dc..e4dc7d0 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINFO.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINFO.cs
@@ -39,11 +39,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LOCKQTY { get; set; }
+		public double LOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B.cs
index 7bec153..891ee5b 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal CURRENTQTY { get; set; }
+		public double CURRENTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal CHECKQTY { get; set; }
+		public double CHECKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B_LOG.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B_LOG.cs
index 33101ef..fc48e7e 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B_LOG.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_B_LOG.cs
@@ -55,7 +55,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_D.cs
index 50317fc..19aedf4 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGEINVENTORY_D.cs
@@ -43,15 +43,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ERPQTY { get; set; }
+		public double ERPQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal WMSQTY { get; set; }
+		public double WMSQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal CHECKQTY { get; set; }
+		public double CHECKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGELOTINFO.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGELOTINFO.cs
index 69e4299..d01fedf 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGELOTINFO.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_STORAGELOTINFO.cs
@@ -43,7 +43,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_D.cs
index 990825b..066949b 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_D.cs
@@ -51,35 +51,35 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODQTY { get; set; }
+		public double GOODQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGQTY { get; set; }
+		public double NGQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; }
+		public double GOODINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal NGINSTOCKQTY { get; set; }
+		public double NGINSTOCKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; }
+		public double SCRAPINSTCOKQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_SCAN.cs
index 10c08d1..cfe559b 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_SUPPLIERRETURN_SCAN.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_D.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_D.cs
index 96afe07..b15565c 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_D.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_D.cs
@@ -51,15 +51,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal OUTQTY { get; set; }
+		public double OUTQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INQTY { get; set; }
+		public double INQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
@@ -107,7 +107,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; } = 0;
+		public double INVENTORYQTY { get; set; } = 0;
 		#endregion
 
 		#region 铏氭嫙灞炴��
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_SCAN.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_SCAN.cs
index 91494a3..14ddf42 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_SCAN.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_TRANSFER_SCAN.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WMS_WORKSHOPLOTINFO.cs b/Tiger.Model.Net/Entitys/Minsun/WMS_WORKSHOPLOTINFO.cs
index 7709216..9d2b8e9 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WMS_WORKSHOPLOTINFO.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WMS_WORKSHOPLOTINFO.cs
@@ -43,11 +43,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal INITIALQTY { get; set; }
+		public double INITIALQTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WmsIQCResult.cs b/Tiger.Model.Net/Entitys/Minsun/WmsIQCResult.cs
index c5dd464..44d5d21 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WmsIQCResult.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WmsIQCResult.cs
@@ -59,7 +59,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ReceiveQty { get; set; }
+		public double ReceiveQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WmsInvInTransaction.cs b/Tiger.Model.Net/Entitys/Minsun/WmsInvInTransaction.cs
index e8eb787..9431485 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WmsInvInTransaction.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WmsInvInTransaction.cs
@@ -75,7 +75,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal Qty { get; set; }
+		public double Qty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WmsInvReceiptDetail.cs b/Tiger.Model.Net/Entitys/Minsun/WmsInvReceiptDetail.cs
index 2768988..ae78cd6 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WmsInvReceiptDetail.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WmsInvReceiptDetail.cs
@@ -67,15 +67,15 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PlanQty { get; set; }
+		public double PlanQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QualifyQty { get; set; }
+		public double QualifyQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ActQty { get; set; }
+		public double ActQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WmsInvTransferDetail.cs b/Tiger.Model.Net/Entitys/Minsun/WmsInvTransferDetail.cs
index 2bbe989..f003d7b 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WmsInvTransferDetail.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WmsInvTransferDetail.cs
@@ -51,11 +51,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal PlanQty { get; set; }
+		public double PlanQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal ActQty { get; set; }
+		public double ActQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WmsInvTransferLog.cs b/Tiger.Model.Net/Entitys/Minsun/WmsInvTransferLog.cs
index ba83356..ed08bbe 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WmsInvTransferLog.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WmsInvTransferLog.cs
@@ -47,7 +47,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal Qty { get; set; }
+		public double Qty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WmsItemLot.cs b/Tiger.Model.Net/Entitys/Minsun/WmsItemLot.cs
index d705cd6..5717d2a 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WmsItemLot.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WmsItemLot.cs
@@ -59,11 +59,11 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LotQty { get; set; }
+		public double LotQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LeftQty { get; set; }
+		public double LeftQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WmsStorageInfo.cs b/Tiger.Model.Net/Entitys/Minsun/WmsStorageInfo.cs
index ead2481..4197e52 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WmsStorageInfo.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WmsStorageInfo.cs
@@ -43,7 +43,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal StorageQty { get; set; }
+		public double StorageQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/WmsStorageLotInfo.cs b/Tiger.Model.Net/Entitys/Minsun/WmsStorageLotInfo.cs
index 259f021..7030153 100644
--- a/Tiger.Model.Net/Entitys/Minsun/WmsStorageLotInfo.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/WmsStorageLotInfo.cs
@@ -47,7 +47,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal LotQty { get; set; }
+		public double LotQty { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/Minsun/Wms_ERPMaterialTotal.cs b/Tiger.Model.Net/Entitys/Minsun/Wms_ERPMaterialTotal.cs
index 09da7d6..8d662e8 100644
--- a/Tiger.Model.Net/Entitys/Minsun/Wms_ERPMaterialTotal.cs
+++ b/Tiger.Model.Net/Entitys/Minsun/Wms_ERPMaterialTotal.cs
@@ -39,7 +39,7 @@
 		/// <summary>
 		///  
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		///  
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/InFinished.cs b/Tiger.Model.Net/Entitys/WMS/Api/InFinished.cs
index 6feac63..c8fa9ff 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/InFinished.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/InFinished.cs
@@ -29,9 +29,9 @@
         public string RackCode { get; set; }
         public string RackType { get; set; }
         public bool IsSmartRack { get; set; }
-        public decimal Capacity { get; set; }
+        public double Capacity { get; set; }
         public int LotCount { get; set; }
-        public decimal MaxSize { get; set; }
+        public double MaxSize { get; set; }
         public int ShelfType { get; set; }
         public bool IsScanShelf { get; set; }
     }
@@ -50,8 +50,8 @@
         public bool isCutting { get; set; }
         public string SN { get; set; }
         public string ItemCode { get; set; }
-        public decimal Qty { get; set; }
-        public decimal CutQty { get; set; }
+        public double Qty { get; set; }
+        public double CutQty { get; set; }
         public string regionCode { get; set; }
         public string locationCode { get; set; }
         public string ScanAfCut { get; set; }
@@ -63,8 +63,8 @@
         public string MaterialCode { get; set; }
         public string MaterialName { get; set; }
         public string MaterialStandard { get; set; }
-        public decimal InitialQty { get; set; }
-        public decimal CurrentQty { get; set; }
+        public double InitialQty { get; set; }
+        public double CurrentQty { get; set; }
         public string Unit { get; set; }
         public DateTime DateCode { get; set; }
         public DateTime? Period { get; set; }
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/IncomingMatStorage.cs b/Tiger.Model.Net/Entitys/WMS/Api/IncomingMatStorage.cs
index fa6ff19..ac87459 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/IncomingMatStorage.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/IncomingMatStorage.cs
@@ -33,7 +33,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal qty { get; set; }
+        public double qty { get; set; }
         /// <summary>
         /// 鎵规鏃ユ湡
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/Input_Entitys.cs b/Tiger.Model.Net/Entitys/WMS/Api/Input_Entitys.cs
index 17fa3c4..9ba6667 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/Input_Entitys.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/Input_Entitys.cs
@@ -70,7 +70,7 @@
     public class RePrintLabelBase
     {
         public string BatchNo { get; set; }
-        public decimal BatchQty { get; set; }
+        public double BatchQty { get; set; }
         public List<RePrintLabelEntity> SnList { get; set; }=new List<RePrintLabelEntity>();
     }
 
@@ -83,6 +83,6 @@
     {
         public string ID { get; set; }
         public string SN { get; set; }
-        public decimal Qty { get; set; }
+        public double Qty { get; set; }
     }
 }
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/LightEntityInput.cs b/Tiger.Model.Net/Entitys/WMS/Api/LightEntityInput.cs
index 7b224fc..f4dc480 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/LightEntityInput.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/LightEntityInput.cs
@@ -34,7 +34,7 @@
         public string ItemCode { get; set; }
         public string ItemName { get; set; }
         public string ItemDesc { get; set; }
-        public decimal Qty { get; set; }
+        public double Qty { get; set; }
         public string regionCode { get; set; }
         public string locationCode { get; set; }
         public string Unit { get; set; }
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/OutOtherEntitys.cs b/Tiger.Model.Net/Entitys/WMS/Api/OutOtherEntitys.cs
index 89eca65..b36f1b1 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/OutOtherEntitys.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/OutOtherEntitys.cs
@@ -21,7 +21,7 @@
         public List<string> OffLocations { get; set; }
         public List<string> OffRacks { get; set; }
         public List<BacodeRackLocation> SuggestBarcodes { get; set; }
-        public decimal PickQty { get; set; }
+        public double PickQty { get; set; }
         public string Qrcode { get; set; }
     }
 
@@ -33,8 +33,8 @@
         public string MaterialName { get; set; }
         public string MaterialStandard { get; set; }
         public string UnitCode { get; set; }
-        public decimal PRQty { get; set; }
-        public decimal Qty { get; set; }
+        public double PRQty { get; set; }
+        public double Qty { get; set; }
         public DateTime? DeliveryDate { get; set; }
         public string WarehouseCode { get; set; }
         public string WarehouseName { get; set; }
@@ -55,8 +55,8 @@
         public bool isCutting { get; set; }
         public string SN { get; set; }
         public string ItemCode { get; set; }
-        public decimal Qty { get; set; }
-        public decimal CutQty { get; set; }
+        public double Qty { get; set; }
+        public double CutQty { get; set; }
         public string regionCode { get; set; }
         public string locationCode { get; set; }
         public string Status { get; set; }
@@ -78,6 +78,6 @@
         public string WHCode { get; set; }
         public string LocationCode { get; set; }
         public string SN { get; set; }
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
     }
 }
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/Output_Entitys.cs b/Tiger.Model.Net/Entitys/WMS/Api/Output_Entitys.cs
index 5750149..5eb934f 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/Output_Entitys.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/Output_Entitys.cs
@@ -38,9 +38,9 @@
         public string LocationCode { get; set; }
         public string RackCode => ShelfCode;
         public bool IsSmartRack { get; set; }
-        public decimal Capacity { get; set; }
+        public double Capacity { get; set; }
         public int LotCount { get; set; }
-        public decimal MaxSize { get; set; }
+        public double MaxSize { get; set; }
         public int ShelfType { get; set; }
         public bool IsScanShelf { get; set; }
         public WMS_SHELF Shelf { get; set; }
@@ -56,8 +56,8 @@
         public string SN { get; set; }
         public string ItemCode { get; set; }
         public string MaterialName { get; set; }
-        public decimal Qty { get; set; }
-        public decimal CutQty { get; set; }
+        public double Qty { get; set; }
+        public double CutQty { get; set; }
         public string regionCode { get; set; }
         public string locationCode { get; set; }
         public string ScanAfCut { get; set; }
@@ -70,7 +70,7 @@
         public string Barcode { get; set; }
         public string MaterialCode { get; set; }
         public string MaterialName { get; set; }
-        public decimal CurrentQty { get; set; }
+        public double CurrentQty { get; set; }
         public string Unit { get; set; }
         public DateTime DateCode { get; set; }
         public string WarehouseCode { get; set; }
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/ProdReqInput.cs b/Tiger.Model.Net/Entitys/WMS/Api/ProdReqInput.cs
index 542b291..59ef044 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/ProdReqInput.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/ProdReqInput.cs
@@ -22,8 +22,8 @@
         public bool isCutting { get; set; }
         public string SN { get; set; }
         public string ItemCode { get; set; }
-        public decimal Qty { get; set; }
-        public decimal CutQty { get; set; }
+        public double Qty { get; set; }
+        public double CutQty { get; set; }
         public string regionCode { get; set; }
         public string locationCode { get; set; }
         public string ScanAfCut { get; set; }
@@ -59,12 +59,12 @@
         public virtual string SupplierCode { get; set; }
         public virtual DateTime DateCode { get; set; }
         public virtual string LotNo { get; set; }
-        public virtual decimal ScanQty { get; set; }
+        public virtual double ScanQty { get; set; }
         public virtual string Unit { get; set; }
         public virtual string CartonNo { get; set; }
         public virtual string PalletNo { get; set; }
-        public virtual decimal TotalScanedQty { get; set; }
-        public virtual decimal DeliveryQty { get; set; }
+        public virtual double TotalScanedQty { get; set; }
+        public virtual double DeliveryQty { get; set; }
     }
 
     public class OutSplitSubmit
@@ -72,7 +72,7 @@
         public string SupplierCode { get; set; }
         public string nSplitSn { get; set; }
         public string nRemainSn { get; set; }
-        //public decimal CutQty { get; set; }
+        //public double CutQty { get; set; }
     }
 
     public class OutSplitInput: BaseInput
@@ -96,7 +96,7 @@
         public string WHCode { get; set; }
         public string LocationCode { get; set; }
         public string SN { get; set; }
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
     }
 
     public enum ReqType
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/RePrint_Entitys.cs b/Tiger.Model.Net/Entitys/WMS/Api/RePrint_Entitys.cs
index af6ed48..64bd0ab 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/RePrint_Entitys.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/RePrint_Entitys.cs
@@ -18,8 +18,8 @@
         public string sapItemCode { get; set; }
         public string itemDesc { get; set; }
         public string WoBatch { get; set; }
-        public decimal batchQty { get; set; }
-        public decimal qty { get; set; }
+        public double batchQty { get; set; }
+        public double qty { get; set; }
         public string qrCode { get; set; }
     }
 
@@ -35,8 +35,8 @@
         public string DocNo { get; set; }
         public string WorkOrder { get; set; }
         public string WoBatch { get; set; }
-        public decimal PackQty { get; set; }
-        public decimal Qty { get; set; }
+        public double PackQty { get; set; }
+        public double Qty { get; set; }
     }
 
     public class SemiTemplateQty
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/ReprintEntitys.cs b/Tiger.Model.Net/Entitys/WMS/Api/ReprintEntitys.cs
index 7df8b4d..e05845d 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/ReprintEntitys.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/ReprintEntitys.cs
@@ -24,7 +24,7 @@
         public virtual DateTime DateCode { get; set; }
         public virtual string LotNo { get; set; }
         public virtual string StateFlag { get; set; }
-        public virtual decimal ScanQty { get; set; }
+        public virtual double ScanQty { get; set; }
         public virtual string Unit { get; set; }
         public virtual string CartonNo { get; set; }
         public virtual string PalletNo { get; set; }
@@ -38,7 +38,7 @@
         public string Barcode { get; set; }
         public string MaterialCode { get; set; }
 
-        public decimal Qty { get; set; }
+        public double Qty { get; set; }
     }
 
     public class ReturnBarcodeReponse
@@ -52,7 +52,7 @@
     {
         public string Barcode { get; set; }
         public string ActionType { get; set; }
-        public decimal Qty { get; set; }
+        public double Qty { get; set; }
         public string PageType { get; set; }
 
         public ReceiptScanTempOutput Result { get; set; }
@@ -79,7 +79,7 @@
         public virtual DateTime DateCode { get; set; }
         public virtual string LotNo { get; set; }
         public virtual string StateFlag { get; set; }
-        public virtual decimal ScanQty { get; set; }
+        public virtual double ScanQty { get; set; }
         public virtual string Unit { get; set; }
         public virtual string CartonNo { get; set; }
         public virtual string PalletNo { get; set; }
@@ -97,11 +97,11 @@
         public virtual DateTime DateCode { get; set; }
         public virtual string LotNo { get; set; }
         public virtual string StateFlag { get; set; }
-        public virtual decimal ScanQty { get; set; }
+        public virtual double ScanQty { get; set; }
         public virtual string Unit { get; set; }
         public virtual string CartonNo { get; set; }
         public virtual string PalletNo { get; set; }
-        public virtual decimal TotalScanedQty { get; set; }
-        public virtual decimal DeliveryQty { get; set; }
+        public virtual double TotalScanedQty { get; set; }
+        public virtual double DeliveryQty { get; set; }
     }
 }
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/Resell.cs b/Tiger.Model.Net/Entitys/WMS/Api/Resell.cs
index cfdd5ec..3c24393 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/Resell.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/Resell.cs
@@ -29,9 +29,9 @@
         public string RackCode { get; set; }
         public string RackType { get; set; }
         public bool IsSmartRack { get; set; }
-        public decimal Capacity { get; set; }
+        public double Capacity { get; set; }
         public int LotCount { get; set; }
-        public decimal MaxSize { get; set; }
+        public double MaxSize { get; set; }
         public int ShelfType { get; set; }
         public bool IsScanShelf { get; set; }
     }
diff --git a/Tiger.Model.Net/Entitys/WMS/Api/TransferEntitys.cs b/Tiger.Model.Net/Entitys/WMS/Api/TransferEntitys.cs
index 6a45642..7673d3c 100644
--- a/Tiger.Model.Net/Entitys/WMS/Api/TransferEntitys.cs
+++ b/Tiger.Model.Net/Entitys/WMS/Api/TransferEntitys.cs
@@ -14,7 +14,7 @@
         public string SN { get; set; }
         public string ItemCode { get; set; }
         public string ItemName { get; set; }
-        public decimal Qty { get; set; }
+        public double Qty { get; set; }
         public string LocationCode { get; set; }
     }
 
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_IQC.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_IQC.cs
index 7069be5..85b4328 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_IQC.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_IQC.cs
@@ -57,7 +57,7 @@
 		/// <summary>
 		/// 瀹℃牳鏁伴噺
 		/// </summary>
-		public decimal REVIEWQTY { get; set; }
+		public double REVIEWQTY { get; set; }
 		/// <summary>
 		/// 绾у埆
 		/// </summary>
@@ -85,55 +85,55 @@
 		/// <summary>
 		/// 鏍峰搧鏁伴噺
 		/// </summary>
-		public decimal SAMPLEQTY { get; set; }
+		public double SAMPLEQTY { get; set; }
 		/// <summary>
 		/// 鏍峰搧閫氳繃鏁伴噺
 		/// </summary>
-		public decimal SAMPLEPASSQTY { get; set; }
+		public double SAMPLEPASSQTY { get; set; }
 		/// <summary>
 		/// 鏍峰搧澶辫触鏁伴噺
 		/// </summary>
-		public decimal SAMPLENGQTY { get; set; }
+		public double SAMPLENGQTY { get; set; }
 		/// <summary>
 		/// 寮�濮嬫暟閲�
 		/// </summary>
-		public decimal BEGINQTY { get; set; }
+		public double BEGINQTY { get; set; }
 		/// <summary>
 		/// 缁撴潫鏁伴噺
 		/// </summary>
-		public decimal ENDQTY { get; set; }
+		public double ENDQTY { get; set; }
 		/// <summary>
 		/// 鑷村懡缂洪櫡鏁伴噺
 		/// </summary>
-		public decimal FATALQTY { get; set; }
+		public double FATALQTY { get; set; }
 		/// <summary>
 		/// 涓ラ噸缂洪櫡鏁伴噺
 		/// </summary>
-		public decimal SERIOUSQTY { get; set; }
+		public double SERIOUSQTY { get; set; }
 		/// <summary>
 		/// 涓�鑸己闄锋暟閲�
 		/// </summary>
-		public decimal COMMONLYQTY { get; set; }
+		public double COMMONLYQTY { get; set; }
 		/// <summary>
 		/// 杞诲井缂洪櫡鏁伴噺
 		/// </summary>
-		public decimal SLIGHTQTY { get; set; }
+		public double SLIGHTQTY { get; set; }
 		/// <summary>
 		/// 妫�楠屾暟閲�
 		/// </summary>
-		public decimal QCQTY { get; set; }
+		public double QCQTY { get; set; }
 		/// <summary>
 		/// 鍏佹敹鏁伴噺
 		/// </summary>
-		public decimal RECEIVEQTY { get; set; }
+		public double RECEIVEQTY { get; set; }
 		/// <summary>
 		/// 鎷掓敹鏁伴噺
 		/// </summary>
-		public decimal REJECTQTY { get; set; }
+		public double REJECTQTY { get; set; }
 		/// <summary>
 		/// 鍏ュ簱鏁伴噺
 		/// </summary>
-		public decimal INSTOCKQTY { get; set; }
+		public double INSTOCKQTY { get; set; }
 		/// <summary>
 		/// 澶囨敞
 		/// </summary>
@@ -141,7 +141,7 @@
 		/// <summary>
 		/// 鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
 		/// ERP鍗曟嵁鍙风爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_DTL.cs
index 934927b..27bb947 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_DTL.cs
@@ -7,113 +7,113 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:其他入库单(ERP)明细
+	/// 瀹炰綋锛氬叾浠栧叆搴撳崟(ERP)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("BIZ_ERP_OTH_IN_DTL")]
 	public class BIZ_ERP_OTH_IN_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:其他入库单(ERP)明细
+		/// 瀹炰綋锛氬叾浠栧叆搴撳崟(ERP)鏄庣粏
 		/// </summary>
 		public BIZ_ERP_OTH_IN_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 单据号码
+		/// 鍗曟嵁鍙风爜
 		/// </summary>
 		public string BILLCODE { get; set; }
 		/// <summary>
-		/// 单据行号
+		/// 鍗曟嵁琛屽彿
 		/// </summary>
 		public string BILLLINE { get; set; }
 		/// <summary>
-		/// 单据行状态
+		/// 鍗曟嵁琛岀姸鎬�
 		/// </summary>
 		public int LINESTATUS { get; set; }
 		/// <summary>
-		/// 物料代码
+		/// 鐗╂枡浠g爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 单位数量
+		/// 鍗曚綅鏁伴噺
 		/// </summary>
 		public string UNITCODE { get; set; }
 		/// <summary>
-		/// 需求数量
+		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
-		/// 数量
+		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
-		/// 送货时间
+		/// 閫佽揣鏃堕棿
 		/// </summary>
 		public DateTime DELIVERYDATE { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 仓库代码
+		/// 浠撳簱浠g爜
 		/// </summary>
 		public string WAREHOUSECODE { get; set; }
 		/// <summary>
-		/// 来源类型
+		/// 鏉ユ簮绫诲瀷
 		/// </summary>
 		public int SOURCETYPE { get; set; }
 		/// <summary>
-		/// 来源代码
+		/// 鏉ユ簮浠g爜
 		/// </summary>
 		public string SOURCECODE { get; set; }
 		/// <summary>
-		/// 来源行号
+		/// 鏉ユ簮琛屽彿
 		/// </summary>
 		public string SOURCELINE { get; set; }
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// ERP单据号码
+		/// ERP鍗曟嵁鍙风爜
 		/// </summary>
 		public string ERP_BILL_CODE { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 外键属性
-		/*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ERP_OTH_IN_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_OTH_IN_DTLId))]//ClassA表中的BIZ_ERP_OTH_IN_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_OTH_IN_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+		#region 澶栭敭灞炴��
+		/*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_ERP_OTH_IN_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_OTH_IN_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_ERP_OTH_IN_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_OTH_IN_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_SN.cs
index 52bfee2..4be62af 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_IN_SN.cs
@@ -34,7 +34,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 涓氬姟鍗曟嵁鍙风爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_DTL.cs
index 1e15331..cf6ba98 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_DTL.cs
@@ -45,11 +45,11 @@
 		/// <summary>
 		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 閫佽揣鏃堕棿
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_SN.cs
index b644490..5a12fdc 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_OTH_OUT_SN.cs
@@ -41,7 +41,7 @@
 		/// <summary>
 		/// 鐗╂枡鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鐘舵��(0Init鍒濆鍖東1WaitPick寰呮嫞鏂檤2OffShelf宸蹭笅鏋秥3Picked宸叉崱鏂檤4Sended宸插彂鏂檤5Loaded宸蹭笂鏂檤6UseUp宸茶�楀敖|7Returned宸查��鏂�)
 		/// </summary>
@@ -57,7 +57,7 @@
 		/// <summary>
 		/// 宸插垎閰嶆暟閲�
 		/// </summary>
-		public decimal ALLOC_QTY { get; set; }
+		public double ALLOC_QTY { get; set; }
 		/// <summary>
 		/// 鏉ユ簮鍗曟嵁缂栫爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO.cs
index 2243b64..051b52d 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO.cs
@@ -54,7 +54,7 @@
         /// <summary>
         /// 姹囩巼
         /// </summary>
-        public decimal EXCHANGERATE { get; set; }
+        public double EXCHANGERATE { get; set; }
 
         /// <summary>
         /// 鐗╂枡缂栫爜
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO_DTL.cs
index b988ec7..b7d1940 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PO_DTL.cs
@@ -7,334 +7,334 @@
 namespace Tiger.Model
 {
     /// <summary>
-    /// 实体:采购单(ERP)明细
+    /// 瀹炰綋锛氶噰璐崟(ERP)鏄庣粏
     /// </summary>
     [Description("Primary:ID")]
     [Serializable]
     [SugarTable("BIZ_ERP_PO_DTL")]
     public class BIZ_ERP_PO_DTL : DbEntityWithAuth
     {
-        #region 构造函数
+        #region 鏋勯�犲嚱鏁�
 
         /// <summary>
-        /// 实体:采购单(ERP)明细
+        /// 瀹炰綋锛氶噰璐崟(ERP)鏄庣粏
         /// </summary>
         public BIZ_ERP_PO_DTL()
         { }
 
-        #endregion 构造函数
+        #endregion 鏋勯�犲嚱鏁�
 
-        #region 公共属性
+        #region 鍏叡灞炴��
 
         /// <summary>
-        /// 单据ID
+        /// 鍗曟嵁ID
         /// </summary>
         public string BILLID { get; set; }
 
         /// <summary>
-        /// 单据号码
+        /// 鍗曟嵁鍙风爜
         /// </summary>
         public string BILLCODE { get; set; }
 
         /// <summary>
-        /// 单据行号
+        /// 鍗曟嵁琛屽彿
         /// </summary>
         public string BILLLINE { get; set; }
 
         /// <summary>
-        /// 物料代码
+        /// 鐗╂枡浠g爜
         /// </summary>
         public string MATERIALCODE { get; set; }
 
         /// <summary>
-        /// 单位代码
+        /// 鍗曚綅浠g爜
         /// </summary>
         public string UNITCODE { get; set; }
 
         /// <summary>
-        /// 行单据状态
+        /// 琛屽崟鎹姸鎬�
         /// </summary>
         public int LINESTATUS { get; set; }
 
         /// <summary>
-        /// 需求数量
+        /// 闇�姹傛暟閲�
         /// </summary>
-        public decimal PRQTY { get; set; }
+        public double PRQTY { get; set; }
 
         /// <summary>
-        /// 数量
+        /// 鏁伴噺
         /// </summary>
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
 
         /// <summary>
-        /// 送货数量
+        /// 閫佽揣鏁伴噺
         /// </summary>
-        public decimal ARRIVALQTY { get; set; }
+        public double ARRIVALQTY { get; set; }
 
         /// <summary>
-        /// 入库数量
+        /// 鍏ュ簱鏁伴噺
         /// </summary>
-        public decimal INSTOCKQTY { get; set; }
+        public double INSTOCKQTY { get; set; }
 
         /// <summary>
-        /// 退货数量
+        /// 閫�璐ф暟閲�
         /// </summary>
-        public decimal RETURNQTY { get; set; }
+        public double RETURNQTY { get; set; }
 
         /// <summary>
-        /// 是否赠品
+        /// 鏄惁璧犲搧
         /// </summary>
         public int ISGIVEAWAY { get; set; }
 
         /// <summary>
-        /// 税率
+        /// 绋庣巼
         /// </summary>
-        public decimal TAXRATE { get; set; }
+        public double TAXRATE { get; set; }
 
         /// <summary>
-        /// 价格
+        /// 浠锋牸
         /// </summary>
-        public decimal PRICE { get; set; }
+        public double PRICE { get; set; }
 
         /// <summary>
-        /// 含税价格
+        /// 鍚◣浠锋牸
         /// </summary>
-        public decimal TAXPRICE { get; set; }
+        public double TAXPRICE { get; set; }
 
         /// <summary>
-        /// 总价
+        /// 鎬讳环
         /// </summary>
-        public decimal AMOUNT { get; set; }
+        public double AMOUNT { get; set; }
 
         /// <summary>
-        /// 所有总价
+        /// 鎵�鏈夋�讳环
         /// </summary>
-        public decimal ALLAMOUNT { get; set; }
+        public double ALLAMOUNT { get; set; }
 
         /// <summary>
-        /// 含税总价
+        /// 鍚◣鎬讳环
         /// </summary>
-        public decimal TAXAMOUNT { get; set; }
+        public double TAXAMOUNT { get; set; }
 
         /// <summary>
-        /// 折扣率
+        /// 鎶樻墸鐜�
         /// </summary>
-        public decimal DISCOUNTRATE { get; set; }
+        public double DISCOUNTRATE { get; set; }
 
         /// <summary>
-        /// 折扣金额
+        /// 鎶樻墸閲戦
         /// </summary>
-        public decimal DISCOUNT { get; set; }
+        public double DISCOUNT { get; set; }
 
         /// <summary>
-        /// 供应商物料编码
+        /// 渚涘簲鍟嗙墿鏂欑紪鐮�
         /// </summary>
         public string SUPPLIERMATERIALCODE { get; set; }
 
         /// <summary>
-        /// 送货日期
+        /// 閫佽揣鏃ユ湡
         /// </summary>
         public DateTime DELIVERYDATE { get; set; } = DateTime.MinValue;
 
         /// <summary>
-        /// 承诺日期
+        /// 鎵胯鏃ユ湡
         /// </summary>
         public DateTime PROMISEDATE { get; set; } = DateTime.MinValue;
 
         /// <summary>
-        /// 备注
+        /// 澶囨敞
         /// </summary>
         public string REMARK { get; set; }
 
-        #endregion 公共属性
+        #endregion 鍏叡灞炴��
 
-        #region 虚拟属性
-        /*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
     /// <summary>
-    /// 瀹炰綋锛欱IZ_ERP_PO_DTL
+    /// 鐎圭偘缍嬮敍娆盜Z_ERP_PO_DTL
     /// </summary>
     [Description("Primary:Id")]
     [Serializable]
     [SugarTable("BIZ_ERP_PO_DTL")]
     public class BIZ_ERP_PO_DTL : DbEntityWithAuth
     {
-        #region 鏋勯�犲嚱鏁?
+        #region 閺嬪嫰鈧姴鍤遍弫?
 
         /// <summary>
-        /// 瀹炰綋锛欱IZ_ERP_PO_DTL
+        /// 鐎圭偘缍嬮敍娆盜Z_ERP_PO_DTL
         /// </summary>
         public BIZ_ERP_PO_DTL()
         { }
 
-        #endregion 鏋勯�犲嚱鏁?
+        #endregion 閺嬪嫰鈧姴鍤遍弫?
 
-        #region 鍏叡灞炴�?
+        #region 閸忣剙鍙$仦鐐粹偓?
 
         /// <summary>
-        ///  鍗曟嵁ID
+        ///  閸楁洘宓両D
         /// </summary>
         public string BILLID { get; set; }
 
         /// <summary>
-        ///  鍗曟嵁鍙风爜
+        ///  閸楁洘宓侀崣椋庣垳
         /// </summary>
         public string BILLCODE { get; set; }
 
         /// <summary>
-        ///  鍗曟嵁琛屽彿
+        ///  閸楁洘宓佺悰灞藉娇
         /// </summary>
         public int BILLLINE { get; set; }
 
         /// <summary>
-        ///  鐗╂枡浠g爜
+        ///  閻椻晜鏋℃禒锝囩垳
         /// </summary>
         public string MATERIALCODE { get; set; }
 
         /// <summary>
-        ///  鍗曚綅浠g爜
+        ///  閸楁洑缍呮禒锝囩垳
         /// </summary>
         public string UNITCODE { get; set; }
 
         /// <summary>
-        ///  琛屽崟鎹姸鎬?
+        ///  鐞涘苯宕熼幑顔惧Ц閹�?
         /// </summary>
         public int LINESTATUS { get; set; }
 
         /// <summary>
-        ///  闇�姹傛暟閲?
+        ///  闂団偓濮瑰倹鏆熼柌?
         /// </summary>
-        public decimal PRQTY { get; set; }
+        public double PRQTY { get; set; }
 
         /// <summary>
-        ///  鏁伴噺
+        ///  閺佷即鍣�
         /// </summary>
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
 
         /// <summary>
-        ///  閫佽揣鏁伴噺
+        ///  闁浇鎻i弫浼村櫤
         /// </summary>
-        public decimal? ARRIVALQTY { get; set; }
+        public double? ARRIVALQTY { get; set; }
 
         /// <summary>
-        ///  鍏ュ簱鏁伴噺
+        ///  閸忋儱绨遍弫浼村櫤
         /// </summary>
-        public decimal INSTOCKQTY { get; set; }
+        public double INSTOCKQTY { get; set; }
 
         /// <summary>
-        ///  閫�璐ф暟閲?
+        ///  闁偓鐠愌勬殶闁�?
         /// </summary>
-        public decimal RETURNQTY { get; set; }
+        public double RETURNQTY { get; set; }
 
         /// <summary>
-        ///  鏄惁璧犲搧
+        ///  閺勵垰鎯佺挧鐘叉惂
         /// </summary>
         public bool ISGIVEAWAY { get; set; }
 
         /// <summary>
-        ///  绋庣巼
+        ///  缁嬪海宸�
         /// </summary>
-        public decimal TAXRATE { get; set; }
+        public double TAXRATE { get; set; }
 
         /// <summary>
-        ///  浠锋牸
+        ///  娴犻攱鐗�
         /// </summary>
-        public decimal PRICE { get; set; }
+        public double PRICE { get; set; }
 
         /// <summary>
-        ///  鍚◣浠锋牸
+        ///  閸氼偆鈼f禒閿嬬壐
         /// </summary>
-        public decimal TAXPRICE { get; set; }
+        public double TAXPRICE { get; set; }
 
         /// <summary>
-        ///  鎬讳环
+        ///  閹鐜�
         /// </summary>
-        public decimal AMOUNT { get; set; }
+        public double AMOUNT { get; set; }
 
         /// <summary>
-        ///  鎵�鏈夋�讳环
+        ///  閹碘偓閺堝鈧鐜�
         /// </summary>
-        public decimal ALLAMOUNT { get; set; }
+        public double ALLAMOUNT { get; set; }
 
         /// <summary>
-        ///  鍚◣鎬讳环
+        ///  閸氼偆鈼i幀璁崇幆
         /// </summary>
-        public decimal TAXAMOUNT { get; set; }
+        public double TAXAMOUNT { get; set; }
 
         /// <summary>
-        ///  鎶樻墸鐜?
+        ///  閹舵ɑ澧搁悳?
         /// </summary>
-        public decimal DISCOUNTRATE { get; set; }
+        public double DISCOUNTRATE { get; set; }
 
         /// <summary>
-        ///  鎶樻墸閲戦
+        ///  閹舵ɑ澧搁柌鎴︻杺
         /// </summary>
-        public decimal DISCOUNT { get; set; }
+        public double DISCOUNT { get; set; }
 
         /// <summary>
-        ///  渚涘簲鍟嗙墿鏂欑紪鐮?
+        ///  娓氭稑绨查崯鍡欏⒖閺傛瑧绱惍?
         /// </summary>
         public string SUPPLIERMATERIALCODE { get; set; }
 
         /// <summary>
-        ///  閫佽揣鏃ユ湡
+        ///  闁浇鎻i弮銉︽埂
         /// </summary>
         public DateTime DELIVERYDATE { get; set; } = DateTime.MinValue;
 
         /// <summary>
-        ///  鎵胯鏃ユ湡
+        ///  閹佃儻顕弮銉︽埂
         /// </summary>
         public DateTime PROMISEDATE { get; set; } = DateTime.MinValue;
 
         /// <summary>
-        ///  澶囨敞
+        ///  婢跺洦鏁�
         /// </summary>
         public string REMARK { 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_ERP_PO_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_PO_DTLId))]//ClassA表中的BIZ_ERP_PO_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_PO_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+        /*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_ERP_PO_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_PO_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_ERP_PO_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_PO_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
 
-        #endregion 外键属性
-
-        #region 枚举变量
-
-        /*例子
-
-        #endregion 枚举变量
+        #endregion 澶栭敭灞炴��
 
         #region 鏋氫妇鍙橀噺
 
         /*渚嬪瓙
+
+        #endregion 鏋氫妇鍙橀噺
+
+        #region 閺嬫矮濡囬崣姗�鍣�
+
+        /*娓氬鐡�
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 
-        #endregion 鏋氫妇鍙橀噺
+        #endregion 閺嬫矮濡囬崣姗�鍣�
     }//endClass
 }
\ No newline at end of file
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_DTL.cs
index fc2c628..ae7f922 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_DTL.cs
@@ -54,17 +54,17 @@
         /// <summary>
         /// 闇�姹傛暟閲�
         /// </summary>
-        public decimal PRQTY { get; set; }
+        public double PRQTY { get; set; }
 
         /// <summary>
         /// 搴撳瓨鏁伴噺
         /// </summary>
-        public decimal INVENTORYQTY { get; set; }
+        public double INVENTORYQTY { get; set; }
 
         /// <summary>
         /// 鍏ュ簱鏁伴噺
         /// </summary>
-        public decimal INSTOCKQTY { get; set; }
+        public double INSTOCKQTY { get; set; }
 
         /// <summary>
         /// 浠撳簱浠g爜
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_SN.cs
index e33e035..1250369 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_SN.cs
@@ -49,7 +49,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal Qty { get; set; }
+        public double Qty { get; set; }
 		/// <summary>
 		/// 鏉$爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_DTL.cs
index cd8fcab..814b2b7 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_DTL.cs
@@ -45,11 +45,11 @@
 		/// <summary>
 		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
         /// <summary>
         /// 鍙戞枡鏁伴噺
         /// </summary>
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
 		/// <summary>
 		/// 鍙戞枡鏃堕棿
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_SN.cs
index 94b6280..dd62977 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_OUT_SN.cs
@@ -45,7 +45,7 @@
 		/// <summary>
 		/// 鐗╂枡鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鐘舵��(0Init鍒濆鍖東1WaitPick寰呮嫞鏂檤2OffShelf宸蹭笅鏋秥3Picked宸叉崱鏂檤4Sended宸插彂鏂檤5Loaded宸蹭笂鏂檤6UseUp宸茶�楀敖|7Returned宸查��鏂�)
 		/// </summary>
@@ -61,7 +61,7 @@
 		/// <summary>
 		/// 宸插垎閰嶆暟閲�
 		/// </summary>
-		public decimal ALLOC_QTY { get; set; }
+		public double ALLOC_QTY { get; set; }
 		/// <summary>
 		/// 鏉ユ簮鍗曟嵁缂栫爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_DTL.cs
index 24c2d9c..808d949 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_DTL.cs
@@ -45,7 +45,7 @@
 		/// <summary>
 		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		/// 浠撳簱浠g爜
 		/// </summary>
@@ -69,31 +69,31 @@
 		/// <summary>
 		/// 鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal GOODQTY { get; set; } = 0;
+		public double GOODQTY { get; set; } = 0;
 		/// <summary>
 		/// 涓嶈壇鏁伴噺
 		/// </summary>
-		public decimal NGQTY { get; set; } = 0;
+		public double NGQTY { get; set; } = 0;
 		/// <summary>
 		/// 鍏ュ簱鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; } = 0;
+		public double GOODINSTOCKQTY { get; set; } = 0;
 		/// <summary>
 		/// 鍏ュ簱涓嶈壇鏁伴噺
 		/// </summary>
-		public decimal NgINSTOCKQTY { get; set; } = 0;
+		public double NgINSTOCKQTY { get; set; } = 0;
 		/// <summary>
 		/// 鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPQTY { get; set; } = 0;
+		public double SCRAPQTY { get; set; } = 0;
 		/// <summary>
 		/// 鍏ュ簱鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; } = 0;
+		public double SCRAPINSTCOKQTY { get; set; } = 0;
 		/// <summary>
 		/// 搴撳瓨鏁伴噺
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; } = 0;
+		public double INVENTORYQTY { get; set; } = 0;
 		/// <summary>
 		/// ERP鍗曟嵁浠g爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_SN.cs
index 9eee819..d4da188 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_RETURN_SN.cs
@@ -37,7 +37,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
         /// <summary>
         /// 鐘舵��
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_DTL.cs
index c3016a2..b26ea28 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_DTL.cs
@@ -49,19 +49,19 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal QTYPASS { get; set; }
+		public double QTYPASS { get; set; }
 		/// <summary>
 		/// 鍏ュ簱鏁伴噺
 		/// </summary>
-		public decimal INSTOCKQTY { get; set; }
+		public double INSTOCKQTY { get; set; }
 		/// <summary>
 		/// 閫�璐ф暟閲�
 		/// </summary>
-		public decimal RETURNQTY { get; set; }
+		public double RETURNQTY { get; set; }
 		/// <summary>
 		/// 鎵撳嵃鏁伴噺
 		/// </summary>
@@ -73,19 +73,19 @@
 		/// <summary>
 		/// 浠锋牸
 		/// </summary>
-		public decimal PRICE { get; set; }
+		public double PRICE { get; set; }
 		/// <summary>
 		/// 鍚◣浠锋牸
 		/// </summary>
-		public decimal TAXPRICE { get; set; }
+		public double TAXPRICE { get; set; }
 		/// <summary>
 		/// 鎬讳环
 		/// </summary>
-		public decimal AMOUNT { get; set; }
+		public double AMOUNT { get; set; }
 		/// <summary>
 		/// 鎵�鏈夋�讳环
 		/// </summary>
-		public decimal ALLAMOUNT { get; set; }
+		public double ALLAMOUNT { get; set; }
 		/// <summary>
 		/// 鏉ユ簮鍗曟嵁浠g爜
 		/// </summary>
@@ -109,7 +109,7 @@
 		/// <summary>
 		/// 鎵弿鏁伴噺
 		/// </summary>
-		public decimal SCANQTY { get; set; }
+		public double SCANQTY { get; set; }
 		/// <summary>
 		/// 澶囨敞
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_SN.cs
index 95d8dd5..75f59c3 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_RECEIPT_SN.cs
@@ -57,7 +57,7 @@
 		/// <summary>
 		/// 鎵弿鏁伴噺
 		/// </summary>
-		public decimal SCANQTY { get; set; }
+		public double SCANQTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_DTL.cs
index 13649e5..e8ef104 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_DTL.cs
@@ -45,11 +45,11 @@
 		/// <summary>
 		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍙戣揣鏃ユ湡
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_SN.cs
index 3209e0c..8e1a30e 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_OUT_SN.cs
@@ -45,7 +45,7 @@
 		/// <summary>
 		/// 鐗╂枡鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鐘舵��(0Init鍒濆鍖東1WaitPick寰呮嫞鏂檤2OffShelf宸蹭笅鏋秥3Picked宸叉崱鏂檤4Sended宸插彂鏂檤5Loaded宸蹭笂鏂檤6UseUp宸茶�楀敖|7Returned宸查��鏂�)
 		/// </summary>
@@ -61,7 +61,7 @@
 		/// <summary>
 		/// 宸插垎閰嶆暟閲�
 		/// </summary>
-		public decimal ALLOC_QTY { get; set; }
+		public double ALLOC_QTY { get; set; }
 		/// <summary>
 		/// 鏉ユ簮鍗曟嵁缂栫爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_DTL.cs
index f53ce2c..ce32bf5 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_DTL.cs
@@ -7,133 +7,133 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:销售退货单(ERP)明细
+	/// 瀹炰綋锛氶攢鍞��璐у崟(ERP)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("BIZ_ERP_SALE_RETURN_DTL")]
 	public class BIZ_ERP_SALE_RETURN_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:销售退货单(ERP)明细
+		/// 瀹炰綋锛氶攢鍞��璐у崟(ERP)鏄庣粏
 		/// </summary>
 		public BIZ_ERP_SALE_RETURN_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 单据代码
+		/// 鍗曟嵁浠g爜
 		/// </summary>
 		public string BILLCODE { get; set; }
 		/// <summary>
-		/// 单据行号
+		/// 鍗曟嵁琛屽彿
 		/// </summary>
 		public string BILLLINE { get; set; }
 		/// <summary>
-		/// 单据行状态
+		/// 鍗曟嵁琛岀姸鎬�
 		/// </summary>
 		public string LINESTATUS { get; set; }
 		/// <summary>
-		/// 物料代码
+		/// 鐗╂枡浠g爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 单位代码
+		/// 鍗曚綅浠g爜
 		/// </summary>
 		public string UNITCODE { get; set; }
 		/// <summary>
-		/// 需求数量
+		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
-		/// 入库数量
+		/// 鍏ュ簱鏁伴噺
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
-		/// 合格数量
+		/// 鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal GOODQTY { get; set; }
+		public double GOODQTY { get; set; }
 		/// <summary>
-		/// 不良数量
+		/// 涓嶈壇鏁伴噺
 		/// </summary>
-		public decimal NGQTY { get; set; }
+		public double NGQTY { get; set; }
 		/// <summary>
-		/// 报废数量
+		/// 鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
-		/// 入库合格数量
+		/// 鍏ュ簱鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; }
+		public double GOODINSTOCKQTY { get; set; }
 		/// <summary>
-		/// 入库不良数量
+		/// 鍏ュ簱涓嶈壇鏁伴噺
 		/// </summary>
-		public decimal NGINSTOCKQTY { get; set; }
+		public double NGINSTOCKQTY { get; set; }
 		/// <summary>
-		/// 入库报废数量
+		/// 鍏ュ簱鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; }
+		public double SCRAPINSTCOKQTY { get; set; }
 		/// <summary>
-		/// 仓库代码
+		/// 浠撳簱浠g爜
 		/// </summary>
 		public string WAREHOUSECODE { get; set; }
 		/// <summary>
-		/// 来源单据类型
+		/// 鏉ユ簮鍗曟嵁绫诲瀷
 		/// </summary>
 		public int SOURCETYPE { get; set; }
 		/// <summary>
-		/// 来源单据类型
+		/// 鏉ユ簮鍗曟嵁绫诲瀷
 		/// </summary>
 		public string SOURCECODE { get; set; }
 		/// <summary>
-		/// 来源单据行号
+		/// 鏉ユ簮鍗曟嵁琛屽彿
 		/// </summary>
 		public int SOURCELINE { get; set; }
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// ERP单据代码
+		/// ERP鍗曟嵁浠g爜
 		/// </summary>
 		public string ERP_BILL_CODE { get; set; }
 		#endregion
 
-		#region 虚拟属性
-		/*例子
+		#region 铏氭嫙灞炴��
+		/*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
 		#endregion
 
-		#region 外键属性
-		/*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ERP_SALE_RETURN_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_SALE_RETURN_DTLId))]//ClassA表中的BIZ_ERP_SALE_RETURN_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_SALE_RETURN_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+		#region 澶栭敭灞炴��
+		/*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_ERP_SALE_RETURN_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_SALE_RETURN_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_ERP_SALE_RETURN_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_SALE_RETURN_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
 		#endregion
 
-		#region 枚举变量
-		/*例子
+		#region 鏋氫妇鍙橀噺
+		/*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
 		#endregion
 
-		#region 公共方法
+		#region 鍏叡鏂规硶
 
 		#endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_SN.cs
index da9883e..99a5d5f 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_SALE_RETURN_SN.cs
@@ -37,7 +37,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
         /// <summary>
         /// 鐘舵��
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY.cs
index c0dd03d..5ecb8e8 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY.cs
@@ -93,11 +93,11 @@
 		/// <summary>
 		/// 姣涢噸
 		/// </summary>
-		public decimal GROSS_WEIGHT { get; set; }
+		public double GROSS_WEIGHT { get; set; }
 		/// <summary>
 		/// 鍑�閲�
 		/// </summary>
-		public decimal NET_WEIGHT { get; set; }
+		public double NET_WEIGHT { get; set; }
 		/// <summary>
 		/// 閲嶉噺鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_DTL.cs
index c1c7e16..ed599ca 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_DTL.cs
@@ -7,229 +7,229 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:送货单(SRM)明细
+	/// 瀹炰綋锛氶�佽揣鍗�(SRM)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("BIZ_SRM_DLVY_DTL")]
 	public class BIZ_SRM_DLVY_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:送货单(SRM)明细
+		/// 瀹炰綋锛氶�佽揣鍗�(SRM)鏄庣粏
 		/// </summary>
 		public BIZ_SRM_DLVY_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 送货单号
+		/// 閫佽揣鍗曞彿
 		/// </summary>
 		public string DELIVERY_NO { get; set; }
 		/// <summary>
-		/// 采购单项次
+		/// 閲囪喘鍗曢」娆�
 		/// </summary>
 		public int LINE_NO { get; set; } = 0;
 		/// <summary>
-		/// ERP采购单号
+		/// ERP閲囪喘鍗曞彿
 		/// </summary>
 		public string ERP_PO_NO { get; set; }
 		/// <summary>
-		/// 送货单项次
+		/// 閫佽揣鍗曢」娆�
 		/// </summary>
 		public int PO_LINE_NO { get; set; } = 0;
 		/// <summary>
-		/// 采购单类型  1:一般采购;2:委外采购
+		/// 閲囪喘鍗曠被鍨�  1锛氫竴鑸噰璐紱2锛氬澶栭噰璐�
 		/// </summary>
         public int PO_TYPE { get; set; } = 1;
 		/// <summary>
-		/// 物料编码
+		/// 鐗╂枡缂栫爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 物料名称
+		/// 鐗╂枡鍚嶇О
 		/// </summary>
 		public string ITEM_NAME { get; set; }
 		/// <summary>
-		/// 规格
+		/// 瑙勬牸
 		/// </summary>
 		public string SPECIFICATION { get; set; }
 		/// <summary>
-		/// 数量
+		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; } = 0;
+		public double QTY { get; set; } = 0;
 		/// <summary>
-		/// 单位
+		/// 鍗曚綅
 		/// </summary>
 		public string UNIT { get; set; }
 		/// <summary>
-		/// 计价数量
+		/// 璁′环鏁伴噺
 		/// </summary>
 		public int VALUATION_QTY { get; set; } = 0;
 		/// <summary>
-		/// 单价
+		/// 鍗曚环
 		/// </summary>
         public double PRICE { get; set; } = 0;
 		/// <summary>
-		/// 含税单价
+		/// 鍚◣鍗曚环
 		/// </summary>
         public double TAX_PRICE { get; set; } = 0;
 		/// <summary>
-		/// 状态(1:待签收;2:签收中;3: 已完成;) 
+		/// 鐘舵�侊紙1:寰呯鏀讹紱2:绛炬敹涓紱3: 宸插畬鎴愶紱锛� 
 		/// </summary>
         public int STATUS { get; set; } = 1;
 		/// <summary>
-		/// 收货状态(0-未收货;1-部分收货;2-全部收货)
+		/// 鏀惰揣鐘舵�侊紙0-鏈敹璐�;1-閮ㄥ垎鏀惰揣;2-鍏ㄩ儴鏀惰揣锛�
 		/// </summary>
 		public int RECEIVE_STATUS { get; set; } = 0;
 		/// <summary>
-		/// 采购员
+		/// 閲囪喘鍛�
 		/// </summary>
 		public string BUYER { get; set; }
 		/// <summary>
-		/// 订单交期
+		/// 璁㈠崟浜ゆ湡
 		/// </summary>
 		public DateTime EXPECTED_DATE { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 排定交期(回复交期)
+		/// 鎺掑畾浜ゆ湡锛堝洖澶嶄氦鏈燂級
 		/// </summary>
 		public DateTime ANSWER_DATE { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 币别编码
+		/// 甯佸埆缂栫爜
 		/// </summary>
 		public string CURRENCY_CODE { get; set; }
 		/// <summary>
-		/// 币别名称
+		/// 甯佸埆鍚嶇О
 		/// </summary>
 		public string CURRENCY_NAME { get; set; }
 		/// <summary>
-		/// 送检状态(0:未送检;1:部分送检;2:全部送检 3免检)
+		/// 閫佹鐘舵�侊紙0:鏈�佹锛�1:閮ㄥ垎閫佹锛�2:鍏ㄩ儴閫佹 3鍏嶆锛�
 		/// </summary>
 		public int VERIFY_STATUS { get; set; } = 0;
 		/// <summary>
-		/// 检验结果标识(0:免检  1:全部合格;2:部分合格;3:拒收)
+		/// 妫�楠岀粨鏋滄爣璇嗭紙0:鍏嶆  1:鍏ㄩ儴鍚堟牸锛�2:閮ㄥ垎鍚堟牸锛�3:鎷掓敹锛�
 		/// </summary>
         public int VERIFY_RESULT { get; set; } = 0;
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// 品牌
+		/// 鍝佺墝
 		/// </summary>
 		public string BRAND_NAME { get; set; }
 		/// <summary>
-		/// 批次
+		/// 鎵规
 		/// </summary>
 		public string BATCH_NUMBER { get; set; }
 		/// <summary>
-		/// 单位名称
+		/// 鍗曚綅鍚嶇О
 		/// </summary>
 		public string UNIT_NAME { get; set; }
 		/// <summary>
-		/// 包装数量
+		/// 鍖呰鏁伴噺
 		/// </summary>
-		public decimal PACKING_QTY { get; set; } = 0;
+		public double PACKING_QTY { get; set; } = 0;
 		/// <summary>
-		/// 申请数量
+		/// 鐢宠鏁伴噺
 		/// </summary>
         public int APPLY_DELIVERY_QTY { get; set; } = 0;
 		/// <summary>
-		/// 毛重
+		/// 姣涢噸
 		/// </summary>
-		public decimal GROSS_WEIGHT { get; set; }
+		public double GROSS_WEIGHT { get; set; }
 		/// <summary>
-		/// 净重
+		/// 鍑�閲�
 		/// </summary>
-		public decimal NET_WEIGHT { get; set; }
+		public double NET_WEIGHT { get; set; }
 		/// <summary>
-		/// 重量单位
+		/// 閲嶉噺鍗曚綅
 		/// </summary>
 		public string UNIT_WEIGHTCODE { get; set; }
 		/// <summary>
-		/// 重量单位名称
+		/// 閲嶉噺鍗曚綅鍚嶇О
 		/// </summary>
 		public string UNIT_WEIGHTNAME { get; set; }
 		/// <summary>
-		/// 紧急标识
+		/// 绱ф�ユ爣璇�
 		/// </summary>
 		public int URGENT_FLAG { get; set; } = 0;
         #endregion
 
-        #region 虚拟属性
-        /*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
         #endregion
 
-        #region 外键属性
-        /*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_SRM_DLVY_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_SRM_DLVY_DTLId))]//ClassA表中的BIZ_SRM_DLVY_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_SRM_DLVY_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+        #region 澶栭敭灞炴��
+        /*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_SRM_DLVY_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_SRM_DLVY_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_SRM_DLVY_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_SRM_DLVY_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
         #endregion
 
-        #region 枚举变量
-        /*例子
+        #region 鏋氫妇鍙橀噺
+        /*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
         public enum STATUSs
         {
-            [Description("待签收")]
+            [Description("寰呯鏀�")]
             INVENTORY=1,
-            [Description("签收中")]
+            [Description("绛炬敹涓�")]
             WORKING=2,
-            [Description("已完成")]
+            [Description("宸插畬鎴�")]
             EXCEED=3,
         }
         public enum RECEIVE_STATUSs
         {
-            [Description("待签收")]
+            [Description("寰呯鏀�")]
             INVENTORY,
-            [Description("签收中")]
+            [Description("绛炬敹涓�")]
             WORKING,
-            [Description("已完成")]
+            [Description("宸插畬鎴�")]
             EXCEED,
         }
         public enum VERIFY_STATUSs
         {
-            [Description("未送检")]
+            [Description("鏈�佹")]
             NOTSUBMISSION,
-            [Description("部分送检")]
+            [Description("閮ㄥ垎閫佹")]
             PARTSUBMISSION,
-            [Description("全部送检")]
+            [Description("鍏ㄩ儴閫佹")]
             ALLSUBMISSION,
-            [Description("免检")]
+            [Description("鍏嶆")]
             NOTINSPECT,
         }
         public enum VERIFY_RESULTs
         {
-            [Description("免检")]
+            [Description("鍏嶆")]
             NOTINSPECT,
-            [Description("全部合格")]
+            [Description("鍏ㄩ儴鍚堟牸")]
             ALLQUALIFIED,
-            [Description("部分合格")]
+            [Description("閮ㄥ垎鍚堟牸")]
             PARTQUALIFIED,
-            [Description("拒收")]
+            [Description("鎷掓敹")]
             REJECTION,
         }
         #endregion
 
-        #region 公共方法
+        #region 鍏叡鏂规硶
 
         #endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_SN.cs
index 8a9f809..d3f5fca 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_SRM_DLVY_SN.cs
@@ -41,7 +41,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal QTY { get; set; } = 0;
+        public double QTY { get; set; } = 0;
         /// <summary>
         /// 灏忓寘鏉$爜(SRM)
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs
index 37d7da2..8b0f219 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_DTL.cs
@@ -45,15 +45,15 @@
 		/// <summary>
 		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		/// 鍑哄簱鏁伴噺
 		/// </summary>
-		public decimal OUTQTY { get; set; }
+		public double OUTQTY { get; set; }
 		/// <summary>
 		/// 鍏ュ簱鏁伴噺
 		/// </summary>
-		public decimal INQTY { get; set; }
+		public double INQTY { get; set; }
 		/// <summary>
 		/// 鍑哄簱浠撳簱浠g爜
 		/// </summary>
@@ -85,7 +85,7 @@
 		/// <summary>
 		/// 搴撳瓨鏁伴噺
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; } = 0;
+		public double INVENTORYQTY { get; set; } = 0;
         /// <summary>
         /// 鎷ㄥ叆鎵瑰彿
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_SN.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_SN.cs
index 39b7d60..13797c2 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_WMS_TRANSFER_SN.cs
@@ -37,7 +37,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曟嵁浠g爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/DTOS/InputDTO.cs b/Tiger.Model.Net/Entitys/WMS/DTOS/InputDTO.cs
index a284491..d18e3a6 100644
--- a/Tiger.Model.Net/Entitys/WMS/DTOS/InputDTO.cs
+++ b/Tiger.Model.Net/Entitys/WMS/DTOS/InputDTO.cs
@@ -171,7 +171,7 @@
         /// <summary>
         /// 鍏ュ簱鏁伴噺
         /// </summary>
-        public decimal sfeb008 { get; set; }
+        public double sfeb008 { get; set; }
 
         /// <summary>
         /// 搴撲綅
@@ -405,7 +405,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal inbb011 { get; set; }
+        public double inbb011 { get; set; }
     }
 
     public class OtherOutInfoParameterDTO
@@ -451,7 +451,7 @@
         /// <summary>
         /// 鍑鸿揣鏁伴噺
         /// </summary>
-        public decimal xmdl018 { get; set; }
+        public double xmdl018 { get; set; }
 
         /// <summary>
         /// 搴撲綅
@@ -648,12 +648,12 @@
         /// <summary>
         /// 寤舵湡鏃堕棿
         /// </summary>
-        public decimal? PostponeDays { get; set; }
+        public double? PostponeDays { get; set; }
 
         /// <summary>
         /// 瓒呮湡澶╂暟
         /// </summary>
-        public decimal? OverdueDays { get; set; }
+        public double? OverdueDays { get; set; }
 
         /// <summary>
         /// 鍒涘缓鏃堕棿
diff --git a/Tiger.Model.Net/Entitys/WMS/DTOS/SaleOutInfoDTO.cs b/Tiger.Model.Net/Entitys/WMS/DTOS/SaleOutInfoDTO.cs
index 01285c0..bd3b2b1 100644
--- a/Tiger.Model.Net/Entitys/WMS/DTOS/SaleOutInfoDTO.cs
+++ b/Tiger.Model.Net/Entitys/WMS/DTOS/SaleOutInfoDTO.cs
@@ -95,7 +95,7 @@
         /// <summary>
         /// 闇�姹傛暟閲�
         /// </summary>
-        public decimal? PRQTY { get; set; }
+        public double? PRQTY { get; set; }
 
         /// <summary>
         /// 闇�姹傛棩鏈�
diff --git a/Tiger.Model.Net/Entitys/WMS/DTOS/otherOutInfoDTO.cs b/Tiger.Model.Net/Entitys/WMS/DTOS/otherOutInfoDTO.cs
index 214f935..2805755 100644
--- a/Tiger.Model.Net/Entitys/WMS/DTOS/otherOutInfoDTO.cs
+++ b/Tiger.Model.Net/Entitys/WMS/DTOS/otherOutInfoDTO.cs
@@ -91,7 +91,7 @@
         /// <summary>
         /// 闇�姹傛暟閲�
         /// </summary>
-        public decimal? PRQTY { get; set; }
+        public double? PRQTY { get; set; }
 
         /// <summary>
         /// 閫佽揣鏃堕棿
@@ -175,7 +175,7 @@
         /// <summary>
         /// 鍑哄簱鏁伴噺
         /// </summary>
-        public decimal? OUTQTY { get; set; }
+        public double? OUTQTY { get; set; }
 
         /// <summary>
         /// 鐗╂枡缂栧彿
@@ -190,7 +190,7 @@
         /// <summary>
         /// 闇�姹傛暟閲�
         /// </summary>
-        public decimal? PRQTY { get; set; }
+        public double? PRQTY { get; set; }
 
         /// <summary>
         /// 鍑哄簱浠撳簱浠g爜
@@ -270,7 +270,7 @@
         /// <summary>
         /// 搴撳瓨鏁伴噺
         /// </summary>
-        public decimal inag009 { get; set; }
+        public double inag009 { get; set; }
 
         /// <summary>
         /// 搴撳瓨鍗曚綅
@@ -507,7 +507,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal Qty { get; set; }
+        public double Qty { get; set; }
     }
 
     public class ProduceInputDataDTO
@@ -568,7 +568,7 @@
         /// <summary>
         /// 鍏ュ簱鏁伴噺
         /// </summary>
-        public decimal sfeb008 { get; set; }
+        public double sfeb008 { get; set; }
 
         /// <summary>
         /// 搴撲綅
diff --git a/Tiger.Model.Net/Entitys/WMS/KanBan/WareHousing.cs b/Tiger.Model.Net/Entitys/WMS/KanBan/WareHousing.cs
index 37278f5..a467747 100644
--- a/Tiger.Model.Net/Entitys/WMS/KanBan/WareHousing.cs
+++ b/Tiger.Model.Net/Entitys/WMS/KanBan/WareHousing.cs
@@ -23,12 +23,12 @@
     public class MaterialKBOutput
     {
         //缁撴瀯浠撴暟閲�
-        public decimal Structure { get; set; }
+        public double Structure { get; set; }
         //鐢靛瓙浠撴暟閲�
-        public decimal Electron { get; set; }
-        public decimal Total { get; set; }
-        public decimal TaskTotal { get; set; }
-        public decimal UnCheckNumber { get; set; }
+        public double Electron { get; set; }
+        public double Total { get; set; }
+        public double TaskTotal { get; set; }
+        public double UnCheckNumber { get; set; }
         public List<V_MONTH_IN_SUM> TotalByMonthList { get; set; }
         public List<IncomingRptOutput> IncomingRptList { get; set; }
     }
@@ -40,15 +40,15 @@
         public string MaterialCode { get; set; }
         public string MaterialName { get; set; }
         public int Status { get; set; }
-        public decimal? Qty { get; set; }
-        public decimal? InstockQty { get; set; }
-        public decimal? LeftQty { get; set; }
-        public decimal? RejectQty { get; set; }
+        public double? Qty { get; set; }
+        public double? InstockQty { get; set; }
+        public double? LeftQty { get; set; }
+        public double? RejectQty { get; set; }
         public DateTime? CreationTime { get; set; }
     }
     public class TotalByMonth
     {
-        public decimal Total { get; set; }
+        public double Total { get; set; }
         //public DateTime updatetime { get; set; }
         public string Month { get; set; }
 
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_IN_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_IN_DTL.cs
index 6401b39..607e7c9 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_IN_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_IN_DTL.cs
@@ -7,122 +7,122 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:其他入库单(ERP)明细
+	/// 瀹炰綋锛氬叾浠栧叆搴撳崟(ERP)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("V_BIZ_ERP_OTH_IN_DTL")]
 	public class V_BIZ_ERP_OTH_IN_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:其他入库单(ERP)明细
+		/// 瀹炰綋锛氬叾浠栧叆搴撳崟(ERP)鏄庣粏
 		/// </summary>
 		public V_BIZ_ERP_OTH_IN_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 单据号码
+		/// 鍗曟嵁鍙风爜
 		/// </summary>
 		public string BILLCODE { get; set; }
 		/// <summary>
-		/// 单据行号
+		/// 鍗曟嵁琛屽彿
 		/// </summary>
 		public string BILLLINE { get; set; }
 		/// <summary>
-		/// 单据行状态
+		/// 鍗曟嵁琛岀姸鎬�
 		/// </summary>
 		public int LINESTATUS { get; set; }
 		/// <summary>
-		/// 物料代码
+		/// 鐗╂枡浠g爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 单位数量
+		/// 鍗曚綅鏁伴噺
 		/// </summary>
 		public string UNITCODE { get; set; }
 		/// <summary>
-		/// 需求数量
+		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
-		/// 数量
+		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
-		/// 送货时间
+		/// 閫佽揣鏃堕棿
 		/// </summary>
 		public DateTime DELIVERYDATE { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 仓库代码
+		/// 浠撳簱浠g爜
 		/// </summary>
 		public string WAREHOUSECODE { get; set; }
 		/// <summary>
-		/// 来源类型
+		/// 鏉ユ簮绫诲瀷
 		/// </summary>
 		public int SOURCETYPE { get; set; }
 		/// <summary>
-		/// 来源代码
+		/// 鏉ユ簮浠g爜
 		/// </summary>
 		public string SOURCECODE { get; set; }
 		/// <summary>
-		/// 来源行号
+		/// 鏉ユ簮琛屽彿
 		/// </summary>
 		public string SOURCELINE { get; set; }
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// ERP单据号码
+		/// ERP鍗曟嵁鍙风爜
 		/// </summary>
 		public string ERP_BILL_CODE { get; set; }
 
         /// <summary>
-        /// 物料名称
+        /// 鐗╂枡鍚嶇О
         /// </summary>
         public string ITEM_NAME { get; set; }
         /// <summary>
-        /// 欠入数量
+        /// 娆犲叆鏁伴噺
         /// </summary>
-        public decimal OWEIN_QTY { get; set; }
+        public double OWEIN_QTY { get; set; }
         #endregion
 
-        #region 虚拟属性
-        /*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
         #endregion
 
-        #region 外键属性
-        /*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ERP_OTH_IN_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_OTH_IN_DTLId))]//ClassA表中的BIZ_ERP_OTH_IN_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_OTH_IN_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+        #region 澶栭敭灞炴��
+        /*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_ERP_OTH_IN_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_OTH_IN_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_ERP_OTH_IN_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_OTH_IN_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
         #endregion
 
-        #region 枚举变量
-        /*例子
+        #region 鏋氫妇鍙橀噺
+        /*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
         #endregion
 
-        #region 公共方法
+        #region 鍏叡鏂规硶
 
         #endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_OUT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_OUT_DTL.cs
index 3e8b5c0..192fb81 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_OUT_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_OTH_OUT_DTL.cs
@@ -45,11 +45,11 @@
 		/// <summary>
 		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 閫佽揣鏃堕棿
 		/// </summary>
@@ -85,7 +85,7 @@
         /// <summary>
         /// 娆犲彂鏁伴噺
         /// </summary>
-        public decimal OWE_QTY { get; set; }
+        public double OWE_QTY { get; set; }
         #endregion
 
         #region 铏氭嫙灞炴��
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_IN_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_IN_DTL.cs
index f693223..60dfb1a 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_IN_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_IN_DTL.cs
@@ -7,121 +7,121 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:完工入库单(ERP)明细
+	/// 瀹炰綋锛氬畬宸ュ叆搴撳崟(ERP)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("V_BIZ_ERP_PROD_IN_DTL")]
 	public class V_BIZ_ERP_PROD_IN_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:完工入库单(ERP)明细
+		/// 瀹炰綋锛氬畬宸ュ叆搴撳崟(ERP)鏄庣粏
 		/// </summary>
 		public V_BIZ_ERP_PROD_IN_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 单据号码
+		/// 鍗曟嵁鍙风爜
 		/// </summary>
 		public string BILLCODE { get; set; }
 		/// <summary>
-		/// 单据行号
+		/// 鍗曟嵁琛屽彿
 		/// </summary>
 		public string BILLLINE { get; set; }
 		/// <summary>
-		/// 单据行状态
+		/// 鍗曟嵁琛岀姸鎬�
 		/// </summary>
 		public string LINESTATUS { get; set; }
 		/// <summary>
-		/// 物料代码
+		/// 鐗╂枡浠g爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 单位代码
+		/// 鍗曚綅浠g爜
 		/// </summary>
 		public string UNITCODE { get; set; }
 		/// <summary>
-		/// 需求数量
+		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
-		/// 库存数量
+		/// 搴撳瓨鏁伴噺
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
-		/// 入库数量
+		/// 鍏ュ簱鏁伴噺
 		/// </summary>
-		public decimal INSTOCKQTY { get; set; }
+		public double INSTOCKQTY { get; set; }
 		/// <summary>
-		/// 仓库代码
+		/// 浠撳簱浠g爜
 		/// </summary>
 		public string WAREHOUSECODE { get; set; }
 		/// <summary>
-		/// 来源类型
+		/// 鏉ユ簮绫诲瀷
 		/// </summary>
 		public int SOURCETYPE { get; set; }
 		/// <summary>
-		/// 来源代码
+		/// 鏉ユ簮浠g爜
 		/// </summary>
 		public string SOURCECODE { get; set; }
 		/// <summary>
-		/// 来源行号
+		/// 鏉ユ簮琛屽彿
 		/// </summary>
 		public string SOURCELINE { get; set; }
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// ERP单据代码
+		/// ERP鍗曟嵁浠g爜
 		/// </summary>
 		public string ERP_BILL_CODE { get; set; }
         /// <summary>
-        /// 物料名称
+        /// 鐗╂枡鍚嶇О
         /// </summary>
         public string ITEM_NAME { get; set; }
         /// <summary>
-        /// 欠入数量
+        /// 娆犲叆鏁伴噺
         /// </summary>
-        public decimal OWEIN_QTY { get; set; }
+        public double OWEIN_QTY { get; set; }
         #endregion
 
-        #region 虚拟属性
-        /*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
         #endregion
 
-        #region 外键属性
-        /*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ERP_PROD_IN_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_PROD_IN_DTLId))]//ClassA表中的BIZ_ERP_PROD_IN_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_PROD_IN_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+        #region 澶栭敭灞炴��
+        /*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_ERP_PROD_IN_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_PROD_IN_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_ERP_PROD_IN_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_PROD_IN_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
         #endregion
 
-        #region 枚举变量
-        /*例子
+        #region 鏋氫妇鍙橀噺
+        /*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
         #endregion
 
-        #region 公共方法
+        #region 鍏叡鏂规硶
 
         #endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_OUT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_OUT_DTL.cs
index db49a7f..487405c 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_OUT_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_OUT_DTL.cs
@@ -7,130 +7,130 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:其他入库单(ERP)明细
+	/// 瀹炰綋锛氬叾浠栧叆搴撳崟(ERP)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("V_BIZ_ERP_PROD_OUT_DTL")]
 	public class V_BIZ_ERP_PROD_OUT_DTL : iViewEntity, iTableHasAuth
     {
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:其他入库单(ERP)明细
+		/// 瀹炰綋锛氬叾浠栧叆搴撳崟(ERP)鏄庣粏
 		/// </summary>
 		public V_BIZ_ERP_PROD_OUT_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 单据号码
+		/// 鍗曟嵁鍙风爜
 		/// </summary>
 		public string BILLCODE { get; set; }
         /// <summary>
-        /// 单据号码
+        /// 鍗曟嵁鍙风爜
         /// </summary>
         public DateTime UPDATE_TIME { get; set; }
         /// <summary>
-        /// 单据行号
+        /// 鍗曟嵁琛屽彿
         /// </summary>
         public string BILLLINE { get; set; }
 		/// <summary>
-		/// 单据行状态
+		/// 鍗曟嵁琛岀姸鎬�
 		/// </summary>
 		public int LINESTATUS { get; set; }
 		/// <summary>
-		/// 物料代码
+		/// 鐗╂枡浠g爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 单位数量
+		/// 鍗曚綅鏁伴噺
 		/// </summary>
 		public string UNITCODE { get; set; }
 		/// <summary>
-		/// 需求数量
+		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
-		/// 数量
+		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
-		/// 送货时间
+		/// 閫佽揣鏃堕棿
 		/// </summary>
 		public DateTime DELIVERYDATE { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 仓库代码
+		/// 浠撳簱浠g爜
 		/// </summary>
 		public string WAREHOUSECODE { get; set; }
 		/// <summary>
-		/// 来源类型
+		/// 鏉ユ簮绫诲瀷
 		/// </summary>
 		public int SOURCETYPE { get; set; }
 		/// <summary>
-		/// 来源代码
+		/// 鏉ユ簮浠g爜
 		/// </summary>
 		public string SOURCECODE { get; set; }
 		/// <summary>
-		/// 来源行号
+		/// 鏉ユ簮琛屽彿
 		/// </summary>
 		public string SOURCELINE { get; set; }
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// ERP单据号码
+		/// ERP鍗曟嵁鍙风爜
 		/// </summary>
 		public string ERP_BILL_CODE { get; set; }
         /// <summary>
-        /// 物料描述
+        /// 鐗╂枡鎻忚堪
         /// </summary>
         public string ITEM_NAME { get; set; }
 
         /// <summary>
-        /// 欠发数量
+        /// 娆犲彂鏁伴噺
         /// </summary>
-        public decimal OWE_QTY { get; set; }
+        public double OWE_QTY { get; set; }
         public string AUTH_ORG { get; set; }
         public string AUTH_PROD{ get; set; }
         public string AUTH_WH { get; set; }
 
             #endregion
 
-            #region 虚拟属性
-            /*例子
+            #region 铏氭嫙灞炴��
+            /*渚嬪瓙
             [SugarColumn(IsIgnore = true)]
             public string FieldName { get; set; }
             */
             #endregion
 
-            #region 外键属性
-            /*例子
-            //一对一外键导航
-            [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ERP_OTH_IN_DTL类里面的外键ID字段
-            public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-            //一对多外键导航
-            [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_OTH_IN_DTLId))]//ClassA表中的BIZ_ERP_OTH_IN_DTLId
-            public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-            //多对多外键导航
-            [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_OTH_IN_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-            public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+            #region 澶栭敭灞炴��
+            /*渚嬪瓙
+            //涓�瀵逛竴澶栭敭瀵艰埅
+            [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_ERP_OTH_IN_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+            public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+            //涓�瀵瑰澶栭敭瀵艰埅
+            [Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_OTH_IN_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_ERP_OTH_IN_DTLId
+            public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+            //澶氬澶氬閿鑸�
+            [Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_OTH_IN_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+            public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
             */
             #endregion
 
-            #region 枚举变量
-            /*例子
+            #region 鏋氫妇鍙橀噺
+            /*渚嬪瓙
             public enum FieldNames
             {
-                [Description("枚举描述0")]
+                [Description("鏋氫妇鎻忚堪0")]
                 Enum0,
-                [Description("枚举描述1")]
+                [Description("鏋氫妇鎻忚堪1")]
                 Enum1,
             }
             */
             #endregion
 
-            #region 公共方法
+            #region 鍏叡鏂规硶
 
             #endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_RETURN_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_RETURN_DTL.cs
index 63027cd..912466f 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_RETURN_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_PROD_RETURN_DTL.cs
@@ -49,7 +49,7 @@
 		/// <summary>
 		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		/// 浠撳簱浠g爜
 		/// </summary>
@@ -73,36 +73,36 @@
 		/// <summary>
 		/// 鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal GOODQTY { get; set; } = 0;
+		public double GOODQTY { get; set; } = 0;
 		/// <summary>
 		/// 涓嶈壇鏁伴噺
 		/// </summary>
-		public decimal NGQTY { get; set; } = 0;
+		public double NGQTY { get; set; } = 0;
 		/// <summary>
 		/// 鍏ュ簱鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; } = 0;
+		public double GOODINSTOCKQTY { get; set; } = 0;
 		/// <summary>
 		/// 鍏ュ簱涓嶈壇鏁伴噺
 		/// </summary>
-		public decimal NgINSTOCKQTY { get; set; } = 0;
+		public double NgINSTOCKQTY { get; set; } = 0;
 		/// <summary>
 		/// 鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPQTY { get; set; } = 0;
+		public double SCRAPQTY { get; set; } = 0;
 		/// <summary>
 		/// 鍏ュ簱鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; } = 0;
+		public double SCRAPINSTCOKQTY { get; set; } = 0;
 		
         /// <summary>
         /// 搴撳瓨鏁伴噺
         /// </summary>
-        public decimal INVENTORYQTY { get; set; } = 0;
+        public double INVENTORYQTY { get; set; } = 0;
         /// <summary>
         /// 娆犲叆鏁伴噺
         /// </summary>
-        public decimal OWEIN_QTY { get; set; } = 0;
+        public double OWEIN_QTY { get; set; } = 0;
         /// <summary>
         /// ERP鍗曟嵁浠g爜
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_RECEIPT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_RECEIPT_DTL.cs
index 8507633..efc7a38 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_RECEIPT_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_RECEIPT_DTL.cs
@@ -49,19 +49,19 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal QTYPASS { get; set; }
+		public double QTYPASS { get; set; }
 		/// <summary>
 		/// 鍏ュ簱鏁伴噺
 		/// </summary>
-		public decimal INSTOCKQTY { get; set; }
+		public double INSTOCKQTY { get; set; }
 		/// <summary>
 		/// 閫�璐ф暟閲�
 		/// </summary>
-		public decimal RETURNQTY { get; set; }
+		public double RETURNQTY { get; set; }
 		/// <summary>
 		/// 鎵撳嵃鏁伴噺
 		/// </summary>
@@ -73,19 +73,19 @@
 		/// <summary>
 		/// 浠锋牸
 		/// </summary>
-		public decimal PRICE { get; set; }
+		public double PRICE { get; set; }
 		/// <summary>
 		/// 鍚◣浠锋牸
 		/// </summary>
-		public decimal TAXPRICE { get; set; }
+		public double TAXPRICE { get; set; }
 		/// <summary>
 		/// 鎬讳环
 		/// </summary>
-		public decimal AMOUNT { get; set; }
+		public double AMOUNT { get; set; }
 		/// <summary>
 		/// 鎵�鏈夋�讳环
 		/// </summary>
-		public decimal ALLAMOUNT { get; set; }
+		public double ALLAMOUNT { get; set; }
 		/// <summary>
 		/// 鏉ユ簮鍗曟嵁浠g爜
 		/// </summary>
@@ -109,7 +109,7 @@
 		/// <summary>
 		/// 鎵弿鏁伴噺
 		/// </summary>
-		public decimal SCANQTY { get; set; }
+		public double SCANQTY { get; set; }
 		/// <summary>
 		/// 澶囨敞
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_OUT_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_OUT_DTL.cs
index fe2d831..b369516 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_OUT_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_OUT_DTL.cs
@@ -45,11 +45,11 @@
 		/// <summary>
 		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍙戣揣鏃ユ湡
 		/// </summary>
@@ -89,7 +89,7 @@
 		/// <summary>
 		/// 娆犲彂鏁伴噺
 		/// </summary>
-		public decimal OWE_QTY { get; set; }
+		public double OWE_QTY { get; set; }
         #endregion
 
         #region 铏氭嫙灞炴��
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_RETURN_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_RETURN_DTL.cs
index d32a53e..fd212c0 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_RETURN_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_ERP_SALE_RETURN_DTL.cs
@@ -7,141 +7,141 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:销售退货单(ERP)明细
+	/// 瀹炰綋锛氶攢鍞��璐у崟(ERP)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("V_BIZ_ERP_SALE_RETURN_DTL")]
 	public class V_BIZ_ERP_SALE_RETURN_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:销售退货单(ERP)明细
+		/// 瀹炰綋锛氶攢鍞��璐у崟(ERP)鏄庣粏
 		/// </summary>
 		public V_BIZ_ERP_SALE_RETURN_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 单据代码
+		/// 鍗曟嵁浠g爜
 		/// </summary>
 		public string BILLCODE { get; set; }
 		/// <summary>
-		/// 单据行号
+		/// 鍗曟嵁琛屽彿
 		/// </summary>
 		public string BILLLINE { get; set; }
 		/// <summary>
-		/// 单据行状态
+		/// 鍗曟嵁琛岀姸鎬�
 		/// </summary>
 		public string LINESTATUS { get; set; }
 		/// <summary>
-		/// 物料代码
+		/// 鐗╂枡浠g爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 单位代码
+		/// 鍗曚綅浠g爜
 		/// </summary>
 		public string UNITCODE { get; set; }
 		/// <summary>
-		/// 需求数量
+		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
-		/// 入库数量
+		/// 鍏ュ簱鏁伴噺
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; }
+		public double INVENTORYQTY { get; set; }
 		/// <summary>
-		/// 合格数量
+		/// 鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal GOODQTY { get; set; }
+		public double GOODQTY { get; set; }
 		/// <summary>
-		/// 不良数量
+		/// 涓嶈壇鏁伴噺
 		/// </summary>
-		public decimal NGQTY { get; set; }
+		public double NGQTY { get; set; }
 		/// <summary>
-		/// 报废数量
+		/// 鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPQTY { get; set; }
+		public double SCRAPQTY { get; set; }
 		/// <summary>
-		/// 入库合格数量
+		/// 鍏ュ簱鍚堟牸鏁伴噺
 		/// </summary>
-		public decimal GOODINSTOCKQTY { get; set; }
+		public double GOODINSTOCKQTY { get; set; }
 		/// <summary>
-		/// 入库不良数量
+		/// 鍏ュ簱涓嶈壇鏁伴噺
 		/// </summary>
-		public decimal NGINSTOCKQTY { get; set; }
+		public double NGINSTOCKQTY { get; set; }
 		/// <summary>
-		/// 入库报废数量
+		/// 鍏ュ簱鎶ュ簾鏁伴噺
 		/// </summary>
-		public decimal SCRAPINSTCOKQTY { get; set; }
+		public double SCRAPINSTCOKQTY { get; set; }
 		/// <summary>
-		/// 仓库代码
+		/// 浠撳簱浠g爜
 		/// </summary>
 		public string WAREHOUSECODE { get; set; }
 		/// <summary>
-		/// 来源单据类型
+		/// 鏉ユ簮鍗曟嵁绫诲瀷
 		/// </summary>
 		public int SOURCETYPE { get; set; }
 		/// <summary>
-		/// 来源单据类型
+		/// 鏉ユ簮鍗曟嵁绫诲瀷
 		/// </summary>
 		public string SOURCECODE { get; set; }
 		/// <summary>
-		/// 来源单据行号
+		/// 鏉ユ簮鍗曟嵁琛屽彿
 		/// </summary>
 		public int SOURCELINE { get; set; }
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// ERP单据代码
+		/// ERP鍗曟嵁浠g爜
 		/// </summary>
 		public string ERP_BILL_CODE { get; set; }
         /// <summary>
-        /// 物料名称
+        /// 鐗╂枡鍚嶇О
         /// </summary>
         public string ITEM_NAME { get; set; }
         /// <summary>
-        /// 欠收数量
+        /// 娆犳敹鏁伴噺
         /// </summary>
         public string OWEIN_QTY { get; set; }
         #endregion
 
-        #region 虚拟属性
-        /*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
         #endregion
 
-        #region 外键属性
-        /*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_ERP_SALE_RETURN_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_SALE_RETURN_DTLId))]//ClassA表中的BIZ_ERP_SALE_RETURN_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_SALE_RETURN_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+        #region 澶栭敭灞炴��
+        /*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_ERP_SALE_RETURN_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_ERP_SALE_RETURN_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_ERP_SALE_RETURN_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_ERP_SALE_RETURN_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
         #endregion
 
-        #region 枚举变量
-        /*例子
+        #region 鏋氫妇鍙橀噺
+        /*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
         #endregion
 
-        #region 公共方法
+        #region 鍏叡鏂规硶
 
         #endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_SRM_DLVY_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_SRM_DLVY_DTL.cs
index fb342bf..53947f9 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_SRM_DLVY_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_SRM_DLVY_DTL.cs
@@ -7,236 +7,236 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:送货单(SRM)明细
+	/// 瀹炰綋锛氶�佽揣鍗�(SRM)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("V_BIZ_SRM_DLVY_DTL")]
 	public class V_BIZ_SRM_DLVY_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:送货单(SRM)明细
+		/// 瀹炰綋锛氶�佽揣鍗�(SRM)鏄庣粏
 		/// </summary>
 		public V_BIZ_SRM_DLVY_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 送货单号
+		/// 閫佽揣鍗曞彿
 		/// </summary>
 		public string DELIVERY_NO { get; set; }
 		/// <summary>
-		/// 采购单项次
+		/// 閲囪喘鍗曢」娆�
 		/// </summary>
 		public int LINE_NO { get; set; } = 0;
 		/// <summary>
-		/// ERP采购单号
+		/// ERP閲囪喘鍗曞彿
 		/// </summary>
 		public string ERP_PO_NO { get; set; }
 		/// <summary>
-		/// 送货单项次
+		/// 閫佽揣鍗曢」娆�
 		/// </summary>
 		public int PO_LINE_NO { get; set; } = 0;
 		/// <summary>
-		/// 采购单类型  1:一般采购;2:委外采购
+		/// 閲囪喘鍗曠被鍨�  1锛氫竴鑸噰璐紱2锛氬澶栭噰璐�
 		/// </summary>
         public int PO_TYPE { get; set; } = 1;
 		/// <summary>
-		/// 物料编码
+		/// 鐗╂枡缂栫爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 物料名称
+		/// 鐗╂枡鍚嶇О
 		/// </summary>
 		public string ITEM_NAME { get; set; }
 		/// <summary>
-		/// 规格
+		/// 瑙勬牸
 		/// </summary>
 		public string SPECIFICATION { get; set; }
 		/// <summary>
-		/// 数量
+		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; } = 0;
+		public double QTY { get; set; } = 0;
 		/// <summary>
-		/// 单位
+		/// 鍗曚綅
 		/// </summary>
 		public string UNIT { get; set; }
 		/// <summary>
-		/// 计价数量
+		/// 璁′环鏁伴噺
 		/// </summary>
 		public int VALUATION_QTY { get; set; } = 0;
 		/// <summary>
-		/// 单价
+		/// 鍗曚环
 		/// </summary>
         public double PRICE { get; set; } = 0;
 		/// <summary>
-		/// 含税单价
+		/// 鍚◣鍗曚环
 		/// </summary>
         public double TAX_PRICE { get; set; } = 0;
 		/// <summary>
-		/// 状态(1:待签收;2:签收中;3: 已完成;) 
+		/// 鐘舵�侊紙1:寰呯鏀讹紱2:绛炬敹涓紱3: 宸插畬鎴愶紱锛� 
 		/// </summary>
         public int STATUS { get; set; } = 1;
 		/// <summary>
-		/// 收货状态(0-未收货;1-部分收货;2-全部收货)
+		/// 鏀惰揣鐘舵�侊紙0-鏈敹璐�;1-閮ㄥ垎鏀惰揣;2-鍏ㄩ儴鏀惰揣锛�
 		/// </summary>
 		public int RECEIVE_STATUS { get; set; } = 0;
 		/// <summary>
-		/// 采购员
+		/// 閲囪喘鍛�
 		/// </summary>
 		public string BUYER { get; set; }
 		/// <summary>
-		/// 订单交期
+		/// 璁㈠崟浜ゆ湡
 		/// </summary>
 		public DateTime EXPECTED_DATE { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 排定交期(回复交期)
+		/// 鎺掑畾浜ゆ湡锛堝洖澶嶄氦鏈燂級
 		/// </summary>
 		public DateTime ANSWER_DATE { get; set; } = DateTime.MinValue;
 		/// <summary>
-		/// 币别编码
+		/// 甯佸埆缂栫爜
 		/// </summary>
 		public string CURRENCY_CODE { get; set; }
 		/// <summary>
-		/// 币别名称
+		/// 甯佸埆鍚嶇О
 		/// </summary>
 		public string CURRENCY_NAME { get; set; }
 		/// <summary>
-		/// 送检状态(0:未送检;1:部分送检;2:全部送检 3免检)
+		/// 閫佹鐘舵�侊紙0:鏈�佹锛�1:閮ㄥ垎閫佹锛�2:鍏ㄩ儴閫佹 3鍏嶆锛�
 		/// </summary>
 		public int VERIFY_STATUS { get; set; } = 0;
 		/// <summary>
-		/// 检验结果标识(0:免检  1:全部合格;2:部分合格;3:拒收)
+		/// 妫�楠岀粨鏋滄爣璇嗭紙0:鍏嶆  1:鍏ㄩ儴鍚堟牸锛�2:閮ㄥ垎鍚堟牸锛�3:鎷掓敹锛�
 		/// </summary>
         public int VERIFY_RESULT { get; set; } = 0;
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// 品牌
+		/// 鍝佺墝
 		/// </summary>
 		public string BRAND_NAME { get; set; }
 		/// <summary>
-		/// 批次
+		/// 鎵规
 		/// </summary>
 		public string BATCH_NUMBER { get; set; }
 		/// <summary>
-		/// 单位名称
+		/// 鍗曚綅鍚嶇О
 		/// </summary>
 		public string UNIT_NAME { get; set; }
 		/// <summary>
-		/// 包装数量
+		/// 鍖呰鏁伴噺
 		/// </summary>
-		public decimal PACKING_QTY { get; set; } = 0;
+		public double PACKING_QTY { get; set; } = 0;
 		/// <summary>
-		/// 申请数量
+		/// 鐢宠鏁伴噺
 		/// </summary>
         public int APPLY_DELIVERY_QTY { get; set; } = 0;
 		/// <summary>
-		/// 毛重
+		/// 姣涢噸
 		/// </summary>
-		public decimal GROSS_WEIGHT { get; set; }
+		public double GROSS_WEIGHT { get; set; }
 		/// <summary>
-		/// 净重
+		/// 鍑�閲�
 		/// </summary>
-		public decimal NET_WEIGHT { get; set; }
+		public double NET_WEIGHT { get; set; }
 		/// <summary>
-		/// 重量单位
+		/// 閲嶉噺鍗曚綅
 		/// </summary>
 		public string UNIT_WEIGHTCODE { get; set; }
 		/// <summary>
-		/// 重量单位名称
+		/// 閲嶉噺鍗曚綅鍚嶇О
 		/// </summary>
 		public string UNIT_WEIGHTNAME { get; set; }
 		/// <summary>
-		/// 紧急标识
+		/// 绱ф�ユ爣璇�
 		/// </summary>
 		public int URGENT_FLAG { get; set; } = 0;
         /// <summary>
-        /// 标识是否签收
+        /// 鏍囪瘑鏄惁绛炬敹
         /// </summary>
         //public string SOURCECODE { get; set; }
         /// <summary>
-        /// 标识是否签收
+        /// 鏍囪瘑鏄惁绛炬敹
         /// </summary>
         #endregion
 
-        #region 虚拟属性
-        /*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
         #endregion
 
-        #region 外键属性
-        /*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_SRM_DLVY_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_SRM_DLVY_DTLId))]//ClassA表中的BIZ_SRM_DLVY_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_SRM_DLVY_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+        #region 澶栭敭灞炴��
+        /*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_SRM_DLVY_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_SRM_DLVY_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_SRM_DLVY_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_SRM_DLVY_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
         #endregion
 
-        #region 枚举变量
-        /*例子
+        #region 鏋氫妇鍙橀噺
+        /*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
         public enum STATUSs
         {
-            [Description("待签收")]
+            [Description("寰呯鏀�")]
             INVENTORY=1,
-            [Description("签收中")]
+            [Description("绛炬敹涓�")]
             WORKING=2,
-            [Description("已完成")]
+            [Description("宸插畬鎴�")]
             EXCEED=3,
         }
         public enum RECEIVE_STATUSs
         {
-            [Description("待签收")]
+            [Description("寰呯鏀�")]
             INVENTORY,
-            [Description("签收中")]
+            [Description("绛炬敹涓�")]
             WORKING,
-            [Description("已完成")]
+            [Description("宸插畬鎴�")]
             EXCEED,
         }
         public enum VERIFY_STATUSs
         {
-            [Description("未送检")]
+            [Description("鏈�佹")]
             NOTSUBMISSION,
-            [Description("部分送检")]
+            [Description("閮ㄥ垎閫佹")]
             PARTSUBMISSION,
-            [Description("全部送检")]
+            [Description("鍏ㄩ儴閫佹")]
             ALLSUBMISSION,
-            [Description("免检")]
+            [Description("鍏嶆")]
             NOTINSPECT,
         }
         public enum VERIFY_RESULTs
         {
-            [Description("免检")]
+            [Description("鍏嶆")]
             NOTINSPECT,
-            [Description("全部合格")]
+            [Description("鍏ㄩ儴鍚堟牸")]
             ALLQUALIFIED,
-            [Description("部分合格")]
+            [Description("閮ㄥ垎鍚堟牸")]
             PARTQUALIFIED,
-            [Description("拒收")]
+            [Description("鎷掓敹")]
             REJECTION,
         }
         #endregion
 
-        #region 公共方法
+        #region 鍏叡鏂规硶
 
         #endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/V_BIZ_WMS_TRANSFER_DTL.cs b/Tiger.Model.Net/Entitys/WMS/V_BIZ_WMS_TRANSFER_DTL.cs
index 45996af..02ca297 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_BIZ_WMS_TRANSFER_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_BIZ_WMS_TRANSFER_DTL.cs
@@ -7,133 +7,133 @@
 namespace Tiger.Model
 {
 	/// <summary>
-	/// 实体:调拨单(WMS)明细
+	/// 瀹炰綋锛氳皟鎷ㄥ崟(WMS)鏄庣粏
 	/// </summary>
 	[Description("Primary:ID")]
 	[Serializable]
 	[SugarTable("V_BIZ_WMS_TRANSFER_DTL")]
 	public class V_BIZ_WMS_TRANSFER_DTL : DbEntityWithAuth
 	{
-		#region 构造函数
+		#region 鏋勯�犲嚱鏁�
 		/// <summary>
-		/// 实体:调拨单(WMS)明细
+		/// 瀹炰綋锛氳皟鎷ㄥ崟(WMS)鏄庣粏
 		/// </summary>
 		public V_BIZ_WMS_TRANSFER_DTL() {}
 		#endregion
 
-		#region 公共属性
+		#region 鍏叡灞炴��
 		/// <summary>
-		/// 单据代码
+		/// 鍗曟嵁浠g爜
 		/// </summary>
 		public string BILLCODE { get; set; }
 		/// <summary>
-		/// 单据行号
+		/// 鍗曟嵁琛屽彿
 		/// </summary>
 		public string BILLLINE { get; set; }
 		/// <summary>
-		/// 单据行状态
+		/// 鍗曟嵁琛岀姸鎬�
 		/// </summary>
 		public int LINESTATUS { get; set; }
 		/// <summary>
-		/// 物料编码
+		/// 鐗╂枡缂栫爜
 		/// </summary>
 		public string ITEM_CODE { get; set; }
 		/// <summary>
-		/// 单位代码
+		/// 鍗曚綅浠g爜
 		/// </summary>
 		public string UNITCODE { get; set; }
 		/// <summary>
-		/// 需求数量
+		/// 闇�姹傛暟閲�
 		/// </summary>
-		public decimal PRQTY { get; set; }
+		public double PRQTY { get; set; }
 		/// <summary>
-		/// 出库数量
+		/// 鍑哄簱鏁伴噺
 		/// </summary>
-		public decimal OUTQTY { get; set; }
+		public double OUTQTY { get; set; }
 		/// <summary>
-		/// 入库数量
+		/// 鍏ュ簱鏁伴噺
 		/// </summary>
-		public decimal INQTY { get; set; }
+		public double INQTY { get; set; }
 		/// <summary>
-		/// 出库仓库代码
+		/// 鍑哄簱浠撳簱浠g爜
 		/// </summary>
 		public string OUTWAREHOUSECODE { get; set; }
 		/// <summary>
-		/// 入库仓库代码
+		/// 鍏ュ簱浠撳簱浠g爜
 		/// </summary>
 		public string INWAREHOUSECODE { get; set; }
 		/// <summary>
-		/// 来源单据类型
+		/// 鏉ユ簮鍗曟嵁绫诲瀷
 		/// </summary>
 		public int SOURCETYPE { get; set; }
 		/// <summary>
-		/// 来源单据代码
+		/// 鏉ユ簮鍗曟嵁浠g爜
 		/// </summary>
 		public string SOURCECODE { get; set; }
 		/// <summary>
-		/// 来源单据行号
+		/// 鏉ユ簮鍗曟嵁琛屽彿
 		/// </summary>
 		public string SOURCELINE { get; set; }
 		/// <summary>
-		/// 备注
+		/// 澶囨敞
 		/// </summary>
 		public string REMARK { get; set; }
 		/// <summary>
-		/// ERP单据代码
+		/// ERP鍗曟嵁浠g爜
 		/// </summary>
 		public string ERP_BILL_CODE { get; set; }
 		/// <summary>
-		/// 库存数量
+		/// 搴撳瓨鏁伴噺
 		/// </summary>
-		public decimal INVENTORYQTY { get; set; } = 0;
+		public double INVENTORYQTY { get; set; } = 0;
         /// <summary>
-        /// 物料描述
+        /// 鐗╂枡鎻忚堪
         /// </summary>
         public string ITEM_NAME { get; set; }
         /// <summary>
-        /// 拨入批号
+        /// 鎷ㄥ叆鎵瑰彿
         /// </summary>
         public string BATCH_NO_IN { get; set; }
         /// <summary>
-        /// 拨出批号
+        /// 鎷ㄥ嚭鎵瑰彿
         /// </summary>
         public string BATCH_NO_OUT { get; set; }
         #endregion
 
-        #region 虚拟属性
-        /*例子
+        #region 铏氭嫙灞炴��
+        /*渚嬪瓙
 		[SugarColumn(IsIgnore = true)]
 		public string FieldName { get; set; }
 		*/
         #endregion
 
-        #region 外键属性
-        /*例子
-		//一对一外键导航
-		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BIZ_WMS_TRANSFER_DTL类里面的外键ID字段
-		public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
-		//一对多外键导航
-		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_WMS_TRANSFER_DTLId))]//ClassA表中的BIZ_WMS_TRANSFER_DTLId
-		public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
-		//多对多外键导航
-		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_WMS_TRANSFER_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
-		public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
+        #region 澶栭敭灞炴��
+        /*渚嬪瓙
+		//涓�瀵逛竴澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToOne, nameof(ClassAId))]//涓�瀵逛竴 ClassAId鏄疊IZ_WMS_TRANSFER_DTL绫婚噷闈㈢殑澶栭敭ID瀛楁
+		public ClassA ClassA { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//涓�瀵瑰澶栭敭瀵艰埅
+		[Navigate(NavigateType.OneToMany, nameof(ClassA.BIZ_WMS_TRANSFER_DTLId))]//ClassA琛ㄤ腑鐨凚IZ_WMS_TRANSFER_DTLId
+		public List<ClassA> ClassAList { get; set; }//娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
+		//澶氬澶氬閿鑸�
+		[Navigate(typeof(MappingClass), nameof(MappingClass.BIZ_WMS_TRANSFER_DTLId), nameof(MappingClass.ClassAId))]//娉ㄦ剰椤哄簭
+		public List<ClassA> ClassAList { get; set; } //娉ㄦ剰绂佹鎵嬪姩璧嬪�硷紝鍙兘鏄痭ull
 		*/
         #endregion
 
-        #region 枚举变量
-        /*例子
+        #region 鏋氫妇鍙橀噺
+        /*渚嬪瓙
 		public enum FieldNames
 		{
-			[Description("枚举描述0")]
+			[Description("鏋氫妇鎻忚堪0")]
 			Enum0,
-			[Description("枚举描述1")]
+			[Description("鏋氫妇鎻忚堪1")]
 			Enum1,
 		}
 		*/
         #endregion
 
-        #region 公共方法
+        #region 鍏叡鏂规硶
 
         #endregion
 
diff --git a/Tiger.Model.Net/Entitys/WMS/V_ITEM_BIZ_ERP_RECEIPT_SN.cs b/Tiger.Model.Net/Entitys/WMS/V_ITEM_BIZ_ERP_RECEIPT_SN.cs
index f710d4f..b5ad4ec 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_ITEM_BIZ_ERP_RECEIPT_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_ITEM_BIZ_ERP_RECEIPT_SN.cs
@@ -40,7 +40,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
         /// <summary>
         /// 涓氬姟鍗曟嵁鍙风爜
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_ITEM_COUNT.cs b/Tiger.Model.Net/Entitys/WMS/V_ITEM_COUNT.cs
index b1987b4..00a1ddf 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_ITEM_COUNT.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_ITEM_COUNT.cs
@@ -77,7 +77,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_SRM_ITEM.cs b/Tiger.Model.Net/Entitys/WMS/V_SRM_ITEM.cs
index a92502e..1d71368 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_SRM_ITEM.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_SRM_ITEM.cs
@@ -41,7 +41,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; } = 0;
+		public double QTY { get; set; } = 0;
 		/// <summary>
 		/// 灏忓寘鏉$爜(SRM)
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WH_ITEM_SUM.cs b/Tiger.Model.Net/Entitys/WMS/V_WH_ITEM_SUM.cs
index 1b52e2f..a6e5e81 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WH_ITEM_SUM.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WH_ITEM_SUM.cs
@@ -45,7 +45,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 
         public string AUTH_ORG { get; set; }
         public string AUTH_PROD { get; set; }
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_LDTL.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_LDTL.cs
index 36cc8c7..418007b 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_LDTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_LDTL.cs
@@ -65,19 +65,19 @@
 		/// <summary>
 		/// WMS鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏁伴噺
 		/// </summary>
-		public decimal ACT_QTY { get; set; }
+		public double ACT_QTY { get; set; }
 		/// <summary>
 		/// WMS鏉$爜鏁伴噺
 		/// </summary>
-		public decimal SN_QTY { get; set; }
+		public double SN_QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏉$爜鏁伴噺
 		/// </summary>
-		public decimal ACT_SN_QTY { get; set; }
+		public double ACT_SN_QTY { get; set; }
 		/// <summary>
 		/// 澶囨敞
 		/// </summary>
@@ -89,7 +89,7 @@
         /// <summary>
         /// 鏈洏鐐规暟閲�
         /// </summary>
-        public decimal NOT_QTY { get; set; }
+        public double NOT_QTY { get; set; }
         #endregion
 
         #region 铏氭嫙灞炴��
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_MDTL.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_MDTL.cs
index 2a41665..2724acd 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_MDTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_MDTL.cs
@@ -53,11 +53,11 @@
 		/// <summary>
 		/// WMS鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏁伴噺
 		/// </summary>
-		public decimal ACT_QTY { get; set; }
+		public double ACT_QTY { get; set; }
 		/// <summary>
 		/// 鐢熶骇鏃ユ湡
 		/// </summary>
@@ -121,7 +121,7 @@
         /// <summary>
         /// 鏈洏鐐规暟閲�
         /// </summary>
-        public decimal NOT_QTY { get; set; }
+        public double NOT_QTY { get; set; }
         #endregion
 
         #region 铏氭嫙灞炴��
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_SUM.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_SUM.cs
index c8388cb..75bab6e 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_SUM.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_COUNT_SUM.cs
@@ -45,23 +45,23 @@
 		/// <summary>
 		/// WMS鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏁伴噺
 		/// </summary>
-		public decimal ACT_QTY { get; set; }
+		public double ACT_QTY { get; set; }
 		/// <summary>
 		/// ERP鏁伴噺
 		/// </summary>
-		public decimal ERP_QTY { get; set; }
+		public double ERP_QTY { get; set; }
 		/// <summary>
 		/// WMS鏉$爜鏁伴噺
 		/// </summary>
-		public decimal SN_QTY { get; set; }
+		public double SN_QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏉$爜鏁伴噺
 		/// </summary>
-		public decimal ACT_SN_QTY { get; set; }
+		public double ACT_SN_QTY { get; set; }
 		/// <summary>
 		/// 澶囨敞
 		/// </summary>
@@ -86,7 +86,7 @@
 		public string FieldName { get; set; }
 		*/
         [SugarColumn(IsIgnore = true)]
-		public decimal SN_NOT_QTY => ACT_SN_QTY - SN_QTY;
+		public double SN_NOT_QTY => ACT_SN_QTY - SN_QTY;
         #endregion
 
         #region 澶栭敭灞炴��
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM.cs
index 2c64249..60e2602 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM.cs
@@ -52,7 +52,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_A.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_A.cs
index b5b4cb9..ec1bc59 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_A.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_A.cs
@@ -52,7 +52,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_D.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_D.cs
index 5970920..114e9f4 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_D.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_D.cs
@@ -52,7 +52,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_EXT.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_EXT.cs
index 2a92170..2e58b61 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_EXT.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_EXT.cs
@@ -45,7 +45,7 @@
 		/// <summary>
 		/// 鐗╂枡鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鐘舵��(0Init鍒濆鍖東1WaitPick寰呮嫞鏂檤2OffShelf宸蹭笅鏋秥3Picked宸叉崱鏂檤4Sended宸插彂鏂檤5Loaded宸蹭笂鏂檤6UseUp宸茶�楀敖|7Returned宸查��鏂�)
 		/// </summary>
@@ -61,7 +61,7 @@
 		/// <summary>
 		/// 宸插垎閰嶆暟閲�
 		/// </summary>
-		public decimal ALLOC_QTY { get; set; }
+		public double ALLOC_QTY { get; set; }
 		/// <summary>
 		/// 鏉ユ簮鍗曟嵁缂栫爜
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_HIS.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_HIS.cs
index f3d641b..1276027 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_HIS.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_HIS.cs
@@ -54,7 +54,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_SUM.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_SUM.cs
index 7215a21..8ceecad 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_SUM.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_SUM.cs
@@ -46,7 +46,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal ZK_QTY { get; set; }
+        public double ZK_QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_X.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_X.cs
index 4609ca6..9ddca8c 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_X.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_X.cs
@@ -52,7 +52,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_Y.cs b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_Y.cs
index 022a348..ef6ca5e 100644
--- a/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_Y.cs
+++ b/Tiger.Model.Net/Entitys/WMS/V_WMS_ITEM_Y.cs
@@ -52,7 +52,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_LDTL.cs b/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_LDTL.cs
index d5b84d6..2c1da4f 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_LDTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_LDTL.cs
@@ -65,19 +65,19 @@
 		/// <summary>
 		/// WMS鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏁伴噺
 		/// </summary>
-		public decimal ACT_QTY { get; set; }
+		public double ACT_QTY { get; set; }
 		/// <summary>
 		/// WMS鏉$爜鏁伴噺
 		/// </summary>
-		public decimal SN_QTY { get; set; }
+		public double SN_QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏉$爜鏁伴噺
 		/// </summary>
-		public decimal ACT_SN_QTY { get; set; }
+		public double ACT_SN_QTY { get; set; }
 		/// <summary>
 		/// 澶囨敞
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_MDTL.cs b/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_MDTL.cs
index 96e2a3a..f26a1f8 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_MDTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_MDTL.cs
@@ -53,11 +53,11 @@
 		/// <summary>
 		/// WMS鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏁伴噺
 		/// </summary>
-		public decimal ACT_QTY { get; set; }
+		public double ACT_QTY { get; set; }
 		/// <summary>
 		/// 鐢熶骇鏃ユ湡
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_SUM.cs b/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_SUM.cs
index bc7f7ab..f7285d4 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_SUM.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_COUNT_SUM.cs
@@ -45,23 +45,23 @@
 		/// <summary>
 		/// WMS鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏁伴噺
 		/// </summary>
-		public decimal ACT_QTY { get; set; }
+		public double ACT_QTY { get; set; }
 		/// <summary>
 		/// ERP鏁伴噺
 		/// </summary>
-		public decimal ERP_QTY { get; set; }
+		public double ERP_QTY { get; set; }
 		/// <summary>
 		/// WMS鏉$爜鏁伴噺
 		/// </summary>
-		public decimal SN_QTY { get; set; }
+		public double SN_QTY { get; set; }
 		/// <summary>
 		/// 瀹為檯鏉$爜鏁伴噺
 		/// </summary>
-		public decimal ACT_SN_QTY { get; set; }
+		public double ACT_SN_QTY { get; set; }
 		/// <summary>
 		/// 澶囨敞
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM.cs b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM.cs
index 380bbe7..2e56adc 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM.cs
@@ -52,7 +52,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
 
         /// <summary>
         /// 鍗曚綅
@@ -172,7 +172,7 @@
         /// <summary>
         /// 寤舵湡鏃堕棿
         /// </summary>
-        //public decimal PostponeDays { get; set; }
+        //public double PostponeDays { get; set; }
 
         #endregion 鍏叡灞炴��
 
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_HIS.cs b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_HIS.cs
index 47372f3..57b43df 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_HIS.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_HIS.cs
@@ -80,7 +80,7 @@
 		/// <summary>
 		/// 鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 鍗曚綅
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs
index c68a20b..baec8ad 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_PKG.cs
@@ -46,7 +46,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal QTY { get; set; }
+        public double QTY { get; set; }
         /// <summary>
         /// 鍗曚綅
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs
index 9c71e7b..f4a0660 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_ITEM_POOL.cs
@@ -57,11 +57,11 @@
 		/// <summary>
 		/// 鐗╂枡鏁伴噺
 		/// </summary>
-		public decimal QTY { get; set; }
+		public double QTY { get; set; }
 		/// <summary>
 		/// 宸插垎閰嶆暟閲�
 		/// </summary>
-		public decimal ALLOC_QTY { get; set; }
+		public double ALLOC_QTY { get; set; }
         /// <summary>
 		/// 鐢熶骇鏃ユ湡
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_MesMaterial.cs b/Tiger.Model.Net/Entitys/WMS/WMS_MesMaterial.cs
index abf5c11..55a9450 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_MesMaterial.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_MesMaterial.cs
@@ -101,7 +101,7 @@
         /// <summary>
         ///
         /// </summary>
-        public decimal SAFEQTY { get; set; }
+        public double SAFEQTY { get; set; }
 
         /// <summary>
         ///
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_SHELF.cs b/Tiger.Model.Net/Entitys/WMS/WMS_SHELF.cs
index 99f85c2..f484093 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_SHELF.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_SHELF.cs
@@ -38,11 +38,11 @@
 		/// <summary>
 		/// 璐ф灦灞傛暟
 		/// </summary>
-		public decimal FLOORS { get; set; }
+		public double FLOORS { get; set; }
 		/// <summary>
 		/// 姣忓眰鍌ㄤ綅鏁�
 		/// </summary>
-		public decimal FLOOR_COUNT { get; set; }
+		public double FLOOR_COUNT { get; set; }
 		/// <summary>
 		/// 鍌ㄤ綅ID鏂瑰悜(ASC/DESC)
 		/// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY.cs b/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY.cs
index 4bb3078..a677e6a 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY.cs
@@ -103,11 +103,11 @@
         /// <summary>
         /// 姣涢噸
         /// </summary>
-        public decimal GROSS_WEIGHT { get; set; }
+        public double GROSS_WEIGHT { get; set; }
         /// <summary>
         /// 鍑�閲�
         /// </summary>
-        public decimal NET_WEIGHT { get; set; }
+        public double NET_WEIGHT { get; set; }
         /// <summary>
         /// 閲嶉噺鍗曚綅
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_DTL.cs b/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_DTL.cs
index 0dde084..4b707b5 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_DTL.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_DTL.cs
@@ -56,7 +56,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal QTY { get; set; } = 0;
+        public double QTY { get; set; } = 0;
         /// <summary>
         /// 鍗曚綅
         /// </summary>
@@ -128,7 +128,7 @@
         /// <summary>
         /// 鍖呰鏁伴噺
         /// </summary>
-        public decimal PACKING_QTY { get; set; } = 0;
+        public double PACKING_QTY { get; set; } = 0;
         /// <summary>
         /// 鐢宠鏁伴噺
         /// </summary>
@@ -137,11 +137,11 @@
         /// <summary>
         /// 姣涢噸
         /// </summary>
-        public decimal GROSS_WEIGHT { get; set; }
+        public double GROSS_WEIGHT { get; set; }
         /// <summary>
         /// 鍑�閲�
         /// </summary>
-        public decimal NET_WEIGHT { get; set; }
+        public double NET_WEIGHT { get; set; }
         /// <summary>
         /// 閲嶉噺鍗曚綅
         /// </summary>
diff --git a/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_SN.cs b/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_SN.cs
index df2c105..e6fff6d 100644
--- a/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_SN.cs
+++ b/Tiger.Model.Net/Entitys/WMS/WMS_SUPP_DLVY_SN.cs
@@ -40,7 +40,7 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public decimal QTY { get; set; } = 0;
+        public double QTY { get; set; } = 0;
         /// <summary>
         /// 灏忓寘鏉$爜(鎼哄浜�)
         /// </summary>

--
Gitblit v1.9.3