From 85ce19ff0847fb3c54ec8844468f33e6011fc8fa Mon Sep 17 00:00:00 2001
From: ch <37327@LLOOCCY>
Date: 星期五, 03 三月 2023 15:25:40 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Models/Gy_RoutingBillSub.cs                                    |    5 
 WebAPI/Controllers/Gy_StdMinPickQtyController.cs                      |  326 ++++
 WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs                   |  142 +
 Model/车间管理/ClsSc_ProcessExchangeBillMain.cs                           |    1 
 WebAPI/Controllers/基础资料/基础资料/Gy_StaffController.cs                    |   92 
 Model/Model.csproj                                                    |    3 
 WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormImportController.cs  |   47 
 WebAPI/Controllers/LMESController.cs                                  |   12 
 DAL/车间管理/ClsSc_ProcExchWorkBackBill.cs                                |  136 +
 DAL/车间管理/ClsSc_ProcessExchangeBill.cs                                 |    7 
 DAL/基础资料/公用基础资料/ClsGy_MaterType_Ctl.cs                                |   10 
 DAL/基础资料/公用基础资料/ClsGy_Warehouse_View.cs                               |   21 
 WebAPI/Models/Gy_UserProcess.cs                                       |   14 
 Model/基础资料/其他基础资料/ClsGy_SupMaterial_Model.cs                          |   24 
 Model/车间管理/ClsSc_ProcExchWorkBackBillSub.cs                           |   37 
 WebAPI/Models/ClsGy_SupMaterial.cs                                    |   25 
 WebAPI/Controllers/基础资料/基础资料/Gy_TaxRateBillController.cs              |  177 ++
 Model/基础资料/基础资料/ClsGy_MaterType_Model.cs                              |   11 
 WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs          |   72 
 DAL/基础资料/公用基础资料/ClsGy_TaxMIX_Ctl.cs                                   |  121 +
 WebAPI/Controllers/基础资料/基础资料/Gy_TaxMIXController.cs                   |  835 ++++++---
 DAL/基础资料/其他基础资料/ClsGy_SupMaterial_Ctl.cs                              |  183 ++
 Pub_Class/CustomerCls/ClsXt_SystemParameter.cs                        |   20 
 WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs          |  432 +++++
 WebAPI/Controllers/BLL/Xt_UserController.cs                           |   82 +
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs                |   66 
 WebAPI/Controllers/基础资料/基础资料/Gy_MaterTypeBillController.cs            |  360 ++++
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs           |  119 +
 Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs                    |    5 
 WebAPI/Controllers/CJGL/Cj_StationInBillController.cs                 |   56 
 WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs                |  266 +++
 WebAPI/Controllers/PublicPageMethodController.cs                      |   36 
 Model/车间管理/ClsSc_ProcExchWorkBackBillMain.cs                          |   32 
 WebAPI/Controllers/基础资料/基础资料/Gy_SettleStyleController.cs              |  163 ++
 WebAPI/Controllers/基础资料/基础资料/Gy_StockStatusBillController.cs          |  175 ++
 WebAPI/ListModels.cs                                                  |   30 
 WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBillController.cs    |   55 
 WebAPI/Controllers/基础资料/基础资料/Gy_SOPBillListController.cs              |   27 
 WebAPI/Controllers/SCGL/日计划管理/Sc_WorkBillSortBillController.cs        |   80 
 DAL/DAL.csproj                                                        |    3 
 WebAPI/Controllers/Sc_ProcessMangementController.cs                   |   73 
 WebAPI/Controllers/基础资料/工资基础资料/Gy_ProcPriceController.cs              |  264 ++
 WebAPI/WebAPI.csproj                                                  |    8 
 WebAPI/Controllers/基础资料/基础资料/Gy_PaymentConditionListBillController.cs |  175 ++
 44 files changed, 4,329 insertions(+), 499 deletions(-)

diff --git a/DAL/DAL.csproj b/DAL/DAL.csproj
index d40e497..30c945a 100644
--- a/DAL/DAL.csproj
+++ b/DAL/DAL.csproj
@@ -91,6 +91,7 @@
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_Operator_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_RateType_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_Staff_Ctl.cs" />
+    <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_TaxMIX_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_TaxRate_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_RecCondition_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_FactoryDayOff_Ctl.cs" />
@@ -103,6 +104,7 @@
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_MateMould_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_QCCheckProject_View.cs" />
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_StdWorkTimes_Ctl.cs" />
+    <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_SupMaterial_Ctl.cs" />
     <Compile Include="婧愬崟\ERP婧愬崟\Cls_S_Sc_ABJJD.cs" />
     <Compile Include="婧愬崟\InterFace婧愬崟\Cls_S_IF_ICMOBillList.cs" />
     <Compile Include="婧愬崟\InterFace婧愬崟\Cls_S_IF_ProcessReportBillList.cs" />
@@ -620,6 +622,7 @@
     <Compile Include="璐ㄦ绠$悊\ClsQC_POStockInCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_ProcessCheckBill.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_ProdReportCheckBill.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchWorkBackBill.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_CutMaterProcExchBill.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_MaterBackBill.cs" />
     <Compile Include="杞﹂棿绠$悊\ClsSc_MaterDownBill.cs" />
diff --git "a/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MaterType_Ctl.cs" "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MaterType_Ctl.cs"
index 18c2abe..bad0eca 100644
--- "a/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MaterType_Ctl.cs"
+++ "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MaterType_Ctl.cs"
@@ -20,9 +20,9 @@
                 oCn.BeginTran();
                 oCn.RunProc("Insert into " + MvarItemKey + " " +
                     " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
-                    ",HLevel,HEndFlag,HStopflag,HRemark) " +
+                    ",HLevel,HEndFlag,HStopflag,HRemark,HMakeEmp,HMakeTime,HStopEmp,HStopTime,HUSEORGID,HCREATEORGID,HUseFlag) " +
                     " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HHelpCode + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
-                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "')", ref DBUtility.ClsPub.sExeReturnInfo);
+                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "','"+ oModel.HMakeEmp.ToString() + "',getdate(),'" + (oModel.HStopflag==true? oModel.HMakeEmp.ToString():"") + "','"+ (oModel.HStopflag == true ? DateTime.Now.ToString() : "") + "',"+ oModel.HUSEORGID + "," + oModel.HCREATEORGID + ",'"+ oModel.HUseFlag + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                 oCn.Commit();
@@ -49,6 +49,12 @@
                     ",HLevel=" + oModel.HLevel.ToString() +
                     ",HParentID=" + oModel.HParentID.ToString() +
                     ",HEndflag=" + Convert.ToString(oModel.HEndFlag ? 1 : 0) +
+                    ",HModifyEmp='" + oModel.HMakeEmp.ToString() + "'" +
+                    ",HModifyTime= getdate()" +
+                    ",HStopEmp='" + (oModel.HStopflag == true ? oModel.HMakeEmp : "") + "'" +
+                    ",HStopTime='" + (oModel.HStopflag == true ? DateTime.Now.ToString() : "") + "'" +
+                    ",HUSEORGID=" + oModel.HUSEORGID +
+                    ",HUseFlag='" + oModel.HUseFlag + "'" +
                     ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
                     ",HRemark= '" + oModel.HRemark + "' Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
diff --git "a/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_TaxMIX_Ctl.cs" "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_TaxMIX_Ctl.cs"
new file mode 100644
index 0000000..c6dc48e
--- /dev/null
+++ "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_TaxMIX_Ctl.cs"
@@ -0,0 +1,121 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public class ClsGy_TaxMIX_Ctl : DBUtility.ClsGy_Base_Ctl
+    {
+        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        //鍘熶唬鐮� 鐢ㄤ簬 鏇挎崲瀛愰」鐩�
+        public string HOldNumber;
+        public Model.ClsGy_TaxMIXMain_Model oModel = new Model.ClsGy_TaxMIXMain_Model();
+        public List<Model.ClsGy_TaxMIXSub_Model> DetailColl = new List<Model.ClsGy_TaxMIXSub_Model>();
+        //鏂板
+        public override bool AddNew()
+        {
+
+            try
+            {
+                oCn.BeginTran();
+                oCn.RunProc("Insert into Gy_TaxMIXMain" +
+                    " (HNumber,HName,HShortNumber,HParentID" +
+                    ",HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HUSEORGID,HCREATEORGID" +
+                    ",HMakeEmp,HMakeTime,HCheckEmp,HModifyEmp,HStopEmp) " +
+                    " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
+                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark +
+                    "','" + oModel.HUseFlag + "'," + oModel.HUSEORGID + "," + oModel.HCREATEORGID + ",'" + oModel.HMakeEmp + "','" + System.DateTime.Now + "','" + oModel.HCheckEmp + "','" + oModel.HModifyEmp + "','" + oModel.HStopEmp +  "'" + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsGy_TaxMIXSub_Model oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Gy_TaxMIXSub " +
+                      " (HTAXBENCHMARK,FTAXRATEID,FTAXBENCHMARKCORRVALUE,HTaxMixID" +                   
+                      ") values("
+                      + "'" + oSub.HTAXBENCHMARK + "'," + oSub.FTAXRATEID + ",'" + oSub.FTAXBENCHMARKCORRVALUE + "'," + oModel.HItemID +
+                      ") ");
+                }
+
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                oCn.RunProc("Update Gy_TaxMIXMain" + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+
+        //淇敼
+        public override bool ModifyByID(Int64 sItemID)
+        {
+            try
+            {
+                oCn.BeginTran();
+                oCn.RunProc("Update " + MvarItemKey + " set " +
+                    " HNumber='" + oModel.HNumber + "'" +
+                    ",HName='" + oModel.HName + "'" +
+                    ",HShortNumber='" + oModel.HShortNumber + "'" +
+                    ",HHelpCode='" + oModel.HHelpCode + "'" +
+                    ",HLevel=" + oModel.HLevel.ToString() +
+                    ",HParentID=" + oModel.HParentID.ToString() +
+                    ",HEndflag=" + Convert.ToString(oModel.HEndFlag ? 1 : 0) +
+                    ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
+                    ",HRemark= '" + oModel.HRemark + "' Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                oCn.RunProc("delete from Gy_TaxMIXSub where HTaxMixID = " + oModel.HItemID);
+
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsGy_TaxMIXSub_Model oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Gy_TaxMIXSub " +
+                      " (HTAXBENCHMARK,FTAXRATEID,FTAXBENCHMARKCORRVALUE,HTaxMixID" +
+                      ") values("
+                      + "'" + oSub.HTAXBENCHMARK + "'," + oSub.FTAXRATEID + ",'" + oSub.FTAXBENCHMARKCORRVALUE + "'," + oModel.HItemID +
+                      ") ");
+                }
+
+                //灏嗕笂绾� 涓洪潪鏈骇
+                oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+                //
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏍规嵁浠g爜鍒ゆ柇淇℃伅
+        public override bool HavParentCode(string sCode, Int64 sItemID)
+        {
+            DataSet DS;
+            try
+            {
+                DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HStopflag=0 and HNumber='" + sCode + "' and HItemID<>" + sItemID, MvarItemKey, ref Pub_Class.ClsPub.sExeReturnInfo);
+                if (DS.Tables[0].Rows.Count == 0)
+                    return false;
+                else
+                {
+                    oModel.HItemID = Convert.ToInt64(DS.Tables[0].Rows[0]["HItemID"]);
+                    return true;
+                }
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
+        //鏋勯�犲嚱鏁�
+        public ClsGy_TaxMIX_Ctl()
+        {
+            MvarItemKey = "Gy_TaxMIXMain";
+            MvarReportTitle = "绋庣粍鍚堣缃�";
+            oModel = new Model.ClsGy_TaxMIXMain_Model();
+        }
+    }
+}
diff --git "a/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_Warehouse_View.cs" "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_Warehouse_View.cs"
index 4522e8d..b2c83f3 100644
--- "a/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_Warehouse_View.cs"
+++ "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\254\347\224\250\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_Warehouse_View.cs"
@@ -66,7 +66,26 @@
             {
                 throw (e);
             }
-        } 
+        }
+        //鏍规嵁浠g爜杩斿洖椤圭洰淇℃伅
+        public override bool GetInfoByName(string sNumber)
+        {
+            DataSet DS;
+            try
+            {
+                DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HName='" + sNumber + "'", MvarItemKey, ref DBUtility.ClsPub.sExeReturnInfo);
+                if (DS.Tables[0].Rows.Count == 0)
+                    return false;
+                else
+                {
+                    return GetInfo(DS);
+                }
+            }
+            catch (Exception e)
+            {
+                throw (e);
+            }
+        }
         //杩斿洖椤圭洰淇℃伅
         public override bool GetInfo(DataSet Ds)
         {
diff --git "a/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\266\344\273\226\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_SupMaterial_Ctl.cs" "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\266\344\273\226\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_SupMaterial_Ctl.cs"
new file mode 100644
index 0000000..0d9bf06
--- /dev/null
+++ "b/DAL/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\266\344\273\226\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_SupMaterial_Ctl.cs"
@@ -0,0 +1,183 @@
+锘縰sing DBUtility;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+
+namespace DAL
+{ 
+   public class ClsGy_SupMaterial_Ctl: DBUtility.ClsGy_Base_Ctl
+    {
+        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+        //鍘熶唬鐮� 鐢ㄤ簬 鏇挎崲瀛愰」鐩�
+        public string HOldNumber;
+        public List<Model.ClsGy_SupMaterial_Model> DetailColl = new List<Model.ClsGy_SupMaterial_Model>();
+
+        //鍙嶅鏍�
+        public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                oCn.RunProc(" Update Gy_StdMinPickQty set HChecker='',HCheckDate=null Where HItemID=" + lngBillKey.ToString());
+                sReturn = "";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                return false;
+            }
+        }
+
+        //瀹℃牳
+        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
+        {
+
+            try
+            {
+                oCn.RunProc(" Update Gy_StdMinPickQty set HUsed=0,HChecker='" + DBUtility.ClsPub.CurUserName + "',HCheckDate='" + DBUtility.ClsPub.GetServerDate(-1) + "' Where HItemID=" + lngBillKey.ToString());
+                //灏嗗叾浠� 宸ヤ环璁剧疆涓� 鍋滅敤
+                //oCn.RunProc(" exec h_p_Gy_MateMouldStopflag   " + lngBillKey.ToString());
+                //
+                sReturn = "";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                return false;
+            }
+        }
+
+
+        //鏂板
+        public override bool AddNew()
+        {
+
+            try
+            {
+                oCn.BeginTran();
+
+
+                //鎻掑叆琛�
+                foreach (Model.ClsGy_SupMaterial_Model oSub in DetailColl)
+                {
+                    DataSet Ds;
+                    Int64 HInterID = 1;
+                    Ds = oCn.RunProcReturn("select MAX(HInterID) HInterID from Gy_StdMinPickQty", "Gy_StdMinPickQty");
+                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
+                    {
+                        HInterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
+                        HInterID += 1;
+                    }
+
+                    DataSet Cs;
+                    Int64 HEntryID = 1;
+                    Cs = oCn.RunProcReturn("select MAX(HEntryID) HEntryID from Gy_StdMinPickQty", "Gy_StdMinPickQty");
+                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+                    {
+                        HEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+                        HEntryID += 1;
+                    }
+
+                    oCn.RunProc("Insert into Gy_StdMinPickQty " +
+                        " (HInterID,HEntryID,HMaterID,HPackTypeID,HSupID,HMinQty,HBagQty" +
+                        ",HBeginDate,HEndDate" +
+                        ",HUsed,HRemark,HMaker,HMakeDate)" +
+                        " values(" + HInterID + "," + HEntryID + "," + oSub.HMaterID.ToString() + "," + oSub.HPackTypeID.ToString() + "," + oSub.HSupID.ToString() + "," + oSub.HMinQty.ToString() + "," + oSub.HBagQty.ToString() +
+                        ",'" + oSub.HBeginDate.ToShortDateString() + "','" + oSub.HEndDate.ToShortDateString() + "'," + Convert.ToString(oSub.HUsed ? 1 : 0) + ",'" + oSub.HRemark + "','" + oSub.HMaker + "','" + oSub.HMakeDate + "'" + ") ");
+                }
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+
+        //淇敼
+        public override bool ModifyByID(Int64 sItemID)
+        {
+            try
+            {
+                oCn.BeginTran();
+                //DeleteByID(sItemID);        //鍒犻櫎璁板綍
+                ////鎻掑叆琛�
+                foreach (Model.ClsGy_SupMaterial_Model oSub in DetailColl)
+                {
+                    //    oCn.RunProc("Insert into Gy_StdMinPickQty " +
+                    //        " (HMaterID,HRelationID,HUnitID" +
+                    //        ",HBeginDate,HEndDate" +
+                    //        ",HUsed,HRemark,HMaker,HMakeDate)" +
+                    //        " values(" + oSub.HMaterID.ToString() + "," + oSub.HRelationID.ToString() + "," + oSub.HUnitID.ToString() +
+                    //        ",'" + oSub.HBeginDate.ToShortDateString() + "','" + oSub.HEndDate.ToShortDateString() + "'," + Convert.ToString(oSub.HUsed ? 1 : 0) + ",'" + oSub.HRemark + "','" + oSub.HMaker + "','" + oSub.HMakeDate + "') ");
+                    oCn.RunProc("Update Gy_StdMinPickQty set " +
+                       "HMaterID=" + oSub.HMaterID  +
+                       ",HSupID =" + oSub.HSupID  +
+                       ",HPackTypeID =" + oSub.HPackTypeID +
+                       ",HMinQty =" + oSub.HMinQty +
+                       ",HBagQty =" + oSub.HBagQty +
+                       ",HRemark='" + oSub.HRemark + "'" +
+                       ",HBeginDate='" + oSub.HBeginDate + "'" +
+                       ",HEndDate='" + oSub.HEndDate + "'" +
+                       //",HStopflag=" + Convert.ToString(HStopflag ? 1 : 0) +
+                       //",HUseFlag=" + Convert.ToString(HUseFlag ? 1 : 0) +
+                       //",HMakeTime= getdate()" +
+                       //",HMakeEmp='" + HMakeEmp + "'" +
+                       /*",HRemark='" + HRemark + */"Where HItemID ='" + sItemID + "'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }               
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+
+        //鏄剧ず鍗曟嵁
+        public bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet DsSub = new DataSet();
+                DsSub = oCn.RunProcReturn("Select * from Gy_StdMinPickQty Where HitemID=" + lngBillKey.ToString(), "Gy_StdMinPickQty");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsGy_SupMaterial_Model oSub = new Model.ClsGy_SupMaterial_Model();
+                    oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                    oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                    oSub.HBeginDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HBeginDate"]);
+                    oSub.HEndDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEndDate"]);
+                    oSub.HRemark = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HRemark"]);
+                    oSub.HMaker = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMaker"]);
+                    oSub.HMakeDate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HMakeDate"]);
+                    oSub.HChecker = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HChecker"]);
+                    oSub.HCheckDate = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCheckDate"]);
+
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                return false;
+            }
+        }       
+
+        //鏋勯�犲嚱鏁�
+        public ClsGy_SupMaterial_Ctl()
+        {
+            MvarItemKey = "Gy_StdMinPickQty";
+            MvarReportTitle = "渚涘簲鍟嗗搴旂墿鏂欒祫鏂�";
+        }
+    }
+}
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBill.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBill.cs"
new file mode 100644
index 0000000..8eb5420
--- /dev/null
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBill.cs"
@@ -0,0 +1,136 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsSc_ProcExchWorkBackBill : DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsSc_ProcExchWorkBackBillMain omodel = new Model.ClsSc_ProcExchWorkBackBillMain();
+        public List<Model.ClsSc_ProcExchWorkBackBillSub> DetailColl = new List<Model.ClsSc_ProcExchWorkBackBillSub>();
+
+        public ClsSc_ProcExchWorkBackBill()
+        {
+            base.MvarItemKeySub = "Sc_ProcExchWorkBackBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey= "Sc_ProcExchWorkBackBillMain";
+            base.MvarReportTitle= "宸ュ簭杩斿伐鐢宠鍗�";
+            base.BillType = "3796";
+            base.HBillSubType = "3796";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsSc_ProcExchWorkBackBill()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Sc_ProcExchWorkBackBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                //",HDate='" + omodel.HDate + "'" +
+                //",HYear='" + omodel.HYear.ToString() + "'" +
+                //",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HInnerBillNo='" + omodel.HInnerBillNo.ToString() +"'"+
+                ",HEmpID=" + omodel.HEmpID.ToString() +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsSc_ProcExchWorkBackBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" +
+                        ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" +
+                        ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" +
+                        ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" +
+                        ", HQty)values(" +
+                        $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', GETDATE(), {(oSub.HCloseType == true ? 1 : 0)}" +
+                        $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID.ToString()},{oSub.HSourceEntryID.ToString()}, '{oSub.HSourceBillNo.ToString()}', '{oSub.HSourceBillType.ToString()}'" +
+                        $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" +
+                        $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag == true ? 1 : 0)}" +
+                        $", {oSub.HQty.ToString()}) ");
+                }
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                //寰楀埌mainid
+                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("insert Into Sc_ProcExchWorkBackBillMain(HBillType, HBillSubType, HInterID, HBillNo, HDate,HBillStatus" +
+                    ", HMaker, HMakeDate, HYear, HPeriod, HRemark" +
+                    ", HICMOInterID, HICMOBillNo, HICMOEntryID, HProcExchInterID, HProcExchEntryID" +
+                    ", HProcExchBillNo, HProcExchBegNO, HProcExchEndNO, HProcBegID, HProcEndID" +
+                    ", HMaterID, HUnitID, HEmpID, HPlanQty, HQty" +
+                    ", HExplanation, HInnerBillNo, HWorkShopID, HOrderProcNo, HPRDORGID) values(" +
+                    $"'{omodel.HBillType}','{omodel.HBillSubType}',{omodel.HInterID},'{omodel.HBillNo}','{omodel.HDate}',1" +
+                    $",'{omodel.HMaker}','{omodel.HMakeDate}',{omodel.HYear},{omodel.HPeriod},'{omodel.HRemark}'" +
+                    $",{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID},{omodel.HProcExchInterID},{omodel.HProcExchEntryID}" +
+                    $",'{omodel.HProcExchBillNo}',{omodel.HProcExchBegNO},{omodel.HProcExchEndNO},{omodel.HProcBegID},{omodel.HProcEndID}" +
+                    $",{omodel.HMaterID},{omodel.HUnitID},{omodel.HEmpID},{omodel.HPlanQty},{omodel.HQty}" +
+                    $",'{omodel.HExplanation}','{omodel.HInnerBillNo}',{omodel.HWorkShopID},'{omodel.HOrderProcNo}',{omodel.HPRDORGID})");
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsSc_ProcExchWorkBackBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" +
+                        ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" +
+                        ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" +
+                        ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" +
+                        ", HQty)values(" +
+                        $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', GETDATE(), {(oSub.HCloseType== true ? 1:0)}" +
+                        $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID.ToString()},{oSub.HSourceEntryID.ToString()}, '{oSub.HSourceBillNo.ToString()}', '{oSub.HSourceBillType.ToString()}'" +
+                        $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" +
+                        $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag== true?1:0)}" +
+                        $", {oSub.HQty.ToString()}) ");
+                }
+               
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+             
+    }
+
+}
diff --git "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs" "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
index eab9620..2ec97af 100644
--- "a/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
+++ "b/DAL/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBill.cs"
@@ -293,9 +293,8 @@
                 ",HProdMaterCode,HSeOrderBillNo,HCusShortName,HCusNeedMaterial,HPlanSendGoodsDate" +
                 ",HProdMaterName,HCusName,HWorkRemark,HImportNote,HMaterNumber_A" +
                 ",HMaterNumber_B,HMaterNumber_C,HMaterNumber_D,HProdType,HMaterShortName" +
