From c761ba5bd72e9170c65fad44003e90a61e034b33 Mon Sep 17 00:00:00 2001
From: ch <37327@LLOOCCY>
Date: 星期四, 03 十一月 2022 12:33:33 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs            |   13 
 WebAPI/Controllers/BLL/Xt_BillTypeController.cs                 |   13 
 WebAPI/Controllers/基础资料/基础资料/Gy_RepairBillController.cs         |   14 
 WebAPI/Controllers/BaseSet/Gy_SourceController.cs               |   13 
 WebAPI/Controllers/基础资料/基础资料/Gy_RepairCheckBillController.cs    |   14 
 WebAPI/Controllers/SCGL/Sc_ComplementGoodBill_ZXBZController.cs |  361 ++++++++
 WebAPI/Controllers/基础资料/基础资料/Gy_MaintainBillController.cs       |   13 
 WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs         |   48 
 WebAPI/Controllers/基础资料/基础资料/Gy_DotCheckBillController.cs       |   13 
 WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs            |   13 
 WebAPI/Controllers/基础资料/基础资料/Gy_SOPBillController.cs            |  244 +++++
 WebAPI/Controllers/CJGL/ProductionPlanReportController.cs       |    4 
 WebAPI/Controllers/BLL/Xt_SystemLogController.cs                |   13 
 WebAPI/Controllers/BaseSet/Gy_CurrencyController.cs             |   41 
 WebAPI/Controllers/基础资料/基础资料/Gy_ConkReasonBillController.cs     |   15 
 WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs           |   10 
 Pub_Class/CustomerCls/ClsXt_SystemParameter.cs                  | 1309 +++++++++++++++++++++++++++++++
 WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs      |   23 
 WebAPI/Controllers/基础资料/基础资料/Gy_StockCheckItemBillController.cs |   30 
 WebAPI/Controllers/BaseSet/Gy_GroupController.cs                |   14 
 WebAPI/Controllers/Gy_MateMouldController.cs                    |   48 
 WebAPI/Controllers/BaseSet/Gy_CheckItemController.cs            |   11 
 WebAPI/Controllers/BaseSet/Gy_QCCheckClassController.cs         |   12 
 WebAPI/Controllers/BaseSet/Gy_ProcessController.cs              |   13 
 WebAPI/Controllers/BLL/Xt_XtgnbController.cs                    |   14 
 WebAPI/Controllers/BLL/Xt_SystemParameterController.cs          |   13 
 WebAPI/Controllers/基础资料/工资基础资料/Gy_ProcPriceController.cs        |   65 +
 WebAPI/WebAPI.csproj                                            |    2 
 WebAPI/Controllers/GG_NoticeController.cs                       |   15 
 29 files changed, 2,323 insertions(+), 88 deletions(-)

diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
index 99bd236..3e22476 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -1382,6 +1382,1315 @@
             }
         }
 