-                ",HMaterIDA,HMaterIDB,HMaterIDC,HMaterIDD,HICMOEntryID" +
-                ",HPicNumVer,HPicNumAssemble,HMaterTexture,HProductNum,HVerNum,HPRDORGID,HBLFlag,HCusNumber,HPickLabel,HPickLabelNumber,HXTNumber,HXTModel,HWorkBillSortNo" +
-                ") " +
+                ",HMaterIDA,HMaterIDB,HMaterIDC,HMaterIDD,HICMOEntryID" +        ",HPicNumVer,HPicNumAssemble,HMaterTexture,HProductNum,HVerNum,HPRDORGID,HBLFlag,HCusNumber,HPickLabel,HPickLabelNumber,HXTNumber,HXTModel,HWorkBillSortNo" +
+               ", HRoutingBillID) " +
                 " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HMaker + "',getdate()," + "" + (omodel.HPrevMainSourceInterID == 0 ? omodel.HInterID : omodel.HPrevMainSourceInterID) +
                 "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HBatchNo + "'," + omodel.HMainMaterID.ToString() + "," + omodel.HKeyMaterID.ToString() + "," + omodel.HNo.ToString() + ",'" + omodel.HOrderProcNO + "'" +
                 "," + omodel.HWWOrderInterID.ToString() + "," + omodel.HWWOrderEntryID.ToString() + ",'" + omodel.HWWOrderBillNo + "'," + omodel.HICMOInterID.ToString() + "," + omodel.HEquipMentID.ToString() +
@@ -307,7 +306,7 @@
                 ",'" + omodel.HMaterNumber_B + "','" + omodel.HMaterNumber_C + "','" + omodel.HMaterNumber_D + "','" + omodel.HProdType + "','" + omodel.HMaterShortName + "'" +
                 ",'" + omodel.HMaterIDA + "','" + omodel.HMaterIDB + "','" + omodel.HMaterIDC + "','" + omodel.HMaterIDD + "'," + omodel.HICMOEntryID +
                 ",'" + omodel.HPicNumVer + "','" + omodel.HPicNumAssemble + "','" + omodel.HMaterTexture + "','" + omodel.HProductNum + "','" + omodel.HVerNum + "','"+ omodel.HPRDORGID+ "','"+omodel.HBLFlag+ "','" + omodel.HCusNumber + "','" + omodel.HPickLabel + "','" + omodel.HPickLabelNumber + "','" + omodel.HXTNumber + "','" + omodel.HXTModel + "','" + omodel.HWorkBillSortNo + 
-                "') ");
+                "',"+ omodel.HRoutingBillID + ") ");
                 sErr = sErr + "1;";
                 //鎻掑叆瀛愯〃
                 foreach (Model.ClsSc_ProcessExchangeBillSub oSub in DetailColl)
diff --git a/Model/Model.csproj b/Model/Model.csproj
index 959d818..2c07905 100644
--- a/Model/Model.csproj
+++ b/Model/Model.csproj
@@ -303,6 +303,7 @@
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_QCCheckProjectSub.cs" />
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_SourceShift_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_StdWorkTimes_Model.cs" />
+    <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_SupMaterial_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_TechParamByProc_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_UserCustomerRelation_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍏朵粬鍩虹璧勬枡\ClsGy_UserDeptRelation_Model.cs" />
@@ -579,6 +580,8 @@
     <Compile Include="鐢熶骇绠$悊\妯″叿绠$悊\ClsSc_MouldStockBillSub.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipConkBookBillMain.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipConkBookBillSub.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchWorkBackBillSub.cs" />
+    <Compile Include="杞﹂棿绠$悊\ClsSc_ProcExchWorkBackBillMain.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipWorkBeforeCheckBillMain.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipWorkBeforeCheckBillSub.cs" />
     <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipStockInCheckBillSub.cs" />
diff --git "a/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\266\344\273\226\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_SupMaterial_Model.cs" "b/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\266\344\273\226\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_SupMaterial_Model.cs"
new file mode 100644
index 0000000..2515b94
--- /dev/null
+++ "b/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\205\266\344\273\226\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_SupMaterial_Model.cs"
@@ -0,0 +1,24 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_SupMaterial_Model : DBUtility.ClsGy_Base_Model
+    {
+        public long HInterID;
+        public long HPackTypeID;
+        public long HSupID;
+        public decimal HMinQty;
+        public decimal HBagQty;
+        public long HMaterID;
+        public bool HUsed;         //褰撳墠姝e湪鍚敤
+        public DateTime HBeginDate;
+        public DateTime HEndDate;
+        public string HMaker;
+        public string HMakeDate;
+        public string HChecker;
+        public string HCheckDate;
+    }
+}
diff --git "a/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MaterType_Model.cs" "b/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MaterType_Model.cs"
index 86a992f..9e2bb93 100644
--- "a/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MaterType_Model.cs"
+++ "b/Model/\345\237\272\347\241\200\350\265\204\346\226\231/\345\237\272\347\241\200\350\265\204\346\226\231/ClsGy_MaterType_Model.cs"
@@ -7,6 +7,15 @@
 {
     public class ClsGy_MaterType_Model : DBUtility.ClsGy_Base_Model
     {
-
+        public long HUSEORGID { get; set; }
+        public long HCREATEORGID { get; set; }
+        public string HMakeEmp { get; set; }
+        public DateTime HMakeTime { get; set; }
+        public string HCheckEmp { get; set; }
+        public DateTime HCheckTime { get; set; }
+        public string HModifyEmp { get; set; }
+        public DateTime HModifyTime { get; set; }
+        public string HStopEmp { get; set; }
+        public DateTime HStopTime { get; set; }
     }
 }
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBillMain.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBillMain.cs"
new file mode 100644
index 0000000..181a72e
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBillMain.cs"
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSc_ProcExchWorkBackBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HPrintQty { get; set; }  //打印次数
+        public Int64 HICMOInterID { get; set; }
+        public Int64 HICMOEntryID { get; set; }
+        public Int64 HProcExchInterID { get; set; }
+        public Int64 HProcExchEntryID { get; set; }
+        public Int64 HProcExchBegNO { get; set; }
+        public Int64 HProcExchEndNO { get; set; }
+        public Int64 HProcBegID { get; set; }
+        public Int64 HProcEndID { get; set; }
+        public Int64 HMaterID { get; set; }
+        public Int64 HUnitID { get; set; }
+        public Int64 HEmpID { get; set; }
+        public Int64 HWorkShopID { get; set; }
+        public Int64 HPRDORGID { get; set; }
+        public string HICMOBillNo { get; set; } 
+        public string HProcExchBillNo { get; set; } 
+        public string HExplanation { get; set; } 
+        public string HBatchNo { get; set; } 
+        public string HOrderProcNo { get; set; } 
+        public string HInnerBillNo { get; set; } 
+        public double HPlanQty { get; set; } 
+        public double HQty { get; set; } 
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBillSub.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBillSub.cs"
new file mode 100644
index 0000000..a7a1f01
--- /dev/null
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcExchWorkBackBillSub.cs"
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSc_ProcExchWorkBackBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public string HBillNo_bak;        //单据号(备份,以免内码丢失,找不到对应主表)
+        public Int64 HItemSubID; //自增列(GUID)
+        public Int64 HProcNo { get; set; }
+        public Int64 HProcID { get; set; }
+        public Int64 HCenterID { get; set; }
+        public Int64 HSupID { get; set; }
+        public Int64 HDeptID { get; set; }
+        public Int64 HICMOInterID { get; set; }
+        public Int64 HSeOrderInterID { get; set; }
+        public Int64 HSeOrderEntryID { get; set; }
+        public Int64 HICMOEntryID { get; set; }
+        public Int64 HWWOrderInterID { get; set; }
+        public Int64 HWWOrderEntryID { get; set; }
+        public bool HSupFlag { get; set; }
+        public string HWorkRemark { get; set; }
+        public string HMouldNo { get; set; }
+        public string HWWOrderBillNo { get; set; }
+        public string HProcWorkNum { get; set; }
+        public string HICMOBillNo { get; set; }
+        public string HSeOrderBillNo { get; set; }
+        public string HTimeUnit { get; set; }
+        public string HProcType { get; set; }
+        public double HQty { get; set; }
+        public double HPlanWorkTimes { get; set; }
+        public double HStdWorkTime { get; set; }
+        public DateTime HPlanBeginDate { get; set; }
+        public DateTime HPlanEndDate { get; set; }
+    }
+}
diff --git "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBillMain.cs" "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBillMain.cs"
index 8811c67..ece4cac 100644
--- "a/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBillMain.cs"
+++ "b/Model/\350\275\246\351\227\264\347\256\241\347\220\206/ClsSc_ProcessExchangeBillMain.cs"
@@ -72,5 +72,6 @@
         public string HPickLabelNumber;
         public string HXTNumber;
         public string HXTModel;
+        public string HRoutingBillID;//工艺路线ID
     }
 }
diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
index 2c08827..b4ff72d 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -1393,6 +1393,12 @@
                         omodel.MES_StationOutBill_InStockType = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
+                    //===========工艺路线
+                    //保存到数据库时自动加上转工序
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Gy_RoutingBill_SaveAutoLastProc")
+                    {
+                        omodel.Gy_RoutingBill_SaveAutoLastProc = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
 
                     //=======JIT
 
@@ -1486,6 +1492,13 @@
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESProceReportWorkBill_AutoCheck")
                     {
                         omodel.Sc_MESProceReportWorkBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
+                    //=========工序进站单
+                    //自动匹配流水号
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "MES_StationBill_ProcNo")
+                    {
+                        omodel.MES_StationBill_ProcNo = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
                 }
                 sReturn = "显示单据成功!";
@@ -2905,6 +2918,13 @@
                         omodel.MES_StationEntrustOutBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                     }
 
+                    //=========工艺路线
+                    //自动新增   保存到数据库时自动加上转工序
+                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Gy_RoutingBill_SaveAutoLastProc")
+                    {
+                        omodel.Gy_RoutingBill_SaveAutoLastProc = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
+                    }
+
                     //报工台,工序汇报自动审核参数
                     if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESProceReportWorkBill_AutoCheck")
                     {
diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
index 1332e4d..3127d9a 100644
--- a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
+++ b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -425,6 +425,11 @@
         public string Sc_MouldProdOutBill_MouldLifeCtrlType; //保存时器具寿命控制类型 (Y 强制控制, N 仅提示)
 
 
+        //工艺路线
+        public string Gy_RoutingBill_SaveAutoLastProc; //保存到数据库时自动加上转工序
+
+        //工序进站单
+        public string MES_StationBill_ProcNo; //自动匹配流水号
 
     }
          
diff --git a/WebAPI/Controllers/BLL/Xt_UserController.cs b/WebAPI/Controllers/BLL/Xt_UserController.cs
index a00f4c3..0ce6b23 100644
--- a/WebAPI/Controllers/BLL/Xt_UserController.cs
+++ b/WebAPI/Controllers/BLL/Xt_UserController.cs
@@ -1137,5 +1137,87 @@
         }
         #endregion
 