+        //根据组织,获取系统参数 
+        public bool ShowBillByOrgID(Int64 HStockOrgID, ref string sReturn)
+        {
+            try
+            {
+                //查询主表
+                DataSet DsSub;
+                //循环 
+                DsSub = oCn.RunProcReturn("select a.HKey,isnull(b.HValue,a.HValue) HValue from Xt_SystemParameter a with(nolock) left join Xt_SystemParameterSub b with(nolock) on a.HKey=b.HKey and b.HOrgID= " + HStockOrgID.ToString() + " order by a.HItemID  ", "Xt_SystemParameter");
+
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    //WMS条码 系统参数
+                    //生产汇报单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_AutoCheck")
+                    {
+                        omodel.Sc_ICMOReportBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_ERPMode")
+                    {
+                        omodel.Sc_ICMOReportBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_MustQtyCtl")
+                    {
+                        omodel.Sc_ICMOReportBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_MulSourceBill")
+                    {
+                        omodel.Sc_ICMOReportBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_BillTypeOneScan")
+                    {
+                        omodel.Sc_ICMOReportBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_SourceBillCtl")
+                    {
+                        omodel.Sc_ICMOReportBill_SourceBillCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_BatchNoCtl")
+                    {
+                        omodel.Sc_ICMOReportBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_MultilineCtl")
+                    {
+                        omodel.Sc_ICMOReportBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_MaterWHSPCtl")
+                    {
+                        omodel.Sc_ICMOReportBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_SourceWHSPCtl")
+                    {
+                        omodel.Sc_ICMOReportBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_UpdateSourceInterID")
+                    {
+                        omodel.Sc_ICMOReportBill_UpdateSourceInterID = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_MESFlag")
+                    {
+                        omodel.Sc_ICMOReportBill_MESFlag = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //收料通知单(送货单、到货确认)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Cg_POInStockBill_BarCodeCtl")
+                    {
+                        omodel.Cg_POInStockBill_BarCodeCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Cg_POInStockBill_AutoCheck")
+                    {
+                        omodel.Cg_POInStockBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Cg_POInStockBill_ERPMode")
+                    {
+                        omodel.Cg_POInStockBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //采购入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_AutoCheck")
+                    {
+                        omodel.Kf_POStockInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_ERPMode")
+                    {
+                        omodel.Kf_POStockInBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_MustQtyCtl")
+                    {
+                        omodel.Kf_POStockInBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_MulSourceBill")
+                    {
+                        omodel.Kf_POStockInBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_POStockInBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_SourceBillCtl")
+                    {
+                        omodel.Kf_POStockInBill_SourceBillCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_BatchNoCtl")
+                    {
+                        omodel.Kf_POStockInBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_MultilineCtl")
+                    {
+                        omodel.Kf_POStockInBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_POStockInBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_POStockInBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBill_AutoBarCode")
+                    {
+                        omodel.Kf_POStockInBill_AutoBarCode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //产品入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_AutoCheck")
+                    {
+                        omodel.Kf_ProductInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_ERPMode")
+                    {
+                        omodel.Kf_ProductInBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_MustQtyCtl")
+                    {
+                        omodel.Kf_ProductInBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_MulSourceBill")
+                    {
+                        omodel.Kf_ProductInBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_ProductInBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_SourceBillCtl")
+                    {
+                        omodel.Kf_ProductInBill_SourceBillCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_BatchNoCtl")
+                    {
+                        omodel.Kf_ProductInBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_MultilineCtl")
+                    {
+                        omodel.Kf_ProductInBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_ProductInBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_ProductInBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBill_Display")
+                    {
+                        omodel.Kf_ProductInBill_Display = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //其他入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_AutoCheck")
+                    {
+                        omodel.Kf_OtherInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_ERPMode")
+                    {
+                        omodel.Kf_OtherInBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_MustQtyCtl")
+                    {
+                        omodel.Kf_OtherInBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_MulSourceBill")
+                    {
+                        omodel.Kf_OtherInBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_OtherInBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_SourceBillCtl")
+                    {
+                        omodel.Kf_OtherInBill_SourceBillCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_BatchNoCtl")
+                    {
+                        omodel.Kf_OtherInBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_MultilineCtl")
+                    {
+                        omodel.Kf_OtherInBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_OtherInBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_OtherInBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //其他入库单  校验
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBillCheck_MustQtyCtl")
+                    {
+                        omodel.Kf_OtherInBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBillCheck_WHSPCtl")
+                    {
+                        omodel.Kf_OtherInBillCheck_WHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBillCheck_MultilineCtl")
+                    {
+                        omodel.Kf_OtherInBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //委外入库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_AutoCheck")
+                    {
+                        omodel.Kf_EntrustInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_ERPMode")
+                    {
+                        omodel.Kf_EntrustInBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_MustQtyCtl")
+                    {
+                        omodel.Kf_EntrustInBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_MulSourceBill")
+                    {
+                        omodel.Kf_EntrustInBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_EntrustInBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_SourceBillCtl")
+                    {
+                        omodel.Kf_EntrustInBill_SourceBillCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_BatchNoCtl")
+                    {
+                        omodel.Kf_EntrustInBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_MultilineCtl")
+                    {
+                        omodel.Kf_EntrustInBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_EntrustInBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_EntrustInBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //生产领料单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_AutoCheck")
+                    {
+                        omodel.Kf_MateOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_ERPMode")
+                    {
+                        omodel.Kf_MateOutBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_MustQtyCtl")
+                    {
+                        omodel.Kf_MateOutBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_MulSourceBill")
+                    {
+                        omodel.Kf_MateOutBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_MateOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_BatchNoCtl")
+                    {
+                        omodel.Kf_MateOutBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_MultilineCtl")
+                    {
+                        omodel.Kf_MateOutBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_MateOutBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_MateOutBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_FIFOList")
+                    {
+                        omodel.Kf_MateOutBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_FIFOCtl")
+                    {
+                        omodel.Kf_MateOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_SimpleMode")
+                    {
+                        omodel.Kf_MateOutBill_SimpleMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBill_AutoBarCode")
+                    {
+                        omodel.Kf_MateOutBill_AutoBarCode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //生产领料单    校验
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBillCheck_MustQtyCtl")
+                    {
+                        omodel.Kf_MateOutBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBillCheck_WHSPCtl")
+                    {
+                        omodel.Kf_MateOutBillCheck_WHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBillCheck_MultilineCtl")
+                    {
+                        omodel.Kf_MateOutBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //销售出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_AutoCheck")
+                    {
+                        omodel.Kf_SellOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_ERPMode")
+                    {
+                        omodel.Kf_SellOutBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_MustQtyCtl")
+                    {
+                        omodel.Kf_SellOutBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_MulSourceBill")
+                    {
+                        omodel.Kf_SellOutBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_SellOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_BatchNoCtl")
+                    {
+                        omodel.Kf_SellOutBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_MultilineCtl")
+                    {
+                        omodel.Kf_SellOutBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_SellOutBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_SellOutBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_FIFOList")
+                    {
+                        omodel.Kf_SellOutBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_FIFOCtl")
+                    {
+                        omodel.Kf_SellOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_AutoSavePOStockInBill")
+                    {
+                        omodel.Kf_SellOutBill_AutoSavePOStockInBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_NoRefresh")
+                    {
+                        omodel.Kf_SellOutBill_NoRefresh = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBill_Display")
+                    {
+                        omodel.Kf_SellOutBill_Display = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //其他出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_AutoCheck")
+                    {
+                        omodel.Kf_OtherOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_ERPMode")
+                    {
+                        omodel.Kf_OtherOutBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_MustQtyCtl")
+                    {
+                        omodel.Kf_OtherOutBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_MulSourceBill")
+                    {
+                        omodel.Kf_OtherOutBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_OtherOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_BatchNoCtl")
+                    {
+                        omodel.Kf_OtherOutBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_MultilineCtl")
+                    {
+                        omodel.Kf_OtherOutBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_OtherOutBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_OtherOutBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //其他出库单  校验
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBillCheck_MustQtyCtl")
+                    {
+                        omodel.Kf_OtherOutBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBillCheck_WHSPCtl")
+                    {
+                        omodel.Kf_OtherOutBillCheck_WHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBillCheck_MultilineCtl")
+                    {
+                        omodel.Kf_OtherOutBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //委外出库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_AutoCheck")
+                    {
+                        omodel.Kf_EntrustOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_ERPMode")
+                    {
+                        omodel.Kf_EntrustOutBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_MustQtyCtl")
+                    {
+                        omodel.Kf_EntrustOutBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_MulSourceBill")
+                    {
+                        omodel.Kf_EntrustOutBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_EntrustOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_BatchNoCtl")
+                    {
+                        omodel.Kf_EntrustOutBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_MultilineCtl")
+                    {
+                        omodel.Kf_EntrustOutBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_EntrustOutBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_EntrustOutBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_FIFOList")
+                    {
+                        omodel.Kf_EntrustOutBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_FIFOCtl")
+                    {
+                        omodel.Kf_EntrustOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBill_SimpleMode")
+                    {
+                        omodel.Kf_EntrustOutBill_SimpleMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //生产补料单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_AutoCheck")
+                    {
+                        omodel.Kf_MateReplenishOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_ERPMode")
+                    {
+                        omodel.Kf_MateReplenishOutBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_MustQtyCtl")
+                    {
+                        omodel.Kf_MateReplenishOutBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_MulSourceBill")
+                    {
+                        omodel.Kf_MateReplenishOutBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_MateReplenishOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_BatchNoCtl")
+                    {
+                        omodel.Kf_MateReplenishOutBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_MultilineCtl")
+                    {
+                        omodel.Kf_MateReplenishOutBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_MateReplenishOutBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateReplenishOutBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_MateReplenishOutBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //直接调拨单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_AutoCheck")
+                    {
+                        omodel.Kf_MoveStockBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_ERPMode")
+                    {
+                        omodel.Kf_MoveStockBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_MustQtyCtl")
+                    {
+                        omodel.Kf_MoveStockBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_MulSourceBill")
+                    {
+                        omodel.Kf_MoveStockBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_MoveStockBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_BatchNoCtl")
+                    {
+                        omodel.Kf_MoveStockBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_MultilineCtl")
+                    {
+                        omodel.Kf_MoveStockBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_MoveStockBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_MoveStockBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_FIFOList")
+                    {
+                        omodel.Kf_MoveStockBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_FIFOCtl")
+                    {
+                        omodel.Kf_MoveStockBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBill_Display")
+                    {
+                        omodel.Kf_MoveStockBill_Display = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //直接调拨单  校验
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBillCheck_MustQtyCtl")
+                    {
+                        omodel.Kf_MoveStockBillCheck_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBillCheck_WHSPCtl")
+                    {
+                        omodel.Kf_MoveStockBillCheck_WHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockBillCheck_MultilineCtl")
+                    {
+                        omodel.Kf_MoveStockBillCheck_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //分步式调出单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_AutoCheck")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_ERPMode")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_MustQtyCtl")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_MulSourceBill")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_BatchNoCtl")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_MultilineCtl")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_FIFOList")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepOutBill_FIFOCtl")
+                    {
+                        omodel.Kf_MoveStockStepOutBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //分步式调入单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_AutoCheck")
+                    {
+                        omodel.Kf_MoveStockStepInBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_ERPMode")
+                    {
+                        omodel.Kf_MoveStockStepInBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_MustQtyCtl")
+                    {
+                        omodel.Kf_MoveStockStepInBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_MulSourceBill")
+                    {
+                        omodel.Kf_MoveStockStepInBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_MoveStockStepInBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_BatchNoCtl")
+                    {
+                        omodel.Kf_MoveStockStepInBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_MultilineCtl")
+                    {
+                        omodel.Kf_MoveStockStepInBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_MoveStockStepInBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_MoveStockStepInBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_FIFOList")
+                    {
+                        omodel.Kf_MoveStockStepInBill_FIFOList = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_FIFOCtl")
+                    {
+                        omodel.Kf_MoveStockStepInBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MoveStockStepInBill_SourceBarCodeCtl")
+                    {
+                        omodel.Kf_MoveStockStepInBill_SourceBarCodeCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //采购退料单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_AutoCheck")
+                    {
+                        omodel.Kf_POStockInBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_ERPMode")
+                    {
+                        omodel.Kf_POStockInBackBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_MustQtyCtl")
+                    {
+                        omodel.Kf_POStockInBackBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_MulSourceBill")
+                    {
+                        omodel.Kf_POStockInBackBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_POStockInBackBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_BatchNoCtl")
+                    {
+                        omodel.Kf_POStockInBackBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_MultilineCtl")
+                    {
+                        omodel.Kf_POStockInBackBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_POStockInBackBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_POStockInBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_POStockInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //生产退库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_AutoCheck")
+                    {
+                        omodel.Kf_ProductInBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_ERPMode")
+                    {
+                        omodel.Kf_ProductInBackBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_MustQtyCtl")
+                    {
+                        omodel.Kf_ProductInBackBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_MulSourceBill")
+                    {
+                        omodel.Kf_ProductInBackBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_ProductInBackBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_BatchNoCtl")
+                    {
+                        omodel.Kf_ProductInBackBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_MultilineCtl")
+                    {
+                        omodel.Kf_ProductInBackBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_ProductInBackBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_ProductInBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_ProductInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //其他入库红字
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_AutoCheck")
+                    {
+                        omodel.Kf_OtherInBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_ERPMode")
+                    {
+                        omodel.Kf_OtherInBackBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_MustQtyCtl")
+                    {
+                        omodel.Kf_OtherInBackBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_MulSourceBill")
+                    {
+                        omodel.Kf_OtherInBackBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_OtherInBackBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_BatchNoCtl")
+                    {
+                        omodel.Kf_OtherInBackBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_MultilineCtl")
+                    {
+                        omodel.Kf_OtherInBackBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_OtherInBackBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherInBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_OtherInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //委外退库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_AutoCheck")
+                    {
+                        omodel.Kf_EntrustInBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_ERPMode")
+                    {
+                        omodel.Kf_EntrustInBackBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_MustQtyCtl")
+                    {
+                        omodel.Kf_EntrustInBackBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_MulSourceBill")
+                    {
+                        omodel.Kf_EntrustInBackBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_EntrustInBackBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_BatchNoCtl")
+                    {
+                        omodel.Kf_EntrustInBackBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_MultilineCtl")
+                    {
+                        omodel.Kf_EntrustInBackBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_EntrustInBackBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustInBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_EntrustInBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //生产退料单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_AutoCheck")
+                    {
+                        omodel.Kf_MateOutBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_ERPMode")
+                    {
+                        omodel.Kf_MateOutBackBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_MustQtyCtl")
+                    {
+                        omodel.Kf_MateOutBackBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_MulSourceBill")
+                    {
+                        omodel.Kf_MateOutBackBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_MateOutBackBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_BatchNoCtl")
+                    {
+                        omodel.Kf_MateOutBackBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_MultilineCtl")
+                    {
+                        omodel.Kf_MateOutBackBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_MateOutBackBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_MateOutBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_MateOutBackBill_SimpleMode")
+                    {
+                        omodel.Kf_MateOutBackBill_SimpleMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //销售退库单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_AutoCheck")
+                    {
+                        omodel.Kf_SellOutBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_ERPMode")
+                    {
+                        omodel.Kf_SellOutBackBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_MustQtyCtl")
+                    {
+                        omodel.Kf_SellOutBackBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_MulSourceBill")
+                    {
+                        omodel.Kf_SellOutBackBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_SellOutBackBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_BatchNoCtl")
+                    {
+                        omodel.Kf_SellOutBackBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_MultilineCtl")
+                    {
+                        omodel.Kf_SellOutBackBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_SellOutBackBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_SellOutBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_SellOutBackBill_AutoSavePOStockInBackBill")
+                    {
+                        omodel.Kf_SellOutBackBill_AutoSavePOStockInBackBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //其他出库红字
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_AutoCheck")
+                    {
+                        omodel.Kf_OtherOutBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_ERPMode")
+                    {
+                        omodel.Kf_OtherOutBackBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_MustQtyCtl")
+                    {
+                        omodel.Kf_OtherOutBackBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_MulSourceBill")
+                    {
+                        omodel.Kf_OtherOutBackBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_OtherOutBackBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_BatchNoCtl")
+                    {
+                        omodel.Kf_OtherOutBackBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_MultilineCtl")
+                    {
+                        omodel.Kf_OtherOutBackBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_OtherOutBackBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_OtherOutBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_OtherOutBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //委外退料单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_AutoCheck")
+                    {
+                        omodel.Kf_EntrustOutBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_ERPMode")
+                    {
+                        omodel.Kf_EntrustOutBackBill_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_MustQtyCtl")
+                    {
+                        omodel.Kf_EntrustOutBackBill_MustQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_MulSourceBill")
+                    {
+                        omodel.Kf_EntrustOutBackBill_MulSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_BillTypeOneScan")
+                    {
+                        omodel.Kf_EntrustOutBackBill_BillTypeOneScan = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_BatchNoCtl")
+                    {
+                        omodel.Kf_EntrustOutBackBill_BatchNoCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_MultilineCtl")
+                    {
+                        omodel.Kf_EntrustOutBackBill_MultilineCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_MaterWHSPCtl")
+                    {
+                        omodel.Kf_EntrustOutBackBill_MaterWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_SourceWHSPCtl")
+                    {
+                        omodel.Kf_EntrustOutBackBill_SourceWHSPCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Kf_EntrustOutBackBill_SimpleMode")
+                    {
+                        omodel.Kf_EntrustOutBackBill_SimpleMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //WMS   通用
+                    //库存控制-ERP负库存控制
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_ERPStockCtl")
+                    {
+                        omodel.WMS_ERPStockCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //库存控制-WMS负库存控制
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_WMSStockCtl")
+                    {
+                        omodel.WMS_WMSStockCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //库存控制-WMS库存控制ERP模式 ?
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_WMSStockCtl_ERPMode")
+                    {
+                        omodel.WMS_WMSStockCtl_ERPMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //库存更新-保存改变库存
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_SaveUpdateStock")
+                    {
+                        omodel.WMS_SaveUpdateStock = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //品种码-默认数量	应收数量	1	扫描条码时返回的默认数量
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_MaterBarCodeDefQty")
+                    {
+                        omodel.WMS_MaterBarCodeDefQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //批次码-默认数量	应收数量	1	扫描条码时返回的默认数量
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_BatchBarCodeDefQty")
+                    {
+                        omodel.WMS_BatchBarCodeDefQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //唯一码-默认数量	条码剩余数量	1	扫描条码时返回的默认数量
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_SNBarCodeDefQty")
+                    {
+                        omodel.WMS_SNBarCodeDefQty = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //客户名称		1	客户定制化名称
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_CampanyName")
+                    {
+                        omodel.WMS_CampanyName = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //WMS一键扫码模式	Y	1	是否启用一键扫码模式
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_OneKeyMode")
+                    {
+                        omodel.WMS_OneKeyMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //WMS条码必须同源单	Y	1	是否启用条码必须同源单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_BarCodeMustSameSourceBill")
+                    {
+                        omodel.WMS_BarCodeMustSameSourceBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //一次扫码模式
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_OneScanMode")
+                    {
+                        omodel.WMS_OneScanMode = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //扫码枪用户登入时判断用户对应组织权限控制,Y为控制
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_UserByOrgRelation")
+                    {
+                        omodel.WMS_UserByOrgRelation = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //是否启用器具管理(Y,N)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "WMS_MouldManagerCtl")
+                    {
+                        omodel.WMS_MouldManagerCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //桌面条码模块
+                    //有源单生成条码,生成条码数量可否超源单数量控制
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "BarCode_SourceQtyCtl")
+                    {
+                        omodel.BarCode_SourceQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //允许条码打印次数(1、2、3.....)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "BarCode_PrintQty")
+                    {
+                        omodel.BarCode_PrintQty = ClsPub.isLong(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //条码打印次数控制(是否只允许打印一次控制,Y 只允许打印一次)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "BarCode_PrintQtyCtl")
+                    {
+                        omodel.BarCode_PrintQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //条码打印次数更新(打印条码时,是否更新条码打印次数,Y 更新)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "BarCode_UpdatePrintQtyCtl")
+                    {
+                        omodel.BarCode_UpdatePrintQtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //==============================================================================================
+
+                    //-======进站单
+                    //先进先出
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationInBill_FIFOCtl")
+                    {
+                        omodel.MES_StationInBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    ////上道完全出站控制(本道进站时,上道的报废+合格必须等于上道进站数量
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationInBill_FullMoveCtl")
+                    {
+                        omodel.MES_StationInBill_FullMoveCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //一张流转卡只允许一次进站
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationInBill_OneCtl")
+                    {
+                        omodel.MES_StationInBill_OneCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //进站数量不能大于上道出站汇总合格数
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationInBill_QtyCtl")
+                    {
+                        omodel.MES_StationInBill_QtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //进站单当前工序的上道工序是否做工序检验
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationInBill_ProcessCheckCtl")
+                    {
+                        omodel.MES_StationInBill_ProcessCheckCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //删除单据时制单人与删除人必须一致
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationInBill_DeleteCtl")
+                    {
+                        omodel.MES_StationInBill_DeleteCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //进站接收时是否绑定该工序的配件清单
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationInBill_LineBindCtl")
+                    {
+                        omodel.MES_StationInBill_LineBindCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //===============出站单
+                    //出站数量不能大于本道进站汇总数
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationOutBill_QtyCtl")
+                    {
+                        omodel.MES_StationOutBill_QtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //出战单判断本道工序是否做首件检验 
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationOutBill_FirstCheckOut")
+                    {
+                        omodel.MES_StationOutBill_FirstCheckOut = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //删除单据时制单人与删除人必须一致
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationOutBill_DeleteCtl")
+                    {
+                        omodel.MES_StationOutBill_DeleteCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=====不良评审单
+                    //不良品数不能大于出站单报废数量
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_NoPassProdCheckBill_QtyCtl")
+                    {
+                        omodel.QC_NoPassProdCheckBill_QtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //不良品评审单不良数量和不良原因总数必须一致
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_NoPassProdCheckBill_BadReasonQtyCtrl")
+                    {
+                        omodel.QC_NoPassProdCheckBill_BadReasonQtyCtrl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //删除单据时制单人与删除人必须一致
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_NoPassProdCheckBill_DeleteCtl")
+                    {
+                        omodel.QC_NoPassProdCheckBill_DeleteCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=======委外发出
+                    //工站或工序先进先出(同上)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustInBill_FIFOCtl")
+                    {
+                        omodel.MES_StationEntrustInBill_FIFOCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //上道完全出站控制(同上)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustInBill_FullMoveCtl")
+                    {
+                        omodel.MES_StationEntrustInBill_FullMoveCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //进站数量不能大于上道出站汇总合格数
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustInBill_QtyCtl")
+                    {
+                        omodel.MES_StationEntrustInBill_QtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //一张流转卡只允许一次委外发出
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustInBill_OneCtl")
+                    {
+                        omodel.MES_StationEntrustInBill_OneCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //删除单据时制单人与删除人必须一致
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustInBill_DeleteCtl")
+                    {
+                        omodel.MES_StationEntrustInBill_DeleteCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //===========委外接收单
+                    //出站数量不能大于本道进站汇总数
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustOutBill_QtyCtl")
+                    {
+                        omodel.MES_StationEntrustOutBill_QtyCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //删除单据时制单人与删除人必须一致
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustOutBill_DeleteCtl")
+                    {
+                        omodel.MES_StationEntrustOutBill_DeleteCtl = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+
+                    //=======JIT
+
+                    //==========开班单
+                    //自动审核
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESBeginWorkBill_AutoCheck")
+                    {
+                        omodel.Sc_MESBeginWorkBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==========返工单
+                    //自动审核
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESReturnWorkBill_AutoCheck")
+                    {
+                        omodel.Sc_MESReturnWorkBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==========结班单
+                    //自动审核
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESEndWorkBill_AutoCheck")
+                    {
+                        omodel.Sc_MESEndWorkBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==========停工单
+                    //自动审核
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESStopWorkBill_AutoCheck")
+                    {
+                        omodel.Sc_MESStopWorkBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==========产量汇报单
+                    //自动审核
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOBillWorkQtyStatus_AutoCheck")
+                    {
+                        omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                    //==========质量汇报单
+                    //自动审核
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOBillQualityStatus_AutoCheck")
+                    {
+                        omodel.Sc_ICMOBillQualityStatus_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //==========生产汇报单
+                    //是否首检(必须首件检验通过才能保存单据)
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOReportBill_FirstCheckOut")
+                    {
+                        omodel.Sc_ICMOReportBill_FirstCheckOut = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=========上料防错单
+                    //自动审核
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MaterToSourceBill_AutoCheck")
+                    {
+                        omodel.Sc_MaterToSourceBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=========异常反馈单
+                    //自动审核
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "OA_ErrMsgBackBill_AutoCheck")
+                    {
+                        omodel.OA_ErrMsgBackBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=========工序进站接收单
+                    //自动新增
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationInBill_SaveAutoAddnew")
+                    {
+                        omodel.MES_StationInBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=========工序出站汇报单
+                    //自动新增
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationOutBill_SaveAutoAddnew")
+                    {
+                        omodel.MES_StationOutBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=========工序委外发出单
+                    //自动新增
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustInBill_SaveAutoAddnew")
+                    {
+                        omodel.MES_StationEntrustInBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=========工序委外接收单
+                    //自动新增
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationEntrustOutBill_SaveAutoAddnew")
+                    {
+                        omodel.MES_StationEntrustOutBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //报工台,工序汇报自动审核参数
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESProceReportWorkBill_AutoCheck")
+                    {
+                        omodel.Sc_MESProceReportWorkBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+                }
+                sReturn = "显示单据成功!";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+
 
 
     }
diff --git a/WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs b/WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs
index 9a0d0d8..0d11ad3 100644
--- a/WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs
+++ b/WebAPI/Controllers/BLL/Xt_AccountPeriodController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -29,6 +30,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (sWhere == null || sWhere.Equals(""))
                 {
                     ds = oCN.RunProcReturn("select * from h_v_Xt_AccountPeriodList " + sWhere, "h_v_Xt_AccountPeriodList");
@@ -40,12 +42,21 @@
                     ds = oCN.RunProcReturn(sql, "h_v_Xt_AccountPeriodList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BLL/Xt_BillTypeController.cs b/WebAPI/Controllers/BLL/Xt_BillTypeController.cs
index 083210c..00d594e 100644
--- a/WebAPI/Controllers/BLL/Xt_BillTypeController.cs
+++ b/WebAPI/Controllers/BLL/Xt_BillTypeController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -29,6 +30,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (sWhere == null || sWhere.Equals(""))
                 {
                     ds = oCN.RunProcReturn("select * from h_v_Xt_BillTypeList " + sWhere+ "  order by hitemid desc", "h_v_Xt_BillTypeList");
@@ -40,12 +42,21 @@
                     ds = oCN.RunProcReturn(sql, "h_v_Xt_BillTypeList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BLL/Xt_SystemLogController.cs b/WebAPI/Controllers/BLL/Xt_SystemLogController.cs
index 3d71428..5952fa1 100644
--- a/WebAPI/Controllers/BLL/Xt_SystemLogController.cs
+++ b/WebAPI/Controllers/BLL/Xt_SystemLogController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -29,6 +30,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (sWhere == null || sWhere.Equals(""))
                 {
                     ds = oCN.RunProcReturn("select * from h_v_Xt_SystemLogList " + sWhere + " order by hid desc", "h_v_Xt_SystemLogList");
@@ -40,12 +42,21 @@
                     ds = oCN.RunProcReturn(sql, "h_v_Xt_SystemLogList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BLL/Xt_SystemParameterController.cs b/WebAPI/Controllers/BLL/Xt_SystemParameterController.cs
index 1a32e5b..17e2797 100644
--- a/WebAPI/Controllers/BLL/Xt_SystemParameterController.cs
+++ b/WebAPI/Controllers/BLL/Xt_SystemParameterController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -29,6 +30,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (sWhere == null || sWhere.Equals(""))
                 {
                     ds = oCN.RunProcReturn("select * from h_v_Xt_SystemParameterList " + sWhere+ "  order by hitemid desc", "h_v_Xt_SystemParameterList");
@@ -40,12 +42,21 @@
                     ds = oCN.RunProcReturn(sql, "h_v_IF_Proh_v_Xt_SystemParameterListpertyList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BLL/Xt_XtgnbController.cs b/WebAPI/Controllers/BLL/Xt_XtgnbController.cs
index 728fb24..c9d7d60 100644
--- a/WebAPI/Controllers/BLL/Xt_XtgnbController.cs
+++ b/WebAPI/Controllers/BLL/Xt_XtgnbController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -29,6 +30,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();   
                 if (sWhere == null || sWhere.Equals(""))
                 {
                     ds = oCN.RunProcReturn("select * from h_v_Xt_XtgnbList " + sWhere+ "  order by hitemid desc", "h_v_Xt_XtgnbList");
@@ -40,12 +42,22 @@
                     ds = oCN.RunProcReturn(sql, "h_v_Xt_XtgnbList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs b/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
index 204b3c0..b8e1e66 100644
--- a/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_BadReasonController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -29,6 +30,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Gy_BadReason", 1, false, user))
                 {
@@ -50,12 +52,21 @@
                     ds = oCN.RunProcReturn(sql, "h_v_IF_BadReasonList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BaseSet/Gy_CheckItemController.cs b/WebAPI/Controllers/BaseSet/Gy_CheckItemController.cs
index f8868b1..9c3eb9f 100644
--- a/WebAPI/Controllers/BaseSet/Gy_CheckItemController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_CheckItemController.cs
@@ -1,4 +1,5 @@
 锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -31,6 +32,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Gy_QCCheckItem_Query", 1, false, user))
                 {
@@ -52,12 +54,21 @@
                     ds = oCN.RunProcReturn(sql, "h_v_IF_QCCheckItemList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BaseSet/Gy_CurrencyController.cs b/WebAPI/Controllers/BaseSet/Gy_CurrencyController.cs
index ee62268..997909f 100644
--- a/WebAPI/Controllers/BaseSet/Gy_CurrencyController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_CurrencyController.cs
@@ -45,39 +45,30 @@
 
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select * from h_v_Gy_CurrencyList where 绂佺敤鏍囪=''" + sWhere+ " order by 璐у竵浠g爜", "h_v_Gy_CurrencyList");
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_CurrencyList where 绂佺敤鏍囪=''" + sWhere + " order by 璐у竵浠g爜", "h_v_Gy_CurrencyList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_Gy_CurrencyList where 绂佺敤鏍囪='' ";
-                    string sql = sql1 + sWhere+ " order by 璐у竵浠g爜";
+                    string sql = sql1 + sWhere + " order by 璐у竵浠g爜";
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_CurrencyList");
                 }
-                if (ds == null || ds.Tables[0].Rows.Count == 0)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "false锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                else
-                {
-                    //娣诲姞鍒楀悕
-                    foreach (DataColumn col in ds.Tables[0].Columns)
-                    {
-                        Type dataType = col.DataType;
-                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
-                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
-                    }
 
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "Sucess锛�";
-                    objJsonResult.data = ds.Tables[0];
-                    objJsonResult.list = columnNameList;
-                    return objJsonResult;
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
                 }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
             }
             catch (Exception e)
             {
diff --git a/WebAPI/Controllers/BaseSet/Gy_GroupController.cs b/WebAPI/Controllers/BaseSet/Gy_GroupController.cs
index a96fd0d..f00f177 100644
--- a/WebAPI/Controllers/BaseSet/Gy_GroupController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_GroupController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -30,6 +31,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 ////鏌ョ湅鏉冮檺
                 //if (!DBUtility.ClsPub.Security_Log("Gy_Group_Query", 1, false, user))
                 //{
@@ -50,12 +52,22 @@
                     ds = oCN.RunProcReturn(sql, "h_v_GroupList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BaseSet/Gy_ProcessController.cs b/WebAPI/Controllers/BaseSet/Gy_ProcessController.cs
index a995beb..2f592ec 100644
--- a/WebAPI/Controllers/BaseSet/Gy_ProcessController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_ProcessController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -450,6 +451,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Gy_Process_Query", 1, false, user))
                 {
@@ -471,12 +473,21 @@
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_ProcessList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BaseSet/Gy_QCCheckClassController.cs b/WebAPI/Controllers/BaseSet/Gy_QCCheckClassController.cs
index ab437d2..48220d8 100644
--- a/WebAPI/Controllers/BaseSet/Gy_QCCheckClassController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_QCCheckClassController.cs
@@ -1,4 +1,5 @@
 锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -31,6 +32,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Gy_QCCheckClass_Query", 1, false, user))
                 {
@@ -52,12 +54,22 @@
                     ds = oCN.RunProcReturn(sql, "h_v_IF_QCCheckClassList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BaseSet/Gy_SourceController.cs b/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
index fa73e17..28dfdea 100644
--- a/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_SourceController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -32,6 +33,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 //if (!DBUtility.ClsPub.Security_Log("Gy_Source_Query", 1, false, user))
                 //{
@@ -53,12 +55,21 @@
                     ds = oCN.RunProcReturn(sql, "h_v_IF_SourceList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git a/WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs b/WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs
index 5c468b7..e7fa17a 100644
--- a/WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs
@@ -79,6 +79,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Gy_WorkCenter", 1, false, user))
                 {
@@ -91,10 +92,19 @@
 
                 ds = oCN.RunProcReturn("select * from h_v_WorkCenterList where 1 = 1 " + sWhere + " order by 宸ヤ綔涓績浠g爜 ", "h_v_WorkCenterList");
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
             }
             catch (Exception e)
diff --git a/WebAPI/Controllers/CJGL/ProductionPlanReportController.cs b/WebAPI/Controllers/CJGL/ProductionPlanReportController.cs
index 4703549..8585599 100644
--- a/WebAPI/Controllers/CJGL/ProductionPlanReportController.cs
+++ b/WebAPI/Controllers/CJGL/ProductionPlanReportController.cs
@@ -30,6 +30,8 @@
             public string F_BSV_WYID;
             public string HBillNo;
             public string HMaterNumber;
+            public int IsTrue;
+            public int HState;
         }
         [Route("ProductionPlanReport/ProductionPlanReportList")]
         [HttpGet]
@@ -41,7 +43,7 @@
                 ProductionPlanReport com = JsonConvert.DeserializeObject<ProductionPlanReport>(sWhere.ToString());
 
                 ds = oCN.RunProcReturn($"exec h_p_Cj_ProductionPlanReportList {com.HOrgID},'{com.HBeginDate}','{com.HEndDate}'" +
-                    $",'{com.HICMOBillNo}',{com.HWorkShopID},'{com.F_BSV_WYID}','{com.HMaterNumber}','{com.HBillNo}'", "h_p_Cj_ProductionPlanReportList");
+                    $",'{com.HICMOBillNo}',{com.HWorkShopID},'{com.F_BSV_WYID}','{com.HMaterNumber}','{com.HBillNo}',{com.IsTrue},'{com.HState}'", "h_p_Cj_ProductionPlanReportList");
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
diff --git a/WebAPI/Controllers/GG_NoticeController.cs b/WebAPI/Controllers/GG_NoticeController.cs
index 365de48..6d253d8 100644
--- a/WebAPI/Controllers/GG_NoticeController.cs
+++ b/WebAPI/Controllers/GG_NoticeController.cs
@@ -1,4 +1,5 @@
 锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -28,6 +29,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //缂栬緫鏉冮檺
                 //if (!DBUtility.ClsPub.Security_Log_second("Sc_MouldRepairChangeBillList", 1, false, user))
                 //{
@@ -40,12 +42,21 @@
 
                 ds = Get_GG_NoticeBillList(sWhere);
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
@@ -69,8 +80,8 @@
 
         public static DataSet Get_GG_NoticeBillList(string sWhere)
         {
-            var sql = "select A.HInterID,b.HEntryID,A.HBillNo,A.HContext,A.HDeptID,D.HName HDeptName, A.HSendMan, B.HReceiveMan,A.HLevel,A.HDescription,case when B.HReadFlag=0 then '鏈槄' when B.HReadFlag=1 then '宸查槄' end HReadFlag, A.HMaker,A.HMakeDate,A.HUpDater,A.HUpDateDate" +
-               " from OA_InformBillMain A inner join  OA_InformBillSub B on A.HInterID=B.HInterID left join Gy_Department D on A.HDeptID=D.HItemID where 1=1 " + sWhere+ "  order by HInterID desc";
+            var sql = "select A.HInterID 涓诲唴鐮�,b.HEntryID 瀛愬唴鐮�,A.HBillNo 鍗曟嵁鍙�,A.HContext 涓婚,A.HDeptID,D.HName 鍙戦�侀儴闂�, A.HSendMan 鍙戦�佷汉, B.HReceiveMan 鎺ユ敹浜�,A.HLevel 绱ф�ョ▼搴�,A.HDescription 璇︾粏鍐呭,case when B.HReadFlag=0 then '鏈槄' when B.HReadFlag=1 then '宸查槄' end 鐘舵��, A.HMaker 鍒跺崟浜�,A.HMakeDate 鍒跺崟鏃ユ湡,A.HUpDater 淇敼浜�,A.HUpDateDate 淇敼鏃ユ湡" +
+               " from OA_InformBillMain A inner join  OA_InformBillSub B on A.HInterID=B.HInterID left join Gy_Department D on A.HDeptID=D.HItemID where 1=1 " + sWhere+ "  order by 涓诲唴鐮� desc";
             return new SQLHelper.ClsCN().RunProcReturn(sql, "OA_InformBillMain");
         }
 
diff --git a/WebAPI/Controllers/Gy_MateMouldController.cs b/WebAPI/Controllers/Gy_MateMouldController.cs
index 595a5e4..a3679d5 100644
--- a/WebAPI/Controllers/Gy_MateMouldController.cs
+++ b/WebAPI/Controllers/Gy_MateMouldController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -28,6 +29,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //缂栬緫鏉冮檺
                 //if (!DBUtility.ClsPub.Security_Log_second("Gy_MateMould", 1, false, user))
                 //{
@@ -48,10 +50,19 @@
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_MateMouldInfoList");
                 }
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
             }
             catch (Exception e)
@@ -210,14 +221,26 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
+                //ds = oCN.RunProcReturn("select " +
+                //    "a.HItemID,ltrim(a.HMaterID)+'-'+ltrim(a.HRelationID) 妯″叿浜у搧瀵瑰簲琛ㄤ唬鐮�,a.HUnitID,b.HName HRelationNameCol" +
+                //    ",b.HNumber HRelationNumberCol,a.HMaterID HMaterIDCol,c.HNumber HMaterNumberCol,c.HName HMaterNameCol,c.HModel HMaterModelCol" +
+                //    ",a.HRelationID HRelationIDCol,d.HNumber HUnitNumberCol,d.HName HUnitNameCol" +
+                //    ",a.HUnitID HUnitIDCol" +
+                //    ",a.HBeginDate HBeginDateCol,a.HEndDate HEndDateCol" +
+                //    ",a.HRemark HRemarkCol " +
+                //    " from Gy_MateMouldInfo a " +
+                //    " left join h_v_Gy_Mould b on a.HRelationID = b.HItemID " +
+                //    " left join Gy_Material c on a.HMaterID = c.HItemID " +
+                //    " left join Gy_Unit d on a.HUnitID = d.HItemID where a.HItemID = " + HItemID, "Gy_MateMouldInfo");
                 ds = oCN.RunProcReturn("select " +
-                    "a.HItemID,ltrim(a.HMaterID)+'-'+ltrim(a.HRelationID) 妯″叿浜у搧瀵瑰簲琛ㄤ唬鐮�,a.HUnitID,b.HName HRelationNameCol" +
-                    ",b.HNumber HRelationNumberCol,a.HMaterID HMaterIDCol,c.HNumber HMaterNumberCol,c.HName HMaterNameCol,c.HModel HMaterModelCol" +
-                    ",a.HRelationID HRelationIDCol,d.HNumber HUnitNumberCol,d.HName HUnitNameCol" +
+                    "a.HItemID,a.妯″叿浜у搧瀵瑰簲琛ㄤ唬鐮�,a.HUnitID,b.HName 妯″叿鍚嶇О" +
+                    ",b.HNumber 妯″叿浠g爜,a.HMaterID HMaterIDCol,c.HNumber 鐗╂枡浠g爜,c.HName 鐗╂枡鍚嶇О,c.HModel 瑙勬牸鍨嬪彿" +
+                    ",a.HRelationID HRelationIDCol,d.HNumber 鍗曚綅浠g爜,d.HName 鍗曚綅鍚嶇О" +
                     ",a.HUnitID HUnitIDCol" +
-                    ",a.HBeginDate HBeginDateCol,a.HEndDate HEndDateCol" +
-                    ",a.HRemark HRemarkCol " +
-                    " from Gy_MateMouldInfo a " +
+                    ",a.寮�濮嬫棩鏈�,a.缁撴潫鏃ユ湡" +
+                    ",a.澶囨敞 " +
+                    " from h_v_Gy_MateMouldInfoList a " +
                     " left join h_v_Gy_Mould b on a.HRelationID = b.HItemID " +
                     " left join Gy_Material c on a.HMaterID = c.HItemID " +
                     " left join Gy_Unit d on a.HUnitID = d.HItemID where a.HItemID = " + HItemID, "Gy_MateMouldInfo");
@@ -225,16 +248,25 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "false锛�";
+                    objJsonResult.Message = "鏃犲垪琛ㄤ俊鎭紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
                 {
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "Sucess锛�";
                     objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
                     return objJsonResult;
                 }
             }
diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
index 2041329..273dfc6 100644
--- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
@@ -221,7 +221,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍙枡鏁伴噺澶т簬璁″垝鍙戞枡鏁伴噺!";
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛屽彨鏂欐暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -230,7 +230,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍙枡鎬绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!";
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛屽彨鏂欐�绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -243,7 +243,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "搴撳瓨鏁伴噺涓�0,鏃犳硶鍙枡!";
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛屽簱瀛樻暟閲忎负0,鏃犳硶鍙枡!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -252,7 +252,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "搴撳瓨鏁伴噺灏忎簬鍙枡鏁伴噺,鏃犳硶鍙枡!";
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛屽簱瀛樻暟閲忓皬浜庡彨鏂欐暟閲�,鏃犳硶鍙枡!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -261,7 +261,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "璇烽�夋嫨璋冨叆浠撳簱!";
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨叆浠撳簱!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -270,7 +270,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "璇烽�夋嫨璋冨嚭浠撳簱!";
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨嚭浠撳簱!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -279,7 +279,7 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "璋冨嚭浠撳簱鍜岃皟鍏ヤ粨搴撲笉鑳戒竴鏍�!";
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛岃皟鍑轰粨搴撳拰璋冨叆浠撳簱涓嶈兘涓�鏍�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -337,7 +337,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡锛屽叾浠栬鏁板彨鏂欐垚鍔�";
+                    objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -419,6 +419,7 @@
             catch (Exception e)
             {
                 sReturn = e.Message;
+                oCN.RollBack();
                 throw (e);
             }
         }
@@ -1157,7 +1158,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍙枡鏁伴噺澶т簬璁″垝鍙戞枡鏁伴噺!";
+                        objJsonResult.Message = $"绗瑊i + 1}琛屽彨鏂欐暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1166,7 +1167,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍙枡鎬绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!";
+                        objJsonResult.Message = $"绗瑊i + 1}琛屽彨鏂欐�绘暟閲忓ぇ浜庤鍒掑彂鏂欐暟閲�!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1223,7 +1224,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡锛屽叾浠栬鏁板彨鏂欐垚鍔�";
+                    objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBill_ZXBZController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBill_ZXBZController.cs
new file mode 100644
index 0000000..4cc13ea
--- /dev/null
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBill_ZXBZController.cs
@@ -0,0 +1,361 @@
+锘縰sing Newtonsoft.Json.Linq;
+using Pub_Class;
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Web.Http;
+using WebAPI.Models;
+using Newtonsoft.Json;
+using DBUtility;
+
+
+namespace WebAPI.Controllers.SCGL
+{
+    public class Sc_ComplementGoodBill_ZXBZController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public WebServer webserver = new WebServer();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public ClsXt_BaseBillMain omodel = new ClsXt_BaseBillMain();
+        public JIT_CallGoodsBillSub oSub = new JIT_CallGoodsBillSub();
+
+        #region 鏈�灏忓寘瑁呭彨鏂� 鏌ヨ
+        [Route("Sc_ComplementGoodBill_ZXBZ/JIT_ComplementGoodBill_ZXBZ_List")]
+        [HttpGet]
+        public object JIT_ComplementGoodBill_ZXBZ_List(string sWhere, string user)
+        {
+            try
+            {
+                ////鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("JIT_ComplementGoodBillMain_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = new DataTable();
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn($"exec h_p_JIT_GetPPBomInfo_FL "+sWhere, "h_p_JIT_GetPPBomInfo_FL");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鏈�灏忓寘瑁呭彨鏂�  鍙枡鏂板
+
+        //涓存椂琛�  鍙枡鍗曟嵁瀛楁
+        public class CallGoodsBill
+        {
+            public static readonly string ModName = "4601";
+            public long HSouceInterID = 0;//HSourceInterIDCol
+            public long HSourceEntryID = 0;//HSourceEntryIDCol
+            public int? 鍙枡鏁伴噺 = 0;//HBHGQtyCol
+            public int? 閰嶅鏁伴噺 = 0;
+            public int? 宸插彨鏂欐暟閲� = 0;//HBHGQtyCol
+            public int? 鏈�灏忓彂鏂欐暟閲� = 0;//HBHGQtyCol
+            public int? 宸查厤閫佹暟閲� = 0;//HBHGQtyCol
+            public double? 閫�鏂欐暟閲� = 0;//閫�鏂欐暟閲�
+            public long HSTOCKID = 0;//HSTOCKID
+            public string 閫�鏂欏師鍥� { get; set; }//閫�鏂欏師鍥�
+            public int HMaterialID = 0; //HMaterialIDCol
+            public string 鐗╂枡浠g爜 = "";
+            public string HSourceBillNo { get; set; }//HSourceBillNoCol
+            public int 璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺 = 0;//HKFQtyKYCol
+            public int 璋冨嚭浠撳簱搴撳瓨鏁伴噺 = 0;//HKFQtySCol
+            public double 璁″垝鍙戞枡鏁伴噺 = 0;//HPlanQtyCol 
+            public int HWHID = 0;//HWHIDCol
+            public int? 璋冨嚭浠撳簱ID = 0;//璋冨嚭浠撳簱id
+            public int? 璋冨叆浠撳簱id = 0;//璋冨叆浠撳簱id
+            public string HMaterialNumberCol { get; set; }
+            public string HMaterialModelCol { get; set; }
+            public string HProcID { get; set; }//HProcIDCol
+            public string HProcNameCol { get; set; }//宸ユ
+            public int HOutOrgID = 0;//HOutOrgID
+            public string HICMOBillNo { get; set; }// HICMOBillNoCol
+            public long HICMOInterID = 0;// HICMOInterIDCol
+            public long HICMOEntryID = 0;// HICMOEntryIDCol
+            public long HDeptID = 0;//HDeptID
+            public long 搴撳瓨鏁伴噺 = 0;
+            public double HBHGQtyCol = 0;
+            public string 閿�鍞鍗曞彿 { get; set; }//HSeOrderNOCol
+            public DateTime? 璁″垝寮�宸ユ棩鏈� = null;//HBPlanDateCol
+        }
+
+        //涓存椂琛�  鍙枡瀛愯〃
+        public class JIT_CallGoodsBillSub : ClsXt_BaseBillSub
+        {
+            public double HQty;
+            public long HMaterID;
+            public string HMaterNumber;
+            public string HProcName;
+            public string HModel;
+            public string HProcID;
+            public string HICMOBillNo;
+            public string HSeOrderNOCol;
+            public string HSeOrderNo;
+            public string HSeOrderBillNo;
+            public int HWHID = 0;
+            public int HSCWHID = 0;
+            public long HOutOrgID = 0;
+            public long HICMOInterID = 0;
+            public long HICMOEntryID = 0;
+            public long HSeOrderInterID = 0;
+            public long HSeOrderEntryID = 0;
+            public long HDeptID = 0;
+            public double HPlanQty = 0;
+            public int HSPID = 0;
+            public DateTime? HBPlanDate = null;
+        }
+
+        [Route("Sc_ComplementGoodBill_ZXBZ/InsertCallGoodsBill")]
+        [HttpPost]
+        public object InsertCallGoodsBill([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string user = sArray[1].ToString();
+            omodel.HPRDORGID = long.Parse(sArray[2].ToString());
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Cj_CallGoodsBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");
+
+                List<CallGoodsBill> listCa = new List<CallGoodsBill>();
+                //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎
+                listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString());
+
+                int j = 0;
+                var flag = false;
+                var txt = "";
+
+                for (int i = 0; i < listCa.Count; i++)
+                {
+                    if (listCa[i].HMaterialID != 0 && listCa[i].鍙枡鏁伴噺 > 0)
+                    {
+              
+                        ds = oCN.RunProcReturn("select * from h_v_JIT_WarehouseList where 浠撳簱ID=" + listCa[i].璋冨嚭浠撳簱ID + "  and  鐗╂枡缂栫爜 = '" + listCa[i].鐗╂枡浠g爜 + "' and 搴撳瓨缁勭粐=" + listCa[i].HOutOrgID, "h_v_JIT_WarehouseList");
+
+                        var HSCWHIDCount = double.Parse(ds.Tables[0].Rows[0]["璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺"].ToString());
+
+                        if (HSCWHIDCount == 0 && listCa[i].鍙枡鏁伴噺 > 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛屽簱瀛樻暟閲忎负0,鏃犳硶鍙枡!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].鍙枡鏁伴噺 > HSCWHIDCount)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊(i+1)}琛岃皟鍑轰粨搴撳彲鐢ㄥ簱瀛樻暟閲忓皬浜庡彨鏂欐暟閲�,鏃犳硶鍙枡!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].鍙枡鏁伴噺 > 0 && listCa[i].璋冨叆浠撳簱id == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨叆浠撳簱!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].鍙枡鏁伴噺 > 0 && listCa[i].璋冨嚭浠撳簱ID == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛岃閫夋嫨璋冨嚭浠撳簱!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].璋冨嚭浠撳簱ID == listCa[i].璋冨叆浠撳簱id)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊(i + 1)}琛岃皟鍑轰粨搴撳拰璋冨叆浠撳簱涓嶈兘涓�鏍�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        j = 1;
+
+                        var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
+                        omodel.HInterID = DBUtility.ClsPub.CreateBillID_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo);
+                        omodel.HYear = DateTime.Now.Year;
+                        omodel.HPeriod = DateTime.Now.Month;
+                        //鍥哄畾璧嬪��=================================
+                        omodel.HBillNo = txtHBillNo.Trim();  //鍦ㄨ祴鍊肩被鍓嶅氨澶勭悊濂藉瓧绗︿覆鍜屾暟瀛�
+                        omodel.HDate = DateTime.Now;
+                        omodel.HMaker = user;
+                        omodel.HMakeDate = DateTime.Today.ToString();
+                        omodel.HUpDater = "";
+                        omodel.HUpDateDate = "";
+                        omodel.HCloseType = false;
+                        //鏄庣粏绫昏祴鍊�
+
+                        //鍥哄畾璧嬪��========================================
+                        oSub.HEntryID = i + 1;
+                        oSub.HSourceInterID = listCa[i].HSouceInterID;
+                        oSub.HSourceEntryID = listCa[i].HSourceEntryID;
+                        oSub.HSourceBillType = "88";
+                        oSub.HSourceBillNo = listCa[i].HSourceBillNo;
+                        oSub.HQty = double.Parse(listCa[i].鍙枡鏁伴噺.ToString());
+
+                        oSub.HMaterID = listCa[i].HMaterialID;
+                        oSub.HMaterNumber = listCa[i].HMaterialNumberCol;
+                        oSub.HModel = listCa[i].HMaterialModelCol;
+                        oSub.HWHID = int.Parse(listCa[i].璋冨叆浠撳簱id.ToString());
+                        oSub.HSCWHID = int.Parse(listCa[i].璋冨嚭浠撳簱ID.ToString());
+                        oSub.HProcName = listCa[i].HProcNameCol;
+                        oSub.HProcID = listCa[i].HProcID;
+                        oSub.HOutOrgID = listCa[i].HOutOrgID;
+                        oSub.HICMOBillNo = listCa[i].HICMOBillNo;
+                        oSub.HICMOInterID = listCa[i].HICMOInterID;
+                        oSub.HICMOEntryID = listCa[i].HICMOEntryID;
+                        oSub.HDeptID = listCa[i].HDeptID;
+                        oSub.HPlanQty = listCa[i].璁″垝鍙戞枡鏁伴噺;
+                        oSub.HSeOrderNo = listCa[i].閿�鍞鍗曞彿;
+                        oSub.HBPlanDate = listCa[i].璁″垝寮�宸ユ棩鏈�;
+
+
+                        flag = AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (flag == false)
+                        {
+                            txt = txt + DBUtility.ClsPub.isStrNull(i + 1) + "銆�";
+                        }
+                    }
+                }
+                if (txt != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = $"绗瑊txt}琛屽彨鏂欏け璐ワ紝閲嶆柊鍙枡";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    if (flag == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙枡鎴愬姛!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (j == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱换浣曞彨鏂欐暟閲忔垨鍙枡鏁伴噺灏忎簬0锛屾棤娉曞彨鏂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        //鏂板鍗曟嵁
+        public bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                //鎻掑叆瀛愯〃
+                oCN.RunProc("Insert into JIT_CallGoodsBillSub " +
+                      " (HInterID,HEntryID,HRemark" +
+                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" +
+                      ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSCWHID,HSPID,HBillNo_bak,HOutOrgID,HStockOutOrgID,HStockInOrgID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'" +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'" +
+                      "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSCWHID.ToString() + "," + oSub.HSPID.ToString() + ",''," + oSub.HOutOrgID + "," + oSub.HOutOrgID + "," + omodel.HPRDORGID + ") ", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                //涓昏〃
+
+                oCN.RunProc("Insert Into JIT_CallGoodsBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
+                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
+                ",HBillStatus,HCheckItemNowID,HCheckItemNextID,HCheckFlowID" +
+                ",HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo" +
+                ",HBacker,HBackDate,HBackRemark,HChecker,HCheckDate,HUpDater,HUpDateDate " +
+                ",HCloseMan,HCloseDate,HCloseType,HDeleteMan,HDeleteDate " +
+                ",HPrintQty,HCallManID,HSendManID,HCallType,HWareManID,HOrgID) " +
+                " values('" + CallGoodsBill.ModName + "','" + CallGoodsBill.ModName + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" +
+                ",'" + omodel.HBillStatus + "'," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() + ", " + omodel.HCheckFlowID.ToString() +
+                ",'" + omodel.HMainSourceBillType + "'," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ", '" + omodel.HMainSourceBillNo + "'" +
+                ",'" + omodel.HBacker + "','" + omodel.HBackDate + "','" + omodel.HBackRemark + "', '" + omodel.HChecker + "','" + omodel.HCheckDate + "', '" + omodel.HUpDater + "',''" +
+                ",'" + omodel.HCloseMan + "','" + omodel.HCloseDate + "','" + omodel.HCloseType + "', '" + omodel.HDeleteMan + "','" + omodel.HDeleteDate + "'" +
+                ",0,0,0,'鏅��',0," + omodel.HPRDORGID + ") ", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                //oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCN.RollBack();
+                throw (e);
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
index b87a339..2676353 100644
--- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodsController.cs
@@ -376,8 +376,6 @@
             ds = oCN.RunProcReturn("exec JIT_SendGoodsBillSynChronizAtion '" + HBillNo + "'", "JIT_SendGoodsBillSynChronizAtion");
             if (ds.Tables[0].Rows.Count != 0)
             {
-
-
                 foreach (DataRow dr in ds.Tables[0].Rows)
                 {
                     JObject model = new JObject();
@@ -434,15 +432,7 @@
                         return objJsonResult;
                     }
                     var result = InvokeHelper.Save("STK_TransferDirect", jsonRoot.ToString());
-                    if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE")
-                    {
-                        objJsonResult.code = "1";
-                        objJsonResult.count = 1;
-                        objJsonResult.Message = null;
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                    else
+                    if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
                     {
                         oCN.RollBack();
                         objJsonResult.code = "0";
@@ -451,6 +441,42 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
+
+                    var json = new
+                    {
+                        Numbers = HBillNo,
+                    };
+                    //鎻愪氦
+                    var _result = InvokeHelper.Submit("STK_TransferDirect", JsonConvert.SerializeObject(json));
+                    var _saveObj = JObject.Parse(_result);
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        LogService.Write("鏀舵枡閫氱煡鍗曟彁浜ゅけ璐sonRoot:" + jsonRoot.ToString());
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曟彁浜ゅけ璐�" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    //瀹℃牳
+                    _result = InvokeHelper.Audit("STK_TransferDirect", JsonConvert.SerializeObject(json));
+                    _saveObj = JObject.Parse(_result);
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        LogService.Write("鏀舵枡閫氱煡鍗曞鏍稿け璐sonRoot:" + jsonRoot.ToString());
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曞鏍稿け璐sonRoot" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎿嶄綔鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
             }
             else
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ConkReasonBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ConkReasonBillController.cs"
index 8917655..d739f22 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ConkReasonBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ConkReasonBillController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -26,6 +27,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Gy_ConkReason", 1, false, user))
                 {
@@ -38,12 +40,21 @@
 
                 ds = Sc_GetConkReasonBill(sWhere);
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
@@ -67,7 +78,7 @@
 
         public static DataSet Sc_GetConkReasonBill(string sWhere)
         {
-            string sql1 = string.Format(@"select * from h_v_Gy_ConkReasonList");
+            string sql1 = string.Format(@"select * from h_v_Gy_ConkReasonList where 1 = 1");
             if (sWhere == null || sWhere.Equals(""))
             {
                 return new SQLHelper.ClsCN().RunProcReturn(sql1 + sWhere + " order by 鏁呴殰鍘熷洜浠g爜 ", "h_v_Gy_ConkReasonList");
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_DotCheckBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_DotCheckBillController.cs"
index 3d13ce5..59ba13f 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_DotCheckBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_DotCheckBillController.cs"
@@ -1,4 +1,5 @@
 锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -29,6 +30,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (!DBUtility.ClsPub.Security_Log("Gy_DotCheck", 1, false, user))
                 {
                     objJsonResult.code = "0";
@@ -37,7 +39,15 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                ds = oCN.RunProcReturn("select HItemID,HNumber,HName,HLevel, case when HEndFlag<>0 then 'Y'else ' 'end HEndFlag,case when HStopFlag <> 0 then 'Y'else ' 'end HStopFlag, HRemark, HUseFlag from Gy_DotCheck where 1=1 " + sWhere+ " order by HNumber", "Gy_DotCheck");
+                ds = oCN.RunProcReturn("select * from h_v_Gy_DotCheckList where 1=1 " + sWhere+ " order by HItemID", "h_v_Gy_DotCheckList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
 
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
@@ -45,6 +55,7 @@
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_MaintainBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_MaintainBillController.cs"
index 6346b1a..12b8612 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_MaintainBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_MaintainBillController.cs"
@@ -1,4 +1,5 @@
 锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -28,6 +29,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (!DBUtility.ClsPub.Security_Log("Gy_Maintain", 1, false, user))
                 {
                     objJsonResult.code = "0";
@@ -36,7 +38,15 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                ds = oCN.RunProcReturn("select HItemID,HNumber,HName,HLevel, case when HEndFlag<>0 then 'Y'else ' 'end HEndFlag,case when HStopFlag <> 0 then 'Y'else ' 'end HStopFlag, HRemark, HUseFlag from Gy_Maintain where 1=1 " + sWhere+ "  order by HNumber", "Gy_Maintain");
+                ds = oCN.RunProcReturn("select * from h_v_Gy_MaintainList where 1=1 " + sWhere+ "  order by HItemID", "h_v_Gy_MaintainList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
 
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
@@ -44,6 +54,7 @@
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairBillController.cs"
index cfe4f82..6964319 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairBillController.cs"
@@ -1,4 +1,5 @@
 锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -28,6 +29,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (!DBUtility.ClsPub.Security_Log("Gy_Repair", 1, false, user))
                 {
                     objJsonResult.code = "0";
@@ -36,7 +38,16 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                ds = oCN.RunProcReturn("select HItemID,HNumber,HName,HLevel, case when HEndFlag<>0 then 'Y'else ' 'end HEndFlag,case when HStopFlag <> 0 then 'Y'else ' 'end HStopFlag, HRemark, HUseFlag from Gy_Repair where 1=1 " + sWhere+ "  order by HNumber", "Gy_Repair");
+                ds = oCN.RunProcReturn("select * from h_v_Gy_RepairList where 1=1 " + sWhere+ "  order by hitemid", "h_v_Gy_RepairList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
 
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
@@ -44,6 +55,7 @@
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairCheckBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairCheckBillController.cs"
index d57ab32..91afe47 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairCheckBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_RepairCheckBillController.cs"
@@ -1,4 +1,5 @@
 锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -28,6 +29,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 if (!DBUtility.ClsPub.Security_Log("Gy_RepairCheck", 1, false, user))
                 {
                     objJsonResult.code = "0";
@@ -36,7 +38,16 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                ds = oCN.RunProcReturn("select HItemID,HNumber,HName,HLevel, case when HEndFlag<>0 then 'Y'else ' 'end HEndFlag,case when HStopFlag <> 0 then 'Y'else ' 'end HStopFlag, HRemark, HUseFlag from Gy_RepairCheck where 1=1 " + sWhere+ "  order by HNumber", "Gy_RepairCheck");
+                ds = oCN.RunProcReturn("select * from h_v_Gy_RepairCheckList where 1=1 " + sWhere+ "  order by hitemid", "h_v_Gy_RepairCheckList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
 
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
@@ -44,6 +55,7 @@
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
new file mode 100644
index 0000000..4f59850
--- /dev/null
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_SOPBillController.cs"
@@ -0,0 +1,244 @@
+锘縰sing NPOI.HSSF.UserModel;
+using NPOI.SS.UserModel;
+using Pub_Class;
+using System;
+using System.Data;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Runtime.InteropServices;
+using System.Web.Http;
+using System.Windows.Forms;
+using WebAPI.Models;
+//using Excel = Microsoft.Office.Interop.Excel;
+
+
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Gy_SOPBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+        DAL.ClsGy_SOPBill oBill = new DAL.ClsGy_SOPBill();
+
+        public DataGridView grdMain = new System.Windows.Forms.DataGridView();
+
+        #region 浣滀笟鎸囧涔﹀垪琛�
+        [Route("Gy_SOPBill/list")]
+        [HttpGet]
+        public object getSOPBillList(string sWhere, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_SOPBillMain", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_SOPBillList order by hmainid ", "h_v_Gy_SOPBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Gy_SOPBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by hmainid ";
+                    ds = oCN.RunProcReturn(sql, "h_v_Gy_SOPBillList");
+                }
+
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #region 寮曞嚭
+        [Route("Gy_SOPBill/SetExcel")]
+        [HttpGet]
+        public HttpResponseMessage Sc_StationInBillSetExcel(string sWhere)
+        {
+            HSSFWorkbook workbook = new HSSFWorkbook();
+            ISheet sheet = workbook.CreateSheet("sheet1");
+            IRow row = sheet.CreateRow(0);
+
+
+            row.CreateCell(0).SetCellValue("鍗曟嵁鍙�");
+            row.CreateCell(1).SetCellValue("鍗曟嵁绫诲瀷");
+            row.CreateCell(2).SetCellValue("宸ヨ壓鍚嶇О");
+            row.CreateCell(3).SetCellValue("鐗╂枡浠g爜");
+            row.CreateCell(4).SetCellValue("鐗╂枡鍚嶇О");
+            row.CreateCell(5).SetCellValue("瑙勬牸鍨嬪彿");
+            row.CreateCell(6).SetCellValue("璁¢噺鍗曚綅浠g爜");
+            row.CreateCell(7).SetCellValue("璁¢噺鍗曚綅");
+            row.CreateCell(8).SetCellValue("榛樿鎸囧涔�");
+            row.CreateCell(9).SetCellValue("琛ㄥご澶囨敞");
+            row.CreateCell(10).SetCellValue("宸ュ簭鍙�");
+            row.CreateCell(11).SetCellValue("宸ュ簭浠g爜");
+            row.CreateCell(12).SetCellValue("宸ュ簭");
+            row.CreateCell(13).SetCellValue("宸ヤ綔涓績浠g爜");
+            row.CreateCell(14).SetCellValue("宸ヤ綔涓績鍚嶇О");
+            row.CreateCell(15).SetCellValue("宸ヤ綅浠g爜");
+            row.CreateCell(16).SetCellValue("宸ヤ綅");
+            row.CreateCell(17).SetCellValue("琛ㄤ綋澶囨敞");
+            row.CreateCell(18).SetCellValue("浣跨敤鏍囪");
+            row.CreateCell(19).SetCellValue("鍚敤浜�");
+            row.CreateCell(20).SetCellValue("鍚敤鏃ユ湡");
+            row.CreateCell(21).SetCellValue("鍒跺崟浜�");
+            row.CreateCell(22).SetCellValue("鍒跺崟鏃ユ湡");
+            row.CreateCell(23).SetCellValue("瀹℃牳浜�");
+            row.CreateCell(24).SetCellValue("瀹℃牳鏃ユ湡");
+            row.CreateCell(25).SetCellValue("淇敼浜�");
+            row.CreateCell(26).SetCellValue("淇敼鏃ユ湡");
+            row.CreateCell(27).SetCellValue("浣滃簾浜�");
+            row.CreateCell(28).SetCellValue("浣滃簾鏃ユ湡");
+
+
+            //绮剧‘鎺у埗鍒楀
+            sheet.SetColumnWidth(1, 5000);
+            sheet.SetColumnWidth(2, 5000);
+            sheet.SetColumnWidth(3, 5000);
+            sheet.SetColumnWidth(4, 5000);
+            sheet.SetColumnWidth(5, 5000);
+            sheet.SetColumnWidth(6, 5000);
+            sheet.SetColumnWidth(7, 5000);
+            sheet.SetColumnWidth(8, 5000);
+            sheet.SetColumnWidth(9, 5000);
+            sheet.SetColumnWidth(10, 5000);
+            sheet.SetColumnWidth(11, 5000);
+            sheet.SetColumnWidth(12, 5000);
+            sheet.SetColumnWidth(13, 5000);
+            sheet.SetColumnWidth(14, 5000);
+            sheet.SetColumnWidth(15, 5000);
+            sheet.SetColumnWidth(16, 5000);
+            sheet.SetColumnWidth(17, 5000);
+            sheet.SetColumnWidth(18, 5000);
+            sheet.SetColumnWidth(19, 5000);
+            sheet.SetColumnWidth(20, 5000);
+            sheet.SetColumnWidth(21, 5000);
+            sheet.SetColumnWidth(22, 5000);
+            sheet.SetColumnWidth(23, 5000);
+            sheet.SetColumnWidth(24, 5000);
+            sheet.SetColumnWidth(25, 5000);
+            sheet.SetColumnWidth(26, 5000);
+            sheet.SetColumnWidth(27, 5000);
+            sheet.SetColumnWidth(28, 5000);
+            sheet.SetColumnWidth(29, 5000);
+
+
+            DataSet ds = oCN.RunProcReturn("select * from h_v_Gy_SOPBillList" + sWhere + " order by hmainid desc", "h_v_Gy_SOPBillList");
+            for (var i = 0; i < ds.Tables[0].Rows.Count; i++)
+            {
+                IRow row1 = sheet.CreateRow(i + 1);
+                row1.CreateCell(0).SetCellValue(ds.Tables[0].Rows[i]["鍗曟嵁鍙�"].ToString());
+                row1.CreateCell(1).SetCellValue(ds.Tables[0].Rows[i]["鍗曟嵁绫诲瀷"].ToString());
+                row1.CreateCell(2).SetCellValue(ds.Tables[0].Rows[i]["宸ヨ壓鍚嶇О"].ToString());
+                row1.CreateCell(3).SetCellValue(ds.Tables[0].Rows[i]["鐗╂枡浠g爜"].ToString());
+                row1.CreateCell(4).SetCellValue(ds.Tables[0].Rows[i]["鐗╂枡鍚嶇О"].ToString());
+                row1.CreateCell(5).SetCellValue(ds.Tables[0].Rows[i]["瑙勬牸鍨嬪彿"].ToString());
+                row1.CreateCell(6).SetCellValue(ds.Tables[0].Rows[i]["璁¢噺鍗曚綅浠g爜"].ToString());
+                row1.CreateCell(7).SetCellValue(ds.Tables[0].Rows[i]["璁¢噺鍗曚綅"].ToString());
+                row1.CreateCell(8).SetCellValue(ds.Tables[0].Rows[i]["榛樿鎸囧涔�"].ToString());
+                row1.CreateCell(9).SetCellValue(ds.Tables[0].Rows[i]["琛ㄥご澶囨敞"].ToString());
+                row1.CreateCell(10).SetCellValue(ds.Tables[0].Rows[i]["宸ュ簭鍙�"].ToString());
+                row1.CreateCell(11).SetCellValue(ds.Tables[0].Rows[i]["宸ュ簭浠g爜"].ToString());
+                row1.CreateCell(12).SetCellValue(ds.Tables[0].Rows[i]["宸ュ簭"].ToString());
+                row1.CreateCell(13).SetCellValue(ds.Tables[0].Rows[i]["宸ヤ綔涓績浠g爜"].ToString());
+                row1.CreateCell(14).SetCellValue(ds.Tables[0].Rows[i]["宸ヤ綔涓績鍚嶇О"].ToString());
+                row1.CreateCell(15).SetCellValue(ds.Tables[0].Rows[i]["宸ヤ綅浠g爜"].ToString());
+                row1.CreateCell(16).SetCellValue(ds.Tables[0].Rows[i]["宸ヤ綅"].ToString());
+                row1.CreateCell(17).SetCellValue(ds.Tables[0].Rows[i]["琛ㄤ綋澶囨敞"].ToString());
+                row1.CreateCell(18).SetCellValue(ds.Tables[0].Rows[i]["浣跨敤鏍囪"].ToString());
+                row1.CreateCell(19).SetCellValue(ds.Tables[0].Rows[i]["鍚敤浜�"].ToString());
+                row1.CreateCell(20).SetCellValue(ds.Tables[0].Rows[i]["鍚敤鏃ユ湡"].ToString());
+                row1.CreateCell(21).SetCellValue(ds.Tables[0].Rows[i]["鍒跺崟浜�"].ToString());
+                row1.CreateCell(22).SetCellValue(ds.Tables[0].Rows[i]["鍒跺崟鏃ユ湡"].ToString());
+                row1.CreateCell(23).SetCellValue(ds.Tables[0].Rows[i]["瀹℃牳浜�"].ToString());
+                row1.CreateCell(24).SetCellValue(ds.Tables[0].Rows[i]["瀹℃牳鏃ユ湡"].ToString());
+                row1.CreateCell(25).SetCellValue(ds.Tables[0].Rows[i]["淇敼浜�"].ToString());
+                row1.CreateCell(26).SetCellValue(ds.Tables[0].Rows[i]["淇敼鏃ユ湡"].ToString());
+                row1.CreateCell(27).SetCellValue(ds.Tables[0].Rows[i]["浣滃簾浜�"].ToString());
+                row1.CreateCell(28).SetCellValue(ds.Tables[0].Rows[i]["浣滃簾鏃ユ湡"].ToString());
+
+            }
+            System.IO.MemoryStream ms = new System.IO.MemoryStream();
+            workbook.Write(ms);
+            ms.Position = 0;
+
+            var response = new HttpResponseMessage(HttpStatusCode.OK);
+            response.Content = new StreamContent(ms);
+
+            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
+            var fileName = "浣滀笟鎸囧涔﹀垪琛�.xls";
+
+            response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
+            {
+                FileName = System.Web.HttpUtility.UrlEncode(fileName)
+            };
+            return response;
+        }
+        #endregion
+
+
+        //
+        private Int32 Fun_GetCol(string sCol)
+        {
+            return DBUtility.Xt_BaseBillFun.Fun_GetCol(sCol, grdMain);
+        }
+        #region 浣跨敤
+        [Route("Gy_SOPBill/BatchUse")]
+        [HttpGet]
+        public object sy_Click()
+        {
+            long sOldInterID = 0;
+            for (int i = 0; i <= grdMain.SelectedRows.Count - 1; i++)
+            {
+                long HInterID = DBUtility.ClsPub.isLong(grdMain.SelectedRows[i].Cells[Fun_GetCol("HMainID")].Value);
+                if (HInterID == 0 || HInterID == sOldInterID)
+                {
+                    continue;
+                }
+                else
+                {
+                    sOldInterID = HInterID;
+                }
+                if (!oBill.Sub_RoutingCheckAndUsed(HInterID))
+                {
+                    continue;
+                }
+            }
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鎵归噺浣跨敤瀹屾瘯锛�";
+            return objJsonResult;
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_StockCheckItemBillController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_StockCheckItemBillController.cs"
index e653ced..b9c63e6 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_StockCheckItemBillController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/Gy_StockCheckItemBillController.cs"
@@ -290,7 +290,37 @@
         }
         #endregion
 
+        #region 鐩樼偣鍒嗘瀽鍒楄〃 鍒犻櫎 涓嶉渶瑕佺殑鏁版嵁
+        [Route("Gy_StockCheckItemBill/StockItemSubDel")]
+        [HttpGet]
+        public object StockItemSubDel(string sID)
+        {
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                //oCn.BeginTran();
+              
+                //oCN.RunProc("exec h_p_StockItemSubDel " + sID);
 
+                //oCn.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                oCn.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         #region 鐩樼偣鍒嗘瀽鍒楄〃
         [Route("Gy_StockCheckItemBill/Get_InventoryAnalysisList")]
diff --git "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\267\245\350\265\204\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ProcPriceController.cs" "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\267\245\350\265\204\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ProcPriceController.cs"
index 37a8953..a07c887 100644
--- "a/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\267\245\350\265\204\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ProcPriceController.cs"
+++ "b/WebAPI/Controllers/\345\237\272\347\241\200\350\265\204\346\226\231/\345\267\245\350\265\204\345\237\272\347\241\200\350\265\204\346\226\231/Gy_ProcPriceController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
 using System;
 using System.Collections;
@@ -25,6 +26,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Gy_ProcPriceList", 1, false, user))
                 {
@@ -37,12 +39,21 @@
 
                 ds = oCN.RunProcReturn("select * from h_v_Gy_ProcPriceList where 1 = 1 " + sWhere, "h_v_Gy_ProcPriceList");
 
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
@@ -177,34 +188,58 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
+                //ds = oCN.RunProcReturn("select " +
+                //    "a.HItemID,ltrim(a.HMaterID)+'-'+ltrim(a.HProcID) 宸ュ簭宸ヤ环璧勬枡浠g爜,a.HDeptID,b.HName HDeptName" +
+                //    ",a.HMaterID HMaterIDCol,c.HNumber HMaterNumberCol,c.HName HMaterNameCol,c.HModel HMaterModelCol" +
+                //    ",a.HProcID HProcIDCol,d.HNumber HProcNumberCol,d.HName HProcNameCol" +
+                //    ",a.HSourceID HSourceIDCol,e.HNumber HSourceNumberCol,e.HName HSourceNameCol" +
+                //    ",a.HPrice HPriceCol,a.HBeginDate HBeginDateCol,a.HEndDate HEndDateCol" +
+                //    ",case when a.HCostFlag<>0 then 'true'else 'false'end HCostFlagCol" +
+                //    ",case when a.HFlowFlag<>0 then 'true'else 'false'end HFlowFlagCol" +
+                //    ",case when a.HPayFlag<>0 then 'true'else 'false'end HPayFlagCol,a.HRemark HRemarkCol " +
+                //    " from Gy_ProcPrice a " +
+                //    " left join Gy_Department b on a.HDeptID = b.HItemID " +
+                //    " left join Gy_Material c on a.HMaterID = c.HItemID " +
+                //    " left join Gy_Process d on a.HProcID = d.HItemID " +
+                //    " left join Gy_Source e on a.HSourceID = e.HItemID where a.HItemID = " + HItemID, "Gy_ProcPrice");
                 ds = oCN.RunProcReturn("select " +
-                    "a.HItemID,ltrim(a.HMaterID)+'-'+ltrim(a.HProcID) 宸ュ簭宸ヤ环璧勬枡浠g爜,a.HDeptID,b.HName HDeptName" +
-                    ",a.HMaterID HMaterIDCol,c.HNumber HMaterNumberCol,c.HName HMaterNameCol,c.HModel HMaterModelCol" +
-                    ",a.HProcID HProcIDCol,d.HNumber HProcNumberCol,d.HName HProcNameCol" +
-                    ",a.HSourceID HSourceIDCol,e.HNumber HSourceNumberCol,e.HName HSourceNameCol" +
-                    ",a.HPrice HPriceCol,a.HBeginDate HBeginDateCol,a.HEndDate HEndDateCol" +
-                    ",case when a.HCostFlag<>0 then 'true'else 'false'end HCostFlagCol" +
-                    ",case when a.HFlowFlag<>0 then 'true'else 'false'end HFlowFlagCol" +
-                    ",case when a.HPayFlag<>0 then 'true'else 'false'end HPayFlagCol,a.HRemark HRemarkCol " +
-                    " from Gy_ProcPrice a " +
-                    " left join Gy_Department b on a.HDeptID = b.HItemID " +
-                    " left join Gy_Material c on a.HMaterID = c.HItemID " +
-                    " left join Gy_Process d on a.HProcID = d.HItemID " +
-                    " left join Gy_Source e on a.HSourceID = e.HItemID where a.HItemID = " + HItemID, "Gy_ProcPrice");
+                   "a.HItemID,ltrim(a.HMaterID)+'-'+ltrim(a.HProcID) 宸ュ簭宸ヤ环璧勬枡浠g爜,a.HDeptID,b.HName 閮ㄩ棬" +
+                   ",a.HMaterID HMaterIDCol,c.HNumber 鐗╂枡浠g爜,c.HName 鐗╂枡鍚嶇О,c.HModel 瑙勬牸鍨嬪彿" +
+                   ",a.HProcID HProcIDCol,d.HNumber 宸ュ簭浠g爜,d.HName 宸ュ簭鍚嶇О" +
+                   ",a.HSourceID HSourceIDCol,e.HNumber 璧勬簮浠g爜,e.HName 璧勬簮鍚嶇О" +
+                   ",a.HPrice 鍗曚环,a.HBeginDate 寮�濮嬫棩鏈�,a.HEndDate 缁撴潫鏃ユ湡" +
+                   ",case when a.HCostFlag<>0 then 'true'else 'false'end 鎴愭湰蹇呴��" +
+                   ",case when a.HFlowFlag<>0 then 'true'else 'false'end 娴佽浆榛樿" +
+                   ",case when a.HPayFlag<>0 then 'true'else 'false'end 宸ヨ祫榛樿,a.HRemark 澶囨敞 " +
+                   " from Gy_ProcPrice a " +
+                   " left join Gy_Department b on a.HDeptID = b.HItemID " +
+                   " left join Gy_Material c on a.HMaterID = c.HItemID " +
+                   " left join Gy_Process d on a.HProcID = d.HItemID " +
+                   " left join Gy_Source e on a.HSourceID = e.HItemID where a.HItemID = " + HItemID, "Gy_ProcPrice");
                 if (ds == null || ds.Tables[0].Rows.Count == 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "false锛�";
+                    objJsonResult.Message = "鏃犲垪琛ㄤ俊鎭紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
                 {
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "Sucess锛�";
                     objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
                     return objJsonResult;
                 }
             }
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index 8c5598a..bb2097d 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -387,6 +387,7 @@
     <Compile Include="Controllers\CJGL\Sc_WorkBillAutoSortBillMainController.cs" />
     <Compile Include="Controllers\Gy_MateMouldController.cs" />
     <Compile Include="Controllers\Pay_ReportController.cs" />
+    <Compile Include="Controllers\SCGL\Sc_ComplementGoodBill_ZXBZController.cs" />
     <Compile Include="Controllers\SCGL\鏃ヨ鍒掔鐞哱DataHelper.cs" />
     <Compile Include="Controllers\SCGL\鏃ヨ鍒掔鐞哱JIT_Cg_PODemandPlanBillController.cs" />
     <Compile Include="Controllers\SCGL\Sc_CallGoodsBackRequestBillController.cs" />
@@ -882,6 +883,7 @@
     <Folder Include="Views\Sb_EquipRepairSendWorkBill\" />
     <Folder Include="Views\Sc_CallGoodsBackRequestBill\" />
     <Folder Include="Views\Sc_ComplementGoodBill\" />
+    <Folder Include="Views\Sc_ComplementGoodBill_ZXBZ\" />
     <Folder Include="Views\Sc_ComplementGoods\" />
     <Folder Include="Views\Sc_JIT_ComplementGoodBill\" />
     <Folder Include="Views\Sc_MouldRepairOutBill\" />

--
Gitblit v1.9.1