+        #region  鏍规嵁鐢ㄦ埛缂栫爜鏌ユ壘宸插垎閰嶅伐搴忓垪琛�
+        [Route("Xt_User/ProcessPlaylist")]
+        [HttpGet]
+        public object ProcessPlaylist(string HUserID)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select HProcID,宸ュ簭浠g爜 HProcNumber,宸ュ簭鍚嶇О HProcName from h_v_Gy_UserProcessList where HUserID='" + HUserID + "' ", "h_v_Gy_UserProcessList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲伐搴忎俊鎭紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    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 鐢ㄦ埛鍏宠仈宸ュ簭淇濆瓨
+        [Route("Xt_User/SaveUserProcess")]
+        [HttpPost]
+        public object SaveUserProcess([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+
+            ListModels oListModels = new ListModels();
+            try
+            {
+                List<Models.Gy_UserProcess> lsmain = new List<Models.Gy_UserProcess>();
+                msg2 = msg2.Substring(1, msg2.Length - 2);
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_UserProcess(msg2);
+                oCN.BeginTran();
+                //鍒犻櫎宸茬粡鍏宠仈鐨勬暟鎹�
+                oCN.RunProc("Delete From Gy_UserByProcess  where HUserID='" + msg3.ToString() + "'");
+                foreach (Models.Gy_UserProcess oItem in lsmain)
+                {
+                    //閲嶆柊鍐欏叆鍏宠仈鏁版嵁
+                    oCN.RunProc("insert into Gy_UserByProcess (HProcID,HUserID) values ('" + oItem.HProcID + "','" + msg3.ToString() + "')");
+                }
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
index 5418030..9f2f099 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -120,7 +120,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏈煡璇㈠埌娴佽浆鍗′俊鎭紒";
+                    objJsonResult.Message = "鏈煡璇㈠埌娴佹按鍙蜂俊鎭紒宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇锋坊鍔狅紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -141,6 +141,76 @@
         }
         #endregion
 
+        #region 鏍规嵁鐧诲綍鐢ㄦ埛鑾峰彇宸ュ簭
+        [Route("Sc_StationInBill/autoGetProcNo")]
+        [HttpGet]
+        public object autoGetProcNo(string HUserName,string HInterID)
+        {
+            string sReturn = "";
+            if (oSystemParameter.ShowBill(ref sReturn) == true)
+            {
+                //绯荤粺鍙傛暟鏄惁涓鸿嚜鍔ㄥ尮閰嶆祦姘村彿,N涓烘墜鍔ㄨ緭鍏ワ紝Y涓鸿嚜鍔ㄥ尮閰�
+                if (oSystemParameter.omodel.MES_StationBill_ProcNo == "Y")
+                {
+                    try
+                    {
+                        if (HUserName == null || HUserName.Equals(""))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鐢ㄦ埛鍚嶄笉鑳戒负绌猴紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //寰楀埌淇℃伅
+                        ds = oCN.RunProcReturn("select  * from h_v_Sc_StationBill_autoGetProcNo  where HInterID = '" + HInterID + "' and 鐢ㄦ埛鍚嶇О ='" + HUserName + "'", "h_v_Sc_StationBill_autoGetProcNo");
+                        //鍐欏叆淇℃伅
+                        if (ds == null || ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鏈煡璇㈠埌宸ュ簭淇℃伅锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        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;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鎵嬪姩杈撳叆妯″紡";
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }
+
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "绯荤粺鍙傛暟寮傚父";
+                objJsonResult.data = "";
+                return objJsonResult;
+            }
+
+            
+        }
+        #endregion
+
 
         #region 鍑虹珯姹囨姤鍗曟樉绀鸿〃浣撴槑缁�
         [Route("Cj_StationEntrustInBill/DisBillEntryList")]
diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
index 9656f57..6d8ee64 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
@@ -1042,5 +1042,61 @@
             }
         }
         #endregion
+
+        #region 杩斿洖鐢ㄦ埛鑾峰彇榛樿鍊煎垪琛�
+        [Route("Cj_StationInBill/GetDefValByUser")]
+        [HttpGet]
+        public object GetDefValByUser(string Czybm, string Czymc)
+        {
+            try
+            {
+                ////鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                //if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+                if (Czymc == null || Czymc.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Cj_GetDefValByUser", "h_v_Cj_GetDefValByUser");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Cj_GetDefValByUser where 1 = 1 ";
+                    string sql = sql1 + " and 鐢ㄦ埛缂栫爜 ='" + Czybm + "' and 鐢ㄦ埛鍚嶇О ='" + Czymc + "'";
+                    ds = oCN.RunProcReturn(sql, "h_v_Cj_GetDefValByUser");
+                }
+
+                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 = "鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index e0d73c1..9412611 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -1220,6 +1220,72 @@
         }
         #endregion
 
+        #region 鏍规嵁鍗曟嵁鍙� 鍚屾鎶ラ敊鍒犻櫎鍑虹珯鍗�
+        [Route("Cj_StationOutBill/DelStationOutBill")]
+        [HttpGet]
+        public object DelStationOutBill(string HInterID)
+        {
+            try
+            {
+                DAL.ClsSc_StationOutBill oBill = new DAL.ClsSc_StationOutBill();
+
+                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+                DataTable DTable;
+                int num = 0;
+                //鍒ゆ柇鍏ュ簱鏄惁鍚屾
+                 DTable = oCN.RunProcReturn("select * from  Sc_StationOutBillMain where HInterID='" + HInterID + "' and  HRelationQty=0", "Sc_StationOutBillMain").Tables[0];
+                if (DTable.Rows.Count != 0)
+                {
+                    num++;
+                }
+                //鍒ゆ柇鏈鎶ュ簾鏄惁鍚屾
+                DTable = oCN.RunProcReturn("select * from  Sc_StationOutBillMain where  HProcExchInterID='" + DTable.Rows[0]["HProcExchInterID"].ToString() + "' and HBFFlag=0 ", "Sc_StationOutBillMain").Tables[0];
+                if (DTable.Rows.Count != 0)
+                {
+                    num++;
+                }
+
+                if (num == 2)
+                {
+                    if (!oBill.DeleteBill(long.Parse(HInterID), 0, 0, ref DBUtility.ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鏃犻』鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "寮傚父锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 缂栬緫鍓嶅垽鏂�
         [Route("Cj_StationOutBill/set_ShowBillJudge")]
         [HttpGet]
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
new file mode 100644
index 0000000..1bc43f2
--- /dev/null
+++ b/WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
@@ -0,0 +1,432 @@
+锘縰sing Newtonsoft.Json;
+using 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;
+
+namespace WebAPI.Controllers.CJGL
+{
+    public class Sc_ProcExchWorkBackBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
+        #region 宸ュ簭杩斿伐鐢宠鍗曞垪琛�
+        [Route("Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillList")]
+        [HttpGet]
+        public object Sc_ProcExchWorkBackBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql1 = "select * from h_v_Sc_ProcExchWorkBackBillList where 1 = 1  ";
+                string sql = sql1 + sWhere + " order by hmainid desc";
+                ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcExchWorkBackBillList");
+
+                //娣诲姞鍒楀悕
+                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.list = columnNameList;
+                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 鏌ヨ宸ュ簭娴佽浆鍗℃暟鎹� 鏌ヨ 褰撳墠 鍜� 涓嬩竴鏉℃暟鎹�
+        [Route("Sc_ProcExchWorkBackBill/GetProcessExchangeBillSub")]
+        [HttpGet]
+        public object GetProcessExchangeBillSub_cf(string sWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                string sql = string.Format(@"select top 2 * from h_v_Sc_ProcessExchangeBillQuerySub");
+                ds = oCN.RunProcReturn(sql + sWhere, "h_v_Sc_ProcessExchangeBillQuerySub");
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                objJsonResult.data = ds.Tables[0];
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 宸ュ簭杩斿伐鐢宠鍗�  鏂板/缂栬緫
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ProcExchWorkBackBill/Sc_ProcExchWorkBackBillAddBill")]
+        [HttpPost]
+        public object Sc_ProcExchWorkBackBillAddBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();//涓昏〃
+            string msg3 = sArray[1].ToString();//瀛愯〃
+            int msg5 = int.Parse(sArray[2].ToString());//绫诲瀷
+            string msg6 = sArray[3].ToString();//鐢ㄦ埛
+
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg6))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //涓昏〃
+                DAL.ClsSc_ProcExchWorkBackBill oBill = new DAL.ClsSc_ProcExchWorkBackBill();
+                List<Model.ClsSc_ProcExchWorkBackBillMain> lsmain = new List<Model.ClsSc_ProcExchWorkBackBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_ClsSc_ProcExchWorkBackBillMain(msg2);
+                foreach (Model.ClsSc_ProcExchWorkBackBillMain oItem in lsmain)
+                {
+                    oItem.HBillType = "3796";
+                    oItem.HBillSubType = "3796";
+                    oItem.HBillStatus = 1;
+                    oItem.HMaker = msg6;
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (oItem.HChecker != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佸崟鎹凡瀹℃牳锛屾棤娉曚繚瀛橈紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Model.ClsSc_ProcExchWorkBackBillSub> ls = new List<Model.ClsSc_ProcExchWorkBackBillSub>();
+                ls = oListModels.getObjectByJson_ClsSc_ProcExchWorkBackBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsSc_ProcExchWorkBackBillSub oItemSub in ls)
+                {
+
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+                    oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+                    oItemSub.HBillNo_bak = oBill.omodel.HBillNo;     //澶囦唤鍗曟嵁鍙�
+                    oItemSub.HCloseMan = "";     
+                    oItemSub.HSourceBillNo = "";     
+                    oItemSub.HSourceBillType = "";     
+                    oBill.DetailColl.Add(oItemSub);
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (msg5==1)
+                {
+                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+        #region 宸ュ簭杩斿伐鐢宠鍗� 鍒犻櫎
+        /// <summary>
+        /// 宸ュ簭杩斿伐鐢宠鍗�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_ProcExchWorkBackBill/DelProcExchWorkBackBill")]
+        [HttpGet]
+        public object DelProcExchWorkBackBill(string HInterID, string user)
+        {
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Drop", 1, false, user))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+
+            Int64 lngBillKey = 0;
+            lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+            if (lngBillKey == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍗曟嵁ID涓虹┖锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            DAL.ClsSc_ProcExchWorkBackBill oBill = new DAL.ClsSc_ProcExchWorkBackBill();
+            ds = oCN.RunProcReturn("select * from Sc_ProcExchWorkBackBillMain where HInterID=" + lngBillKey, "Sc_ProcExchWorkBackBillMain");
+
+            if (ds.Tables[0].Rows.Count>0)
+            {
+               
+                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (IsDete)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍗曟嵁鏈壘鍒�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭杩斿伐鐢宠鍗� 瀹℃牳
+        [Route("Sc_ProcExchWorkBackBill/set_CheckBill")]
+        [HttpGet]
+        public object set_CheckBill(int HInterID, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcExchWorkBackBill_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HInterID == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DataSet Ds = oCN.RunProcReturn("Select * from Sc_ProcExchWorkBackBillMain Where HInterID=" + HInterID, "Sc_ProcExchWorkBackBillMain");
+                if (Ds.Tables[0].Rows.Count > 0)
+                {
+                    //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
+                    if (Ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                  
+                    //瀹℃牳
+                    if (Cj_StationInBillCheckBill(HInterID,int.Parse( Ds.Tables[0].Rows[0]["HProcExchInterID"].ToString()), CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        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 = "瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        //瀹℃牳
+        public bool Cj_StationInBillCheckBill(Int64 HInterID,int HProcExchInterID, string CurUserName, ref string sReturn)
+        {
+            try
+            {
+                oCN.BeginTran();
+                oCN.RunProc(" Update Sc_ProcExchWorkBackBillMain set HChecker='" + CurUserName + "',HBillStatus=2,HCheckDate=getdate() Where HInterID=" + HInterID.ToString());
+                //鍥炲~宸ュ簭娴佽浆鍗�
+                oCN.RunProc("exec h_p_ProcExchWorkBackBill_Check_In " + HInterID.ToString());
+                oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetRemark " + HProcExchInterID.ToString()); //璁剧疆 澶囨敞 涓� 宸ヨ壓娴�
+                oCN.RunProc("exec h_p_Sc_ProcessExchangeBill_SetUpdate " + HProcExchInterID.ToString()); //璁剧疆 鏈亾 棣栭亾 杞� 绛変俊鎭�   鍣ㄥ叿娓呭崟  宸ヨ壓鍙傛暟娓呭崟锛�
+                DataSet ds = new DataSet();
+                //璁剧疆鏉$爜鍙�  鍥炲~ 棰嗘枡鎵规
+                ds = oCN.RunProcReturn("exec h_p_Mes_ProcessExchangeBackBarCode " + HProcExchInterID.ToString(), "h_p_Mes_ProcessExchangeBackBarCode");
+                if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
+                    oCN.RollBack();
+                    return false;
+                }
+
+                //鎺у埗鍏宠仈鏁伴噺
+                ds = null;
+                ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill_Checkqty " + HProcExchInterID.ToString(), "h_p_Sc_ProcessExchangeBill_Checkqty");
+                if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)
+                {
+                    sReturn = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]).ToString();
+                    oCN.RollBack();
+                    return false;
+                }
+                oCN.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCN.RollBack();
+                return false; ;
+            }
+        }
+        #endregion
+
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 832c040..899f3c7 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -373,6 +373,125 @@
         //}
         #endregion
 
+        #region[鎵归噺鏂板鍗曟嵁-淇濆瓨鎸夐挳]
+        /// <summary>
+        /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_ProcessExchangeBill/AddBill_pl")]
+        [HttpPost]
+        public object AddBill_pl([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();//涓昏〃
+            string msg3 = sArray[1].ToString();//鍗曟嵁鍙峰強鏁伴噺
+            string msg4 = sArray[2].ToString();//宸ヨ壓璺嚎
+            string msg5 = sArray[3].ToString();//绫诲瀷
+            string msg6 = sArray[4].ToString();//鐢ㄦ埛
+
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg6))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍗曟嵁鍙� 鍙婃暟閲�
+                DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
+                List<Model.ClsSc_ProcessExchangeBillMain> ListHbillNo = new List<Model.ClsSc_ProcessExchangeBillMain>();
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                ListHbillNo = JsonConvert.DeserializeObject<List<Model.ClsSc_ProcessExchangeBillMain>>(msg3);
+
+                //涓昏〃淇℃伅
+                Model.ClsSc_ProcessExchangeBillMain Main = new Model.ClsSc_ProcessExchangeBillMain();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                Main = JsonConvert.DeserializeObject<Model.ClsSc_ProcessExchangeBillMain>(msg2);
+
+                DBUtility.ClsPub.CurUserName = msg6;
+                Main.HMaker = msg6;  //鍒跺崟浜�
+                Main.HBillType = "3772";
+                Main.HBillSubType = "3772";
+                Main.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                Main.HMaterID = Main.HMaterID2;
+                if (DBUtility.ClsPub.isStrNull(Main.HDate) == "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg4 = msg4.Substring(1, msg4.Length - 2);
+                msg4 = msg4.Replace("\\", "");
+                msg4 = msg4.Replace("\n", "");  //\n
+                List<Model.ClsSc_ProcessExchangeBillSub> ls = new List<Model.ClsSc_ProcessExchangeBillSub>();
+                ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub(msg4);
+
+                //寰幆鏂板鍗曟嵁
+                for (int i = 0; i < ListHbillNo.Count; i++)
+                {
+                    Main.HBillNo = ListHbillNo[i].HBillNo;
+                    Main.HQty = ListHbillNo[i].HQty;
+                    oBill.omodel = Main;
+
+                    int j = 0;
+                    foreach (Model.ClsSc_ProcessExchangeBillSub oItemSub in ls)
+                    {
+                        j++;
+                        oItemSub.HEntryID = j;
+                        oItemSub.HQty = Main.HQty;
+                        oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                        oBill.DetailColl.Add(oItemSub);
+                    }
+                    //淇濆瓨
+                    //淇濆瓨瀹屾瘯鍚庡鐞�
+                    bool bResult=false;
+                    if (msg5 == "2")
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    oBill.DetailColl.Clear();
+                    if (!bResult)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
         #region 宸ュ簭娴佽浆鍗″垪琛ㄦ樉绀哄櫒鍏锋竻鍗曚俊鎭�
         [Route("Sc_ProcessExchangeBillList/QJQD")]
         [HttpGet]
diff --git a/WebAPI/Controllers/Gy_StdMinPickQtyController.cs b/WebAPI/Controllers/Gy_StdMinPickQtyController.cs
new file mode 100644
index 0000000..cefbd07
--- /dev/null
+++ b/WebAPI/Controllers/Gy_StdMinPickQtyController.cs
@@ -0,0 +1,326 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers
+{
+    public class Gy_StdMinPickQtyController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
+        /// <summary>
+        /// 杩斿洖渚涘簲鍟嗕笌鐗╂枡娓呭崟鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_StdMinPickQty/list")]
+        [HttpGet]
+        public object list(string sWhere, string user, string Organization)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log_second("Gy_StdMinPickQty", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                string sql1 = string.Format(@"select * from h_v_Gy_StdMinPickQtyList where 1 =1 ");//where 缁勭粐鍚嶇О='" + Organization + "'
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn(sql1 + sWhere + " order by HItemID ", "h_v_Gy_StdMinPickQtyList");
+                }
+                else
+                {
+                    string sql = sql1 + sWhere + " order by HItemID";
+                    ds = oCN.RunProcReturn(sql, "h_v_Gy_StdMinPickQtyList");
+                }
+
+                //娣诲姞鍒楀悕
+                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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁鍩虹璧勬枡ID 鏌ユ壘璁板綍
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_StdMinPickQty/cx")]
+        [HttpGet]
+        public object cx(long HInterID)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_StdMinPickQtyList where HitemID=" + HInterID, "h_v_Gy_StdMinPickQtyList");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "false锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    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;
+            }
+        }
+
+
+        #region 渚涘簲鍟嗕笌鐗╂枡娓呭崟淇濆瓨
+        [Route("Gy_StdMinPickQty/set_SaveBill")]
+        [HttpPost]
+        public object set_SaveBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //淇濆瓨鍗曟嵁
+            return objJsonResult = AddBillMain(msg1);
+        }
+
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string OperationType = sArray[2].ToString().Trim();
+            string msg4 = sArray[3].ToString();
+            bool bResult;
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_ProcPriceList_Edit", 1, false, msg4))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                msg2 = "[" + msg2.ToString() + "]";
+                List<ClsGy_SupMaterial> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_SupMaterial>>(msg2);
+                List<ClsGy_SupMaterial> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_SupMaterial>>(msg3);
+                DAL.ClsGy_SupMaterial_Ctl BillNew = new DAL.ClsGy_SupMaterial_Ctl();
+                BillNew.DetailColl = new List<Model.ClsGy_SupMaterial_Model>();
+                Model.ClsGy_SupMaterial_Model BillOld = new Model.ClsGy_SupMaterial_Model();
+                for (int i = 0; i < subList.ToArray().Length; i++)
+                {
+                    if (i >= 0)//HQty
+                    {
+                        Model.ClsGy_SupMaterial_Model oSub = new Model.ClsGy_SupMaterial_Model();
+                        oSub.HMaterID = DBUtility.ClsPub.isLong(subList[i].HMaterIDCol);
+                        oSub.HPackTypeID = DBUtility.ClsPub.isLong(subList[i].HPackTypeIDCol);
+                        oSub.HSupID = DBUtility.ClsPub.isLong(subList[i].HSupIDCol);
+                        oSub.HMinQty = DBUtility.ClsPub.isLong(subList[i].HMinQtyCol);
+                        oSub.HBagQty = DBUtility.ClsPub.isLong(subList[i].HBagQtyCol);
+                        oSub.HBeginDate = DBUtility.ClsPub.isDate(subList[i].HBeginDateCol);
+                        oSub.HEndDate = DBUtility.ClsPub.isDate(subList[i].HEndDateCol);
+                        oSub.HUsed = false;
+                        oSub.HMaker = DBUtility.ClsPub.isStrNull(mainList[0].HMaker);
+                        oSub.HMakeDate = DateTime.Today.ToString();
+                        oSub.HRemark = DBUtility.ClsPub.isStrNull(subList[i].HRemarkCol);
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                if (OperationType.Equals("1.1") || OperationType.Equals("1.2") || OperationType.Equals("2"))
+                {
+                    bResult = BillNew.AddNew();
+                }
+                else
+                {
+                    bResult = BillNew.ModifyByID(DBUtility.ClsPub.isLong(subList[0].HItemID));
+                }
+                //鎻愮ず
+                if (bResult == true)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    //objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                    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_StdMinPickQty/GetSupMaterialValue")]
+        [HttpGet]
+        public object GetSupMaterialValue(int HItemID)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //ds = oCN.RunProcReturn("select * from h_v_Gy_StdMinPickQtyList where HItemID = " + HItemID, "h_v_Gy_StdMinPickQtyList");
+
+                ds = oCN.RunProcReturn("select " +
+                "a.HItemID,a.HMaterID HMaterIDCol,a.鐗╂枡浠g爜,a.鐗╂枡鍚嶇О,a.瑙勬牸鍨嬪彿" +
+                ",a.HSupID HSupIDCol,a.渚涘簲鍟嗕唬鐮� ,a.渚涘簲鍟嗗悕绉� ,a.HPackTypeID HPackTypeIDCol,a.鍖呰鏂瑰紡浠g爜" +
+                ",a.鍖呰鏂瑰紡鍚嶇О ,a.鏍囧噯鍖呰鏁伴噺,a.澶栫鍖呰鏁伴噺" +
+                ",a.寮�濮嬫棩鏈� ,a.缁撴潫鏃ユ湡 ,a.澶囨敞, a.鍒跺崟浜�,a.鍒跺崟鏃ユ湡" +
+                " from h_v_Gy_StdMinPickQtyList a " +
+              
+                "  where a.HItemID = " + HItemID, "Gy_MateMouldInfo");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    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;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        /// <summary>
+        /// 渚涘簲鍟嗙墿鏂欏垪琛ㄥ垹闄ゅ姛鑳�
+        /// </summary>
+        /// <returns></returns>
+        [Route("DeltetGy_StdMinPickQty")]
+        [HttpGet]
+        public object DeltetGy_StdMinPickQty(string HItemID)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (string.IsNullOrWhiteSpace(HItemID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HItemID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+                ds = oCN.RunProcReturn("select * from Gy_StdMinPickQty where HItemID=" + HItemID, "Gy_StdMinPickQty");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏁版嵁锛屾棤娉曞垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult; ;
+                }
+
+                oCN.RunProc("delete from Gy_StdMinPickQty where HItemID=" + HItemID);
+                oCN.Commit();//鎻愪氦浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "* 鏁版嵁鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
index 16390e8..9cd90b3 100644
--- a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
+++ b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -27,8 +27,10 @@
         DAL.ClsIF_Material_View oMaterHlp = new DAL.ClsIF_Material_View();
         public DAL.ClsGy_Process_View oProcHlp = new DAL.ClsGy_Process_View();
         DAL.ClsGy_WorkCenter_View oCenHlp = new DAL.ClsGy_WorkCenter_View();
+        DAL.ClsGy_Warehouse_View oCenWare = new DAL.ClsGy_Warehouse_View();
         Gy_RoutingBill_temporary omdelMian = new Gy_RoutingBill_temporary();
         public string BillType = "3301";
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         #region 鏈煡
         /// <summary>
@@ -162,7 +164,7 @@
                 double HStdSourceQty = mainList[0].HStdSourceQty;//鏍囧噯璧勬簮鏁�
                 double HAddSourceRate = mainList[0].HAddSourceRate;//鍔犺祫婧愬閲�
                 double HDelSourceRate = mainList[0].HDelSourceRate;//鍑忚祫婧愬噺閲�
-                int HPRDORGID = mainList[0].HOrgID;  //鐢熶骇缁勭粐
+                int HPRDORGID = mainList[0].HPRDORGID;  //鐢熶骇缁勭粐
                 int HOrgID = mainList[0].HOrgID;  //缁勭粐
                 string HPicNumVer = mainList[0].HPicNumVer;//鍥惧彿鐗堟湰
                 string HPicNumAssemble = mainList[0].HPicNumAssemble;//鎬昏鍥惧彿
@@ -170,7 +172,7 @@
                 string HProductNum = mainList[0].HProductNum;//鎴愬搧缂栧彿
                 string HVerNum = mainList[0].HVerNum;//鐗堟湰
                 int IsProNo = mainList[0].IsProNo;//鏄惁杞伐搴�
-
+              
                 if (OperationType == 2)
                 {
                     ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where  鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Gy_RoutingBillList");
@@ -206,8 +208,8 @@
                 { //淇敼
                     oCN.RunProc("update Gy_RoutingBillMain  set " +
                        "HDate='" + HDate +
-                       "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',HMaker='" + HMaker +
-                       "',Hmakedate=getdate(),HMaterID='" + HMaterID + "',HName='" + HName + "',HMaterTypeID='" + HMaterTypeID +
+                       "',HYear='" + HYear + "',HPeriod='" + HPeriod + "',HRemark='" + HRemark + "',hupdater='" + HMaker +
+                       "',hupdatedate=getdate(),HMaterID='" + HMaterID + "',HName='" + HName + "',HMaterTypeID='" + HMaterTypeID +
                        "',HRoutingGroupID='" + HRoutingGroupID + "',HUnitID='" + HUnitID + "',HMaterNumber='" + HMaterNumber + "',HUnitNumber='" + HUnitNumber +
                        "',HStandard='" + Convert.ToString(HStandard ? 1 : 0) + "',HMainGroupID='" + HMainGroupID + "',HMainProcID='" + HMainProcID + "',HMainCenterID='" + HMainCenterID +
                        "',HMainTimeUnit='" + HMainTimeUnit + "',HMainUnitTime='" + HMainUnitTime + "',HMainWorkQty='" + HMainWorkQty + "',HMainPrice='" + HMainPrice +
@@ -229,14 +231,32 @@
                     return objJsonResult;
                 }
 
-                if (IsProNo == 1 && OperationType == 1)
+                string sErrMsg = "";
+                if (oSystemParameter.ShowBill(ref sErrMsg))
                 {
-                    //璁剧疆杞伐搴�
-                    oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�")
+                    {
+                        if (oSystemParameter.omodel.Gy_RoutingBill_SaveAutoLastProc == "Y" && OperationType == 1)
+                        {
+                            //璁剧疆杞伐搴�
+                            oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
+                        }
+                    }
+                    else if (IsProNo == 1 && OperationType == 1)
+                    {
+                        //璁剧疆杞伐搴�
+                        oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID);
+                    }
                 }
 
-                //璁剧疆榛樿宸ヨ壓璺嚎
-                oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID);  //璁剧疆榛樿宸ヨ壓璺嚎
+
+                //鏄惁鍕鹃�夐粯璁ゅ伐鑹鸿矾绾�
+                if (HStandard)
+                {
+                    //璁剧疆榛樿宸ヨ壓璺嚎
+                    oCN.RunProc("exec h_p_Gy_RoutingBillCheck " + HInterID);  //璁剧疆榛樿宸ヨ壓璺嚎
+                }
+             
                 //鍒ゆ柇鏄惁閲嶅宸ュ簭鍙�
                 ds = oCN.RunProcReturn("exec h_p_Gy_RoutingCtrl " + HInterID, "h_p_Gy_RoutingCtrl");
 
@@ -308,7 +328,7 @@
                     ",HProcID_S,HCenterID_S,HWorkQty_S,HSubStdEmpQty_S,HMouldNo,HChangeMould" +
                     ",HPackStd,HPack,HPutArea,HMyWorkDays,HMyFixWorkDays,HPassRate" +
                     ",HTechnologyParameter,HPicNum,HProcCheckNote" +
-                    ",HOverRate,HProcWorkNum" +
+                    ",HOverRate,HProcWorkNum,HBadWHID,HWasterWHID, HWHID " +
                     ") values("
                     + HInterID + "," + i + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNo + "'," + oSub.HSupID.ToString() + "," + Convert.ToString(oSub.HSupFlag ? 1 : 0) + "" +
                     "," + oSub.HWorkQty.ToString() + "," + oSub.HCenterID.ToString() + ",'" + oSub.HTimeUnit.ToString() + "'," + oSub.HUnitTime.ToString() +
@@ -320,7 +340,7 @@
                    "," + oSub.HProcID_S.ToString() + "," + oSub.HCenterID_S.ToString() + "," + oSub.HWorkQty_S.ToString() + ", " + oSub.HSubStdEmpQty_S.ToString() + ",'" + oSub.HMouldNo + "'," + oSub.HChangeMould.ToString() +
                    ",'" + oSub.HPackStd + "','" + oSub.HPack + "','" + oSub.HPutArea + "'," + oSub.HMyWorkDays.ToString() + "," + oSub.HMyFixWorkDays.ToString() + "," + oSub.HPassRate.ToString() +
                    ",'" + oSub.HTechnologyParameter.ToString() + "','" + oSub.HPicNum.ToString() + "','" + oSub.HProcCheckNote.ToString() +
-                   "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'" +
+                   "', " + oSub.HOverRate.ToString() + ",'" + oSub.HProcWorkNum.ToString() + "'," + oSub.HBadWHID.ToString()+"," + oSub.HWasterWHID.ToString()+"," + oSub.HWHID.ToString() +
                     ") ");
                 }
             }
@@ -441,6 +461,15 @@
                 if (!tb2.Columns.Contains("鑹巼"))
                     error += "娌℃湁鎵惧埌銆愯壇鐜囥�戠殑鏍囬";
 
+                if (!tb2.Columns.Contains("涓嶈壇鍝佷粨"))
+                    error += "娌℃湁鎵惧埌銆愪笉鑹搧浠撱�戠殑鏍囬";
+
+                if (!tb2.Columns.Contains("鎶ュ簾鍝佷粨"))
+                    error += "娌℃湁鎵惧埌銆愭姤搴熷搧浠撱�戠殑鏍囬";
+
+                if (!tb2.Columns.Contains("鑹搧浠�"))
+                    error += "娌℃湁鎵惧埌銆愯壇鍝佷粨銆戠殑鏍囬";
+
                 if (error.Length > 0)
                 {
                     objJsonResult.code = "0";
@@ -502,12 +531,12 @@
                                 , 鑹巼, 宸ュ簭宸ヤ环, 涓嶅悎鏍煎崟浠�, 鎶ュ簾鍗曚环, 鏈亾鍥哄畾寮�宸ュぉ鏁�, 鏈亾寮�宸ヤ綑閲�, 涓婇亾绛夊緟澶╂暟
                                 , 涓婇亾寰幆鍛ㄦ湡, 鑷姩杞Щ, 澶栧崗鏍囪, 渚涘簲鍟嗕唬鐮�, 渚涘簲鍟�, 宸ヨ壓鍙傛暟, 鍥剧焊缂栧彿
                                 , 鏈伐搴忕‘璁よ褰�, 澶囨敞, 鍥惧彿鐗堟湰, 鎬昏鍥惧彿, 鏉愯川, 鎴愬搧缂栧彿, 鐗堟湰
-                                , 妯″叿缂栧彿, 绋嬪簭鍙�, 鐝骇瀹氶, 宸ヨ壓璺嚎鍚嶇О, 鏃堕棿鍗曚綅,宸ヨ壓璺嚎浠g爜)values
+                                , 妯″叿缂栧彿, 绋嬪簭鍙�, 鐝骇瀹氶, 宸ヨ壓璺嚎鍚嶇О, 鏃堕棿鍗曚綅,宸ヨ壓璺嚎浠g爜,涓嶈壇鍝佷粨,鎶ュ簾鍝佷粨,鑹搧浠�)values
                                 ('" + tb2.Rows[i]["浜у搧浠g爜"].ToString() + "','" + tb2.Rows[i]["浜у搧鍚嶇О"].ToString() + "','" + tb2.Rows[i]["宸ュ簭搴忓彿"].ToString() + "','" + tb2.Rows[i]["宸ュ簭浠g爜"].ToString() + "','" + tb2.Rows[i]["宸ュ簭"].ToString() + "','" + tb2.Rows[i]["宸ヤ綔涓績"].ToString() + "','" + tb2.Rows[i]["鍔犲伐鏁伴噺"].ToString() + "'" +
                                 ",'" + tb2.Rows[i]["鑹巼"].ToString() + "','" + (tb2.Rows[i]["宸ュ簭宸ヤ环"].ToString() == "" ? "0" : tb2.Rows[i]["宸ュ簭宸ヤ环"].ToString()) + "','" + tb2.Rows[i]["涓嶅悎鏍煎崟浠�"].ToString() + "','" + tb2.Rows[i]["鎶ュ簾鍗曚环"].ToString() + "','" + tb2.Rows[i]["鏈亾鍥哄畾寮�宸ュぉ鏁�"].ToString() + "','" + tb2.Rows[i]["鏈亾寮�宸ヤ綑閲�"].ToString() + "','" + tb2.Rows[i]["涓婇亾绛夊緟澶╂暟"].ToString() + "'" +
                                 ",'" + tb2.Rows[i]["涓婇亾寰幆鍛ㄦ湡"].ToString() + "','" + tb2.Rows[i]["鑷姩杞Щ"].ToString() + "','" + tb2.Rows[i]["澶栧崗鏍囪"].ToString() + "','" + tb2.Rows[i]["渚涘簲鍟嗕唬鐮�"].ToString() + "','" + tb2.Rows[i]["渚涘簲鍟�"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓鍙傛暟"].ToString() + "','" + tb2.Rows[i]["鍥剧焊缂栧彿"].ToString() + "'" +
                                 ",'" + tb2.Rows[i]["鏈伐搴忕‘璁よ褰�"].ToString() + "','" + tb2.Rows[i]["澶囨敞"].ToString() + "','" + tb2.Rows[i]["鍥惧彿鐗堟湰"].ToString() + "','" + tb2.Rows[i]["鎬昏鍥惧彿"].ToString() + "','" + tb2.Rows[i]["鏉愯川"].ToString() + "','" + tb2.Rows[i]["鎴愬搧缂栧彿"].ToString() + "','" + tb2.Rows[i]["鐗堟湰"].ToString() + "'" +
-                                ",'" + tb2.Rows[i]["妯″叿缂栧彿"].ToString() + "','" + tb2.Rows[i]["绋嬪簭鍙�"].ToString() + "','" + tb2.Rows[i]["鐝骇瀹氶"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓璺嚎鍚嶇О"].ToString() + "','" + tb2.Rows[i]["鏃堕棿鍗曚綅"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓璺嚎浠g爜"].ToString() + "')");
+                                ",'" + tb2.Rows[i]["妯″叿缂栧彿"].ToString() + "','" + tb2.Rows[i]["绋嬪簭鍙�"].ToString() + "','" + tb2.Rows[i]["鐝骇瀹氶"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓璺嚎鍚嶇О"].ToString() + "','" + tb2.Rows[i]["鏃堕棿鍗曚綅"].ToString() + "','" + tb2.Rows[i]["宸ヨ壓璺嚎浠g爜"].ToString() + "','" + tb2.Rows[i]["涓嶈壇鍝佷粨"].ToString() + "','" + tb2.Rows[i]["鎶ュ簾鍝佷粨"].ToString() + "','" + tb2.Rows[i]["鑹搧浠�"].ToString() + "')");
                 }
 
                 objJsonResult.code = "1";
@@ -540,12 +569,12 @@
                 Single sWorkQty = 0;
                 Single sHPassRate = 0;
 
-                //
                 sHNumber = DBUtility.ClsPub.isStrNull(dt.Rows[i]["浜у搧浠g爜"].ToString());
                 sHNumberCen = DBUtility.ClsPub.isStrNull(dt.Rows[i]["宸ヤ綔涓績"].ToString());
                 sHNamePoc = DBUtility.ClsPub.isStrNull(dt.Rows[i]["宸ュ簭"].ToString());
                 sWorkQty = DBUtility.ClsPub.isSingle(dt.Rows[i]["鍔犲伐鏁伴噺"].ToString());
                 sHPassRate = DBUtility.ClsPub.isSingle(dt.Rows[i]["鑹巼"].ToString());
+             
                 if (sHNumber != "")
                 {
                     // 
@@ -608,9 +637,92 @@
                             sErrMsg = sErrMsg + "[" + sHNumberCen + "]宸ヤ綔涓績涓嶅瓨鍦╘r\n";
                         }
                         b = true;
-
                     }
 
+
+                    string sErr = "";
+                    if (oSystemParameter.ShowBill(ref sErr))
+                    {
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�")
+                        {
+                            string HBadWHName = ""; //涓嶈壇鍝佷粨
+                            string HWasterWHName = ""; //鎶ュ簾鍝佷粨
+                            string HWHName = ""; //鑹搧浠�
+
+                            HBadWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["涓嶈壇鍝佷粨"].ToString());
+                            HWasterWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["鎶ュ簾鍝佷粨"].ToString());
+                            HWHName = DBUtility.ClsPub.isStrNull(dt.Rows[i]["鑹搧浠�"].ToString());
+
+                            //鍒ゆ柇鏄惁涓虹┖
+                            if (HBadWHName == "")
+                            {
+                                sErrMsg = sErrMsg + "绗�" + index + "琛� :涓嶈壇鍝佷粨涓嶈兘涓虹┖ !\r\n";
+                                b = true;
+                            }
+
+                            if (HWasterWHName == "")
+                            {
+                                sErrMsg = sErrMsg + "绗�" + index + "琛� :鎶ュ簾鍝佷粨涓嶈兘涓虹┖ !\r\n";
+                                b = true;
+                            }
+
+                            if (HWHName == "")
+                            {
+                                sErrMsg = sErrMsg + "绗�" + index + "琛� :鑹搧浠撲笉鑳戒负绌� !\r\n";
+                                b = true;
+                            }
+
+                            //鍒ゆ柇浠撳簱鏄惁閲嶅
+                            if (HBadWHName == HWasterWHName)
+                            {
+                                sErrMsg = sErrMsg + "涓嶈壇鍝佷粨鍜屾姤搴熷搧浠撻噸澶峔r\n";
+                                b = true;
+                            }
+
+                            if (HWasterWHName == HWHName)
+                            {
+                                sErrMsg = sErrMsg + "鎶ュ簾鍝佷粨鍜岃壇鍝佷粨閲嶅\r\n";
+                                b = true;
+                            }
+
+                            if (HBadWHName == HWHName)
+                            {
+                                sErrMsg = sErrMsg + "涓嶈壇鍝佷粨鍜岃壇鍝佷粨閲嶅\r\n";
+                                b = true;
+                            }
+
+                            //寰楀埌浠撳簱鍐呯爜
+                            if (!oCenWare.GetInfoByName(HBadWHName))
+                            {
+                                sMsg = "[" + HBadWHName + "]浠撳簱涓嶅瓨鍦�";
+                                if (sErrMsg.Contains(sMsg) == false)
+                                {
+                                    sErrMsg = sErrMsg + "[" + HBadWHName + "]浠撳簱涓嶅瓨鍦╘r\n";
+                                }
+                                b = true;
+                            }
+
+                            if (!oCenWare.GetInfoByName(HWasterWHName))
+                            {
+                                sMsg = "[" + HWasterWHName + "]浠撳簱涓嶅瓨鍦�";
+                                if (sErrMsg.Contains(sMsg) == false)
+                                {
+                                    sErrMsg = sErrMsg + "[" + HWasterWHName + "]浠撳簱涓嶅瓨鍦╘r\n";
+                                }
+                                b = true;
+                            }
+
+                            if (!oCenWare.GetInfoByName(HWHName))
+                            {
+                                sMsg = "[" + HWHName + "]浠撳簱涓嶅瓨鍦�";
+                                if (sErrMsg.Contains(sMsg) == false)
+                                {
+                                    sErrMsg = sErrMsg + "[" + HWHName + "]浠撳簱涓嶅瓨鍦╘r\n";
+                                }
+                                b = true;
+                            }
+                        }
+                    }
                 }
             }
             if (b == true)
diff --git a/WebAPI/Controllers/LMESController.cs b/WebAPI/Controllers/LMESController.cs
index a0df8cc..6d3ed8f 100644
--- a/WebAPI/Controllers/LMESController.cs
+++ b/WebAPI/Controllers/LMESController.cs
@@ -600,8 +600,7 @@
             try
             {
                 List<object> columnNameList = new List<object>();
-                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
-                //{
+               
                 //娣诲姞鍒楀悕
                 foreach (DataColumn col in ds.Tables[0].Columns)
                 {
@@ -616,15 +615,6 @@
                 objJsonResult.list = columnNameList;
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
-                //}
-                //else
-                //{
-                //objJsonResult.code = "0";
-                //objJsonResult.count = 0;
-                //objJsonResult.Message = "鏃犳暟鎹�";
-                //objJsonResult.data = null;
-                //return objJsonResult;
-                //}
             }
             catch (Exception e)
             {
diff --git a/WebAPI/Controllers/PublicPageMethodController.cs b/WebAPI/Controllers/PublicPageMethodController.cs
index b6f02c4..2c8564e 100644
--- a/WebAPI/Controllers/PublicPageMethodController.cs
+++ b/WebAPI/Controllers/PublicPageMethodController.cs
@@ -3686,5 +3686,41 @@
         }
         #endregion
 
+        #region 閫夋嫨宸ュ簭鍩虹璧勬枡
+        [Route("PublicPageMethod/ProcessList")]
+        [HttpGet]
+        public object ProcessList(string sWhere)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn("Select HItemID,HParentID,HNumber,HName from Gy_Process " + sWhere + " Order by HItemID", "Gy_Process");
+                //if (ds == null || ds.Tables[0].Rows.Count == 0)
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "false锛�";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                //else
+                //{
+                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
+
     }
 }
diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs"
index 8733e1a..5118795 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs"
@@ -1217,30 +1217,67 @@
         #region 鐢熶骇鏃ヨ鍒掑钩鍙� 鐢熶骇璁㈠崟鏌ヨ
         [Route("JIT_DayPlanPlatFormBill/JIT_ICMOBillList")]
         [HttpGet]
-        public object JIT_ICMOBillList(string hmainid, string HEntryID)
+        public object JIT_ICMOBillList(string hmainid)
         {
             try
             {
-                DataSet dt = new DataSet();
-                ds = oCN.RunProcReturn($"exec h_p_ICMOBillList_PrimarySubTable '{hmainid}','{HEntryID}'", "h_p_ICMOBillList_PrimarySubTable");
-
-                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+                var list = hmainid.Split(',');
+                List<DataTable> listdt = new List<DataTable>();
+                DataTable dtable = new DataTable("dt");
+                for (int i = 0; i < list.Length; i++)
                 {
-                    dt = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where 婧愬崟涓诲唴鐮� in({ds.Tables[0].Rows[i]["婧愬崟涓诲唴鐮�"].ToString()}) and  婧愬崟瀛愬唴鐮� in({ds.Tables[0].Rows[i]["婧愬崟瀛愬唴鐮�"].ToString()})", "h_v_JIT_Sc_WorkBillSortBillList");
+                    var listEvery = list[i].Split('_');
+                   
+                    ds = oCN.RunProcReturn($"exec h_p_ICMOBillList_PrimarySubTable '{listEvery[0]}','{listEvery[1]}'", "h_p_ICMOBillList_PrimarySubTable");
+
+                    var dt = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where 婧愬崟涓诲唴鐮� in({ds.Tables[0].Rows[0]["婧愬崟涓诲唴鐮�"].ToString()}) and  婧愬崟瀛愬唴鐮� in({ds.Tables[0].Rows[0]["婧愬崟瀛愬唴鐮�"].ToString()})", "h_v_JIT_Sc_WorkBillSortBillList");
                     if (dt.Tables[0].Rows.Count > 0)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鐢熶骇鏄庣粏琛岄噸澶�,閲嶅鐨勭敓浜ц鍗曞彿:"+ ds.Tables[0].Rows[i]["鐢熶骇璁㈠崟鍙�"].ToString()+",鏄庣粏琛屽彿:"+ ds.Tables[0].Rows[i]["鐢熶骇璁㈠崟鏄庣粏琛屽彿"].ToString();
+                        objJsonResult.Message = "鐢熶骇鏄庣粏琛岄噸澶�,閲嶅鐨勭敓浜ц鍗曞彿:" + ds.Tables[0].Rows[i]["鐢熶骇璁㈠崟鍙�"].ToString() + ",鏄庣粏琛屽彿:" + ds.Tables[0].Rows[i]["鐢熶骇璁㈠崟鏄庣粏琛屽彿"].ToString();
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
+                    if (i == 0)
+                    {
+                        //娣诲姞鍒楀悕
+                        for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
+                        {
+                            dtable.Columns.Add(ds.Tables[0].Columns[j].ToString());
+                        }
+                    }
+                    listdt.Add(ds.Tables[0]);
                 }
-              
+
+                //鑾峰彇闆嗗悎鏁版嵁
+                for (int i = 0; i < listdt.Count; i++)
+                {
+                    DataRow row = dtable.NewRow();
+                    for (int j = 0; j < listdt[i].Columns.Count; j++)
+                    {
+                        if (listdt[i].Columns[j].ColumnName == "璁″垝鏁伴噺")
+                        {
+                            row[j] = double.Parse(listdt[i].Rows[0][j].ToString()).ToString();
+                        }
+                        else
+                        {
+                            row[j] = listdt[i].Rows[0][j].ToString();
+                        }
+                    }
+                    dtable.Rows.Add(row);
+                }
+
+                //娣诲姞鍔ㄦ�佹棩鏈�
+                for (int j = 1; j <= 31; j++)
+                {
+                    dtable.Columns.Add(DateTime.Now.AddDays(j - 1).ToString("yyyy-MM-dd"), typeof(Int32));
+                }
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
+                objJsonResult.data = dtable;
                 return objJsonResult;
             }
             catch (Exception e)
diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormImportController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormImportController.cs"
index aaa2eef..c905be2 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormImportController.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormImportController.cs"
@@ -59,6 +59,7 @@
                 tb2.Columns.Add("HSourceID", typeof(Int32));//鐢熶骇璧勬簮id
                 tb2.Columns.Add("ICMOBillHInterID", typeof(Int32));//鐢熶骇璁㈠崟涓籭d
                 tb2.Columns.Add("ICMOBillHEntryID", typeof(Int32));//鐢熶骇璁㈠崟瀛恑d
+                tb2.Columns.Add("HProdORGID", typeof(Int32));//缁勭粐id
 
                 //娣诲姞鏁版嵁
                 for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
@@ -151,18 +152,60 @@
                     {
                         //鍛樺伐
                         ds = oCN.RunProcReturn($"select * from Gy_Employee  where HNumber='{tb2.Rows[i]["鍛樺伐缂栫爜"].ToString()}'", "Gy_Employee");
-                        if (ds.Tables[0].Rows.Count > 0)
+                        if (ds.Tables[0].Rows.Count > 0) {
                             tb2.Rows[i]["鍛樺伐缂栫爜"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        else
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊i + 1}琛�,鍛樺伐鏌ユ棤鏁版嵁!";
+                            objJsonResult.data = tb2;
+                            return objJsonResult;
+                        }
 
                         //璁¢噺鍗曚綅
                         ds = oCN.RunProcReturn($"select * from Gy_Unit  where HNumber='{tb2.Rows[i]["璁¢噺鍗曚綅"].ToString()}'", "Gy_Unit");
                         if (ds.Tables[0].Rows.Count > 0)
+                        {
                             tb2.Rows[i]["HUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        else
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊i + 1}琛�,璁¢噺鍗曚綅鏌ユ棤鏁版嵁!";
+                            objJsonResult.data = tb2;
+                            return objJsonResult;
+                        }
 
                         //鐢熶骇璧勬簮
                         ds = oCN.RunProcReturn($"select * from Gy_Source  where HNumber='{tb2.Rows[i]["鐢熶骇璧勬簮缂栫爜*"].ToString()}'", "Gy_Source");
                         if (ds.Tables[0].Rows.Count > 0)
+                        {
                             tb2.Rows[i]["HSourceID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        else {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊i+1}琛�,鐢熶骇璧勬簮鏌ユ棤鏁版嵁!";
+                            objJsonResult.data = tb2;
+                            return objJsonResult;
+                        }
+                    }
+                    //缁勭粐
+                    ds = oCN.RunProcReturn($"select * from Xt_ORGANIZATIONS  where HNumber='{tb2.Rows[i]["缁勭粐缂栫爜*"].ToString()}'", "Xt_ORGANIZATIONS");
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        tb2.Rows[i]["HProdORGID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = $"绗瑊i + 1}琛�,缁勭粐鏌ユ棤鏁版嵁!";
+                        objJsonResult.data = tb2;
+                        return objJsonResult;
                     }
                 }
 
@@ -257,7 +300,7 @@
                         HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);//鑾峰緱涓�涓柊鐨刬d
                         var HICMOBillNo = list[i]["鐢熶骇璁㈠崟鍙�*"].ToString();
                         var HICMOEntrySEQ = list[i]["鐢熶骇璁㈠崟鏄庣粏琛屽彿*"].ToString();
-                        var HProdORGID = list[i]["缁勭粐缂栫爜*"].ToString();
+                        var HProdORGID = list[i]["HProdORGID"].ToString();
                         var HWorkShopID = list[i]["HWorkShopID"].ToString();
                         var HSourceID = list[i]["HSourceID"].ToString();
                         var HYX = list[i]["浼樺厛绾�"].ToString();
diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/Sc_WorkBillSortBillController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/Sc_WorkBillSortBillController.cs"
index 4a507a7..aa5e8df 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/Sc_WorkBillSortBillController.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/Sc_WorkBillSortBillController.cs"
@@ -242,7 +242,7 @@
         #region 鏃ヨ鍒掑伐鍗� 鍒犻櫎
         [Route("Sc_WorkBillSortBill/DelWorkBillSortBillList")]
         [HttpGet]
-        public object DelWorkBillSortBillList(string HInterID, string HEntryID, string User)
+        public object DelWorkBillSortBillList(string HInterID,int DataType, string User)
         {
             try
             {
@@ -255,30 +255,72 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-
-                ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + HInterID, "h_v_JIT_Sc_WorkBillSortBillList");
-
-                if (ds.Tables[0].Rows.Count > 0)
+                //DataType 1=鏃ヨ鍒掑伐鍗� 澶氶�夊垹闄�   2=鏃ヨ鍒掑钩鍙板閫夊垹闄�
+                if (DataType == 1)
                 {
-                    if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() != "1")
+                    var NumData = HInterID.Split(',');
+
+                    for (int i = 0; i < NumData.Length; i++)
                     {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "褰撳墠鍗曟嵁涓嶈兘鍒犻櫎锛�";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        var NumData_T = NumData[i].Split('_');
+
+                        ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + NumData_T[0], "h_v_JIT_Sc_WorkBillSortBillList");
+
+                        if (ds.Tables[0].Rows.Count > 0)
+                        {
+                            if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() != "1")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "褰撳墠鍗曟嵁涓嶈兘鍒犻櫎锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+
+                            oCN.BeginTran();//寮�鍚簨鍔�
+
+                            if (ds.Tables[0].Rows.Count == 1)
+                            {
+                                oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={ NumData_T[0]}");
+                            }
+                            oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={ NumData_T[0]} and HEntryID={ NumData_T[1]}");
+
+                            oCN.Commit();//缁撴潫浜嬪姟
+                        }
                     }
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (DataType == 2)
+                {
+                    var NumData = HInterID.Split(',');
 
-                    oCN.BeginTran();//寮�鍚簨鍔�
-
-                    if (ds.Tables[0].Rows.Count == 1)
+                    for (int i = 0; i < NumData.Length; i++)
                     {
-                        oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={HInterID}");
+                        ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + NumData[i], "h_v_JIT_Sc_WorkBillSortBillList");
+
+                        if (ds.Tables[0].Rows.Count > 0)
+                        {
+                            if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() != "1")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "褰撳墠鍗曟嵁涓嶈兘鍒犻櫎锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+
+                            oCN.BeginTran();//寮�鍚簨鍔�
+
+                            oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={ NumData[i]}");
+                            oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={ NumData[i]}");
+
+                            oCN.Commit();//缁撴潫浜嬪姟
+                        }
                     }
-                    oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={HInterID} and HEntryID={HEntryID}");
-
-                    oCN.Commit();//缁撴潫浜嬪姟
-
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
diff --git a/WebAPI/Controllers/Sc_ProcessMangementController.cs b/WebAPI/Controllers/Sc_ProcessMangementController.cs
index 1c1bcbf..1f5258c 100644
--- a/WebAPI/Controllers/Sc_ProcessMangementController.cs
+++ b/WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -20,7 +20,7 @@
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
 
         private json objJsonResult = new json();
-
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -276,7 +276,6 @@
         //        model.Add("FBillType", new JObject() { ["Fnumber"] = "SCHBD01_SYS" }); //鍗曟嵁绫诲瀷鐢熶骇姹囨姤鈥淪CHBD02_SYS鈥� 鍏ュ簱姹囨姤SCHBD01_SYS
         //        model.Add("FPrdOrgId", new JObject() { ["Fnumber"] = dr1["FPrdOrgNUMBER"].ToString() }); //鐢熶骇缁勭粐1
         //        model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //鍗曟嵁鏃ユ湡1
-        //        model.Add("FHZYMESFLAG", "鏄�");//  鏄惁涓篗ES鍚屾
         //        model.Add("FBillNo", BillNo);
 
         //        JArray Fentity = new JArray();
@@ -304,19 +303,15 @@
         //            FentityModel.Add("FFailQty", item["涓嶈壇鏁伴噺"].ToString());//涓嶅悎鏍兼暟閲�
         //            FentityModel.Add("FStockInOrgId ", new JObject() { ["Fnumber"] = OrganizationNUM });// 鍏ュ簱缁勭粐 
         //            FentityModel.Add("FStockId", new JObject() { ["Fnumber"] = dr1["FStockNUM"].ToString() }); // 浠撳簱 
-        //            FentityModel.Add("FMOID", dr1["FMOID"].ToString());//  
         //            FentityModel.Add("FMOBILLNO", dr1["FMOBILLNO"].ToString());//  
         //            FentityModel.Add("FMOENTRYID", dr1["FMOENTRYID"].ToString());//  
-        //            FentityModel.Add("FMOENTRYSEQ", dr1["FMOENTRYSEQ"].ToString());//  
         //            FentityModel.Add("FOwnerTypeId", dr1["FOWNERTYPEID"].ToString()); //璐т富绫诲瀷锛欶OwnerTypeId(蹇呭~椤�)
         //            FentityModel.Add("FOwnerId", new JObject() { ["Fnumber"] = dr1["FOwnerNumber"].ToString() }); //璐т富锛欶OwnerId(蹇呭~椤�)
-        //            FentityModel.Add("FBomId", new JObject() { ["Fnumber"] = dr1["FBOMNUM"].ToString() }); //BOM鐗堟湰锛欶BomId(蹇呭~椤�)
+        //            FentityModel.Add("FBomId", new JObject() { ["F    number"] = dr1["FBOMNUM"].ToString() }); //BOM鐗堟湰锛欶BomId(蹇呭~椤�)
         //            FentityModel.Add("FCostRate", dr1["FCostRate"].ToString());// 鎴愭湰鏉冮噸
         //            FentityModel.Add("FISBACKFLUSH", dr1["FISBACKFLUSH"].ToString() == "1" ? true : false);// 鍊掑啿棰嗘枡
         //            FentityModel.Add("FMOMAINENTRYID", dr1["FMOENTRYID"].ToString());//
-        //            FentityModel.Add("F_bsv_Base1", new JObject() { ["Fnumber"] = dr1["FPREBDONENUMBER"].ToString() }); //鍖呰鏍囪瘑
         //            FentityModel.Add("FLot", new JObject() { ["FNumber"] = dr1["FBATCHNO"].ToString() }); //鎵瑰彿
-        //            FentityModel.Add("F_bsv_Text", dr1["宸ュ簭娴佽浆鍗″彿"].ToString()); //娴佽浆鍗″彿
         //            JArray Fentity2 = new JArray();
         //            JObject FentityModel2 = new JObject();
         //            FentityModel2.Add("FEntity_Link_FFlowId", "f6e6eec3-5267-4f02-8593-b633da508a72");
@@ -329,9 +324,6 @@
         //            FentityModel2.Add("FEntity_Link_FBaseQuaQtyOld", item["鍚堟牸鏁伴噺"].ToString());
         //            FentityModel2.Add("FEntity_Link_FBaseQuaQty", item["鍚堟牸鏁伴噺"].ToString());
         //            Fentity2.Add(FentityModel2);
-        //            FentityModel.Add("FEntity_Link", Fentity2);
-        //            FentityModel.Add("FBFLowId", new JObject() { ["FID"] = "f6e6eec3-5267-4f02-8593-b633da508a72" }); //
-        //            Fentity.Add(FentityModel);
         //        }
         //        model.Add("FEntity", Fentity); //鏄庣粏淇℃伅                       
         //        JObject jsonRoot = new JObject()
@@ -519,7 +511,7 @@
                     FentityModel.Add("FCostRate", dr1["FCostRate"].ToString());// 鎴愭湰鏉冮噸
                     FentityModel.Add("FISBACKFLUSH", dr1["FISBACKFLUSH"].ToString() == "1" ? true : false);// 鍊掑啿棰嗘枡
                     FentityModel.Add("FMOMAINENTRYID", dr1["FMOENTRYID"].ToString());//
-                    FentityModel.Add("F_bsv_Base1", new JObject() { ["Fnumber"] = dr1["FPREBDONENUMBER"].ToString() }); //鍖呰鏍囪瘑
+                    //FentityModel.Add("F_bsv_Base1", new JObject() { ["Fnumber"] = dr1["FPREBDONENUMBER"].ToString() }); //鍖呰鏍囪瘑
                     FentityModel.Add("FLot", new JObject() { ["FNumber"] = dr1["FBATCHNO"].ToString() }); //鎵瑰彿
                     FentityModel.Add("F_bsv_Text", dr1["宸ュ簭娴佽浆鍗″彿"].ToString()); //娴佽浆鍗″彿
                     JArray Fentity2 = new JArray();
@@ -624,6 +616,19 @@
                 ////鏍规嵁宸ュ簭姹囨姤鍗曚富ID鑾峰彇宸ュ簭姹囨姤鍏ュ簱鍗曠殑鏁版嵁
                 //DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc");
                 //DataRow dr = ds.Tables[0].Rows[0];
+
+                //鍒ゆ柇鍏ュ簱鐨勫悎鏍兼暟閲忔槸鍚︿负0
+                var DTable = oCN.RunProcReturn("select * from  Sc_StationOutBillMain where HBillNo='"+ BillNo + "' ", "Sc_StationOutBillMain").Tables[0];
+
+                if (double.Parse(DTable.Rows[0]["HQty"].ToString()) == 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 2;
+                    objJsonResult.Message = "鍚堟牸鏁伴噺涓�0,涓嶉渶瑕佸叆搴擄紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 //淇濆瓨
                 oCN.BeginTran();
                 //鐢熶骇姹囨姤鍗曚富琛�
@@ -712,7 +717,21 @@
                     FentityModel.Add("FBaseRealQty", item["鏁伴噺"].ToString());//
                     FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//
                     FentityModel.Add("FOwnerId", new JObject() { ["FNumber"] = item["HPrdOrgNumber"].ToString() });//
-                    FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // 浠撳簱 
+                    string sErr = "";
+                    if (oSystemParameter.ShowBill(ref sErr))
+                    {
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�")
+                        {
+                            if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "宸ヨ壓璺嚎")
+                            {
+                                FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumbers"].ToString() }); // 浠撳簱 
+                            }
+                            else if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "宸ュ簭")
+                            {
+                                FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // 浠撳簱 
+                            }
+                        }
+                    }
                     FentityModel.Add("FLot", new JObject() { ["FNumber"] = item["HBatchNo"].ToString() }); //鎵瑰彿
                     FentityModel.Add("FISBACKFLUSH", "true");//  
                     FentityModel.Add("FWorkShopId1", new JObject() { ["FNumber"] = item["HWorkShopNumber"].ToString() }); //  鐢熶骇杞﹂棿
@@ -871,6 +890,20 @@
                 ////鏍规嵁宸ュ簭姹囨姤鍗曚富ID鑾峰彇宸ュ簭姹囨姤鍏ュ簱鍗曠殑鏁版嵁
                 //DataSet ds = oCN.RunProcReturn("select * from h_v_MES_StationOutBillList_LastProc where HInterID=" + InterID, "h_v_MES_StationOutBillList_LastProc");
                 //DataRow dr = ds.Tables[0].Rows[0];
+
+                //鍒ゆ柇鏈鎶ュ簾鎬绘暟閲忔槸鍚︿负0
+                var DTable = oCN.RunProcReturn("select sum(HWasterQty) HWasterQty from  Sc_StationOutBillMain where  HProcExchBillNo='"+ BillNo + "' and HBFFlag=0 ", "Sc_StationOutBillMain").Tables[0];
+
+                if (double.Parse(DTable.Rows[0]["HWasterQty"].ToString()) == 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 2;
+                    objJsonResult.Message = "鎶ュ簾鏁伴噺涓�0,涓嶉渶瑕佸叆搴擄紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
                 //淇濆瓨
                 oCN.BeginTran();
                 //鐢熶骇姹囨姤鍗曚富琛�
@@ -951,7 +984,21 @@
                     FentityModel.Add("FBaseRealQty", item["鏁伴噺"].ToString());//
                     FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//
                     FentityModel.Add("FOwnerId", new JObject() { ["FNumber"] = item["HPrdOrgNumber"].ToString() });//
-                    FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // 浠撳簱 
+                    string sErr = "";
+                    if (oSystemParameter.ShowBill(ref sErr))
+                    {
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�")
+                        {
+                            if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "宸ヨ壓璺嚎")
+                            {
+                                FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumbers"].ToString() }); // 浠撳簱 
+                            }
+                            else if (oSystemParameter.omodel.MES_StationOutBill_InStockType == "宸ュ簭")
+                            {
+                                FentityModel.Add("FStockId", new JObject() { ["FNumber"] = item["HStockNumber"].ToString() }); // 浠撳簱 
+                            }
+                        }
+                    }
                     FentityModel.Add("FLot", new JObject() { ["FNumber"] = item["HBatchNo"].ToString() }); //鎵瑰彿
                     FentityModel.Add("FISBACKFLUSH", "true");//  
                     FentityModel.Add("FWorkShopId1", new JObject() { ["FNumber"] = item["HWorkShopNumber"].ToString() }); //  鐢熶骇杞﹂棿
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_MaterTypeBillController.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_MaterTypeBillController.cs"
new file mode 100644
index 0000000..1cca132
--- /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_MaterTypeBillController.cs"
@@ -0,0 +1,360 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Gy_MaterTypeBillController : ApiController
+    {
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
+        #region 鐗╂枡鍒嗙被鍒楄〃
+        [Route("Gy_MaterType/Gy_MaterTypeList")]
+        [HttpGet]
+        public object Gy_MaterTypeList(string sWhere, string user, string Organization)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterType_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                string sql1 = string.Format(@"select * from h_v_IF_MaterType where 浣跨敤缁勭粐='" + Organization + "'");
+
+                ds = oCN.RunProcReturn(sql1 + sWhere + " order by HItemID ", "h_v_IF_MaterType");
+
+                //娣诲姞鍒楀悕
+                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.list = columnNameList;
+                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 鐗╂枡鍒嗙被 淇濆瓨/缂栬緫
+        [Route("Gy_MaterType/SaveGy_MaterType")]
+        [HttpPost]
+        public object SaveGy_MaterType([FromBody] JObject msg)
+        {
+            DataSet ds;
+            var _value = msg["msg"].ToString();
+            string msg3 = _value.ToString();
+            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg1 = sArray[0].ToString();//鏁版嵁
+            string msg2 = sArray[1].ToString();//鐢ㄦ埛
+            string msg_HUSEORGID = sArray[2].ToString();//缁勭粐
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterType_Edit", 1, false, msg2))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+            try
+            {
+                DAL.ClsGy_MaterType_Ctl oBill = new DAL.ClsGy_MaterType_Ctl();
+                List<Model.ClsGy_MaterType_Model> lsmain = new List<Model.ClsGy_MaterType_Model>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");  //\n
+                msg1 = "[" + msg1 + "]";
+                lsmain = JsonConvert.DeserializeObject<List<Model.ClsGy_MaterType_Model>>(msg1);
+                foreach (Model.ClsGy_MaterType_Model oItem in lsmain)
+                {
+                    if (oItem.HNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (oItem.HName.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佸悕绉颁笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (!DBUtility.ClsPub.AllowNumber(oItem.HNumber.Trim()))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷腑涓嶈兘鍑虹幇杩炵画鈥�.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    //鏌ヨ鏁版嵁涓槸鍚﹀瓨鍦ㄩ噸澶嶄唬鐮�
+                    ds = oCN.RunProcReturn("select * from  Gy_MaterType where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_MaterType");
+
+                    if (ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (oItem.HItemID == 0 || (ds.Tables[0].Rows[0]["HItemID"].ToString() != oItem.HItemID.ToString() && oItem.HItemID != 0))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                   
+
+                    //寰楀埌鐭唬鐮�
+                    string sShortNumber;
+                    sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim());
+                    if (sShortNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺煭浠g爜涓虹┖锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oItem.HCREATEORGID = Convert.ToInt32(msg_HUSEORGID); //缁勭粐id
+                    oItem.HShortNumber = sShortNumber;//鐭唬鐮�
+                    oItem.HMakeEmp = msg2;
+                    oItem.HEndFlag = true;//鏈骇鏍囧織
+                    oItem.HLevel = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //绛夌骇
+                    oBill.oModel = oItem;
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.oModel.HItemID == 0)
+                {
+                    bResult = oBill.AddNew();
+                }
+                else
+                {
+                    bResult = oBill.ModifyByID(oBill.oModel.HItemID);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #region 鐗╂枡鍒嗙被  鍒犻櫎
+        [Route("Gy_MaterType/DeleteMaterType")]
+        [HttpGet]
+        public object DeleteMaterType(string HItemID, string user)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterType_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (string.IsNullOrWhiteSpace(HItemID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HItemID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+                ds = oCN.RunProcReturn("select * from Gy_MaterType where HItemID=" + HItemID, "Gy_MaterType");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏁版嵁锛屾棤娉曞垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult; ;
+                }
+                var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
+                if (HStopflag)
+                {
+                    oCN.RollBack();//鍥炴粴浜嬪姟
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏁版嵁宸茬鐢ㄦ棤娉曞啀娆″垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.RunProc("delete from Gy_MaterType where HItemID=" + HItemID);
+                oCN.Commit();//鎻愪氦浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "* 鏁版嵁鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐗╂枡鍒嗙被瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_MaterType/AuditGy_MaterType")]
+        [HttpGet]
+        public object AuditGy_MaterType(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterType_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_MaterType where HItemID=" + HInterID, "Gy_MaterType");
+                if (ds.Tables[0].Rows.Count>0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {
+                    oCN.RunProc("update Gy_MaterType set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    oCN.RunProc("update Gy_MaterType set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                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_PaymentConditionListBillController.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_PaymentConditionListBillController.cs"
index 08405ee..93ac359 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_PaymentConditionListBillController.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_PaymentConditionListBillController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -12,6 +13,9 @@
 {
     public class Gy_PaymentConditionListBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -391,5 +395,174 @@
             }
         }
         #endregion
+
+        #region [鍚屾鍩虹璧勬枡]
+        [Route("Gy_PaymentCondition/Gy_PaymentConditionViewApi")]
+        [HttpGet]
+        public json Gy_PaymentConditionViewApi(string Number, string Type)
+        {
+            string sql = string.Empty;
+            string sReturn = "";
+            if (oSystemParameter.ShowBill(ref sReturn) == true)
+            {
+                //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡
+                if (oSystemParameter.omodel.WMS_CloudMode == "Y")
+                {
+                    #region [绉佹湁浜戞ā寮忥紝鐩存帴璋冪敤鏁版嵁搴撳瓨鍌ㄨ繃绋嬫洿鏂癩
+                    try
+                    {
+                        oCN.BeginTran();
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal");
+                        if (DS == null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍩虹璧勬枡鍚屾澶辫触";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "ERP涓笉瀛樺湪璇ヤ唬鐮�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "1";
+                                objJsonResult.count = 1;
+                                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
+                }
+                else
+                {
+                    #region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩
+                    var json = new
+                    {
+                        CreateOrgId = 0,
+                        Number = Number,
+                        Id = ""
+                    };
+                    #region [閲戣澏閮ㄥ垎]
+                    //鐧诲綍閲戣澏
+                    var loginRet = InvokeHelper.Login();
+                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                    //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+                    if (isSuccess < 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = loginRet;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鏌ョ湅 鑾峰彇鏁版嵁                    
+                    var _result = InvokeHelper.View("BD_PaymentCondition", JsonConvert.SerializeObject(json));
+                    var _saveObj = JObject.Parse(_result);
+                    //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏浠樻鏉′欢鍚屾澶辫触jsonRoot锛�" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    #endregion
+                    //鑾峰彇鏁版嵁
+                    DataSet Ds;
+                    Ds = oCN.RunProcReturn("select * from Gy_PaymentCondition where HNumber = '" + Number + "'", "Gy_PaymentCondition");
+                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
+                    {
+
+                    }
+                    #region [琛ㄦ暟鎹祴鍊糫
+                    var jsonData = new
+                    {
+                        HItemID = _saveObj["Result"]["Result"]["Id"],
+                        HNumber = _saveObj["Result"]["Result"]["Number"],
+                        HName         = _saveObj["Result"]["Result"]["Name"][0]["Value"],
+                        HShortNumber  = _saveObj["Result"]["Result"]["Number"],
+                        HParentID     = 0,
+                        HLevel        = 1,         
+                        HEndFlag      = 1,
+                        HStopflag     = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
+                        HRemark       = "CLD-ERP瀵煎叆",
+                        HUseFlag      = "宸蹭娇鐢�",
+                        HUSEORGID     = _saveObj["Result"]["Result"]["UseOrgId_Id"],
+                        HCREATEORGID  = _saveObj["Result"]["Result"]["CreateOrgId_Id"],               
+                        HMakeEmp      = _saveObj["Result"]["Result"]["CreatorId_Id"],
+                        HMakeTime     = _saveObj["Result"]["Result"]["CreateDate"],
+                        HCheckEmp     = _saveObj["Result"]["Result"]["AuditorID_Id"],
+                        HCheckTime    = _saveObj["Result"]["Result"]["AuditDate"],
+                        HModifyEmp    = _saveObj["Result"]["Result"]["ModifierId_Id"],
+                        HModifyTime   = _saveObj["Result"]["Result"]["FModifyDate"],
+                        HStopEmp      = _saveObj["Result"]["Result"]["ForbidderID_Id"],
+                        HStopTime = _saveObj["Result"]["Result"]["ForbidDate"]
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Gy_PaymentCondition where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_PaymentCondition on";
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆琛�
+                    sql = $@"
+                insert into Gy_PaymentCondition
+               (HItemID,HNumber,HName,HShortNumber,HParentID,HLevel
+                ,HEndFlag,HStopflag,HRemark,HUseFlag,HUSEORGID,HCREATEORGID
+                ,HMakeEmp,HMakeTime,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HStopEmp,HStopTime)
+                values
+                ({jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
+                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HUSEORGID}',
+                '{jsonData.HCREATEORGID}','{jsonData.HMakeEmp}','{jsonData.HMakeTime}','{jsonData.HCheckEmp}',
+                '{jsonData.HCheckTime}','{jsonData.HModifyEmp}','{jsonData.HModifyTime}','{jsonData.HStopEmp}','{jsonData.HStopTime}')";
+
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_PaymentCondition off";
+                    oCN.RunProc(sql);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "浠樻鏉′欢鍚屾鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                    #endregion
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍩虹璧勬枡璇诲彇澶辫触锛�";
+                objJsonResult.data = null;
+                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_SOPBillListController.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_SOPBillListController.cs"
index c84c39f..a2d6ca6 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_SOPBillListController.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_SOPBillListController.cs"
@@ -240,5 +240,32 @@
             return objJsonResult;
         }
         #endregion
+
+
+        #region 鎵撳嵃鏌ヨ鏁版嵁
+        [Route("Gy_SOPBillList/WindowPrintList")]
+        [HttpGet]
+        public object WindowPrintList(string sWhere)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn(sWhere, "WindowPrint");
+
+                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
     }
 }
\ 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_SettleStyleController.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_SettleStyleController.cs"
index 8d79356..99c080d 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_SettleStyleController.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_SettleStyleController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -14,6 +15,9 @@
 {
     public class Gy_SettleStyleController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -389,5 +393,162 @@
             }
         }
         #endregion
+
+        #region [鍚屾鍩虹璧勬枡]
+        [Route("Gy_SettleStyle/Gy_SettleStyleViewApi")]
+        [HttpGet]
+        public json Gy_SettleStyleViewApi(string Number, string Type)
+        {
+            string sql = string.Empty;
+            string sReturn = "";
+            if (oSystemParameter.ShowBill(ref sReturn) == true)
+            {
+                //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡
+                if (oSystemParameter.omodel.WMS_CloudMode == "Y")
+                {
+                    #region [绉佹湁浜戞ā寮忥紝鐩存帴璋冪敤鏁版嵁搴撳瓨鍌ㄨ繃绋嬫洿鏂癩
+                    try
+                    {
+                        oCN.BeginTran();
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal");
+                        if (DS == null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍩虹璧勬枡鍚屾澶辫触";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "ERP涓笉瀛樺湪璇ヤ唬鐮�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "1";
+                                objJsonResult.count = 1;
+                                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
+                }
+                else
+                {
+                    #region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩
+                    var json = new
+                    {
+                        CreateOrgId = 0,
+                        Number = Number,
+                        Id = ""
+                    };
+                    #region [閲戣澏閮ㄥ垎]
+                    //鐧诲綍閲戣澏
+                    var loginRet = InvokeHelper.Login();
+                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                    //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+                    if (isSuccess < 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = loginRet;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鏌ョ湅 鑾峰彇鏁版嵁                    
+                    var _result = InvokeHelper.View("BD_SETTLETYPE", JsonConvert.SerializeObject(json));
+                    var _saveObj = JObject.Parse(_result);
+                    //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏缁撶畻鏂瑰紡鍚屾澶辫触jsonRoot锛�" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    #endregion
+                    //鑾峰彇鏁版嵁
+                    DataSet Ds;
+                    Ds = oCN.RunProcReturn("select * from Gy_SettleStyle where HNumber = '" + Number + "'", "Gy_SettleStyle");
+                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
+                    {
+
+                    }
+                    #region [琛ㄦ暟鎹祴鍊糫
+                    var jsonData = new
+                    {
+                        HItemID = _saveObj["Result"]["Result"]["Id"],
+                        HNumber = _saveObj["Result"]["Result"]["Number"],
+                        HName        = _saveObj["Result"]["Result"]["Name"][0]["Value"],
+                        HShortNumber = _saveObj["Result"]["Result"]["Number"],
+                        HParentID    = 0,
+                        HLevel       = 1,         
+                        HEndFlag     = 1,
+                        HStopflag    = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
+                        HRemark      = "CLD-ERP瀵煎叆",
+                        HUseFlag = "宸蹭娇鐢�"                     
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Gy_SettleStyle where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_SettleStyle on";
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆琛�
+                    sql = $@"
+                insert into Gy_SettleStyle
+               (HItemID,HNumber,HName,HShortNumber,HParentID,HLevel
+                ,HEndFlag,HStopflag,HRemark,HUseFlag)
+                values
+                ({jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
+                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}')";
+
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_SettleStyle off";
+                    oCN.RunProc(sql);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "缁撶畻鏂瑰紡鍚屾鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                    #endregion
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍩虹璧勬枡璇诲彇澶辫触锛�";
+                objJsonResult.data = null;
+                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_StaffController.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_StaffController.cs"
index 1eb6be7..708f212 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_StaffController.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_StaffController.cs"
@@ -355,6 +355,7 @@
         {
             try
             {
+                LogService.Write("json:"+msg.ToString());
                 var _value = msg["model"].ToString();
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 ListModels oListModels = new ListModels();
@@ -387,6 +388,7 @@
             }
             catch (Exception e)
             {
+                LogService.Write("鍛樺伐鍚屾寮傚父:" + e.ToString());
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
@@ -496,52 +498,58 @@
                     {
 
                     }
+                    // 鏄庣粏鍒椾俊鎭�
+                    var _saveEntry = _saveObj["Result"]["Result"]["PostEntity"];
 
                     #region [琛ㄦ暟鎹祴鍊糫
-                    var jsonData = new
+                    foreach (var oSub in _saveEntry)
                     {
-                        HItemID = _saveObj["Result"]["Result"]["Id"],
-                        HNumber = _saveObj["Result"]["Result"]["Number"],
-                        HName          = _saveObj["Result"]["Result"]["Name"][0]["Value"],
-                        HShortNumber   = _saveObj["Result"]["Result"]["Number"],
-                        HParentID      = 0,
-                        HLevel         = 1,
-                        HEndFlag       = 1,
-                        HStopflag      = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
-                        HRemark        = "CLD-ERP瀵煎叆",
-                        HUseFlag       = "宸蹭娇鐢�",
-                        HCREATEORGID   = _saveObj["Result"]["Result"]["CreateOrgId_Id"],
-                        HUSEORGID      = _saveObj["Result"]["Result"]["UseOrgId_Id"],
-                        HPERSONID      = _saveObj["Result"]["Result"]["PersonId_Id"],
-                        HPOSTID        = _saveObj["Result"]["Result"]["FPostId_Id"],
-                        HFIRSTCARDID   = _saveObj["Result"]["Result"]["FirstCardID_Id"],
-                        HDeptID        = _saveObj["Result"]["Result"]["PostEntity"][0]["Post"]["FDept_Id"],
-                        HSTAFFNUMBER = _saveObj["Result"]["Result"]["FStaffNumber"]
-                    };
+                        var jsonData = new
+                        {
+                            HItemID = oSub["StaffDetails"],
+                            HNumber = _saveObj["Result"]["Result"]["Number"],
+                            HName          = _saveObj["Result"]["Result"]["Name"][0]["Value"],
+                            HShortNumber   = _saveObj["Result"]["Result"]["Number"],
+                            HParentID      = 0,
+                            HLevel         = 1,
+                            HEndFlag       = 1,
+                            HStopflag      = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
+                            HRemark        = "CLD-ERP瀵煎叆",
+                            HUseFlag       = "宸蹭娇鐢�",
+                            HCREATEORGID   = _saveObj["Result"]["Result"]["CreateOrgId_Id"],
+                            HUSEORGID      = _saveObj["Result"]["Result"]["UseOrgId_Id"],
+                            HPERSONID      = _saveObj["Result"]["Result"]["PersonId_Id"],
+                            HPOSTID        = _saveObj["Result"]["Result"]["FPostId_Id"],
+                            HFIRSTCARDID   = _saveObj["Result"]["Result"]["FirstCardID_Id"],
+                            HDeptID        = oSub["PostDept_Id"],
+                            HSTAFFNUMBER = _saveObj["Result"]["Result"]["FStaffNumber"]
+                        };
+
+                        // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                        sql = $"delete from Gy_Staff where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
+                        oCN.RunProc(sql);
+
+                        sql = "set identity_insert Gy_Staff on";
+                        oCN.RunProc(sql);
+
+                        //鎻掑叆琛�
+                        sql = $@"
+                    insert into Gy_Staff
+                    (HItemID,HNumber,HName,HShortNumber,HParentID,HLevel
+	                ,HEndFlag,HStopflag,HRemark,HUseFlag,HCREATEORGID,HUSEORGID
+	                ,HPERSONID,HPOSTID,HFIRSTCARDID,HDeptID,HSTAFFNUMBER
+                     )
+                    values
+                    ({jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
+                    '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}',{jsonData.HCREATEORGID},{jsonData.HUSEORGID},
+                      {jsonData.HPERSONID},{jsonData.HPOSTID},{jsonData.HFIRSTCARDID},{jsonData.HDeptID},'{jsonData.HSTAFFNUMBER}')";
+
+                        oCN.RunProc(sql);
+
+                        sql = "set identity_insert Gy_Staff off";
+                        oCN.RunProc(sql);
+                    }                   
                     #endregion
-                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
-                    sql = $"delete from Gy_Staff where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
-                    oCN.RunProc(sql);
-
-                    sql = "set identity_insert Gy_Staff on";
-                    oCN.RunProc(sql);
-
-                    //鎻掑叆琛�
-                    sql = $@"
-                insert into Gy_Staff
-                (HItemID,HNumber,HName,HShortNumber,HParentID,HLevel
-	            ,HEndFlag,HStopflag,HRemark,HUseFlag,HCREATEORGID,HUSEORGID
-	            ,HPERSONID,HPOSTID,HFIRSTCARDID,HDeptID,HSTAFFNUMBER
-                 )
-                values
-                ({jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
-                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}',{jsonData.HCREATEORGID},{jsonData.HUSEORGID},
-                  {jsonData.HPERSONID},{jsonData.HPOSTID},{jsonData.HFIRSTCARDID},{jsonData.HDeptID},'{jsonData.HSTAFFNUMBER}')";
-
-                    oCN.RunProc(sql);
-
-                    sql = "set identity_insert Gy_Staff off";
-                    oCN.RunProc(sql);
 
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
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_StockStatusBillController.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_StockStatusBillController.cs"
index 3951971..cc8baff 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_StockStatusBillController.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_StockStatusBillController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -14,6 +15,9 @@
 {
     public class Gy_StockStatusBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -392,5 +396,174 @@
             }
         }
         #endregion
+
+        #region [鍚屾鍩虹璧勬枡]
+        [Route("Gy_StockStatus/Gy_StockStatusViewApi")]
+        [HttpGet]
+        public json Gy_StockStatusViewApi(string Number, string Type)
+        {
+            string sql = string.Empty;
+            string sReturn = "";
+            if (oSystemParameter.ShowBill(ref sReturn) == true)
+            {
+                //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡
+                if (oSystemParameter.omodel.WMS_CloudMode == "Y")
+                {
+                    #region [绉佹湁浜戞ā寮忥紝鐩存帴璋冪敤鏁版嵁搴撳瓨鍌ㄨ繃绋嬫洿鏂癩
+                    try
+                    {
+                        oCN.BeginTran();
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal");
+                        if (DS == null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍩虹璧勬枡鍚屾澶辫触";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "ERP涓笉瀛樺湪璇ヤ唬鐮�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "1";
+                                objJsonResult.count = 1;
+                                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
+                }
+                else
+                {
+                    #region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩
+                    var json = new
+                    {
+                        CreateOrgId = 0,
+                        Number = Number,
+                        Id = ""
+                    };
+                    #region [閲戣澏閮ㄥ垎]
+                    //鐧诲綍閲戣澏
+                    var loginRet = InvokeHelper.Login();
+                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                    //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+                    if (isSuccess < 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = loginRet;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鏌ョ湅 鑾峰彇鏁版嵁                    
+                    var _result = InvokeHelper.View("BD_StockStatus", JsonConvert.SerializeObject(json));
+                    var _saveObj = JObject.Parse(_result);
+                    //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏搴撳瓨鐘舵�佸悓姝ュけ璐sonRoot锛�" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    #endregion
+                    //鑾峰彇鏁版嵁
+                    DataSet Ds;
+                    Ds = oCN.RunProcReturn("select * from Gy_StockStatus where HNumber = '" + Number + "'", "Gy_StockStatus");
+                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
+                    {
+
+                    }
+                    #region [琛ㄦ暟鎹祴鍊糫
+                    var jsonData = new
+                    {
+                        HItemID = _saveObj["Result"]["Result"]["Id"],
+                        HNumber = _saveObj["Result"]["Result"]["Number"],
+                        HName = _saveObj["Result"]["Result"]["Name"][0]["Value"],
+                        HShortNumber = _saveObj["Result"]["Result"]["Number"],
+                        HParentID = 0,
+                        HLevel = 1,
+                        HEndFlag = 1,
+                        HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
+                        HRemark = "CLD-ERP瀵煎叆",
+                        HUseFlag = "宸蹭娇鐢�",
+                        HUSEORGID = _saveObj["Result"]["Result"]["UseOrgId_Id"],
+                        HCREATEORGID = _saveObj["Result"]["Result"]["CreateOrgId_Id"],
+                        HMakeEmp = _saveObj["Result"]["Result"]["CreatorId_Id"],
+                        HMakeTime = _saveObj["Result"]["Result"]["CreateDate"],
+                        HCheckEmp = _saveObj["Result"]["Result"]["AuditorID_Id"],
+                        HCheckTime = _saveObj["Result"]["Result"]["FAuditDate"],
+                        HModifyEmp = _saveObj["Result"]["Result"]["ModifierId_Id"],
+                        HModifyTime = _saveObj["Result"]["Result"]["FModifyDate"],
+                        HStopEmp = _saveObj["Result"]["Result"]["FForbiderId_Id"],
+                        HStopTime = _saveObj["Result"]["Result"]["FForbidDate"]
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Gy_StockStatus where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_StockStatus on";
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆琛�
+                    sql = $@"
+                insert into Gy_StockStatus
+              (HItemID,HNumber,HName,HShortNumber,HParentID,HLevel
+                ,HEndFlag,HStopflag,HRemark,HUseFlag,HUSEORGID,HCREATEORGID
+                ,HMakeEmp,HMakeTime,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HStopEmp,HStopTime)
+                values
+                ({jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
+                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HUSEORGID}',
+                '{jsonData.HCREATEORGID}','{jsonData.HMakeEmp}','{jsonData.HMakeTime}','{jsonData.HCheckEmp}',
+                '{jsonData.HCheckTime}','{jsonData.HModifyEmp}','{jsonData.HModifyTime}','{jsonData.HStopEmp}','{jsonData.HStopTime}')";
+
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_StockStatus off";
+                    oCN.RunProc(sql);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "搴撳瓨鐘舵�佸悓姝ユ垚鍔燂紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                    #endregion
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍩虹璧勬枡璇诲彇澶辫触锛�";
+                objJsonResult.data = null;
+                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_TaxMIXController.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_TaxMIXController.cs"
index 5873a83..308d60f 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_TaxMIXController.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_TaxMIXController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Model;
+锘縰sing DBUtility;
+using Model;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
@@ -14,334 +15,338 @@
 {
     public class Gy_TaxMIXController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
 
-        //#region  绋庣巼缁勫悎 鍒楄〃
-        //[Route("Gy_TaxMIX/TaxMIXList")]
-        //[HttpGet]
-        //public object TaxMIXList(string sWhere, string user, string Organization)
-        //{
-        //    try
-        //    {
-        //        List<object> columnNameList = new List<object>();
-        //        //缂栬緫鏉冮檺
-        //        //if (!DBUtility.ClsPub.Security_Log_second("Gy_TaxRate_Query", 1, false, user))
-        //        //{
-        //        //    objJsonResult.code = "0";
-        //        //    objJsonResult.count = 0;
-        //        //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
-        //        //    objJsonResult.data = null;
-        //        //    return objJsonResult;
-        //        //}
-        //        string sql1 = string.Format(@"select * from h_v_Gy_TaxMIXList where 浣跨敤缁勭粐='" + Organization + "'");
+        #region  绋庣巼缁勫悎 鍒楄〃
+        [Route("Gy_TaxMIX/TaxMIXList")]
+        [HttpGet]
+        public object TaxMIXList(string sWhere, string user, string Organization)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log_second("Gy_TaxRate_Query", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                string sql1 = string.Format(@"select * from h_v_Gy_TaxMIXList where 浣跨敤缁勭粐='" + Organization + "'");
 
-        //        string sql = sql1 + sWhere;
-        //        ds = oCN.RunProcReturn(sql, "h_v_Gy_TaxMIXList");
+                string sql = sql1 + sWhere;
+                ds = oCN.RunProcReturn(sql, "h_v_Gy_TaxMIXList");
 
-        //        //娣诲姞鍒楀悕
-        //        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鍒楀璞$殑鍒楀悕
-        //        }
+                //娣诲姞鍒楀悕
+                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.list = columnNameList;
-        //        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
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                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  绋庣巼缁勫悎 缂栬緫
-        //[Route("Gy_TaxMIX/TaxMIXEdit")]
-        //[HttpPost]
-        //public object TaxMIXEdit([FromBody] JObject msg)
-        //{
-        //    DataSet ds;
-        //    var _value = msg["msg"].ToString();
-        //    string msg3 = _value.ToString();
-        //    string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-        //    string msg1 = sArray[0].ToString();
-        //    string msg2 = sArray[1].ToString();
-        //    //string msg_HUSEORGID = sArray[2].ToString();
-        //    Int64 HItemID = 0;
-        //    SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        #region  绋庣巼缁勫悎 缂栬緫
+        [Route("Gy_TaxMIX/TaxMIXEdit")]
+        [HttpPost]
+        public object TaxMIXEdit([FromBody] JObject msg)
+        {
+            DataSet ds;
+            var _value = msg["msg"].ToString();
+            string msg3 = _value.ToString();
+            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg1 = sArray[0].ToString();
+            string msg2 = sArray[1].ToString();
+            //string msg_HUSEORGID = sArray[2].ToString();
+            Int64 HItemID = 0;
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
 
-        //    //缂栬緫鏉冮檺
-        //    //if (!DBUtility.ClsPub.Security_Log_second("Gy_TaxRate_Edit", 1, false, msg2))
-        //    //{
-        //    //    objJsonResult.code = "0";
-        //    //    objJsonResult.count = 0;
-        //    //    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
-        //    //    objJsonResult.data = null;
-        //    //    return objJsonResult;
-        //    //}
+            //缂栬緫鏉冮檺
+            //if (!DBUtility.ClsPub.Security_Log_second("Gy_TaxRate_Edit", 1, false, msg2))
+            //{
+            //    objJsonResult.code = "0";
+            //    objJsonResult.count = 0;
+            //    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+            //    objJsonResult.data = null;
+            //    return objJsonResult;
+            //}
 
-        //    //鑾峰彇鏈�澶D鍊艰祴鍊�
-        //    //DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_TaxRate ", "Gy_TaxRate");
-        //    //if (Maxds != null || Maxds.Tables[0].Rows.Count > 0)
-        //    //{
-        //    //    //HItemID= Maxds.Tables[0].Rows[0]["HItemID"]
-        //    //    var maxid = Convert.ToInt32((Maxds.Tables[0].Rows[0]["HItemID"].ToString()==""?0: Maxds.Tables[0].Rows[0]["HItemID"]));
-        //    //    maxid += 1;
-        //    //    HItemID = maxid;
-        //    //}
-        //    ListModels oListModels = new ListModels();
+            //鑾峰彇鏈�澶D鍊艰祴鍊�
+            //DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_TaxRate ", "Gy_TaxRate");
+            //if (Maxds != null || Maxds.Tables[0].Rows.Count > 0)
+            //{
+            //    //HItemID= Maxds.Tables[0].Rows[0]["HItemID"]
+            //    var maxid = Convert.ToInt32((Maxds.Tables[0].Rows[0]["HItemID"].ToString()==""?0: Maxds.Tables[0].Rows[0]["HItemID"]));
+            //    maxid += 1;
+            //    HItemID = maxid;
+            //}
+            ListModels oListModels = new ListModels();
 
-        //    try
-        //    {
-        //        DAL.ClsGy_TaxMIX_Ctl oBill = new DAL.ClsGy_TaxMIX_Ctl();
-        //        List<Model.ClsGy_TaxMIX_Model> lsmain = new List<Model.ClsGy_TaxMIX_Model>();
-        //        msg1 = msg1.Replace("\\", "");
-        //        msg1 = msg1.Replace("\n", "");  //\n
-        //        lsmain = oListModels.getObjectByJson_Gy_TaxMIX(msg1);
-        //        foreach (Model.ClsGy_TaxMIX_Model oItem in lsmain)
-        //        {
-        //            if (oItem.HNumber.Trim() == "")
-        //            {
-        //                objJsonResult.code = "0";
-        //                objJsonResult.count = 0;
-        //                objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷笉鑳戒负绌猴紒";
-        //                objJsonResult.data = 1;
-        //                return objJsonResult;
-        //            }
-        //            if (oItem.HName.Trim() == "")
-        //            {
-        //                objJsonResult.code = "0";
-        //                objJsonResult.count = 0;
-        //                objJsonResult.Message = "淇濆瓨澶辫触锛佸悕绉颁笉鑳戒负绌猴紒";
-        //                objJsonResult.data = 1;
-        //                return objJsonResult;
-        //            }
+            try
+            {
+                DAL.ClsGy_TaxMIX_Ctl oBill = new DAL.ClsGy_TaxMIX_Ctl();
+                List<Model.ClsGy_TaxMIXMain_Model> lsmain = new List<Model.ClsGy_TaxMIXMain_Model>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_TaxMIXMain(msg1);
+                foreach (Model.ClsGy_TaxMIXMain_Model oItem in lsmain)
+                {
+                    if (oItem.HNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (oItem.HName.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佸悕绉颁笉鑳戒负绌猴紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
 
-        //            //鏌ヨ鏁版嵁涓槸鍚﹀瓨鍦ㄩ噸澶嶄唬鐮�
-        //            ds = oCN.RunProcReturn("select * from  Gy_TaxMIX where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_TaxMIX");
-        //            if (oItem.HItemID == 0)
-        //            {
-        //                if (ds.Tables[0].Rows.Count > 0)
-        //                {
-        //                    objJsonResult.code = "0";
-        //                    objJsonResult.count = 0;
-        //                    objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
-        //                    objJsonResult.data = null;
-        //                    return objJsonResult;
-        //                }
-        //            }
-        //            else
-        //            {
-        //                if (ds.Tables[0].Rows.Count > 0)
-        //                {
-        //                    if (ds.Tables[0].Rows[0]["HItemID"].ToString() != oItem.HItemID.ToString())
-        //                    {
-        //                        objJsonResult.code = "0";
-        //                        objJsonResult.count = 0;
-        //                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
-        //                        objJsonResult.data = null;
-        //                        return objJsonResult;
-        //                    }
-        //                }
-        //            }
+                    //鏌ヨ鏁版嵁涓槸鍚﹀瓨鍦ㄩ噸澶嶄唬鐮�
+                    ds = oCN.RunProcReturn("select * from  Gy_TaxMIXMain where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_TaxMIXMain");
+                    if (oItem.HItemID == 0)
+                    {
+                        if (ds.Tables[0].Rows.Count > 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    else
+                    {
+                        if (ds.Tables[0].Rows.Count > 0)
+                        {
+                            if (ds.Tables[0].Rows[0]["HItemID"].ToString() != oItem.HItemID.ToString())
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
+                    }
 
 
-        //            //鏂板鏃跺垽鏂�
-        //            #region 鐖剁骇鏍¢獙鏂规硶锛坅pi璋冪敤鍏堟敞閲婃帀锛岋級
-        //            /*
-        //            if (oItem.HItemID == 0)
-        //            {
-        //                if (ds == null || ds.Tables[0].Rows.Count > 0)
-        //                {
-        //                    objJsonResult.code = "0";
-        //                    objJsonResult.count = 0;
-        //                    objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
-        //                    objJsonResult.data = 1;
-        //                    return objJsonResult;
-        //                }
-        //                //妫�鏌ョ埗绾ф槸鍚﹀瓨鍦�
-        //                string sParent;
-        //                sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
-        //                if (sParent.Trim() == "")
-        //                {
-        //                    oBill.oModel.HParentID = 0;
-        //                }
-        //                else
-        //                {
-        //                    if (oBill.HavParentCode(sParent.Trim(), HItemID))
-        //                    {
-        //                        oBill.oModel.HParentID = oBill.oModel.HItemID;
-        //                    }
-        //                    else
-        //                    {
-        //                        objJsonResult.code = "0";
-        //                        objJsonResult.count = 0;
-        //                        objJsonResult.Message = "淇濆瓨澶辫触锛佷笂绾т唬鐮佷笉瀛樺湪鎴栬绂佺敤锛�";
-        //                        objJsonResult.data = 1;
-        //                        return objJsonResult;
-        //                    }
-        //                }
-        //            }
-        //            else//缂栬緫鏃跺垽鏂�
-        //            {
-        //                //妫�鏌ョ埗绾ф槸鍚﹀瓨鍦�
-        //                string sParent;
-        //                sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
-        //                if (sParent.Trim() == "")
-        //                {
-        //                    oBill.oModel.HParentID = 0;
-        //                }
-        //                else
-        //                {
-        //                    if (oBill.HavParentCode(sParent.Trim(), oItem.HItemID))
-        //                    {
-        //                        oBill.oModel.HParentID = oBill.oModel.HItemID;
-        //                    }
-        //                    else
-        //                    {
-        //                        objJsonResult.code = "0";
-        //                        objJsonResult.count = 0;
-        //                        objJsonResult.Message = "淇濆瓨澶辫触锛佷笂绾т唬鐮佷笉瀛樺湪鎴栬绂佺敤锛�";
-        //                        objJsonResult.data = 1;
-        //                        return objJsonResult;
-        //                    }
-        //                }
-        //            }
-        //            */
-        //            #endregion
-        //            //寰楀埌鐭唬鐮�
-        //            string sShortNumber;
-        //            sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim());
-        //            if (sShortNumber.Trim() == "")
-        //            {
-        //                objJsonResult.code = "0";
-        //                objJsonResult.count = 0;
-        //                objJsonResult.Message = "淇濆瓨澶辫触锛佺煭浠g爜涓虹┖锛�";
-        //                objJsonResult.data = 1;
-        //                return objJsonResult;
-        //            }
-        //            //oItem.HUSEORGID = Convert.ToInt32(msg_HUSEORGID); //缁勭粐id
-        //            oItem.HShortNumber = sShortNumber;//鐭唬鐮�
-        //            oItem.HEndFlag = true;//鏈骇鏍囧織
-        //            oItem.HLevel = 1; //绛夌骇 DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim())
-        //            oBill.oModel = oItem;
-        //        }
-        //        //淇濆瓨
-        //        //淇濆瓨瀹屾瘯鍚庡鐞�
-        //        bool bResult;
-        //        if (oBill.oModel.HItemID == 0)
-        //        {
-        //            bResult = oBill.AddNew();
-        //        }
-        //        else
-        //        {
-        //            bResult = oBill.ModifyByID(oBill.oModel.HItemID);
-        //        }
-        //        if (bResult)
-        //        {
-        //            objJsonResult.code = "1";
-        //            objJsonResult.count = 1;
-        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-        //            objJsonResult.data = 1;
-        //            return objJsonResult;
-        //        }
-        //        else
-        //        {
-        //            objJsonResult.code = "0";
-        //            objJsonResult.count = 0;
-        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-        //            objJsonResult.data = 1;
-        //            return objJsonResult;
-        //        }
-        //    }
-        //    catch (Exception e)
-        //    {
-        //        objJsonResult.code = "0";
-        //        objJsonResult.count = 0;
-        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-        //        objJsonResult.data = 1;
-        //        return objJsonResult;
-        //    }
-        //}
-        //#endregion
+                    //鏂板鏃跺垽鏂�
+                    #region 鐖剁骇鏍¢獙鏂规硶锛坅pi璋冪敤鍏堟敞閲婃帀锛岋級
+                    /*
+                    if (oItem.HItemID == 0)
+                    {
+                        if (ds == null || ds.Tables[0].Rows.Count > 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //妫�鏌ョ埗绾ф槸鍚﹀瓨鍦�
+                        string sParent;
+                        sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
+                        if (sParent.Trim() == "")
+                        {
+                            oBill.oModel.HParentID = 0;
+                        }
+                        else
+                        {
+                            if (oBill.HavParentCode(sParent.Trim(), HItemID))
+                            {
+                                oBill.oModel.HParentID = oBill.oModel.HItemID;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "淇濆瓨澶辫触锛佷笂绾т唬鐮佷笉瀛樺湪鎴栬绂佺敤锛�";
+                                objJsonResult.data = 1;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                    else//缂栬緫鏃跺垽鏂�
+                    {
+                        //妫�鏌ョ埗绾ф槸鍚﹀瓨鍦�
+                        string sParent;
+                        sParent = DBUtility.ClsPub.GetParentCode(oItem.HNumber.Trim());
+                        if (sParent.Trim() == "")
+                        {
+                            oBill.oModel.HParentID = 0;
+                        }
+                        else
+                        {
+                            if (oBill.HavParentCode(sParent.Trim(), oItem.HItemID))
+                            {
+                                oBill.oModel.HParentID = oBill.oModel.HItemID;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "淇濆瓨澶辫触锛佷笂绾т唬鐮佷笉瀛樺湪鎴栬绂佺敤锛�";
+                                objJsonResult.data = 1;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                    */
+                    #endregion
+                    //寰楀埌鐭唬鐮�
+                    string sShortNumber;
+                    sShortNumber = DBUtility.ClsPub.GetShortNumber(oItem.HNumber.Trim());
+                    if (sShortNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺煭浠g爜涓虹┖锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    //oItem.HUSEORGID = Convert.ToInt32(msg_HUSEORGID); //缁勭粐id
+                    oItem.HShortNumber = sShortNumber;//鐭唬鐮�
+                    oItem.HEndFlag = true;//鏈骇鏍囧織
+                    oItem.HLevel = 1; //绛夌骇 DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim())
+                    oBill.oModel = oItem;
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.oModel.HItemID == 0)
+                {
+                    bResult = oBill.AddNew();
+                }
+                else
+                {
+                    bResult = oBill.ModifyByID(oBill.oModel.HItemID);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         //#region  绋庣巼缁勫悎 鍒犻櫎
-        //[Route("Gy_TaxMIX/Delete")]
-        //[HttpGet]
-        //public object Delete(string HItemID, string user)
-        //{
-        //    DataSet ds;
-        //    try
-        //    {
-        //        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-        //        //鍒犻櫎鏉冮檺
-        //        //if (!DBUtility.ClsPub.Security_Log("Gy_TaxRate_Drop", 1, false, user))
-        //        //{
-        //        //    objJsonResult.code = "0";
-        //        //    objJsonResult.count = 0;
-        //        //    objJsonResult.Message = "鏃犲垹闄ゆ潈闄�";
-        //        //    objJsonResult.data = null;
-        //        //    return objJsonResult;
-        //        //}
-        //        if (string.IsNullOrWhiteSpace(HItemID))
-        //        {
-        //            objJsonResult.code = "0";
-        //            objJsonResult.count = 0;
-        //            objJsonResult.Message = "HItemID涓虹┖锛�";
-        //            objJsonResult.data = null;
-        //            return objJsonResult;
-        //        }
-        //        oCN.BeginTran();//寮�濮嬩簨鍔�
-        //        ds = oCN.RunProcReturn("select * from Gy_TaxMIX where HItemID=" + HItemID, "Gy_TaxMIX");
-        //        if (ds == null || ds.Tables[0].Rows.Count == 0)
-        //        {
-        //            objJsonResult.code = "0";
-        //            objJsonResult.count = 0;
-        //            objJsonResult.Message = "娌℃湁鏁版嵁锛屾棤娉曞垹闄わ紒";
-        //            objJsonResult.data = null;
-        //            return objJsonResult; ;
-        //        }
-        //        var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
-        //        if (HStopflag)
-        //        {
-        //            oCN.RollBack();//鍥炴粴浜嬪姟
-        //            objJsonResult.code = "0";
-        //            objJsonResult.count = 0;
-        //            objJsonResult.Message = "鏁版嵁宸茬鐢ㄦ棤娉曞垹闄わ紒";
-        //            objJsonResult.data = null;
-        //            return objJsonResult;
-        //        }
+        [Route("Gy_TaxMIX/Delete")]
+        [HttpGet]
+        public object Delete(string HItemID, string user)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                //鍒犻櫎鏉冮檺
+                //if (!DBUtility.ClsPub.Security_Log("Gy_TaxRate_Drop", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "鏃犲垹闄ゆ潈闄�";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                if (string.IsNullOrWhiteSpace(HItemID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HItemID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+                ds = oCN.RunProcReturn("select * from Gy_TaxMIXMain where HItemID=" + HItemID, "Gy_TaxMIXMain");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏁版嵁锛屾棤娉曞垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult; ;
+                }
+                var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
+                if (HStopflag)
+                {
+                    oCN.RollBack();//鍥炴粴浜嬪姟
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏁版嵁宸茬鐢ㄦ棤娉曞垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
 
-        //        oCN.RunProc("delete from Gy_TaxMIX where HItemID=" + HItemID);
-        //        oCN.Commit();//鎻愪氦浜嬪姟
-        //        objJsonResult.code = "0";
-        //        objJsonResult.count = 1;
-        //        objJsonResult.Message = "* 鏁版嵁鍒犻櫎鎴愬姛锛�";
-        //        objJsonResult.data = null;
-        //        return objJsonResult; ;
+                oCN.RunProc("delete from Gy_TaxMIXMain where HItemID=" + HItemID);
+                oCN.RunProc("delete from Gy_TaxMIXSub where HTaxMixID=" + HItemID);
+                oCN.Commit();//鎻愪氦浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "* 鏁版嵁鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
 
-        //    }
-        //    catch (Exception e)
-        //    {
-        //        objJsonResult.code = "0";
-        //        objJsonResult.count = 0;
-        //        objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
-        //        objJsonResult.data = null;
-        //        return objJsonResult;
-        //    }
-        //}
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍒犻櫎澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
         //#endregion
 
         #region 绋庣巼缁勫悎 閲戣澏鍚屾
@@ -412,5 +417,213 @@
             }
         }
         #endregion
+
+        #region [鍚屾鍩虹璧勬枡]
+        [Route("Gy_TaxMIX/Gy_TaxMIXViewApi")]
+        [HttpGet]
+        public json Gy_TaxMIXViewApi(string Number, string Type)
+        {
+            string sql = string.Empty;
+            string sReturn = "";
+            if (oSystemParameter.ShowBill(ref sReturn) == true)
+            {
+                //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡
+                if (oSystemParameter.omodel.WMS_CloudMode == "Y")
+                {
+                    #region [绉佹湁浜戞ā寮忥紝鐩存帴璋冪敤鏁版嵁搴撳瓨鍌ㄨ繃绋嬫洿鏂癩
+                    try
+                    {
+                        oCN.BeginTran();
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal");
+                        if (DS == null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍩虹璧勬枡鍚屾澶辫触";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "ERP涓笉瀛樺湪璇ヤ唬鐮�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "1";
+                                objJsonResult.count = 1;
+                                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
+                }
+                else
+                {
+                    #region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩
+                    var json = new
+                    {
+                        CreateOrgId = 0,
+                        Number = Number,
+                        Id = ""
+                    };
+                    #region [閲戣澏閮ㄥ垎]
+                    //鐧诲綍閲戣澏
+                    var loginRet = InvokeHelper.Login();
+                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                    //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+                    if (isSuccess < 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = loginRet;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鏌ョ湅 鑾峰彇鏁版嵁                    
+                    var _result = InvokeHelper.View("BD_TAXMIX", JsonConvert.SerializeObject(json));
+                    var _saveObj = JObject.Parse(_result);
+                    //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏绋庣粍鍚堝悓姝ュけ璐sonRoot锛�" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    #endregion
+                    //鑾峰彇鏁版嵁
+                    DataSet Ds;
+                    Ds = oCN.RunProcReturn("select * from Gy_TaxMIXMain where HNumber = '" + Number + "'", "Gy_TaxMIXMain");
+                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
+                    {
+
+                    }
+                    #region [涓昏〃鏁版嵁璧嬪�糫
+                    var jsonData = new
+                    {
+                        HItemID = _saveObj["Result"]["Result"]["Id"],
+                        HNumber = _saveObj["Result"]["Result"]["Number"],
+                        HName = _saveObj["Result"]["Result"]["Name"][0]["Value"],
+                        HShortNumber = _saveObj["Result"]["Result"]["Number"],
+                        HParentID = 0,
+                        HLevel = 1,        
+                        HEndFlag = 1,
+                        HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
+                        HRemark = "CLD-ERP瀵煎叆",
+                        HUseFlag = "宸蹭娇鐢�",
+                        HUSEORGID     = 0,
+                        HCREATEORGID  = 0,               
+                        HMakeEmp      = _saveObj["Result"]["Result"]["CreatorId_Id"],
+                        HMakeTime     = _saveObj["Result"]["Result"]["CreateDate"],
+                        HCheckEmp = _saveObj["Result"]["Result"]["AuditorID_Id"],
+                        HCheckTime = _saveObj["Result"]["Result"]["AuditDate"],
+                        HModifyEmp = _saveObj["Result"]["Result"]["ModifierId_Id"],
+                        HModifyTime = _saveObj["Result"]["Result"]["FModifyDate"],
+                        HStopEmp = _saveObj["Result"]["Result"]["ForbidderID_Id"],
+                        HStopTime = _saveObj["Result"]["Result"]["ForbidDate"]
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Gy_TaxMIXMain where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_TaxMIXMain on";
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆琛�
+                    sql = $@"
+                insert into Gy_TaxMIXMain
+                (HItemID,HNumber,HName,HShortNumber,HParentID,HLevel
+                ,HEndFlag,HStopflag,HRemark,HUseFlag,HUSEORGID,HCREATEORGID
+                ,HMakeEmp,HMakeTime,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HStopEmp,HStopTime)
+                values
+                ({jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
+                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HUSEORGID}',
+                '{jsonData.HCREATEORGID}','{jsonData.HMakeEmp}','{jsonData.HMakeTime}','{jsonData.HCheckEmp}',
+                '{jsonData.HCheckTime}','{jsonData.HModifyEmp}','{jsonData.HModifyTime}','{jsonData.HStopEmp}','{jsonData.HStopTime}')";
+
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_TaxMIXMain off";
+                    oCN.RunProc(sql);
+
+                    #region [瀛愯〃鍙橀噺]
+                    var dataArr = _saveObj["Result"]["Result"]["BD_TAXMIXENTRY"];                  
+                    #endregion
+                  
+                    // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Gy_TaxMIXSub where HTaxMixID = " + jsonData.HItemID;
+                    oCN.RunProc(sql);
+
+                    foreach (var oSub in dataArr)
+                    {
+                        #region [瀛愯〃鏁版嵁璧嬪�糫
+                        var subData = new
+                        {
+                            HItemID = jsonData.HItemID,
+                            HEntryID = oSub["Id"],
+                            HTAXBENCHMARK = oSub["TaxBenchMark_Id"],
+                            FTAXRATEID = oSub["TaxRateID_Id"],
+                            FTAXBENCHMARKCORRVALUE = oSub["TaxBenchMarkCorrValue"],
+                            HTaxMixID = jsonData.HItemID
+                        };
+                        #endregion
+
+                        sql = "set identity_insert Gy_TaxMIXSub on";
+                        oCN.RunProc(sql);
+
+                        //鎻掑叆瀛愯〃
+                        sql = $@"
+                 insert into Gy_TaxMIXSub
+                 (HItemID,HEntryID,HTAXBENCHMARK,FTAXRATEID,FTAXBENCHMARKCORRVALUE,HTaxMixID)
+                 values
+                 ({subData.HItemID},{subData.HEntryID},'{subData.HTAXBENCHMARK}',{subData.FTAXRATEID},'{subData.FTAXBENCHMARKCORRVALUE}',{subData.HTaxMixID})";
+
+                        oCN.RunProc(sql);
+
+                        sql = "set identity_insert Gy_TaxMIXSub off";
+                        oCN.RunProc(sql);
+                    }
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绋庣粍鍚堝悓姝ユ垚鍔燂紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                    #endregion
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍩虹璧勬枡璇诲彇澶辫触锛�";
+                objJsonResult.data = null;
+                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_TaxRateBillController.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_TaxRateBillController.cs"
index 69465ca..2e0fb30 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_TaxRateBillController.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_TaxRateBillController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json;
+锘縰sing DBUtility;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
@@ -13,6 +14,9 @@
 {
     public class Gy_TaxRateBillController : ApiController
     {
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -392,5 +396,176 @@
             }
         }
         #endregion
+
+        #region [鍚屾鍩虹璧勬枡]
+        [Route("Gy_TaxRate/Gy_TaxRateViewApi")]
+        [HttpGet]
+        public json Gy_TaxRateViewApi(string Number, string Type)
+        {
+            string sql = string.Empty;
+            string sReturn = "";
+            if (oSystemParameter.ShowBill(ref sReturn) == true)
+            {
+                //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡
+                if (oSystemParameter.omodel.WMS_CloudMode == "Y")
+                {
+                    #region [绉佹湁浜戞ā寮忥紝鐩存帴璋冪敤鏁版嵁搴撳瓨鍌ㄨ繃绋嬫洿鏂癩
+                    try
+                    {
+                        oCN.BeginTran();
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal");
+                        if (DS == null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍩虹璧勬枡鍚屾澶辫触";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "ERP涓笉瀛樺湪璇ヤ唬鐮�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            else
+                            {
+                                objJsonResult.code = "1";
+                                objJsonResult.count = 1;
+                                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
+                }
+                else
+                {
+                    #region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩
+                    var json = new
+                    {
+                        CreateOrgId = 0,
+                        Number = Number,
+                        Id = ""
+                    };
+                    #region [閲戣澏閮ㄥ垎]
+                    //鐧诲綍閲戣澏
+                    var loginRet = InvokeHelper.Login();
+                    var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                    //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+                    if (isSuccess < 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = loginRet;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鏌ョ湅 鑾峰彇鏁版嵁                    
+                    var _result = InvokeHelper.View("BD_TaxRate", JsonConvert.SerializeObject(json));
+                    var _saveObj = JObject.Parse(_result);
+                    //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+                    if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閲戣澏绋庣巼鍚屾澶辫触jsonRoot锛�" + _result;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    #endregion
+                    //鑾峰彇鏁版嵁
+                    DataSet Ds;
+                    Ds = oCN.RunProcReturn("select * from Gy_TaxRate where HNumber = '" + Number + "'", "Gy_TaxRate");
+                    if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
+                    {
+
+                    }
+                    #region [琛ㄦ暟鎹祴鍊糫
+                    var jsonData = new
+                    {
+                        HItemID = _saveObj["Result"]["Result"]["Id"],
+                        HNumber = _saveObj["Result"]["Result"]["Number"],
+                        HName = _saveObj["Result"]["Result"]["Name"][0]["Value"],
+                        HShortNumber = _saveObj["Result"]["Result"]["Number"],
+                        HParentID = 0,
+                        HLevel = 1,
+                        HEndFlag = 1,
+                        HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
+                        HRemark = "CLD-ERP瀵煎叆",
+                        HUseFlag = "宸蹭娇鐢�",
+                        HTaxRate = _saveObj["Result"]["Result"]["TaxRate"],
+                        HUSEORGID = 0,
+                        HCREATEORGID = 0,
+                        HMakeEmp = _saveObj["Result"]["Result"]["CreatorId_Id"],
+                        HMakeTime = _saveObj["Result"]["Result"]["CreateDate"],
+                        HCheckEmp = _saveObj["Result"]["Result"]["ApproverId_Id"],
+                        HCheckTime = _saveObj["Result"]["Result"]["ApproveDate"],
+                        HModifyEmp = _saveObj["Result"]["Result"]["ModifierId_Id"],
+                        HModifyTime = _saveObj["Result"]["Result"]["FModifyDate"],
+                        HStopEmp = _saveObj["Result"]["Result"]["ForbiderId_Id"],
+                        HStopTime = _saveObj["Result"]["Result"]["ForbidDate"]
+                    };
+                    #endregion
+                    // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+                    sql = $"delete from Gy_TaxRate where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_TaxRate on";
+                    oCN.RunProc(sql);
+
+                    //鎻掑叆琛�
+                    sql = $@"
+                insert into Gy_TaxRate
+                (HItemID,HNumber,HName,HShortNumber,HParentID,HLevel
+                ,HEndFlag,HStopflag,HRemark,HUseFlag,HTaxRate,HUSEORGID,HCREATEORGID
+                ,HMakeEmp,HMakeTime,HCheckEmp,HCheckTime,HModifyEmp,HModifyTime,HStopEmp,HStopTime)             
+                values
+                ({jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
+                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HTaxRate}','{jsonData.HUSEORGID}',
+                '{jsonData.HCREATEORGID}','{jsonData.HMakeEmp}','{jsonData.HMakeTime}','{jsonData.HCheckEmp}',
+                '{jsonData.HCheckTime}','{jsonData.HModifyEmp}','{jsonData.HModifyTime}','{jsonData.HStopEmp}','{jsonData.HStopTime}')";
+
+                    oCN.RunProc(sql);
+
+                    sql = "set identity_insert Gy_TaxRate off";
+                    oCN.RunProc(sql);
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绋庣巼鍚屾鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                    #endregion
+                }
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍩虹璧勬枡璇诲彇澶辫触锛�";
+                objJsonResult.data = null;
+                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\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 a07c887..70d50bf 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"
@@ -189,59 +189,23 @@
             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 閮ㄩ棬" +
-                   ",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 = "鏃犲垪琛ㄤ俊鎭紒";
-                    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;
+                ds = oCN.RunProcReturn("select * from h_v_Gy_ProcPriceList where HItemID = " + HItemID, "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鍒楀璞$殑鍒楀悕
                 }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
             }
             catch (Exception e)
             {
@@ -253,5 +217,203 @@
             }
         }
         #endregion
+
+        #region 宸ュ簭宸ヤ环 鍒犻櫎
+        [Route("Gy_ProcPrice/DelProcPrice")]
+        [HttpGet]
+        public object DelProcPrice(int HInterID, string User)
+        {
+            try
+            {
+                //鍒犻櫎鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_ProcPriceList_Delete", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬垹闄わ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsGy_ProcPrice_Ctl BillNew = new DAL.ClsGy_ProcPrice_Ctl();
+                var sReturn = "";
+                if (BillNew.ShowBill(HInterID, ref sReturn))
+                {
+                    foreach (Model.ClsGy_ProcPrice_Model oSub in BillNew.DetailColl)
+                    {
+                        if (oSub.HChecker.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "褰撳墠鍗曟嵁涓嶈兘鍒犻櫎锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+
+
+                    bool flag = false;
+                    oCN.BeginTran();//寮�鍚簨鍔�
+
+                    flag= BillNew.DeleteByID(HInterID);
+
+                    oCN.Commit();//缁撴潫浜嬪姟
+
+                    if (flag)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎澶辫触锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                }
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "褰撳墠鍗曟嵁涓嶅瓨鍦�,鏃犳硶鍒犻櫎锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();//鍥炴粴浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region [宸ュ簭宸ヤ环瀹℃牳銆佸弽瀹℃牳]
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_ProcPrice/AuditGy_ProcPrice")]
+        [HttpGet]
+        public object AuditGy_ProcPrice(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_ProcPriceList_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                DBUtility.ClsPub.CurUserName = CurUserName;
+                DAL.ClsGy_ProcPrice_Ctl BillNew = new DAL.ClsGy_ProcPrice_Ctl();
+                var sReturn = "";
+                if (BillNew.ShowBill(HInterID, ref sReturn))
+                {
+                    foreach (Model.ClsGy_ProcPrice_Model oSub in BillNew.DetailColl)
+                    {
+                        if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                        {
+                            if (oSub.HChecker.Trim() != "")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
+                        if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                        {
+                            if (oSub.HChecker.Trim() == "")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                foreach (Model.ClsGy_ProcPrice_Model oSub in BillNew.DetailColl)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        //瀹℃牳鎻愪氦
+                        if (BillNew.CheckBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                        {
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳鎴愬姛";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        //鍙嶅鏍告彁浜bandonCheck
+                        if (BillNew.AbandonCheck(HInterID, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                        {
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            objJsonResult.code = "1";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file
diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
index 2339256..3ac7d95 100644
--- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
+++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\347\224\237\344\272\247\344\273\273\345\212\241\345\215\225/Sc_ICMOBillController.cs"
@@ -25,6 +25,7 @@
 
         //鑾峰彇绯荤粺鍙傛暟
         Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+        public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
 
         #region 鐢熶骇浠诲姟鍗� 淇濆瓨/缂栬緫鍔熻兘
         [Route("Sc_ICMOBill/ICMOBillEdit")]
@@ -141,6 +142,9 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //淇敼瀛楁 HSTOCKINORGID
+                oCN.RunProc("update Sc_ICMOBillSub set HSTOCKINORGID=" + HPRDORGID + " where HInterID=" + HInterID);
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -392,6 +396,7 @@
             string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
             int OperationType = int.Parse(sArray[1].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
             string user = sArray[2].ToString();
+            int HEntryID = int.Parse(sArray[3].ToString());
 
             try
             {
@@ -441,15 +446,15 @@
                 else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
                 { //淇敼
                     oCN.RunProc("update Sc_ICMOBillMain  set " +
-                                "HRemark='" + HRemark + "', HChecker='" + HMaker + "', HCheckDate=getdate()" +
+                                "HRemark='" + HRemark + "', HUpDater='" + HMaker + "', HUpDateDate=getdate()" +
                                 ", HSeOrderBillNo='" + HSeOrderBillNo + "', HSeOrderInterID=" + HSeOrderInterID + ", HSeOrderEntryID=" + HSeOrderEntryID + ", HEmpID=" + HEmpID + ", HCusID=" + HCusID + "" +
                                 ", HCenterID=" + HCenterID + ",HBomID=" + HBomID + " where HInterID=" + HInterID);
 
                     //鍒犻櫎瀛愯〃
-                    oCN.RunProc("delete from Sc_ICMOBillSub where HInterID='" + HInterID + "'");
+                    oCN.RunProc("delete from Sc_ICMOBillSub where HInterID='" + HInterID + "' and HEntryID='" + HEntryID + "'");
                 }
                 //淇濆瓨瀛愯〃
-                objJsonResult = AddBillSub_NoTable(msg3, HInterID, OperationType);
+                objJsonResult = AddBillSub_NoTable(msg3, HInterID, OperationType, HEntryID);
 
                 if (objJsonResult.code == "0")
                 {
@@ -476,7 +481,7 @@
             }
         }
 
-        public json AddBillSub_NoTable(string msg3, long HInterID, int OperationType)
+        public json AddBillSub_NoTable(string msg3, long HInterID, int OperationType,int HEntryID)
         {
             ClsSc_ICMOBillSub oSub = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSc_ICMOBillSub>(msg3);
             if (oSub.HQty <= 0 || oSub.HQty == null)
@@ -515,14 +520,14 @@
                 return objJsonResult;
             }
 
-            if (oSub.HBomID == 0)
-            {
-                objJsonResult.code = "0";
-                objJsonResult.count = 0;
-                objJsonResult.Message = "BOM涓嶈兘涓虹┖";
-                objJsonResult.data = null;
-                return objJsonResult;
-            }
+            //if (oSub.HBomID == 0)
+            //{
+            //    objJsonResult.code = "0";
+            //    objJsonResult.count = 0;
+            //    objJsonResult.Message = "BOM涓嶈兘涓虹┖";
+            //    objJsonResult.data = null;
+            //    return objJsonResult;
+            //}
 
             oCN.RunProc($@"Insert into Sc_ICMOBillSub 
                 (HInterID,HENTRYID,HQty
@@ -531,7 +536,7 @@
                 ,HMaterID,HUnitID,HRemark,HSourceID,HDeptID,HSTATUS
                 ,HBomID,HEntryCusID
 				,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney) 
-                 values({HInterID},1,{(oSub.HQty == null ? 0 : oSub.HQty)}
+                 values({HInterID},{HEntryID},{(oSub.HQty == null ? 0 : oSub.HQty)}
                 ,'{(oSub.HPlanBeginDate == null ? DateTime.Now.ToString("yyyy-MM-dd") : oSub.HPlanBeginDate.ToString())}','{(oSub.HPlanEndDate == null ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : oSub.HPlanEndDate.ToString())}'
                 ,'{(oSub.HBeginDate == null ? DateTime.Now.ToString("yyyy-MM-dd") : oSub.HBeginDate.ToString())}','{(oSub.HEndDate == null ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : oSub.HEndDate.ToString())}'
                 ,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{oSub.HSourceID},{oSub.HDeptID},{oSub.HSTATUS}
@@ -547,6 +552,241 @@
         }
         #endregion
 
+        #region 鐢熶骇浠诲姟鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Sc_ICMOBill/CheckSc_ICMOReportBill")]
+        [HttpGet]
+        public object CheckSc_ICMOReportBill(string HInterID,int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                        DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
+                        //if (DBUtility.ClsPub.isInt(DSet.Tables[0].Rows[0]["Hback"]) != 0)
+                        //{
+                        //    objJsonResult.code = "0";
+                        //    objJsonResult.count = 1;
+                        //    objJsonResult.Message = "璇ヤ换鍔″崟宸蹭笅鎺ㄦ祦杞崱锛屼笉鍏佽鍙嶅鏍�" + DBUtility.ClsPub.isStrNull(DSet.Tables[0].Rows[0]["HBackRemark"]);
+                        //    objJsonResult.data = null;
+                        //    return objJsonResult;
+                        //}
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇浠诲姟鍗曞叧闂�/鍙嶅叧闂姛鑳�
+        [Route("Sc_ICMOBill/CloseSc_ICMOReportBill")]
+        [HttpGet]
+        public object CloseSc_ICMOReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (!BillOld.CancelClose(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇浠诲姟鍗曚綔搴�/鍙嶄綔搴熷姛鑳�
+        [Route("Sc_ICMOBill/CancellSc_ICMOReportBill")]
+        [HttpGet]
+        public object CancellSc_ICMOReportBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    if (!BillOld.Cancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (!BillOld.AbandonCancelltion(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         #region 鐢熶骇浠诲姟鍗曞垹闄ゅ姛鑳�
         [Route("Sc_ICMOBill/DeltetSc_ICMOReportBill")]
         [HttpGet]
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index 2e51f32..5b08958 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -1502,6 +1502,24 @@
             return list;
         }
 
+        ///宸ュ簭杩斿伐鐢宠鍗� 涓昏〃
+        ///ClsSc_ProcExchWorkBackBillMain
+        public List<Model.ClsSc_ProcExchWorkBackBillMain> getObjectByJson_ClsSc_ProcExchWorkBackBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSc_ProcExchWorkBackBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcExchWorkBackBillMain>>(jsonString);
+            return list;
+        }
+
+        ///宸ュ簭杩斿伐鐢宠鍗� 瀛愯〃
+        ///ClsSb_EquipStockInCheckBillSub
+        public List<Model.ClsSc_ProcExchWorkBackBillSub> getObjectByJson_ClsSc_ProcExchWorkBackBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSc_ProcExchWorkBackBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_ProcExchWorkBackBillSub>>(jsonString);
+            return list;
+        }
+
         ///璁惧鎶曚骇妫�楠岄獙鏀跺崟 瀛愯〃
         ///ClsSb_EquipWorkBeforeCheckBillSub
         public List<Model.ClsSb_EquipWorkBeforeCheckBillSub> getObjectByJson_ClsSb_EquipWorkBeforeCheckBillSub(string jsonString)
@@ -2180,6 +2198,18 @@
         }
 
         /// <summary>
+        /// 鐢ㄦ埛宸ュ簭鍏崇郴淇℃伅琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Models.Gy_UserProcess> getObjectByJson_Gy_UserProcess(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Models.Gy_UserProcess> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.Gy_UserProcess>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
         /// 鐢ㄦ埛-鐢ㄦ埛鍏崇郴淇℃伅琛ㄧ殑json
         /// </summary>
         /// <param name="jsonString"></param>
diff --git a/WebAPI/Models/ClsGy_SupMaterial.cs b/WebAPI/Models/ClsGy_SupMaterial.cs
new file mode 100644
index 0000000..9e696fc
--- /dev/null
+++ b/WebAPI/Models/ClsGy_SupMaterial.cs
@@ -0,0 +1,25 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class ClsGy_SupMaterial
+    {
+        public long HMaterIDCol { get; set; }
+        public long HPackTypeIDCol { get; set; }
+        public long HSupIDCol { get; set; }
+        public decimal HMinQtyCol { get; set; }
+        public decimal HBagQtyCol { get; set; }
+
+        public DateTime HBeginDateCol { get; set; }
+
+        public DateTime HEndDateCol { get; set; }
+
+        public string HMaker { get; set; }
+
+        public string HRemarkCol { get; set; }
+        public long HItemID { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/Gy_RoutingBillSub.cs b/WebAPI/Models/Gy_RoutingBillSub.cs
index 4547697..4d4634f 100644
--- a/WebAPI/Models/Gy_RoutingBillSub.cs
+++ b/WebAPI/Models/Gy_RoutingBillSub.cs
@@ -65,5 +65,10 @@
         public string HProcCheckNote = "";        // varchar(2000)  鏈伐搴忕‘璁よ褰�
         public string HProcWorkNum = "";        // varchar(100)  绋嬪簭鍙�
 
+        //鐟炵惇鏂板姞瀛楁
+        public int HBadWHID { get; set; }  //涓嶈壇鍝佷粨
+        public int HWasterWHID { get; set; } //鎶ュ簾浠�
+        public int HWHID { get; set; }  //鑹搧浠�
+
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Models/Gy_UserProcess.cs b/WebAPI/Models/Gy_UserProcess.cs
new file mode 100644
index 0000000..f53a3a1
--- /dev/null
+++ b/WebAPI/Models/Gy_UserProcess.cs
@@ -0,0 +1,14 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class Gy_UserProcess
+    {
+        public int HProcID { get; set; }
+        public string HProcNumber { get; set; }
+        public string HProcName { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index fbdb912..8719e11 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -402,8 +402,10 @@
     <Compile Include="Controllers\CJGL\Cj_StationOutBillController.cs" />
     <Compile Include="Controllers\CJGL\Cj_StationInBillController.cs" />
     <Compile Include="Controllers\CJGL\Cj_StationEntrustOutBillController.cs" />
+    <Compile Include="Controllers\CJGL\Sc_ProcExchWorkBackBillController.cs" />
     <Compile Include="Controllers\CJGL\Sc_WorkBillAutoSortBillMainController.cs" />
     <Compile Include="Controllers\Gy_MateMouldController.cs" />
+    <Compile Include="Controllers\Gy_StdMinPickQtyController.cs" />
     <Compile Include="Controllers\MJGL\Sc_MouldDotCheckRuleBillController.cs" />
     <Compile Include="Controllers\MJGL\Sc_MouldLifeUseBillController.cs" />
     <Compile Include="Controllers\MJGL\Sc_MouldScrapRequestBillController.cs" />
@@ -475,6 +477,7 @@
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_DutyBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_EquipStatusController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_MatePriceSupController.cs" />
+    <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_MaterTypeBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_MouldStatusController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_OperatorController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_PaymentConditionListBillController.cs" />
@@ -616,11 +619,13 @@
     <Compile Include="InvokeHelper.cs" />
     <Compile Include="Log.cs" />
     <Compile Include="Models\ClsGy_MateMould.cs" />
+    <Compile Include="Models\ClsGy_SupMaterial.cs" />
     <Compile Include="Models\ClsSc_AssemblyBillMain.cs" />
     <Compile Include="Models\ClsSc_AssemblyBillSub.cs" />
     <Compile Include="Models\Employee.cs" />
     <Compile Include="Models\Gy_UserCustomer.cs" />
     <Compile Include="Models\Gy_UserMater.cs" />
+    <Compile Include="Models\Gy_UserProcess.cs" />
     <Compile Include="Models\Gy_UserUser.cs" />
     <Compile Include="Models\JIT_Cg_PODemandPlanBillMain.cs" />
     <Compile Include="Models\JIT_Cg_PODemandPlanBillSub.cs" />
@@ -936,6 +941,7 @@
     <Folder Include="Views\Gy_ICBomBill\" />
     <Folder Include="Views\Gy_MateMould\" />
     <Folder Include="Views\Gy_MatePriceSup\" />
+    <Folder Include="Views\Gy_MaterTypeBill\" />
     <Folder Include="Views\Gy_MouldStatus\" />
     <Folder Include="Views\Gy_Operator\" />
     <Folder Include="Views\Gy_PackType\" />
@@ -946,6 +952,7 @@
     <Folder Include="Views\Gy_SettleStyle\" />
     <Folder Include="Views\Gy_SOPBill\" />
     <Folder Include="Views\Gy_Staff\" />
+    <Folder Include="Views\Gy_StdMinPickQty\" />
     <Folder Include="Views\Gy_StockPlace_\" />
     <Folder Include="Views\Gy_StockStatusBill\" />
     <Folder Include="Views\Gy_SupplierContactBill\" />
@@ -988,6 +995,7 @@
     <Folder Include="Views\Sc_MouldRepairSendWorkBill\" />
     <Folder Include="Views\Sc_MouldScrapRequestBill\" />
     <Folder Include="Views\Sc_MouldStatusChangeBill\" />
+    <Folder Include="Views\Sc_ProcessExchangeIssueBill\" />
     <Folder Include="Views\Sc_WorkBillAutoSortBillMain\" />
     <Folder Include="Views\Sc_WorkBillSortBill\" />
     <Folder Include="Views\Sc_WorkDemandPlanBill\" />

--
Gitblit v1.9.1