From 55ca1f48f8eb892c5dc998b6e705af25c331f742 Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期六, 24 五月 2025 10:46:14 +0800
Subject: [PATCH] 1

---
 WebAPI/WebAPI.csproj.user                                                   |    2 
 DBUtility/bin/Release/Pub_Class.dll                                         |    0 
 WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckBillController.cs                | 1197 +++++++
 Model/bin/Release/Pub_Control.pdb                                           |    0 
 sdk_dingding/TopSdk/obj/Release/TopSdk.pdb                                  |    0 
 Model/bin/Release/Pub_Class.pdb                                             |    0 
 WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckRuleBillController.cs            | 1163 +++++++
 WebAPI/Models/ClsGy_Material_Model.cs                                       |    4 
 sdk_dingding/TopSdk/obj/Release/TopSdk.dll                                  |    0 
 sdk_dingding/TopSdk/bin/Release/TopSdk.dll                                  |    0 
 Model/obj/Release/Model.pdb                                                 |    0 
 BLL/bin/Release/BLL.pdb                                                     |    0 
 DBUtility/obj/Release/DBUtility.Xt_CheckFlow.resources                      |    0 
 SyntacticSugar/obj/Release/SyntacticSugar.csproj.FileListAbsolute.txt       |    5 
 DAL/基础资料/公用基础资料/ClsGy_PatrolCheckItemMethod_Ctl.cs                          |   98 
 Model/bin/Release/Pub_Control.dll                                           |    0 
 Pub_Control/bin/Release/Pub_Class.pdb                                       |    0 
 WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs             |    2 
 sdk_dingding/TopSdk/bin/Release/TopSdk.pdb                                  |    0 
 WebAPI/ListModels.cs                                                        |  125 
 WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBillController.cs          |   48 
 Pub_Control/bin/Release/Pub_Class.dll                                       |    0 
 WebAPI/WebAPI.csproj                                                        |   13 
 WebAPI/Models/Sc_WorkBillSortBillMain.cs                                    |    1 
 BLL/bin/Release/Pub_Control.pdb                                             |    0 
 DBUtility/obj/Release/DBUtility.Xt_CheckFlowList.resources                  |    0 
 Pub_Control/bin/Release/Pub_Control.dll                                     |    0 
 BLL/bin/Release/DBUtility.pdb                                               |    0 
 DAL/bin/Release/SQLHelper.dll                                               |    0 
 Model/bin/Release/DBUtility.pdb                                             |    0 
 SQLHelper/bin/Release/SQLHelper.dll                                         |    0 
 Model/Model.csproj                                                          |    6 
 BLL/bin/Release/Pub_Control.dll                                             |    0 
 WebAPI/Models/ClsSb_EquipPatrolCheckRuleBillMain.cs                         |   18 
 DAL/bin/Release/SQLHelper.pdb                                               |    0 
 DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache               |    0 
 WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs                 |    8 
 SQLHelper/bin/Release/SQLHelper.pdb                                         |    0 
 DBUtility/obj/Release/DBUtility.pdb                                         |    0 
 Model/bin/Release/DBUtility.dll                                             |    0 
 BLL/bin/Release/DBUtility.dll                                               |    0 
 DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache            |    0 
 BLL/bin/Release/BLL.dll                                                     |    0 
 Pub_Control/bin/Release/Pub_Control.pdb                                     |    0 
 DBUtility/obj/Release/DBUtility.dll                                         |    0 
 Model/obj/Release/Model.dll                                                 |    0 
 WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckPlanBillController.cs            |  845 +++++
 BLL/bin/Release/Pub_Class.dll                                               |    0 
 DBUtility/bin/Release/SQLHelper.dll                                         |    0 
 Model/obj/Release/Model.csproj.AssemblyReference.cache                      |    0 
 DBUtility/bin/Release/SQLHelper.pdb                                         |    0 
 DBUtility/obj/Release/DBUtility.Xt_BillType.resources                       |    0 
 Model/bin/Release/Pub_Class.dll                                             |    0 
 Model/生产管理/设备管理/ClsSb_EquipPatrolCheckBillMain.cs                           |   29 
 WebAPI/Controllers/基础资料/基础资料/Gy_PatrolCheckItemClassController.cs           |  653 ++++
 BLL/bin/Release/Pub_Class.pdb                                               |    0 
 Model/生产管理/设备管理/ClsSb_EquipPatrolCheckPlanBillSub.cs                        |   27 
 SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt         |    6 
 WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user                         |   42 
 BLL/bin/Release/DAL.dll                                                     |    0 
 BLL/bin/Release/SQLHelper.pdb                                               |    0 
 DAL/bin/Release/DBUtility.dll                                               |    0 
 DAL/bin/Release/Pub_Control.dll                                             |    0 
 DBUtility/bin/Release/Pub_Control.pdb                                       |    0 
 BLL/bin/Release/SQLHelper.dll                                               |    0 
 DAL/bin/Release/DBUtility.pdb                                               |    0 
 DAL/bin/Release/Model.dll                                                   |    0 
 DAL/生产管理/设备管理/ClsSb_EquipPatrolCheckBill.cs                                 |  348 ++
 SyntacticSugar/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs |    4 
 WebAPI/Properties/PublishProfiles/FolderProfile1.pubxml.user                |  166 
 DBUtility/bin/Release/Pub_Control.dll                                       |    0 
 Model/bin/Release/SQLHelper.pdb                                             |    0 
 DAL/bin/Release/Pub_Control.pdb                                             |    0 
 DAL/bin/Release/DAL.pdb                                                     |    0 
 SQLHelper/obj/Release/SQLHelper.dll                                         |    0 
 WebAPI/Controllers/SCGL/Sc_RepairCodeBindingController.cs                   |  109 
 WebAPI/Models/ClsSb_EquipPatrolCheckBillMain.cs                             |   27 
 Model/ClsGy_PatrolCheckItemMethod_Model.cs                                  |   13 
 BLL/bin/Release/Model.dll                                                   |    0 
 BLL/bin/Release/DAL.pdb                                                     |    0 
 WebAPI/Models/Supplier.cs                                                   |    2 
 WebAPI/Dapper/SqlHelper.cs                                                  |    2 
 BLL/bin/Release/Model.pdb                                                   |    0 
 DAL/bin/Release/DAL.dll                                                     |    0 
 DAL/bin/Release/Model.pdb                                                   |    0 
 Model/基础资料/基础资料/ClsGy_DotCheckItemClass_Model.cs                            |    1 
 Model/生产管理/设备管理/ClsSb_EquipPatrolCheckPlanBillMain.cs                       |   22 
 SQLHelper/obj/Release/SQLHelper.pdb                                         |    0 
 DBUtility/bin/Release/DBUtility.pdb                                         |    0 
 DBUtility/bin/Release/DBUtility.dll                                         |    0 
 sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.CoreCompileInputs.cache       |    1 
 WebAPI/Controllers/Sc_MouldRepairInBillListController.cs                    |    2 
 WebAPI/Controllers/WebAPIController.cs                                      |   50 
 DBUtility/obj/Release/DBUtility.csproj.AssemblyReference.cache              |    0 
 Model/基础资料/基础资料/ClsGy_PatrolCheckItemClass_Model.cs                         |   11 
 WebAPI/Controllers/BaseSet/Gy_CustomerController.cs                         |  115 
 DAL/DAL.csproj                                                              |    4 
 WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBill_TKController.cs       |  400 ++
 WebAPI/Models/ClsGy_PatrolCheck.cs                                          |   27 
 Pub_Class/bin/Release/Pub_Class.pdb                                         |    0 
 DAL/基础资料/公用基础资料/ClsGy_PatrolCheckItemClass_Ctl.cs                           |   97 
 SyntacticSugar/obj/Release/SyntacticSugar.dll                               |    0 
 WebAPI/Controllers/BaseSet/Gy_MaterialController.cs                         |  314 ++
 WebAPI/DLL/ClsGy_CusType_Ctl.cs                                             |    1 
 SQLHelper/bin/Release/Pub_Class.pdb                                         |    0 
 Model/生产管理/设备管理/ClsSb_EquipPatrolCheckBillSub.cs                            |   34 
 Pub_Class/bin/Release/Pub_Class.dll                                         |    0 
 SyntacticSugar/obj/Release/SyntacticSugar.pdb                               |    0 
 DBUtility/obj/Release/DBUtility.Xt_CheckItem.resources                      |    0 
 SQLHelper/obj/Release/SQLHelper.csproj.AssemblyReference.cache              |    0 
 WebAPI/Controllers/BaseSet/Gy_SupplierController.cs                         |   61 
 DBUtility/obj/Release/DBUtility.Gy_UserSelect.resources                     |    0 
 SQLHelper/bin/Release/Pub_Class.dll                                         |    0 
 DAL/bin/Release/Pub_Class.pdb                                               |    0 
 WebAPI/Controllers/基础资料/基础资料/Gy_PatrolCheckBillController.cs                | 1224 ++++++++
 WebAPI/Controllers/基础资料/基础资料/Gy_PatrolCheckItemMethodController.cs          |  654 ++++
 SyntacticSugar/obj/Release/SyntacticSugar.csproj.CoreCompileInputs.cache    |    1 
 WebAPI/DLL/ClsSb_EquipPatrolCheckRuleBill.cs                                |  276 +
 WebAPI/DLL/ClsSb_EquipPatrolCheckBill.cs                                    |  343 ++
 sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.FileListAbsolute.txt          |    5 
 WebAPI/Models/ClsSb_EquipPatrolCheckRuleBillSub.cs                          |   19 
 DAL/生产管理/设备管理/ClsSb_EquipPatrolCheckPlanBill.cs                             |  336 ++
 Model/bin/Release/Model.pdb                                                 |    0 
 WebAPI/Models/ClsSb_EquipPatrolCheckBillSub.cs                              |   34 
 DAL/bin/Release/Pub_Class.dll                                               |    0 
 DBUtility/obj/Release/DBUtility.Xt_CheckUserRight.resources                 |    0 
 Model/bin/Release/Model.dll                                                 |    0 
 /dev/null                                                                   |    0 
 DBUtility/bin/Release/Pub_Class.pdb                                         |    0 
 Model/bin/Release/SQLHelper.dll                                             |    0 
 WebAPI/Controllers/BLL/Xt_SystemParameterController.cs                      |   38 
 WebAPI/DLL/ClsGy_Material_Ctl.cs                                            |   56 
 132 files changed, 8,968 insertions(+), 121 deletions(-)

diff --git a/BLL/bin/Release/BLL.dll b/BLL/bin/Release/BLL.dll
index cdda356..3383bfc 100644
--- a/BLL/bin/Release/BLL.dll
+++ b/BLL/bin/Release/BLL.dll
Binary files differ
diff --git a/BLL/bin/Release/BLL.pdb b/BLL/bin/Release/BLL.pdb
index aed8b49..6bb253e 100644
--- a/BLL/bin/Release/BLL.pdb
+++ b/BLL/bin/Release/BLL.pdb
Binary files differ
diff --git a/BLL/bin/Release/DAL.dll b/BLL/bin/Release/DAL.dll
index 20219d0..a962ea6 100644
--- a/BLL/bin/Release/DAL.dll
+++ b/BLL/bin/Release/DAL.dll
Binary files differ
diff --git a/BLL/bin/Release/DAL.pdb b/BLL/bin/Release/DAL.pdb
index adb3236..5c3dba6 100644
--- a/BLL/bin/Release/DAL.pdb
+++ b/BLL/bin/Release/DAL.pdb
Binary files differ
diff --git a/BLL/bin/Release/DBUtility.dll b/BLL/bin/Release/DBUtility.dll
index dc782c4..1f7c395 100644
--- a/BLL/bin/Release/DBUtility.dll
+++ b/BLL/bin/Release/DBUtility.dll
Binary files differ
diff --git a/BLL/bin/Release/DBUtility.pdb b/BLL/bin/Release/DBUtility.pdb
index d4ae4d5..4ba3c0f 100644
--- a/BLL/bin/Release/DBUtility.pdb
+++ b/BLL/bin/Release/DBUtility.pdb
Binary files differ
diff --git a/BLL/bin/Release/Model.dll b/BLL/bin/Release/Model.dll
index badca3e..3f9113a 100644
--- a/BLL/bin/Release/Model.dll
+++ b/BLL/bin/Release/Model.dll
Binary files differ
diff --git a/BLL/bin/Release/Model.pdb b/BLL/bin/Release/Model.pdb
index c86227b..af83925 100644
--- a/BLL/bin/Release/Model.pdb
+++ b/BLL/bin/Release/Model.pdb
Binary files differ
diff --git a/BLL/bin/Release/Pub_Class.dll b/BLL/bin/Release/Pub_Class.dll
index 0782b0a..b4fc345 100644
--- a/BLL/bin/Release/Pub_Class.dll
+++ b/BLL/bin/Release/Pub_Class.dll
Binary files differ
diff --git a/BLL/bin/Release/Pub_Class.pdb b/BLL/bin/Release/Pub_Class.pdb
index 9ce9a59..5616831 100644
--- a/BLL/bin/Release/Pub_Class.pdb
+++ b/BLL/bin/Release/Pub_Class.pdb
Binary files differ
diff --git a/BLL/bin/Release/Pub_Control.dll b/BLL/bin/Release/Pub_Control.dll
index a1fcd8d..3ff1dab 100644
--- a/BLL/bin/Release/Pub_Control.dll
+++ b/BLL/bin/Release/Pub_Control.dll
Binary files differ
diff --git a/BLL/bin/Release/Pub_Control.pdb b/BLL/bin/Release/Pub_Control.pdb
index feb6d4d..bd0ff83 100644
--- a/BLL/bin/Release/Pub_Control.pdb
+++ b/BLL/bin/Release/Pub_Control.pdb
Binary files differ
diff --git a/BLL/bin/Release/SQLHelper.dll b/BLL/bin/Release/SQLHelper.dll
index 965e083..8631058 100644
--- a/BLL/bin/Release/SQLHelper.dll
+++ b/BLL/bin/Release/SQLHelper.dll
Binary files differ
diff --git a/BLL/bin/Release/SQLHelper.pdb b/BLL/bin/Release/SQLHelper.pdb
index 60e8ba8..807d64b 100644
--- a/BLL/bin/Release/SQLHelper.pdb
+++ b/BLL/bin/Release/SQLHelper.pdb
Binary files differ
diff --git a/DAL/DAL.csproj b/DAL/DAL.csproj
index 510bc72..637e2b0 100644
--- a/DAL/DAL.csproj
+++ b/DAL/DAL.csproj
@@ -80,6 +80,8 @@
   <ItemGroup>
     <Compile Include="APS\ClsSc_WorkBillMonthSortBill.cs" />
     <Compile Include="APS\ClsSc_ICMOChangeBill.cs" />
+    <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_PatrolCheckItemMethod_Ctl.cs" />
+    <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_PatrolCheckItemClass_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_MaintainClass_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_RepairClass_Ctl.cs" />
     <Compile Include="鍩虹璧勬枡\鍏敤鍩虹璧勬枡\ClsGy_RepairCheckClass_Ctl.cs" />
@@ -101,6 +103,8 @@
     <Compile Include="婧愬崟\InterFace婧愬崟\Cls_S_IF_ICMOReportBillList_CusBarCodeBill.cs" />
     <Compile Include="鐢熶骇绠$悊\鎺掍骇瑙i攣鐢宠鍗昞ClsJIT_UnLockRequestBill.cs" />
     <Compile Include="鐢熶骇绠$悊\鎺掍骇閿佸畾鐢宠鍗昞ClsJIT_LockRequestBill.cs" />
+    <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipPatrolCheckPlanBill.cs" />
+    <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipPatrolCheckBill.cs" />
     <Compile Include="绯荤粺鍏敤\ClsXt_DefineBillMainSet.cs" />
     <Compile Include="璁″垝绠$悊\ClsGy_SourceMouldBillMain.cs" />
     <Compile Include="璐ㄦ绠$悊\ClsQC_EnvironmentTestDotCheckBillMain.cs" />
diff --git a/DAL/bin/Release/DAL.dll b/DAL/bin/Release/DAL.dll
index 20219d0..a962ea6 100644
--- a/DAL/bin/Release/DAL.dll
+++ b/DAL/bin/Release/DAL.dll
Binary files differ
diff --git a/DAL/bin/Release/DAL.pdb b/DAL/bin/Release/DAL.pdb
index adb3236..5c3dba6 100644
--- a/DAL/bin/Release/DAL.pdb
+++ b/DAL/bin/Release/DAL.pdb
Binary files differ
diff --git a/DAL/bin/Release/DBUtility.dll b/DAL/bin/Release/DBUtility.dll
index dc782c4..1f7c395 100644
--- a/DAL/bin/Release/DBUtility.dll
+++ b/DAL/bin/Release/DBUtility.dll
Binary files differ
diff --git a/DAL/bin/Release/DBUtility.pdb b/DAL/bin/Release/DBUtility.pdb
index d4ae4d5..4ba3c0f 100644
--- a/DAL/bin/Release/DBUtility.pdb
+++ b/DAL/bin/Release/DBUtility.pdb
Binary files differ
diff --git a/DAL/bin/Release/Model.dll b/DAL/bin/Release/Model.dll
index badca3e..3f9113a 100644
--- a/DAL/bin/Release/Model.dll
+++ b/DAL/bin/Release/Model.dll
Binary files differ
diff --git a/DAL/bin/Release/Model.pdb b/DAL/bin/Release/Model.pdb
index c86227b..af83925 100644
--- a/DAL/bin/Release/Model.pdb
+++ b/DAL/bin/Release/Model.pdb
Binary files differ
diff --git a/DAL/bin/Release/Pub_Class.dll b/DAL/bin/Release/Pub_Class.dll
index 0782b0a..b4fc345 100644
--- a/DAL/bin/Release/Pub_Class.dll
+++ b/DAL/bin/Release/Pub_Class.dll
Binary files differ
diff --git a/DAL/bin/Release/Pub_Class.pdb b/DAL/bin/Release/Pub_Class.pdb
index 9ce9a59..5616831 100644
--- a/DAL/bin/Release/Pub_Class.pdb
+++ b/DAL/bin/Release/Pub_Class.pdb
Binary files differ
diff --git a/DAL/bin/Release/Pub_Control.dll b/DAL/bin/Release/Pub_Control.dll
index a1fcd8d..3ff1dab 100644
--- a/DAL/bin/Release/Pub_Control.dll
+++ b/DAL/bin/Release/Pub_Control.dll
Binary files differ
diff --git a/DAL/bin/Release/Pub_Control.pdb b/DAL/bin/Release/Pub_Control.pdb
index feb6d4d..bd0ff83 100644
--- a/DAL/bin/Release/Pub_Control.pdb
+++ b/DAL/bin/Release/Pub_Control.pdb
Binary files differ
diff --git a/DAL/bin/Release/SQLHelper.dll b/DAL/bin/Release/SQLHelper.dll
index 965e083..8631058 100644
--- a/DAL/bin/Release/SQLHelper.dll
+++ b/DAL/bin/Release/SQLHelper.dll
Binary files differ
diff --git a/DAL/bin/Release/SQLHelper.pdb b/DAL/bin/Release/SQLHelper.pdb
index 60e8ba8..807d64b 100644
--- a/DAL/bin/Release/SQLHelper.pdb
+++ b/DAL/bin/Release/SQLHelper.pdb
Binary files differ
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_PatrolCheckItemClass_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_PatrolCheckItemClass_Ctl.cs"
new file mode 100644
index 0000000..81cf3a1
--- /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_PatrolCheckItemClass_Ctl.cs"
@@ -0,0 +1,97 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public class ClsGy_PatrolCheckItemClass_Ctl:DBUtility.ClsGy_Base_Ctl 
+    {
+        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); 
+        //鍘熶唬鐮� 鐢ㄤ簬 鏇挎崲瀛愰」鐩�
+        public string HOldNumber;
+        public Model.ClsGy_PatrolCheckItemClass_Model oModel = new Model.ClsGy_PatrolCheckItemClass_Model();
+        //鏂板
+        public override bool AddNew()
+        {            
+            try
+            {
+                oCn.BeginTran();
+                oCn.RunProc("Insert into Gy_PatrolCheckItemClass (" +
+                    "HNumber,HName,HHelpCode,HShortNumber,HParentID" +
+                    ",HLevel,HEndFlag,HStopflag,HRemark" +
+                    ",HMakeTime,HMakeEmp,HCREATEORGID,HUSEORGID) " +
+                    " 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 + "',getdate()" + ",'" + oModel.HMakeEmp + "'," + oModel.HCREATEORGID + "," + oModel.HUSEORGID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                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);
+            }
+        }
+
+        //淇敼
+        public override bool ModifyByID(Int64 sItemID)
+        {
+            try
+            {
+                oCn.BeginTran();
+                oCn.RunProc("Update " + MvarItemKey + " set " +
+                    " HNumber='" + oModel.HNumber + "'" +
+                    ",HName='" + oModel.HName + "'" +
+                    ",HShortNumber='" + oModel.HShortNumber + "'" +
+                    ",HParentID=" + oModel.HParentID.ToString() +
+                    ",HLevel=" + oModel.HLevel.ToString() +
+                    ",HEndflag=" + Convert.ToString(oModel.HEndFlag ? 1 : 0) +
+                    ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
+                    ",HRemark= '" + oModel.HRemark + "'" +
+                    ",HHelpCode='" + oModel.HHelpCode + "'" +                   
+                     " Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇敼瀛愰」鐩唬鐮�
+                oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
+                //灏嗕笂绾� 涓洪潪鏈骇
+                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_PatrolCheckItemClass_Ctl()
+        {
+            MvarItemKey = "Gy_PatrolCheckItemClass";
+            MvarReportTitle = "宸℃椤圭洰鍒嗙被";
+            oModel = new Model.ClsGy_PatrolCheckItemClass_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_PatrolCheckItemMethod_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_PatrolCheckItemMethod_Ctl.cs"
new file mode 100644
index 0000000..c644052
--- /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_PatrolCheckItemMethod_Ctl.cs"
@@ -0,0 +1,98 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public class ClsGy_PatrolCheckItemMethod_Ctl:DBUtility.ClsGy_Base_Ctl 
+    {
+        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); 
+        //鍘熶唬鐮� 鐢ㄤ簬 鏇挎崲瀛愰」鐩�
+        public string HOldNumber;
+        public Model.ClsGy_PatrolCheckItemMethod_Model oModel = new Model.ClsGy_PatrolCheckItemMethod_Model();
+        //鏂板
+        public override bool AddNew()
+        {
+
+            try
+            {
+                oCn.BeginTran();
+                oCn.RunProc("Insert into Gy_PatrolCheckItemMethod (" +
+                    "HNumber,HName,HHelpCode,HShortNumber,HParentID" +
+                    ",HLevel,HEndFlag,HStopflag,HRemark" +
+                    ",HMakeTime,HMakeEmp,HCREATEORGID,HUSEORGID) " +
+                    " 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 + "','" + oModel.HMakeTime + "','" + oModel.HMakeEmp + "'," + oModel.HCREATEORGID + "," + oModel.HUSEORGID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                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);
+            }
+        }
+
+        //淇敼
+        public override bool ModifyByID(Int64 sItemID)
+        {
+            try
+            {
+                oCn.BeginTran();
+                oCn.RunProc("Update " + MvarItemKey + " set " +
+                    " HNumber='" + oModel.HNumber + "'" +
+                    ",HName='" + oModel.HName + "'" +
+                    ",HShortNumber='" + oModel.HShortNumber + "'" +
+                    ",HParentID=" + oModel.HParentID.ToString() +
+                    ",HLevel=" + oModel.HLevel.ToString() +
+                    ",HEndflag=" + Convert.ToString(oModel.HEndFlag ? 1 : 0) +
+                    ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
+                    ",HRemark= '" + oModel.HRemark + "'" +
+                    ",HHelpCode='" + oModel.HHelpCode + "'" +
+                    " Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇敼瀛愰」鐩唬鐮�
+                oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
+                //灏嗕笂绾� 涓洪潪鏈骇
+                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_PatrolCheckItemMethod_Ctl()
+        {
+            MvarItemKey = "Gy_PatrolCheckItemMethod";
+            MvarReportTitle = "宸℃鏂规硶";
+            oModel = new Model.ClsGy_PatrolCheckItemMethod_Model();
+        } 
+    }
+}
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBill.cs"
new file mode 100644
index 0000000..4a92dd2
--- /dev/null
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBill.cs"
@@ -0,0 +1,348 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsSb_EquipPatrolCheckBill:DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsSb_EquipPatrolCheckBillMain omodel = new Model.ClsSb_EquipPatrolCheckBillMain();
+        public List<Model.ClsSb_EquipPatrolCheckBillSub> DetailColl = new List<Model.ClsSb_EquipPatrolCheckBillSub>();
+
+        public ClsSb_EquipPatrolCheckBill()
+        {
+            base.MvarItemKeySub = "Sb_EquipPatrolCheckBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey="Sb_EquipPatrolCheckBillMain";
+            base.MvarReportTitle="璁惧宸℃璁板綍";
+            base.BillType = "5014";
+            base.HBillSubType = "5014";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsSb_EquipPatrolCheckBill()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipPatrolCheckBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Sb_EquipPatrolCheckBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                //",HDate='" + omodel.HDate + "'" +
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HEquipID=" + omodel.HEquipID.ToString() +
+                ",HBeginDate='" + omodel.HBeginDate + "'" +
+                ",HEndDate='" + omodel.HEndDate+"'" +
+                ",HPlanNo='" + omodel.HPlanNo + "'" +
+                ",HExplanation='" + omodel.HExplanation+"'" +
+                ",HInnerBillNo='" + omodel.HInnerBillNo+"'" +
+                ",HEquipPatrolCheckRuleInterID="+omodel.HEquipPatrolCheckRuleInterID+
+                ",HLastResult='" + omodel.HLastResult + "'" +
+                ",HErrNote='" + omodel.HErrNote + "'" +
+                ",HBigSafeNote='" + omodel.HBigSafeNote + "'" +
+                ",HShiftsID=" + omodel.HShiftsID +
+                ",HPatrolCheckNote='" + omodel.HPatrolCheckNote + "'" +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsSb_EquipPatrolCheckBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sb_EquipPatrolCheckBillSub " +
+                     " (HInterID,HEntryID," +
+                     "HCloseMan,HEntryCloseDate,HCloseType,HRemark," +
+                     "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney," +
+                     "HPatrolCheckItemID,HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                     "HManagerID,HPatrolCheckItemClassID,HPatrolCheckItemMethodID,HPatrolCheckResult" +
+                     ") values("
+                     + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
+                     ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
+                     "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                     ",'" + oSub.HPatrolCheckItemID + "','" + oSub.HPatrolCheckItem + "','" + oSub.HPatrolCheckPart + "','" + oSub.HClaim +
+                     "'," + oSub.HManagerID.ToString() + "," + oSub.HPatrolCheckItemClassID + "," + oSub.HPatrolCheckItemMethodID + ",'" + oSub.HPatrolCheckResult + "'" +
+                     ") ");
+                }
+                //
+                //foreach (Model.ClsSb_EquipPatrolCheckBillSub oSub in DetailColl)
+                //{
+                //    Ds = oCn.RunProcReturn("exec h_p_Sb_EquipPatrolCheckBill_Qty " + oSub.HICMOInterID, "");
+                //    if (Ds.Tables[0].Rows.Count == 0)
+                //        return;
+                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
+                //    {
+                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
+                //        return false;
+                //    }
+                //}
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipPatrolCheckBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+
+
+                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);
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipPatrolCheckBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+
+
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("Insert Into Sb_EquipPatrolCheckBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
+                ",HYear,HPeriod,HRemark,HEquipID" +
+                ",HBeginDate,HEndDate,HPlanNo,HExplanation,HInnerBillNo,HEquipPatrolCheckRuleInterID" +
+                ",HLastResult,HErrNote,HBigSafeNote,HShiftsID,HPatrolCheckNote" +
+                ") "+
+                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
+                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'," + omodel.HEquipID.ToString() +
+                ",'" + omodel.HBeginDate + "','" + omodel.HEndDate + "','" + omodel.HPlanNo + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," +omodel.HEquipPatrolCheckRuleInterID.ToString() + ",'" + omodel.HLastResult + "','" + omodel.HErrNote + "','" + omodel.HBigSafeNote + "'," + omodel.HShiftsID + ",'" + omodel.HPatrolCheckNote + "'" +
+                ") ");
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsSb_EquipPatrolCheckBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sb_EquipPatrolCheckBillSub " +
+                      " (HInterID,HEntryID," +
+                      "HCloseMan,HEntryCloseDate,HCloseType,HRemark," +
+                      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney," +
+                      "HPatrolCheckItemID,HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                      "HManagerID,HPatrolCheckItemClassID,HPatrolCheckItemMethodID,HPatrolCheckResult" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
+                      ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      ",'" + oSub.HPatrolCheckItemID+"','"+oSub.HPatrolCheckItem + "','" + oSub.HPatrolCheckPart + "','" + oSub.HClaim +
+                      "'," + oSub.HManagerID.ToString() + "," + oSub.HPatrolCheckItemClassID + "," + oSub.HPatrolCheckItemMethodID + ",'" + oSub.HPatrolCheckResult + "'" +
+                      ") ");
+                }
+                //鐐规瀹屾垚锛屽弽鍐欒澶囩偣妫�璁″垝鍗曞瓙琛ㄦ槸鍚︾偣妫�鏍囪
+                oCn.RunProc("exec h_p_Sb_EquipPatrolCheck_AfterSaveCtrl " + omodel.HEquipPatrolCheckPlanInterID + "," + omodel.HEquipPatrolCheckPlanEntryID);
+
+                //
+                //foreach (Model.ClsSb_EquipPatrolCheckBillSub oSub in DetailColl)
+                //{
+                //    Ds = oCn.RunProcReturn("exec h_p_Sb_EquipPatrolCheckBill_Qty " + oSub.HICMOInterID, "");
+                //    if (Ds.Tables[0].Rows.Count == 0)
+                //        return;
+                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
+                //    {
+                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
+                //        return false;
+                //    }
+                //}
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipPatrolCheckBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from Sb_EquipPatrolCheckBillMain Where HInterID=" + lngBillKey.ToString(), "Sb_EquipPatrolCheckBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+                //==
+                omodel.HEquipID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEquipID"]);
+                omodel.HBeginDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HBeginDate"]);
+                omodel.HEndDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HEndDate"]);
+                omodel.HPlanNo = Ds.Tables[0].Rows[0]["HPlanNo"].ToString().Trim();
+                omodel.HExplanation = Ds.Tables[0].Rows[0]["HExplanation"].ToString().Trim();
+                omodel.HInnerBillNo = Ds.Tables[0].Rows[0]["HInnerBillNo"].ToString().Trim();
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from Sb_EquipPatrolCheckBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sb_EquipPatrolCheckBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsSb_EquipPatrolCheckBillSub oSub = new Model.ClsSb_EquipPatrolCheckBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+                    oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                    //oSub.HMaterNumber = DsSub.Tables[0].Rows[i]["HMaterNumber"].ToString().Trim();
+                    //oSub.HMaterName = DsSub.Tables[0].Rows[i]["HMaterName"].ToString().Trim();
+                    //oSub.HMaterModel = DsSub.Tables[0].Rows[i]["HMaterModel"].ToString().Trim();
+                    oSub.HPatrolCheckItem = DsSub.Tables[0].Rows[i]["HPatrolCheckItem"].ToString().Trim();
+                    oSub.HPatrolCheckPart = DsSub.Tables[0].Rows[i]["HPatrolCheckPart"].ToString().Trim();
+                    //oSub.HBeginDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HBeginDate"]);
+                    //oSub.HEndDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEndDate"]);
+                    //oSub.HTimes = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HTimes"]);
+                    oSub.HClaim = DsSub.Tables[0].Rows[i]["HClaim"].ToString().Trim();
+                    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                    //oSub.HUnitNumber = DsSub.Tables[0].Rows[i]["HUnitNumber"].ToString().Trim();
+                    //oSub.HUnitName = DsSub.Tables[0].Rows[i]["HUnitName"].ToString().Trim();
+                    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+                    oSub.HManagerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HManagerID"]);
+                    //oSub.HManagerNumber = DsSub.Tables[0].Rows[i]["HManagerNumber"].ToString().Trim();
+                    //oSub.HManagerName = DsSub.Tables[0].Rows[i]["HManagerName"].ToString().Trim();
+                    //oSub.HICMOBillNo = DsSub.Tables[0].Rows[i]["HICMOBillNo"].ToString().Trim();
+                    
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+       
+        
+    }
+
+}
diff --git "a/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBill.cs" "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBill.cs"
new file mode 100644
index 0000000..226201c
--- /dev/null
+++ "b/DAL/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBill.cs"
@@ -0,0 +1,336 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace DAL
+{
+    public  class ClsSb_EquipPatrolCheckPlanBill:DBUtility.ClsXt_BaseBill
+    {
+        public Model.ClsSb_EquipPatrolCheckPlanBillMain omodel = new Model.ClsSb_EquipPatrolCheckPlanBillMain();
+        public List<Model.ClsSb_EquipPatrolCheckPlanBillSub> DetailColl = new List<Model.ClsSb_EquipPatrolCheckPlanBillSub>();
+
+        public ClsSb_EquipPatrolCheckPlanBill()
+        {
+            base.MvarItemKeySub = "Sb_EquipPatrolCheckPlanBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey="Sb_EquipPatrolCheckPlanBillMain";
+            base.MvarReportTitle="璁惧宸℃璁″垝";
+            base.BillType = "5015";
+            base.HBillSubType = "5015";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsSb_EquipPatrolCheckPlanBill()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckPlanBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipPatrolCheckPlanBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Sb_EquipPatrolCheckPlanBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HEquipID=" + omodel.HEquipID.ToString() +
+                ",HBeginDate='" + omodel.HBeginDate + "'" +
+                ",HEndDate='" + omodel.HEndDate+"'" +
+                ",HMouldPatrolCheckRuleID='" + omodel.HMouldPatrolCheckRuleID + "'" +
+                ",HCycleUnit='" + omodel.HCycleUnit + "'" +
+                ",HCheckCycle=" + omodel.HCheckCycle.ToString() +
+                ",HExplanation='" + omodel.HExplanation+"'" +
+                ",HInnerBillNo='" + omodel.HInnerBillNo+"'" +
+                ",HUSEORGID=" + omodel.HUSEORGID +
+                //",HCREATEORGID=" + omodel.HCREATEORGID +
+                ",HDeptID=" + omodel.HDeptID +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Model.ClsSb_EquipPatrolCheckPlanBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sb_EquipPatrolCheckPlanBillSub " +
+                      " (HInterID,HEntryID," +
+                      "HCloseMan,HEntryCloseDate,HCloseType,HRemark," +
+                      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney," +
+                      "HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                      "HManagerID,HPatrolCheckItemClassID,HPatrolCheckItemMethodID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
+                      ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      ",'" + oSub.HPatrolCheckItem + "','" + oSub.HPatrolCheckPart + "','" + oSub.HClaim +
+                      "'," + oSub.HManagerID.ToString() + "," + oSub.HPatrolCheckItemClassID + "," + oSub.HPatrolCheckItemMethodID +
+                      ") ");
+                }
+                //
+                //foreach (Model.ClsSb_EquipPatrolCheckPlanBillSub oSub in DetailColl)
+                //{
+                //    Ds = oCn.RunProcReturn("exec h_p_Sb_EquipPatrolCheckPlanBill_Qty " + oSub.HICMOInterID, "");
+                //    if (Ds.Tables[0].Rows.Count == 0)
+                //        return;
+                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
+                //    {
+                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
+                //        return false;
+                //    }
+                //}
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckPlanBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipPatrolCheckRuleBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckPlanBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipPatrolCheckPlanBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+                //寰楀埌mainid
+                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("Insert Into Sb_EquipPatrolCheckPlanBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
+                ",HYear,HPeriod,HRemark,HEquipID" +
+                ",HBeginDate,HEndDate,HCheckCycle,HCycleUnit,HExplanation,HInnerBillNo,HMouldPatrolCheckRuleID" +
+                ",HUSEORGID,HCREATEORGID,HDeptID" +
+                ") " +
+                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
+                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'," + omodel.HEquipID.ToString() +
+                ",'" + omodel.HBeginDate +"','" +omodel.HEndDate + "'," + omodel.HCheckCycle.ToString() +",'"+ omodel.HCycleUnit + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo +"','" + omodel.HMouldPatrolCheckRuleID + "',"+ omodel.HUSEORGID + "," + omodel.HCREATEORGID + "," + omodel.HDeptID +
+                ") ");
+                //鎻掑叆瀛愯〃
+                foreach (Model.ClsSb_EquipPatrolCheckPlanBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sb_EquipPatrolCheckPlanBillSub " +
+                      " (HInterID,HEntryID," +
+                      "HCloseMan,HEntryCloseDate,HCloseType,HRemark," +
+                      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney," +
+                      "HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                      "HManagerID,HPatrolCheckItemClassID,HPatrolCheckItemMethodID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
+                      ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      ",'" + oSub.HPatrolCheckItem + "','" + oSub.HPatrolCheckPart + "','" + oSub.HClaim +
+                      "'," + oSub.HManagerID.ToString() + "," + oSub.HPatrolCheckItemClassID + "," + oSub.HPatrolCheckItemMethodID + 
+                      ") ");
+                }
+                //
+                //foreach (Model.ClsSb_EquipPatrolCheckPlanBillSub oSub in DetailColl)
+                //{
+                //    Ds = oCn.RunProcReturn("exec h_p_Sb_EquipPatrolCheckPlanBill_Qty " + oSub.HICMOInterID, "");
+                //    if (Ds.Tables[0].Rows.Count == 0)
+                //        return;
+                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
+                //    {
+                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
+                //        return false;
+                //    }
+                //}
+                //
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckPlanBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipPatrolCheckRuleBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from Sb_EquipPatrolCheckPlanBillMain Where HInterID=" + lngBillKey.ToString(), "Sb_EquipPatrolCheckPlanBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+                //==
+                omodel.HEquipID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEquipID"]);
+                omodel.HBeginDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HBeginDate"]);
+                omodel.HEndDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HEndDate"]);
+                omodel.HCycleUnit = Ds.Tables[0].Rows[0]["HCycleUnit"].ToString().Trim();
+                omodel.HCheckCycle = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckCycle"]);
+                omodel.HExplanation = Ds.Tables[0].Rows[0]["HExplanation"].ToString().Trim();
+                omodel.HInnerBillNo = Ds.Tables[0].Rows[0]["HInnerBillNo"].ToString().Trim();
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from Sb_EquipPatrolCheckPlanBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sb_EquipPatrolCheckPlanBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Model.ClsSb_EquipPatrolCheckPlanBillSub oSub = new Model.ClsSb_EquipPatrolCheckPlanBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+                    oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                    //oSub.HMaterNumber = DsSub.Tables[0].Rows[i]["HMaterNumber"].ToString().Trim();
+                    //oSub.HMaterName = DsSub.Tables[0].Rows[i]["HMaterName"].ToString().Trim();
+                    //oSub.HMaterModel = DsSub.Tables[0].Rows[i]["HMaterModel"].ToString().Trim();
+                    oSub.HPatrolCheckItem = DsSub.Tables[0].Rows[i]["HPatrolCheckItem"].ToString().Trim();
+                    oSub.HPatrolCheckPart = DsSub.Tables[0].Rows[i]["HPatrolCheckPart"].ToString().Trim();
+                    //oSub.HBeginDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HBeginDate"]);
+                    //oSub.HEndDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEndDate"]);
+                    //oSub.HTimes = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HTimes"]);
+                    oSub.HClaim = DsSub.Tables[0].Rows[i]["HClaim"].ToString().Trim();
+                    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                    //oSub.HUnitNumber = DsSub.Tables[0].Rows[i]["HUnitNumber"].ToString().Trim();
+                    //oSub.HUnitName = DsSub.Tables[0].Rows[i]["HUnitName"].ToString().Trim();
+                    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+                    oSub.HManagerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HManagerID"]);
+                    //oSub.HManagerNumber = DsSub.Tables[0].Rows[i]["HManagerNumber"].ToString().Trim();
+                    //oSub.HManagerName = DsSub.Tables[0].Rows[i]["HManagerName"].ToString().Trim();
+                    //oSub.HICMOBillNo = DsSub.Tables[0].Rows[i]["HICMOBillNo"].ToString().Trim();
+                    
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+       
+        
+    }
+
+}
diff --git a/DBUtility/bin/Release/DBUtility.dll b/DBUtility/bin/Release/DBUtility.dll
index dc782c4..1f7c395 100644
--- a/DBUtility/bin/Release/DBUtility.dll
+++ b/DBUtility/bin/Release/DBUtility.dll
Binary files differ
diff --git a/DBUtility/bin/Release/DBUtility.pdb b/DBUtility/bin/Release/DBUtility.pdb
index d4ae4d5..4ba3c0f 100644
--- a/DBUtility/bin/Release/DBUtility.pdb
+++ b/DBUtility/bin/Release/DBUtility.pdb
Binary files differ
diff --git a/DBUtility/bin/Release/Pub_Class.dll b/DBUtility/bin/Release/Pub_Class.dll
index 0782b0a..b4fc345 100644
--- a/DBUtility/bin/Release/Pub_Class.dll
+++ b/DBUtility/bin/Release/Pub_Class.dll
Binary files differ
diff --git a/DBUtility/bin/Release/Pub_Class.pdb b/DBUtility/bin/Release/Pub_Class.pdb
index 9ce9a59..5616831 100644
--- a/DBUtility/bin/Release/Pub_Class.pdb
+++ b/DBUtility/bin/Release/Pub_Class.pdb
Binary files differ
diff --git a/DBUtility/bin/Release/Pub_Control.dll b/DBUtility/bin/Release/Pub_Control.dll
index a1fcd8d..3ff1dab 100644
--- a/DBUtility/bin/Release/Pub_Control.dll
+++ b/DBUtility/bin/Release/Pub_Control.dll
Binary files differ
diff --git a/DBUtility/bin/Release/Pub_Control.pdb b/DBUtility/bin/Release/Pub_Control.pdb
index feb6d4d..bd0ff83 100644
--- a/DBUtility/bin/Release/Pub_Control.pdb
+++ b/DBUtility/bin/Release/Pub_Control.pdb
Binary files differ
diff --git a/DBUtility/bin/Release/SQLHelper.dll b/DBUtility/bin/Release/SQLHelper.dll
index 965e083..8631058 100644
--- a/DBUtility/bin/Release/SQLHelper.dll
+++ b/DBUtility/bin/Release/SQLHelper.dll
Binary files differ
diff --git a/DBUtility/bin/Release/SQLHelper.pdb b/DBUtility/bin/Release/SQLHelper.pdb
index 60e8ba8..807d64b 100644
--- a/DBUtility/bin/Release/SQLHelper.pdb
+++ b/DBUtility/bin/Release/SQLHelper.pdb
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.Gy_UserSelect.resources b/DBUtility/obj/Release/DBUtility.Gy_UserSelect.resources
index 552e300..84a963f 100644
--- a/DBUtility/obj/Release/DBUtility.Gy_UserSelect.resources
+++ b/DBUtility/obj/Release/DBUtility.Gy_UserSelect.resources
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.Xt_BillType.resources b/DBUtility/obj/Release/DBUtility.Xt_BillType.resources
index 561c1c7..c65df75 100644
--- a/DBUtility/obj/Release/DBUtility.Xt_BillType.resources
+++ b/DBUtility/obj/Release/DBUtility.Xt_BillType.resources
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.Xt_CheckFlow.resources b/DBUtility/obj/Release/DBUtility.Xt_CheckFlow.resources
index 9103b7d..1d9a8a4 100644
--- a/DBUtility/obj/Release/DBUtility.Xt_CheckFlow.resources
+++ b/DBUtility/obj/Release/DBUtility.Xt_CheckFlow.resources
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.Xt_CheckFlowList.resources b/DBUtility/obj/Release/DBUtility.Xt_CheckFlowList.resources
index fe71e8f..fd5a993 100644
--- a/DBUtility/obj/Release/DBUtility.Xt_CheckFlowList.resources
+++ b/DBUtility/obj/Release/DBUtility.Xt_CheckFlowList.resources
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.Xt_CheckItem.resources b/DBUtility/obj/Release/DBUtility.Xt_CheckItem.resources
index ae4f855..c8139ba 100644
--- a/DBUtility/obj/Release/DBUtility.Xt_CheckItem.resources
+++ b/DBUtility/obj/Release/DBUtility.Xt_CheckItem.resources
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.Xt_CheckUserRight.resources b/DBUtility/obj/Release/DBUtility.Xt_CheckUserRight.resources
index 89f77dc..3bb77bc 100644
--- a/DBUtility/obj/Release/DBUtility.Xt_CheckUserRight.resources
+++ b/DBUtility/obj/Release/DBUtility.Xt_CheckUserRight.resources
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.csproj.AssemblyReference.cache b/DBUtility/obj/Release/DBUtility.csproj.AssemblyReference.cache
index e184a46..4111cb7 100644
--- a/DBUtility/obj/Release/DBUtility.csproj.AssemblyReference.cache
+++ b/DBUtility/obj/Release/DBUtility.csproj.AssemblyReference.cache
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache b/DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache
index 6293af3..d5feb8b 100644
--- a/DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache
+++ b/DBUtility/obj/Release/DBUtility.csproj.GenerateResource.Cache
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache b/DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache
index 434686b..0f7e827 100644
--- a/DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache
+++ b/DBUtility/obj/Release/DBUtility.csproj.ResolveComReference.cache
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.dll b/DBUtility/obj/Release/DBUtility.dll
index dc782c4..1f7c395 100644
--- a/DBUtility/obj/Release/DBUtility.dll
+++ b/DBUtility/obj/Release/DBUtility.dll
Binary files differ
diff --git a/DBUtility/obj/Release/DBUtility.pdb b/DBUtility/obj/Release/DBUtility.pdb
index d4ae4d5..4ba3c0f 100644
--- a/DBUtility/obj/Release/DBUtility.pdb
+++ b/DBUtility/obj/Release/DBUtility.pdb
Binary files differ
diff --git a/Model/ClsGy_PatrolCheckItemMethod_Model.cs b/Model/ClsGy_PatrolCheckItemMethod_Model.cs
new file mode 100644
index 0000000..ad4b7e4
--- /dev/null
+++ b/Model/ClsGy_PatrolCheckItemMethod_Model.cs
@@ -0,0 +1,13 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Model
+{
+    public class ClsGy_PatrolCheckItemMethod_Model : DBUtility.ClsGy_Base_Model
+    {
+        //
+    }
+}
diff --git a/Model/Model.csproj b/Model/Model.csproj
index b98428f..d3319e1 100644
--- a/Model/Model.csproj
+++ b/Model/Model.csproj
@@ -96,6 +96,8 @@
     <Compile Include="APS\ClsSc_WorkBillMonthSortBillSub.cs" />
     <Compile Include="APS\ClsSc_ICMOChangeBillMain.cs" />
     <Compile Include="APS\ClsSc_ICMOChangeBillSub.cs" />
+    <Compile Include="ClsGy_PatrolCheckItemMethod_Model.cs" />
+    <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_PatrolCheckItemClass_Model.cs" />
     <Compile Include="浠撳簱绠$悊\ClsKf_WorkShopICStockBillMain.cs" />
     <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_MaintainClass_Model.cs" />
     <Compile Include="鍩虹璧勬枡\鍩虹璧勬枡\ClsGy_PiPeMaterial_Model.cs" />
@@ -167,6 +169,10 @@
     <Compile Include="鐢熶骇绠$悊\妯″叿绠$悊\ClsSc_MouldMaintainPlanBillSub_Plan.cs" />
     <Compile Include="鐢熶骇绠$悊\鐢熶骇棰嗘枡\ClsKf_ProductReceiveMaterialBillMain.cs" />
     <Compile Include="鐢熶骇绠$悊\鐢熶骇棰嗘枡\ClsKf_ProductReceiveMaterialBillSub.cs" />
+    <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipPatrolCheckPlanBillSub.cs" />
+    <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipPatrolCheckPlanBillMain.cs" />
+    <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipPatrolCheckBillSub.cs" />
+    <Compile Include="鐢熶骇绠$悊\璁惧绠$悊\ClsSb_EquipPatrolCheckBillMain.cs" />
     <Compile Include="绯荤粺鍏敤\ClsXt_DefineBillMainSetSub.cs" />
     <Compile Include="绯荤粺鍏敤\ClsXt_DefineBillMainSetMain.cs" />
     <Compile Include="璁″垝绠$悊\ClsGy_SourceMouldBillMain.cs" />
diff --git a/Model/bin/Release/DBUtility.dll b/Model/bin/Release/DBUtility.dll
index dc782c4..1f7c395 100644
--- a/Model/bin/Release/DBUtility.dll
+++ b/Model/bin/Release/DBUtility.dll
Binary files differ
diff --git a/Model/bin/Release/DBUtility.pdb b/Model/bin/Release/DBUtility.pdb
index d4ae4d5..4ba3c0f 100644
--- a/Model/bin/Release/DBUtility.pdb
+++ b/Model/bin/Release/DBUtility.pdb
Binary files differ
diff --git a/Model/bin/Release/Model.dll b/Model/bin/Release/Model.dll
index badca3e..3f9113a 100644
--- a/Model/bin/Release/Model.dll
+++ b/Model/bin/Release/Model.dll
Binary files differ
diff --git a/Model/bin/Release/Model.pdb b/Model/bin/Release/Model.pdb
index c86227b..af83925 100644
--- a/Model/bin/Release/Model.pdb
+++ b/Model/bin/Release/Model.pdb
Binary files differ
diff --git a/Model/bin/Release/Pub_Class.dll b/Model/bin/Release/Pub_Class.dll
index 0782b0a..b4fc345 100644
--- a/Model/bin/Release/Pub_Class.dll
+++ b/Model/bin/Release/Pub_Class.dll
Binary files differ
diff --git a/Model/bin/Release/Pub_Class.pdb b/Model/bin/Release/Pub_Class.pdb
index 9ce9a59..5616831 100644
--- a/Model/bin/Release/Pub_Class.pdb
+++ b/Model/bin/Release/Pub_Class.pdb
Binary files differ
diff --git a/Model/bin/Release/Pub_Control.dll b/Model/bin/Release/Pub_Control.dll
index a1fcd8d..3ff1dab 100644
--- a/Model/bin/Release/Pub_Control.dll
+++ b/Model/bin/Release/Pub_Control.dll
Binary files differ
diff --git a/Model/bin/Release/Pub_Control.pdb b/Model/bin/Release/Pub_Control.pdb
index feb6d4d..bd0ff83 100644
--- a/Model/bin/Release/Pub_Control.pdb
+++ b/Model/bin/Release/Pub_Control.pdb
Binary files differ
diff --git a/Model/bin/Release/SQLHelper.dll b/Model/bin/Release/SQLHelper.dll
index 965e083..8631058 100644
--- a/Model/bin/Release/SQLHelper.dll
+++ b/Model/bin/Release/SQLHelper.dll
Binary files differ
diff --git a/Model/bin/Release/SQLHelper.pdb b/Model/bin/Release/SQLHelper.pdb
index 60e8ba8..807d64b 100644
--- a/Model/bin/Release/SQLHelper.pdb
+++ b/Model/bin/Release/SQLHelper.pdb
Binary files differ
diff --git a/Model/obj/Release/Model.csproj.AssemblyReference.cache b/Model/obj/Release/Model.csproj.AssemblyReference.cache
index c8d74d5..b3d3796 100644
--- a/Model/obj/Release/Model.csproj.AssemblyReference.cache
+++ b/Model/obj/Release/Model.csproj.AssemblyReference.cache
Binary files differ
diff --git a/Model/obj/Release/Model.dll b/Model/obj/Release/Model.dll
index badca3e..3f9113a 100644
--- a/Model/obj/Release/Model.dll
+++ b/Model/obj/Release/Model.dll
Binary files differ
diff --git a/Model/obj/Release/Model.pdb b/Model/obj/Release/Model.pdb
index c86227b..af83925 100644
--- a/Model/obj/Release/Model.pdb
+++ b/Model/obj/Release/Model.pdb
Binary files differ
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_DotCheckItemClass_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_DotCheckItemClass_Model.cs"
index d644a4f..810b570 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_DotCheckItemClass_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_DotCheckItemClass_Model.cs"
@@ -1,4 +1,5 @@
 using System;
+using System;
 using System.Collections.Generic;
 using System.Text;
 
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_PatrolCheckItemClass_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_PatrolCheckItemClass_Model.cs"
new file mode 100644
index 0000000..66cbf88
--- /dev/null
+++ "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_PatrolCheckItemClass_Model.cs"
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsGy_PatrolCheckItemClass_Model : DBUtility.ClsGy_Base_Model
+    {
+       //
+    }
+}
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBillMain.cs"
new file mode 100644
index 0000000..a861672
--- /dev/null
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBillMain.cs"
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSb_EquipPatrolCheckBillMain:DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HEquipID;
+        public DateTime HBeginDate;
+        public DateTime HEndDate;
+        public string HPlanNo;
+        public string HExplanation;
+        public string HInnerBillNo;
+        public Int64 HDeptID;
+        public int HEquipMaintainRuleInterID;
+        public int HEquipPatrolCheckRuleInterID;
+
+        public int HEquipPatrolCheckPlanInterID; //设备巡检计划单(Sb_EquipPatrolCheckPlanBillSub_Plan)主内码
+        public int HEquipPatrolCheckPlanEntryID; //设备巡检计划单(Sb_EquipPatrolCheckPlanBillSub_Plan)子内码
+
+        public string HLastResult;// 最终结论(OK,NG) 
+        public string HErrNote;// 异常情况记录 
+        public string HBigSafeNote;// 重大安全隐患记录 
+        public Int64 HShiftsID;// 生产班次(Gy_Shifts) 
+        public string HPatrolCheckNote;// 巡检数据
+
+    }
+}
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBillSub.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBillSub.cs"
new file mode 100644
index 0000000..a20ef5a
--- /dev/null
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckBillSub.cs"
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSb_EquipPatrolCheckBillSub:DBUtility.ClsXt_BaseBillSub
+    { 
+       
+        public string HRemark;
+        public string HCloseMan;
+        public DateTime HEntryCloseDate;
+        public bool HCloseType;
+        // 
+        public Int64 HMaterID;
+        public string HMaterNumber;
+        public string HMaterName;
+        public string HMaterModel;
+        public Int64 HPatrolCheckItemID;
+        public string HPatrolCheckItem;
+        public string HPatrolCheckPart;
+        public string HClaim;
+        public Int64 HUnitID;
+        public string HUnitNumber;
+        public string HUnitName;
+        public Int64 HManagerID;
+        public string HManagerNumber;
+        public string HManagerName;
+
+        public Int64 HPatrolCheckItemClassID;// 巡检项目分类(gy_PatrolCheckItemClass)
+        public Int64 HPatrolCheckItemMethodID;// 巡检方法(gy_PatrolCheckItemMethod)
+        public string HPatrolCheckResult;// 巡检结果(OK,X)
+    }
+}
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBillMain.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBillMain.cs"
new file mode 100644
index 0000000..0f2264e
--- /dev/null
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBillMain.cs"
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSb_EquipPatrolCheckPlanBillMain:DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HEquipID;
+        public DateTime HBeginDate;
+        public DateTime HEndDate;
+        public string HCycleUnit;
+        public Int64 HCheckCycle;
+        public string HExplanation;
+        public string HInnerBillNo;
+        public int HMouldPatrolCheckRuleID;//设备巡检规程id
+
+        public int HUSEORGID;
+        public int HCREATEORGID;
+        public int HDeptID;
+    }
+}
diff --git "a/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBillSub.cs" "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBillSub.cs"
new file mode 100644
index 0000000..cb0c5f2
--- /dev/null
+++ "b/Model/\347\224\237\344\272\247\347\256\241\347\220\206/\350\256\276\345\244\207\347\256\241\347\220\206/ClsSb_EquipPatrolCheckPlanBillSub.cs"
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Model
+{
+    public class ClsSb_EquipPatrolCheckPlanBillSub:DBUtility.ClsXt_BaseBillSub
+    { 
+        // 
+        public Int64 HMaterID;
+        public string HMaterNumber;
+        public string HMaterName;
+        public string HMaterModel;
+        public string HPatrolCheckItem;
+        public string HPatrolCheckPart;
+        public string HClaim;
+        public Int64 HUnitID;
+        public string HUnitNumber;
+        public string HUnitName;
+        public Int64 HManagerID;
+        // public string HManagerNumber;
+        public string HManagerName;
+
+        public Int64 HPatrolCheckItemClassID;//巡检项目分类id
+        public Int64 HPatrolCheckItemMethodID;//巡检方法id
+    }
+}
diff --git a/NETERPNoWin/bin/Debug/AxInterop.gregn6Lib.dll b/NETERPNoWin/bin/Debug/AxInterop.gregn6Lib.dll
deleted file mode 100644
index f33f9ae..0000000
--- a/NETERPNoWin/bin/Debug/AxInterop.gregn6Lib.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/BLL.dll b/NETERPNoWin/bin/Debug/BLL.dll
deleted file mode 100644
index fa3da21..0000000
--- a/NETERPNoWin/bin/Debug/BLL.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/BLL.pdb b/NETERPNoWin/bin/Debug/BLL.pdb
deleted file mode 100644
index 78c8104..0000000
--- a/NETERPNoWin/bin/Debug/BLL.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/BaseSet.dll b/NETERPNoWin/bin/Debug/BaseSet.dll
deleted file mode 100644
index 842f788..0000000
--- a/NETERPNoWin/bin/Debug/BaseSet.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/BaseSet.pdb b/NETERPNoWin/bin/Debug/BaseSet.pdb
deleted file mode 100644
index e79fce3..0000000
--- a/NETERPNoWin/bin/Debug/BaseSet.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/DAL.dll b/NETERPNoWin/bin/Debug/DAL.dll
deleted file mode 100644
index 727f902..0000000
--- a/NETERPNoWin/bin/Debug/DAL.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/DAL.pdb b/NETERPNoWin/bin/Debug/DAL.pdb
deleted file mode 100644
index e73f3b3..0000000
--- a/NETERPNoWin/bin/Debug/DAL.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/DBUtility.dll b/NETERPNoWin/bin/Debug/DBUtility.dll
deleted file mode 100644
index 26dab8f..0000000
--- a/NETERPNoWin/bin/Debug/DBUtility.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/DBUtility.pdb b/NETERPNoWin/bin/Debug/DBUtility.pdb
deleted file mode 100644
index 6a63813..0000000
--- a/NETERPNoWin/bin/Debug/DBUtility.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Interop.gregn6Lib.dll b/NETERPNoWin/bin/Debug/Interop.gregn6Lib.dll
deleted file mode 100644
index 7380510..0000000
--- a/NETERPNoWin/bin/Debug/Interop.gregn6Lib.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Kanban.dll b/NETERPNoWin/bin/Debug/Kanban.dll
deleted file mode 100644
index 0dba53d..0000000
--- a/NETERPNoWin/bin/Debug/Kanban.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Kanban.pdb b/NETERPNoWin/bin/Debug/Kanban.pdb
deleted file mode 100644
index f0f0d68..0000000
--- a/NETERPNoWin/bin/Debug/Kanban.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Model.dll b/NETERPNoWin/bin/Debug/Model.dll
deleted file mode 100644
index 7476821..0000000
--- a/NETERPNoWin/bin/Debug/Model.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Model.pdb b/NETERPNoWin/bin/Debug/Model.pdb
deleted file mode 100644
index 2883c5b..0000000
--- a/NETERPNoWin/bin/Debug/Model.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/NETERPNoWin.exe b/NETERPNoWin/bin/Debug/NETERPNoWin.exe
deleted file mode 100644
index a503e92..0000000
--- a/NETERPNoWin/bin/Debug/NETERPNoWin.exe
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/NETERPNoWin.pdb b/NETERPNoWin/bin/Debug/NETERPNoWin.pdb
deleted file mode 100644
index 28f8c17..0000000
--- a/NETERPNoWin/bin/Debug/NETERPNoWin.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/NPOI.OOXML.dll b/NETERPNoWin/bin/Debug/NPOI.OOXML.dll
deleted file mode 100644
index a200471..0000000
--- a/NETERPNoWin/bin/Debug/NPOI.OOXML.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/NPOI.OpenXml4Net.dll b/NETERPNoWin/bin/Debug/NPOI.OpenXml4Net.dll
deleted file mode 100644
index 5034194..0000000
--- a/NETERPNoWin/bin/Debug/NPOI.OpenXml4Net.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/NPOI.OpenXmlFormats.dll b/NETERPNoWin/bin/Debug/NPOI.OpenXmlFormats.dll
deleted file mode 100644
index df8708d..0000000
--- a/NETERPNoWin/bin/Debug/NPOI.OpenXmlFormats.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/NPOI.dll b/NETERPNoWin/bin/Debug/NPOI.dll
deleted file mode 100644
index 907cfb1..0000000
--- a/NETERPNoWin/bin/Debug/NPOI.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/OAM.dll b/NETERPNoWin/bin/Debug/OAM.dll
deleted file mode 100644
index 3daa0f5..0000000
--- a/NETERPNoWin/bin/Debug/OAM.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/OAM.pdb b/NETERPNoWin/bin/Debug/OAM.pdb
deleted file mode 100644
index 9fcbc10..0000000
--- a/NETERPNoWin/bin/Debug/OAM.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/PlanM.dll b/NETERPNoWin/bin/Debug/PlanM.dll
deleted file mode 100644
index 651e5a1..0000000
--- a/NETERPNoWin/bin/Debug/PlanM.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/PlanM.pdb b/NETERPNoWin/bin/Debug/PlanM.pdb
deleted file mode 100644
index 39e7b05..0000000
--- a/NETERPNoWin/bin/Debug/PlanM.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Pub_Class.dll b/NETERPNoWin/bin/Debug/Pub_Class.dll
deleted file mode 100644
index f8dea4c..0000000
--- a/NETERPNoWin/bin/Debug/Pub_Class.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Pub_Class.pdb b/NETERPNoWin/bin/Debug/Pub_Class.pdb
deleted file mode 100644
index 7202bac..0000000
--- a/NETERPNoWin/bin/Debug/Pub_Class.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Pub_Control.dll b/NETERPNoWin/bin/Debug/Pub_Control.dll
deleted file mode 100644
index 89cc5c2..0000000
--- a/NETERPNoWin/bin/Debug/Pub_Control.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/Pub_Control.pdb b/NETERPNoWin/bin/Debug/Pub_Control.pdb
deleted file mode 100644
index 9891ba1..0000000
--- a/NETERPNoWin/bin/Debug/Pub_Control.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/SQLHelper.dll b/NETERPNoWin/bin/Debug/SQLHelper.dll
deleted file mode 100644
index de4c686..0000000
--- a/NETERPNoWin/bin/Debug/SQLHelper.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/SQLHelper.pdb b/NETERPNoWin/bin/Debug/SQLHelper.pdb
deleted file mode 100644
index 90ec041..0000000
--- a/NETERPNoWin/bin/Debug/SQLHelper.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/WarM.dll b/NETERPNoWin/bin/Debug/WarM.dll
deleted file mode 100644
index 04aa7e0..0000000
--- a/NETERPNoWin/bin/Debug/WarM.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/WarM.pdb b/NETERPNoWin/bin/Debug/WarM.pdb
deleted file mode 100644
index 115afe1..0000000
--- a/NETERPNoWin/bin/Debug/WarM.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/WorkM.dll b/NETERPNoWin/bin/Debug/WorkM.dll
deleted file mode 100644
index 66e964f..0000000
--- a/NETERPNoWin/bin/Debug/WorkM.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/bin/Debug/WorkM.pdb b/NETERPNoWin/bin/Debug/WorkM.pdb
deleted file mode 100644
index a9ae927..0000000
--- a/NETERPNoWin/bin/Debug/WorkM.pdb
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/Interop.gregn6Lib.dll b/NETERPNoWin/obj/Debug/Interop.gregn6Lib.dll
deleted file mode 100644
index b1a10d4..0000000
--- a/NETERPNoWin/obj/Debug/Interop.gregn6Lib.dll
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Form1.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Form1.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Form1.resources
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_MESSetIni.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_MESSetIni.resources
deleted file mode 100644
index c7c0b2c..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_MESSetIni.resources
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_Show.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_Show.resources
deleted file mode 100644
index ad18340..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Frm_Show.resources
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.MDIMain.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.MDIMain.resources
deleted file mode 100644
index 759d25b..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.MDIMain.resources
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.MESMain.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.MESMain.resources
deleted file mode 100644
index c2586c0..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.MESMain.resources
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.OA_MessageBox.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.OA_MessageBox.resources
deleted file mode 100644
index c79deb3..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.OA_MessageBox.resources
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Properties.Resources.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Properties.Resources.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Properties.Resources.resources
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.Xt_Wait.resources b/NETERPNoWin/obj/Debug/NETERPNoWin.Xt_Wait.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.Xt_Wait.resources
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.GenerateResource.Cache b/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.GenerateResource.Cache
deleted file mode 100644
index 64d6a92..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.GenerateResource.Cache
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.ResolveComReference.cache b/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.ResolveComReference.cache
deleted file mode 100644
index f758837..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.csproj.ResolveComReference.cache
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.exe b/NETERPNoWin/obj/Debug/NETERPNoWin.exe
deleted file mode 100644
index a503e92..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.exe
+++ /dev/null
Binary files differ
diff --git a/NETERPNoWin/obj/Debug/NETERPNoWin.pdb b/NETERPNoWin/obj/Debug/NETERPNoWin.pdb
deleted file mode 100644
index 28f8c17..0000000
--- a/NETERPNoWin/obj/Debug/NETERPNoWin.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/AxInterop.gregn6Lib.dll b/PayM/bin/Debug/AxInterop.gregn6Lib.dll
deleted file mode 100644
index f5057c9..0000000
--- a/PayM/bin/Debug/AxInterop.gregn6Lib.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/BLL.dll b/PayM/bin/Debug/BLL.dll
deleted file mode 100644
index 0e8e853..0000000
--- a/PayM/bin/Debug/BLL.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/BLL.pdb b/PayM/bin/Debug/BLL.pdb
deleted file mode 100644
index b8c7295..0000000
--- a/PayM/bin/Debug/BLL.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/DAL.dll b/PayM/bin/Debug/DAL.dll
deleted file mode 100644
index b10abfd..0000000
--- a/PayM/bin/Debug/DAL.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/DAL.pdb b/PayM/bin/Debug/DAL.pdb
deleted file mode 100644
index 69c8b2d..0000000
--- a/PayM/bin/Debug/DAL.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/DBUtility.dll b/PayM/bin/Debug/DBUtility.dll
deleted file mode 100644
index 34f271e..0000000
--- a/PayM/bin/Debug/DBUtility.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/DBUtility.pdb b/PayM/bin/Debug/DBUtility.pdb
deleted file mode 100644
index ac59fe6..0000000
--- a/PayM/bin/Debug/DBUtility.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/Interop.gregn6Lib.dll b/PayM/bin/Debug/Interop.gregn6Lib.dll
deleted file mode 100644
index 29cb35a..0000000
--- a/PayM/bin/Debug/Interop.gregn6Lib.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/Model.dll b/PayM/bin/Debug/Model.dll
deleted file mode 100644
index ef23603..0000000
--- a/PayM/bin/Debug/Model.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/Model.pdb b/PayM/bin/Debug/Model.pdb
deleted file mode 100644
index 18523d1..0000000
--- a/PayM/bin/Debug/Model.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/PayM.dll b/PayM/bin/Debug/PayM.dll
deleted file mode 100644
index 837444d..0000000
--- a/PayM/bin/Debug/PayM.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/PayM.pdb b/PayM/bin/Debug/PayM.pdb
deleted file mode 100644
index ea248df..0000000
--- a/PayM/bin/Debug/PayM.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/Pub_Class.dll b/PayM/bin/Debug/Pub_Class.dll
deleted file mode 100644
index 71f6794..0000000
--- a/PayM/bin/Debug/Pub_Class.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/Pub_Class.pdb b/PayM/bin/Debug/Pub_Class.pdb
deleted file mode 100644
index e582226..0000000
--- a/PayM/bin/Debug/Pub_Class.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/Pub_Control.dll b/PayM/bin/Debug/Pub_Control.dll
deleted file mode 100644
index 07012bf..0000000
--- a/PayM/bin/Debug/Pub_Control.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/Pub_Control.pdb b/PayM/bin/Debug/Pub_Control.pdb
deleted file mode 100644
index c60cd55..0000000
--- a/PayM/bin/Debug/Pub_Control.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/SQLHelper.dll b/PayM/bin/Debug/SQLHelper.dll
deleted file mode 100644
index 4f36fca..0000000
--- a/PayM/bin/Debug/SQLHelper.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/bin/Debug/SQLHelper.pdb b/PayM/bin/Debug/SQLHelper.pdb
deleted file mode 100644
index 04929ed..0000000
--- a/PayM/bin/Debug/SQLHelper.pdb
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/AxInterop.gregn6Lib.dll b/PayM/obj/Debug/AxInterop.gregn6Lib.dll
deleted file mode 100644
index f5057c9..0000000
--- a/PayM/obj/Debug/AxInterop.gregn6Lib.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/BaseSet.Gy_DataInTmp_DuSubsidyItem.resources b/PayM/obj/Debug/BaseSet.Gy_DataInTmp_DuSubsidyItem.resources
deleted file mode 100644
index 1eec1a9..0000000
--- a/PayM/obj/Debug/BaseSet.Gy_DataInTmp_DuSubsidyItem.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill2.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill2.resources
deleted file mode 100644
index 0351517..0000000
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill2.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill3.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill3.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill3.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill4.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill4.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill4.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill5.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill5.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBill5.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBillList.resources b/PayM/obj/Debug/CostM.Pay_AccPayMentDayBillList.resources
deleted file mode 100644
index f753f0d..0000000
--- a/PayM/obj/Debug/CostM.Pay_AccPayMentDayBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew.resources
deleted file mode 100644
index f753f0d..0000000
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew1.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew1.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew1.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew2.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew2.resources
deleted file mode 100644
index 21db791..0000000
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew2.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew3.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew3.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew3.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew4.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew4.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew4.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew5.resources b/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew5.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/CostM.Pay_PayMentBillAutoAddnew5.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/Interop.gregn6Lib.dll b/PayM/obj/Debug/Interop.gregn6Lib.dll
deleted file mode 100644
index 29cb35a..0000000
--- a/PayM/obj/Debug/Interop.gregn6Lib.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/OAM.HR_EmpEngageRequestBill.resources b/PayM/obj/Debug/OAM.HR_EmpEngageRequestBill.resources
deleted file mode 100644
index fe67101..0000000
--- a/PayM/obj/Debug/OAM.HR_EmpEngageRequestBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/OAM.HR_EmpEngageRequestBillList.resources b/PayM/obj/Debug/OAM.HR_EmpEngageRequestBillList.resources
deleted file mode 100644
index 9db27ad..0000000
--- a/PayM/obj/Debug/OAM.HR_EmpEngageRequestBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBill.resources b/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBill.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBillDlg.resources b/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBillDlg.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/PayM/obj/Debug/PayM.Err_MonthExpenseEntryBillDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Form2.resources b/PayM/obj/Debug/PayM.Form2.resources
deleted file mode 100644
index 4174109..0000000
--- a/PayM/obj/Debug/PayM.Form2.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.FrmChangeDate.resources b/PayM/obj/Debug/PayM.FrmChangeDate.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/PayM/obj/Debug/PayM.FrmChangeDate.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_ContractBookBill.resources b/PayM/obj/Debug/PayM.HR_ContractBookBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_ContractBookBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_ContractBookBillList.resources b/PayM/obj/Debug/PayM.HR_ContractBookBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_ContractBookBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_EmpChangeBill.resources b/PayM/obj/Debug/PayM.HR_EmpChangeBill.resources
deleted file mode 100644
index 8243501..0000000
--- a/PayM/obj/Debug/PayM.HR_EmpChangeBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_EmpChangeBillList.resources b/PayM/obj/Debug/PayM.HR_EmpChangeBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_EmpChangeBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_EmpDimissionBill.resources b/PayM/obj/Debug/PayM.HR_EmpDimissionBill.resources
deleted file mode 100644
index c9652fd..0000000
--- a/PayM/obj/Debug/PayM.HR_EmpDimissionBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_EmpDimissionBillList.resources b/PayM/obj/Debug/PayM.HR_EmpDimissionBillList.resources
deleted file mode 100644
index 0831b84..0000000
--- a/PayM/obj/Debug/PayM.HR_EmpDimissionBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_FamilyMemberBill.resources b/PayM/obj/Debug/PayM.HR_FamilyMemberBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_FamilyMemberBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_FamilyMemberBillList.resources b/PayM/obj/Debug/PayM.HR_FamilyMemberBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_FamilyMemberBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_InsuranceBookBill.resources b/PayM/obj/Debug/PayM.HR_InsuranceBookBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_InsuranceBookBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_InsuranceBookBillList.resources b/PayM/obj/Debug/PayM.HR_InsuranceBookBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_InsuranceBookBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_LearnHistoryBill.resources b/PayM/obj/Debug/PayM.HR_LearnHistoryBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_LearnHistoryBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_LearnHistoryBillList.resources b/PayM/obj/Debug/PayM.HR_LearnHistoryBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_LearnHistoryBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_PaperPhotoBill.resources b/PayM/obj/Debug/PayM.HR_PaperPhotoBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_PaperPhotoBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_PaperPhotoBillList.resources b/PayM/obj/Debug/PayM.HR_PaperPhotoBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_PaperPhotoBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_RewardsPunishBill.resources b/PayM/obj/Debug/PayM.HR_RewardsPunishBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_RewardsPunishBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_RewardsPunishBillList.resources b/PayM/obj/Debug/PayM.HR_RewardsPunishBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_RewardsPunishBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkInjuryBill.resources b/PayM/obj/Debug/PayM.HR_WorkInjuryBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_WorkInjuryBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkInjuryBillList.resources b/PayM/obj/Debug/PayM.HR_WorkInjuryBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_WorkInjuryBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkSkillBill.resources b/PayM/obj/Debug/PayM.HR_WorkSkillBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_WorkSkillBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkSkillBillList.resources b/PayM/obj/Debug/PayM.HR_WorkSkillBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_WorkSkillBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkStoryBill.resources b/PayM/obj/Debug/PayM.HR_WorkStoryBill.resources
deleted file mode 100644
index 787985c..0000000
--- a/PayM/obj/Debug/PayM.HR_WorkStoryBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.HR_WorkStoryBillList.resources b/PayM/obj/Debug/PayM.HR_WorkStoryBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.HR_WorkStoryBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.KQ_sourceReport.resources b/PayM/obj/Debug/PayM.KQ_sourceReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.KQ_sourceReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.KQ_sourceReportDlg.resources b/PayM/obj/Debug/PayM.KQ_sourceReportDlg.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/PayM/obj/Debug/PayM.KQ_sourceReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_CarOutApplyBill.resources b/PayM/obj/Debug/PayM.Pay_CarOutApplyBill.resources
deleted file mode 100644
index e620e33..0000000
--- a/PayM/obj/Debug/PayM.Pay_CarOutApplyBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_CarOutApplyBillList.resources b/PayM/obj/Debug/PayM.Pay_CarOutApplyBillList.resources
deleted file mode 100644
index a70b498..0000000
--- a/PayM/obj/Debug/PayM.Pay_CarOutApplyBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBill.resources b/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBill.resources
deleted file mode 100644
index 89f3885..0000000
--- a/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBillList.resources b/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBillList.resources
deleted file mode 100644
index a70b498..0000000
--- a/PayM/obj/Debug/PayM.Pay_DuSubsidyItemBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReport.resources b/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReportDlg.resources b/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReportDlg.resources
deleted file mode 100644
index 79c7741..0000000
--- a/PayM/obj/Debug/PayM.Pay_EmpPayMentSumReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReport.resources b/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReportDlg.resources b/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReportDlg.resources
deleted file mode 100644
index 15ce6e2..0000000
--- a/PayM/obj/Debug/PayM.Pay_EmpWorkQtyEntryReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBill.resources b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBill.resources
deleted file mode 100644
index 9e00c6e..0000000
--- a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBillList.resources b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBillList.resources
deleted file mode 100644
index a70b498..0000000
--- a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesRequestBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBill.resources b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBill.resources
deleted file mode 100644
index 592d8c1..0000000
--- a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBillList.resources b/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBillList.resources
deleted file mode 100644
index 5003e21..0000000
--- a/PayM/obj/Debug/PayM.Pay_ErrWorkTimesSendBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_GetNeedCheckErrWorkTimesSendBillList.resources b/PayM/obj/Debug/PayM.Pay_GetNeedCheckErrWorkTimesSendBillList.resources
deleted file mode 100644
index 63c32a2..0000000
--- a/PayM/obj/Debug/PayM.Pay_GetNeedCheckErrWorkTimesSendBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_GroupBalBill.resources b/PayM/obj/Debug/PayM.Pay_GroupBalBill.resources
deleted file mode 100644
index cd05a9f..0000000
--- a/PayM/obj/Debug/PayM.Pay_GroupBalBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_GroupBalBillList.resources b/PayM/obj/Debug/PayM.Pay_GroupBalBillList.resources
deleted file mode 100644
index 96bd928..0000000
--- a/PayM/obj/Debug/PayM.Pay_GroupBalBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_InnerScrap.resources b/PayM/obj/Debug/PayM.Pay_InnerScrap.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_InnerScrap.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_InnerScrapDlg.resources b/PayM/obj/Debug/PayM.Pay_InnerScrapDlg.resources
deleted file mode 100644
index 780f787..0000000
--- a/PayM/obj/Debug/PayM.Pay_InnerScrapDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill1.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill1.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill1.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill2.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill2.resources
deleted file mode 100644
index 21db791..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill2.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill3.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill3.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill3.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill4.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill4.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill4.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill5.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill5.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBill5.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillList.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillList.resources
deleted file mode 100644
index f753f0d..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReport.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReportDlg.resources b/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReportDlg.resources
deleted file mode 100644
index 79c7741..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthExpenseEntryBillReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillAdd.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillAdd.resources
deleted file mode 100644
index 4121e55..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillAdd.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReport.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReport.resources
deleted file mode 100644
index 8b7dfec..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportDlg.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportDlg.resources
deleted file mode 100644
index 79c7741..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportMX.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportMX.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyEntryBillReportMX.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthSubsidyYearReport.resources b/PayM/obj/Debug/PayM.Pay_MonthSubsidyYearReport.resources
deleted file mode 100644
index e267dbd..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthSubsidyYearReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReport.resources b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReport.resources
deleted file mode 100644
index 833c5f6..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportDlg.resources b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportDlg.resources
deleted file mode 100644
index 79c7741..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX.resources b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX2.resources b/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX2.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_MonthWriteBillReportMX2.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_NoWorkTimesReport.resources b/PayM/obj/Debug/PayM.Pay_NoWorkTimesReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_NoWorkTimesReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_NoWorkTimesReportDlg.resources b/PayM/obj/Debug/PayM.Pay_NoWorkTimesReportDlg.resources
deleted file mode 100644
index 780f787..0000000
--- a/PayM/obj/Debug/PayM.Pay_NoWorkTimesReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OtherBalBill.resources b/PayM/obj/Debug/PayM.Pay_OtherBalBill.resources
deleted file mode 100644
index 9f5486e..0000000
--- a/PayM/obj/Debug/PayM.Pay_OtherBalBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OtherBalBillList.resources b/PayM/obj/Debug/PayM.Pay_OtherBalBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.Pay_OtherBalBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OtherMoney_Dlg.resources b/PayM/obj/Debug/PayM.Pay_OtherMoney_Dlg.resources
deleted file mode 100644
index 2e88a39..0000000
--- a/PayM/obj/Debug/PayM.Pay_OtherMoney_Dlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OutApplyBill.resources b/PayM/obj/Debug/PayM.Pay_OutApplyBill.resources
deleted file mode 100644
index 47c1be3..0000000
--- a/PayM/obj/Debug/PayM.Pay_OutApplyBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OutApplyBillList.resources b/PayM/obj/Debug/PayM.Pay_OutApplyBillList.resources
deleted file mode 100644
index 96b3e13..0000000
--- a/PayM/obj/Debug/PayM.Pay_OutApplyBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OuterScrap.resources b/PayM/obj/Debug/PayM.Pay_OuterScrap.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_OuterScrap.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OuterScrapDlg.resources b/PayM/obj/Debug/PayM.Pay_OuterScrapDlg.resources
deleted file mode 100644
index 780f787..0000000
--- a/PayM/obj/Debug/PayM.Pay_OuterScrapDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OverApplyBill.resources b/PayM/obj/Debug/PayM.Pay_OverApplyBill.resources
deleted file mode 100644
index 4fcbbac..0000000
--- a/PayM/obj/Debug/PayM.Pay_OverApplyBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_OverApplyBillList.resources b/PayM/obj/Debug/PayM.Pay_OverApplyBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.Pay_OverApplyBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentBill.resources b/PayM/obj/Debug/PayM.Pay_PayMentBill.resources
deleted file mode 100644
index a44b342..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentBillList.resources b/PayM/obj/Debug/PayM.Pay_PayMentBillList.resources
deleted file mode 100644
index 430f1cc4..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDayBill.resources b/PayM/obj/Debug/PayM.Pay_PayMentDayBill.resources
deleted file mode 100644
index 2ca7d0f..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentDayBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDayBillList.resources b/PayM/obj/Debug/PayM.Pay_PayMentDayBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentDayBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDeptSendList.resources b/PayM/obj/Debug/PayM.Pay_PayMentDeptSendList.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentDeptSendList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDeptSendListDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentDeptSendListDlg.resources
deleted file mode 100644
index 24688c3..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentDeptSendListDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReport.resources b/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReportDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReportDlg.resources
deleted file mode 100644
index ec17503..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentDeptYearReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentPrintReport.resources b/PayM/obj/Debug/PayM.Pay_PayMentPrintReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentPrintReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentPrintReportDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentPrintReportDlg.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentPrintReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentSendList.resources b/PayM/obj/Debug/PayM.Pay_PayMentSendList.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentSendList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentSendListDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentSendListDlg.resources
deleted file mode 100644
index 24688c3..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentSendListDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentYearReport.resources b/PayM/obj/Debug/PayM.Pay_PayMentYearReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentYearReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_PayMentYearReportDlg.resources b/PayM/obj/Debug/PayM.Pay_PayMentYearReportDlg.resources
deleted file mode 100644
index ec17503..0000000
--- a/PayM/obj/Debug/PayM.Pay_PayMentYearReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBill.resources b/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBill.resources
deleted file mode 100644
index 8243501..0000000
--- a/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBillList.resources b/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.Pay_ProcPriceRequestBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReport.resources b/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReportDlg.resources b/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReportDlg.resources
deleted file mode 100644
index 780f787..0000000
--- a/PayM/obj/Debug/PayM.Pay_ProdWorkQtyEntryReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReport.resources b/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReportDlg.resources b/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReportDlg.resources
deleted file mode 100644
index 780f787..0000000
--- a/PayM/obj/Debug/PayM.Pay_ProdWorkQtySumReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBill.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBill.resources
deleted file mode 100644
index 01f83ad..0000000
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBillDlg.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBillDlg.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBillDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBillList.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBill_Enter.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBill_Enter.resources
deleted file mode 100644
index 0edfd4b..0000000
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBill_Enter.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SingleBalBill_KS.resources b/PayM/obj/Debug/PayM.Pay_SingleBalBill_KS.resources
deleted file mode 100644
index 66d7d86..0000000
--- a/PayM/obj/Debug/PayM.Pay_SingleBalBill_KS.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SubsidyChangeBill.resources b/PayM/obj/Debug/PayM.Pay_SubsidyChangeBill.resources
deleted file mode 100644
index 323dd9f..0000000
--- a/PayM/obj/Debug/PayM.Pay_SubsidyChangeBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_SubsidyChangeBillList.resources b/PayM/obj/Debug/PayM.Pay_SubsidyChangeBillList.resources
deleted file mode 100644
index a70b498..0000000
--- a/PayM/obj/Debug/PayM.Pay_SubsidyChangeBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesBill.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesBill.resources
deleted file mode 100644
index 06ccee7..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesBill.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesBillList.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesBillList.resources
deleted file mode 100644
index 26509ac..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill1.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill1.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill1.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill2.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill2.resources
deleted file mode 100644
index 21db791..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill2.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill3.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill3.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill3.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill4.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill4.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill4.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill5.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill5.resources
deleted file mode 100644
index 6a89d65..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBill5.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBillList.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesCardBillList.resources
deleted file mode 100644
index f753f0d..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesCardBillList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesList.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesList.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesList.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_WorkTimesListDlg.resources b/PayM/obj/Debug/PayM.Pay_WorkTimesListDlg.resources
deleted file mode 100644
index 24688c3..0000000
--- a/PayM/obj/Debug/PayM.Pay_WorkTimesListDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_YearToCashBillReport.resources b/PayM/obj/Debug/PayM.Pay_YearToCashBillReport.resources
deleted file mode 100644
index 01c9556..0000000
--- a/PayM/obj/Debug/PayM.Pay_YearToCashBillReport.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Pay_YearToCashBillReportDlg.resources b/PayM/obj/Debug/PayM.Pay_YearToCashBillReportDlg.resources
deleted file mode 100644
index 79c7741..0000000
--- a/PayM/obj/Debug/PayM.Pay_YearToCashBillReportDlg.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.Properties.Resources.resources b/PayM/obj/Debug/PayM.Properties.Resources.resources
deleted file mode 100644
index 6c05a97..0000000
--- a/PayM/obj/Debug/PayM.Properties.Resources.resources
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.csproj.GenerateResource.Cache b/PayM/obj/Debug/PayM.csproj.GenerateResource.Cache
deleted file mode 100644
index 07e70f2..0000000
--- a/PayM/obj/Debug/PayM.csproj.GenerateResource.Cache
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.csproj.ResolveComReference.cache b/PayM/obj/Debug/PayM.csproj.ResolveComReference.cache
deleted file mode 100644
index 74c4161..0000000
--- a/PayM/obj/Debug/PayM.csproj.ResolveComReference.cache
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.dll b/PayM/obj/Debug/PayM.dll
deleted file mode 100644
index 837444d..0000000
--- a/PayM/obj/Debug/PayM.dll
+++ /dev/null
Binary files differ
diff --git a/PayM/obj/Debug/PayM.pdb b/PayM/obj/Debug/PayM.pdb
deleted file mode 100644
index ea248df..0000000
--- a/PayM/obj/Debug/PayM.pdb
+++ /dev/null
Binary files differ
diff --git a/Pub_Class/bin/Release/Pub_Class.dll b/Pub_Class/bin/Release/Pub_Class.dll
index 0782b0a..b4fc345 100644
--- a/Pub_Class/bin/Release/Pub_Class.dll
+++ b/Pub_Class/bin/Release/Pub_Class.dll
Binary files differ
diff --git a/Pub_Class/bin/Release/Pub_Class.pdb b/Pub_Class/bin/Release/Pub_Class.pdb
index 9ce9a59..5616831 100644
--- a/Pub_Class/bin/Release/Pub_Class.pdb
+++ b/Pub_Class/bin/Release/Pub_Class.pdb
Binary files differ
diff --git a/Pub_Control/bin/Release/Pub_Class.dll b/Pub_Control/bin/Release/Pub_Class.dll
index 0782b0a..b4fc345 100644
--- a/Pub_Control/bin/Release/Pub_Class.dll
+++ b/Pub_Control/bin/Release/Pub_Class.dll
Binary files differ
diff --git a/Pub_Control/bin/Release/Pub_Class.pdb b/Pub_Control/bin/Release/Pub_Class.pdb
index 9ce9a59..5616831 100644
--- a/Pub_Control/bin/Release/Pub_Class.pdb
+++ b/Pub_Control/bin/Release/Pub_Class.pdb
Binary files differ
diff --git a/Pub_Control/bin/Release/Pub_Control.dll b/Pub_Control/bin/Release/Pub_Control.dll
index a1fcd8d..3ff1dab 100644
--- a/Pub_Control/bin/Release/Pub_Control.dll
+++ b/Pub_Control/bin/Release/Pub_Control.dll
Binary files differ
diff --git a/Pub_Control/bin/Release/Pub_Control.pdb b/Pub_Control/bin/Release/Pub_Control.pdb
index feb6d4d..bd0ff83 100644
--- a/Pub_Control/bin/Release/Pub_Control.pdb
+++ b/Pub_Control/bin/Release/Pub_Control.pdb
Binary files differ
diff --git a/SQLHelper/bin/Release/Pub_Class.dll b/SQLHelper/bin/Release/Pub_Class.dll
index 0782b0a..b4fc345 100644
--- a/SQLHelper/bin/Release/Pub_Class.dll
+++ b/SQLHelper/bin/Release/Pub_Class.dll
Binary files differ
diff --git a/SQLHelper/bin/Release/Pub_Class.pdb b/SQLHelper/bin/Release/Pub_Class.pdb
index 9ce9a59..5616831 100644
--- a/SQLHelper/bin/Release/Pub_Class.pdb
+++ b/SQLHelper/bin/Release/Pub_Class.pdb
Binary files differ
diff --git a/SQLHelper/bin/Release/SQLHelper.dll b/SQLHelper/bin/Release/SQLHelper.dll
index 965e083..8631058 100644
--- a/SQLHelper/bin/Release/SQLHelper.dll
+++ b/SQLHelper/bin/Release/SQLHelper.dll
Binary files differ
diff --git a/SQLHelper/bin/Release/SQLHelper.pdb b/SQLHelper/bin/Release/SQLHelper.pdb
index 60e8ba8..807d64b 100644
--- a/SQLHelper/bin/Release/SQLHelper.pdb
+++ b/SQLHelper/bin/Release/SQLHelper.pdb
Binary files differ
diff --git a/SQLHelper/obj/Release/SQLHelper.csproj.AssemblyReference.cache b/SQLHelper/obj/Release/SQLHelper.csproj.AssemblyReference.cache
index a949af0..42fb0c2 100644
--- a/SQLHelper/obj/Release/SQLHelper.csproj.AssemblyReference.cache
+++ b/SQLHelper/obj/Release/SQLHelper.csproj.AssemblyReference.cache
Binary files differ
diff --git a/SQLHelper/obj/Release/SQLHelper.dll b/SQLHelper/obj/Release/SQLHelper.dll
index 965e083..8631058 100644
--- a/SQLHelper/obj/Release/SQLHelper.dll
+++ b/SQLHelper/obj/Release/SQLHelper.dll
Binary files differ
diff --git a/SQLHelper/obj/Release/SQLHelper.pdb b/SQLHelper/obj/Release/SQLHelper.pdb
index 60e8ba8..807d64b 100644
--- a/SQLHelper/obj/Release/SQLHelper.pdb
+++ b/SQLHelper/obj/Release/SQLHelper.pdb
Binary files differ
diff --git a/SyntacticSugar/bin/Debug/SyntacticSugar.dll b/SyntacticSugar/bin/Debug/SyntacticSugar.dll
deleted file mode 100644
index 95849dc..0000000
--- a/SyntacticSugar/bin/Debug/SyntacticSugar.dll
+++ /dev/null
Binary files differ
diff --git a/SyntacticSugar/bin/Debug/SyntacticSugar.pdb b/SyntacticSugar/bin/Debug/SyntacticSugar.pdb
deleted file mode 100644
index be6ecd0..0000000
--- a/SyntacticSugar/bin/Debug/SyntacticSugar.pdb
+++ /dev/null
Binary files differ
diff --git a/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache b/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache
deleted file mode 100644
index b04aad7..0000000
--- a/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.AssemblyReference.cache
+++ /dev/null
Binary files differ
diff --git a/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.CoreCompileInputs.cache b/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.CoreCompileInputs.cache
deleted file mode 100644
index 48caaab..0000000
--- a/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.CoreCompileInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-f95e56b5f9755e3380309c272e92c6c4a10dd4c5
diff --git a/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt b/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt
index 058b657..4194e9d 100644
--- a/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt
+++ b/SyntacticSugar/obj/Debug/SyntacticSugar.csproj.FileListAbsolute.txt
@@ -1,5 +1,11 @@
+D:\宸ヤ綔浠g爜\鏅轰簯杩堟�漒MES\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.dll
+D:\宸ヤ綔浠g爜\鏅轰簯杩堟�漒MES\MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.pdb
+D:\宸ヤ綔浠g爜\鏅轰簯杩堟�漒MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.CoreCompileInputs.cache
+D:\宸ヤ綔浠g爜\鏅轰簯杩堟�漒MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.dll
+D:\宸ヤ綔浠g爜\鏅轰簯杩堟�漒MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.pdb
 C:\Users\86130\Desktop\鏅轰簯杩堟�漒MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.dll
 C:\Users\86130\Desktop\鏅轰簯杩堟�漒MES-WEB-API\SyntacticSugar\bin\Debug\SyntacticSugar.pdb
 C:\Users\86130\Desktop\鏅轰簯杩堟�漒MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.CoreCompileInputs.cache
 C:\Users\86130\Desktop\鏅轰簯杩堟�漒MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.dll
 C:\Users\86130\Desktop\鏅轰簯杩堟�漒MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.pdb
+D:\宸ヤ綔浠g爜\鏅轰簯杩堟�漒MES\MES-WEB-API\SyntacticSugar\obj\Debug\SyntacticSugar.csproj.AssemblyReference.cache
diff --git a/SyntacticSugar/obj/Debug/SyntacticSugar.dll b/SyntacticSugar/obj/Debug/SyntacticSugar.dll
deleted file mode 100644
index 95849dc..0000000
--- a/SyntacticSugar/obj/Debug/SyntacticSugar.dll
+++ /dev/null
Binary files differ
diff --git a/SyntacticSugar/obj/Debug/SyntacticSugar.pdb b/SyntacticSugar/obj/Debug/SyntacticSugar.pdb
deleted file mode 100644
index be6ecd0..0000000
--- a/SyntacticSugar/obj/Debug/SyntacticSugar.pdb
+++ /dev/null
Binary files differ
diff --git a/SyntacticSugar/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs b/SyntacticSugar/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs
new file mode 100644
index 0000000..e5dc9b8
--- /dev/null
+++ b/SyntacticSugar/obj/Release/.NETFramework,Version=v4.5.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")]
diff --git a/SyntacticSugar/obj/Release/SyntacticSugar.csproj.CoreCompileInputs.cache b/SyntacticSugar/obj/Release/SyntacticSugar.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..bfb772c
--- /dev/null
+++ b/SyntacticSugar/obj/Release/SyntacticSugar.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+5dd9c82feb12f833c78ecebea7d9a46c99f29e3f
diff --git a/SyntacticSugar/obj/Release/SyntacticSugar.csproj.FileListAbsolute.txt b/SyntacticSugar/obj/Release/SyntacticSugar.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..dd1ef6e
--- /dev/null
+++ b/SyntacticSugar/obj/Release/SyntacticSugar.csproj.FileListAbsolute.txt
@@ -0,0 +1,5 @@
+D:\WorkBench\MES-WEB-API\SyntacticSugar\bin\Release\SyntacticSugar.dll
+D:\WorkBench\MES-WEB-API\SyntacticSugar\bin\Release\SyntacticSugar.pdb
+D:\WorkBench\MES-WEB-API\SyntacticSugar\obj\Release\SyntacticSugar.csproj.CoreCompileInputs.cache
+D:\WorkBench\MES-WEB-API\SyntacticSugar\obj\Release\SyntacticSugar.dll
+D:\WorkBench\MES-WEB-API\SyntacticSugar\obj\Release\SyntacticSugar.pdb
diff --git a/SyntacticSugar/obj/Release/SyntacticSugar.dll b/SyntacticSugar/obj/Release/SyntacticSugar.dll
new file mode 100644
index 0000000..c0635b3
--- /dev/null
+++ b/SyntacticSugar/obj/Release/SyntacticSugar.dll
Binary files differ
diff --git a/SyntacticSugar/obj/Release/SyntacticSugar.pdb b/SyntacticSugar/obj/Release/SyntacticSugar.pdb
new file mode 100644
index 0000000..ca3eca3
--- /dev/null
+++ b/SyntacticSugar/obj/Release/SyntacticSugar.pdb
Binary files differ
diff --git a/WebAPI/Controllers/BLL/Xt_SystemParameterController.cs b/WebAPI/Controllers/BLL/Xt_SystemParameterController.cs
index 68ed2e3..0509fb6 100644
--- a/WebAPI/Controllers/BLL/Xt_SystemParameterController.cs
+++ b/WebAPI/Controllers/BLL/Xt_SystemParameterController.cs
@@ -158,6 +158,42 @@
         }
         #endregion
 
-     
+        #region 绯荤粺鍙傛暟鏌ヨ 鍒犻櫎
+        [Route("Xt_SystemParameter/Xt_SystemParameterDelete")]
+        [HttpGet]
+        public object Xt_SystemParameterDelete(string HInterID, string user)
+        {
+            if (!DBUtility.ClsPub.Security_Log_second("Xt_SystemParameter_Delete", 1, false, user))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            bool bResult;
+            Int64 lngBillKey = 0;
+            lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+            DAL.ClsXt_SystemParameter_Ctl oBill = new DAL.ClsXt_SystemParameter_Ctl();
+            bResult = oBill.DeleteByID(lngBillKey);
+            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;
+            }
+
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs b/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
index 18b2239..f6182eb 100644
--- a/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_CustomerController.cs
@@ -252,6 +252,46 @@
         }
         #endregion
 
+        #region 瀹㈡埛鍒楄〃淇敼鎸夐挳鏂规硶娣诲姞瀹℃牳浜�
+        /// <summary>
+        /// 瀹㈡埛鍒楄〃淇敼鎸夐挳鏂规硶
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_Customer/xg_extendCheckEmp")]
+        [HttpGet]
+        public object xg_extendCheckEmp(long HInterID)
+        {
+            try
+            {
+                string sql = string.Format(@"select  c.HItemID,c.HNumber 瀹㈡埛浠g爜,c.HName 瀹㈡埛鍚嶇О,c.HHelpCode  鍔╄鐮�,c.HShortName 绠�绉�,c.HAddress 鍦板潃,c.HLinkMan 鑱旂郴浜�,c.HLinkPhone 鑱旂郴鐢佃瘽
+                                            ,c.HMobilePhone 鎵嬫満,c.HFax 浼犵湡,c.HPostalCode 閭紪,c.HEmail 鐢靛瓙閭欢,c.HCorMan 娉曚汉浠h〃,c.HBank 寮�鎴烽摱琛�,c.HBankAccount 閾惰璐﹀彿,c.HMateOutEmp 棰嗙敤浜�,
+                                            c.HTaxNum 绋庡姟鐧昏鍙�,c.HTaxRate 澧炲�肩◣鐜�,c.HEnglishName 鑻辨枃鍚嶇О,c.HEngLishAddress 鑻辨枃鍦板潃,c.HCountry 鍥藉,c.HCusStatus 瀹㈡埛鐘舵��
+                                            ,c.HStopflag 绂佺敤鏍囧織,c.HRemark 澶囨敞,c.HAreaID 鍦板尯ID,a.HName 鍦板尯鍚嶇О,c.HCurID 榛樿璐у竵ID,r.HName 榛樿璐у竵,
+                                            c.HSSID 缁撶畻鏂瑰紡ID,s.HName 缁撶畻鏂瑰紡,c.HCusTypeID 瀹㈡埛鍒嗙被ID,t.HName 瀹㈡埛鍒嗙被, c.HCheckEmp 瀹℃牳浜� from Gy_Customer c
+                                            left join Gy_AreaSet a on c.HAreaID=a.HItemID
+                                            left join Gy_Currency r on c.HCurID=r.HItemID 
+                                            left  join Gy_SettleStyle s on c.HSSID=s.HItemID
+                                            left  join Gy_CusType t on c.HCusTypeID=t.HItemID 
+                                            where c.HItemID='" + HInterID + "'");
+                ds = oCN.RunProcReturn(sql, "Gy_Customer");
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                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 鑾峰彇褰撳墠鏈�澶х殑瀹㈡埛浠g爜
         [Route("Gy_Customer/getMaxCusNumber")]
         [HttpGet]
@@ -1385,6 +1425,56 @@
         }
         #endregion
 
+
+        // #region 瀹㈡埛鍒嗙被灞炴�х粨鏋� 鏍规嵁缁勭粐鍒嗙被
+        [Route("Gy_BadReason/Gy_CusTypeTreeListByOrganization")]
+        [HttpGet]
+        public object Gy_CusTypeTreeListByOrganization()
+        {   
+            try
+            {
+                string sql1 = string.Format("select hitemid,hnumber,hname,hparentid from Xt_ORGANIZATIONS where hstopflag != 1 order by hnumber");
+
+                ds = oCN.RunProcReturn(sql1, "Xt_ORGANIZATIONS");
+
+                List <TreeModel> treeModels = new List<TreeModel>();
+                TreeModel first = new TreeModel();
+                first.title = "浣跨敤缁勭粐";
+                first.id = "0";
+                treeModels.Add(first);
+
+                foreach (DataRow row in ds.Tables[0].Rows)
+                {
+                    int HParentID = (int)row["hparentid"];
+                    int HItemID = (int)row["hitemid"];
+                    //if(HParentID == 0 || HItemID == HParentID) // 鐖惰妭鐐逛负0鎴栬�呰嚜寮曠敤鐨勮缃负涓�绾у嚑鐐�
+                    //{
+                        TreeModel tree = new TreeModel();
+                        tree.id = row["hitemid"].ToString();
+                        tree.title = row["hname"].ToString();
+                        treeModels[0].children.Add(tree);
+                       
+                    //}
+                }
+                //getTreeByHItemID(ds.Tables[0], treeModels);
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        // #endregion
+
         #region 鏍规嵁鐖秈d鍜岀瓑绾ц幏寰楁爲鐘跺浘閫掑綊
 
         [Route("Gy_BadReason/Gy_CusTypeTreeListByLevel")]
@@ -1539,6 +1629,31 @@
 
         #endregion
 
+        public void getTreeByHItemID(DataTable dt, List<TreeModel> tree)
+        {
+            for (int m = 0; m < tree.Count; m++)
+            {
+                tree[m].children = new List<TreeModel>();
+                for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+                {
+                    var HParentID = dt.Rows[i]["hparentid"].ToString();
+                    var HItemID = dt.Rows[i]["hitemid"].ToString();
+                    if (HParentID == tree[m].id && HParentID != HItemID)
+                    {
+                        TreeModel tbjson = new TreeModel();
+                        tbjson.id = dt.Rows[i]["hitemid"].ToString();
+                        tbjson.title = dt.Rows[i]["hname"].ToString();
+                        tree[m].children.Add(tbjson);
+                    }
+                }
+
+                for (int i = 0; i < tree[m].children.Count; i++)
+                {
+                    getTreeByHItemID(dt, tree[m].children);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+                }
+            }
+        }
+
         #region 閫掑綊鍑芥暟
         /// <summary>
         /// 閫掑綊鍑芥暟
diff --git a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
index 161a2af..45e0f17 100644
--- a/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_MaterialController.cs
@@ -625,6 +625,317 @@
             }
         }
 
+        #region 淇濆瓨鐗╂枡_鎵归噺
+        /// <summary>
+        /// 淇濆瓨鐗╂枡
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Gy_Material/SaveGy_MaterialList_Batch")]
+        [HttpPost]
+        public object SaveGy_MaterialList_Batch([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();
+            bool bResult = false;
+            Int64 HItemID = 0;
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("Gy_Material_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_Material ", "Gy_Material");
+            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"]);
+                maxid += 1;
+                HItemID = maxid;
+            }
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                DLL.ClsGy_Material_Ctl oBill = new DLL.ClsGy_Material_Ctl();
+                List<Models.ClsGy_Material_Model> lsmain = new List<Models.ClsGy_Material_Model>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_Material(msg1);
+                foreach (ClsGy_Material_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 (oItem.HMaterTypeID == 0)
+                    {
+                        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_Material where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_Material");
+                    //鏂板鏃跺垽鏂�
+                    #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 = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //绛夌骇
+                    oItem.HModifyEmp = msg2;
+                    oBill.oModel = oItem;  
+                    
+                    if (oBill.oModel.HItemID == 0)
+                    {
+                        //bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                        bResult = oBill.AddNew();
+                    }
+                    else
+                    {
+                        bResult = oBill.ModifyByIDDynamic(oBill.oModel.HItemID);
+                    }
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                
+                /*if (oBill.oModel.HItemID == 0)
+                {
+                    //bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    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 淇濆瓨鐗╂枡_鎵归噺
+        /// <summary>
+        /// 淇濆瓨鐗╂枡
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Gy_Material/SaveGy_MaterialList_Modify")]
+        [HttpPost]
+        public object SaveGy_MaterialList_Modify([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();
+            string msg_itemIdList = sArray[3].ToString();
+            bool bResult = false;
+            Int64 HItemID = 0;
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("Gy_Material_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_Material ", "Gy_Material");
+            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"]);
+                maxid += 1;
+                HItemID = maxid;
+            }
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                DLL.ClsGy_Material_Ctl oBill = new DLL.ClsGy_Material_Ctl();
+                List<Models.ClsGy_Material_Model> lsmain = new List<Models.ClsGy_Material_Model>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_Material(msg1);
+                JObject jobject = JObject.Parse(msg1);
+                var paramStr = "";
+                foreach (var property in jobject.Properties())
+                {
+                    string key = property.Name;
+                    string value = property.Value.ToString();
+
+                    // 鎷兼帴鏍煎紡: key=value
+                    paramStr += string.Format("{0}='{1}',", key, value);
+                }
+                LogService.Write(paramStr);
+
+                bResult = oBill.ModifyByIDListDynamic(msg_itemIdList, paramStr);
+
+
+                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
+
         [Route("Gy_Material/SaveGy_MaterialListApi")]
         [HttpPost]
         public object SaveGy_MaterialListApi([FromBody] JObject msg)
@@ -641,7 +952,8 @@
                 List<Models.ClsGy_Material_Model> lsmain = new List<Models.ClsGy_Material_Model>();
                 msg1 = msg1.Replace("\\", "");
                 msg1 = msg1.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_Material(msg1);
+                lsmain = oListModels.getObjectByJson_Gy_Material(msg1); 
+
                 oBill.oModel = lsmain[0];
                 //淇濆瓨
                 bool bResult = oBill.AddNewApi();
diff --git a/WebAPI/Controllers/BaseSet/Gy_SupplierController.cs b/WebAPI/Controllers/BaseSet/Gy_SupplierController.cs
index 030c263..413433b 100644
--- a/WebAPI/Controllers/BaseSet/Gy_SupplierController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_SupplierController.cs
@@ -247,6 +247,7 @@
         }
         #endregion
 
+        #region 鑾峰彇渚涘簲鍟嗙紪杈戞煡鐪� 瑙嗗浘
         /// <summary>
         /// 渚涘簲鍟嗗垪琛ㄤ慨鏀规寜閽柟娉�
         ///鍙傛暟锛歴tring sql銆�
@@ -281,8 +282,46 @@
                 return objJsonResult;
             }
         }
+        #endregion
 
+        #region 鑾峰彇渚涘簲鍟嗙紪杈戞煡鐪� 瑙嗗浘 鎵╁睍鍒跺崟淇℃伅
+        /// <summary>
+        /// 渚涘簲鍟嗗垪琛ㄤ慨鏀规寜閽柟娉�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Gy_Supplier/xg_ExpendBillMake")]
+        [HttpGet]
+        public object xg_ExpendBillMake(long HInterID)
+        {
+            try
+            {
+                string sql = string.Format(@"select  * from h_v_Gy_SupplierEdit_ExpendBillMake where HItemID='" + HInterID + "'");
+                ds = oCN.RunProcReturn(sql, "h_v_Gy_SupplierEdit_ExpendBillMake");
+                DataSet cs = oCN.RunProcReturn("select * from Gy_Supplier_PayPlan where HSupID = '" + HInterID + "'", "Gy_Supplier_PayPlan");
+                DataSet cs1 = oCN.RunProcReturn("select * from Gy_Supplier_Link where HSupID = '" + HInterID + "'", "Gy_Supplier_Link");
+                List<Object> list = new List<object>();
+                list.Add(cs);
+                list.Add(cs1);
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = list;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
+        #region 鍗曟嵁淇濆瓨缁撳悎澶嶅埗鍔熻兘
         /// <summary>
         /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
         ///鍙傛暟锛歴tring sql銆�
@@ -345,6 +384,7 @@
                 string HMaterClass = list[0].HMaterClass;
                 long HPSStyleID = list[0].HPSStyleID;
                 long HSupTypeID = list[0].HSupTypeID;
+                string HMaker = list[0].HMaker;
 
                 if (!DBUtility.ClsPub.AllowNumber(HNumber))
                 {
@@ -356,6 +396,17 @@
                 }
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
                 oCN.BeginTran();
+                // 鑻ュ湪鏂板鍜屽鍒朵腑瀛樺湪鐩稿悓缁勭粐锛屽垯杩斿洖閿欒淇℃伅
+                DataSet ds_check = oCN.RunProcReturn(@"select * from Gy_Supplier where HNumber ='" + HNumber + "'" + "and HUSEORGID = '" + HUseOrgID + "'", "Gy_Supplier");
+                if (ds_check.Tables[0].Rows.Count != 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鐩稿悓缁勭粐涓嬩笉鑳藉瓨鍦ㄧ浉鍚屼緵搴斿晢浠g爜!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 //涓昏〃
                 oCN.RunProc("Insert Into Gy_Supplier " +
                 "(HNumber,HName,HHelpCode,HShortNumber,HParentID" +
@@ -363,13 +414,13 @@
                     ",HShortName,HAddress,HLinkMan,HLinkPhone,HMobilePhone" +
                     ",HFax,HPostalCode,HEmail,HBank,HBankAccount" +
                     ",HTaxNum,HTaxRate,HCountry,HCorMan,HEnglishName" +
-                    ",HEnglishAddress,HCurID,HSSID,HAreaID,HMaterClass,HUSEORGID,HCREATEORGID,HPSStyleID,HSupTypeID) " +
+                    ",HEnglishAddress,HCurID,HSSID,HAreaID,HMaterClass,HUSEORGID,HCREATEORGID,HPSStyleID,HSupTypeID,HMaker) " +
                 " values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "','" + HParentID + "'" +
                 "," + HLevel + ",1,'" + HStopflag + "','" + HRemark + "'" +
                 ",'" + HShortName + "','" + HAddress + "','" + HLinkMan + "','" + HLinkPhone + "','" + HMobilePhone + "'" +
                 ",'" + HFax + "','" + HPostalCode + "','" + HEmail + "','" + HBank + "','" + HBankAccount + "'" +
                 ",'" + HTaxNum + "','" + HTaxRate + "','" + HCountry + "','" + HCorMan + "','" + HEnglishName + "'" +
-                ",'" + HEnglishAddress + "'," + HCurID + "," + HSSID + "," + HAreaID +" ,'" + HMaterClass + " ','" + HUseOrgID + "' ,'" + HCreateOrgID + "' ,'" + HPSStyleID+ "' ,'" + HSupTypeID +
+                ",'" + HEnglishAddress + "'," + HCurID + "," + HSSID + "," + HAreaID +" ,'" + HMaterClass + " ','" + HUseOrgID + "' ,'" + HCreateOrgID + "' ,'" + HPSStyleID+ "' ,'" + HSupTypeID + "' ,'" + HMaker +
               "') ");
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCN.RunProc("Update Gy_Supplier set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
@@ -420,6 +471,7 @@
                 return objJsonResult;
             }
         }
+        #endregion
 
         [Route("Gy_Supplier/SaveGy_SupplierListApi")]
         [HttpPost]
@@ -480,7 +532,6 @@
         ///鍙傛暟锛歴tring sql銆�
         ///杩斿洖鍊硷細object銆�
         /// </summary>
-        
         [Route("Gy_Supplier/AddBill1")]
         [HttpPost]
         public object AddBill1([FromBody] JObject oMain)
@@ -552,6 +603,10 @@
                     return objJsonResult;
                 }
 
+                if(HItemID == 0) // 浣跨敤鏂板鍑芥暟
+                {
+
+                }
 
                 if (!DBUtility.ClsPub.AllowNumber(HNumber))
                 {
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckBillController.cs
new file mode 100644
index 0000000..d4f04b4
--- /dev/null
+++ b/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckBillController.cs
@@ -0,0 +1,1197 @@
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using Pub_Class;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.IO;
+using System.Web;
+using System.Web.Http;
+using WebAPI.Models;
+
+namespace WebAPI.Controllers
+{
+    public class Sb_EquipPatrolCheckBillController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DAL.ClsSb_EquipPatrolCheckBill BillNew = new DAL.ClsSb_EquipPatrolCheckBill();   //瀵瑰簲鍗曟嵁绫�
+        public DAL.ClsSb_EquipPatrolCheckBill BillOld = new DAL.ClsSb_EquipPatrolCheckBill();   //瀵瑰簲鍗曟嵁绫�                                            
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();   //鑾峰彇绯荤粺鍙傛暟
+        string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"];
+
+        #region 璁惧宸℃璁板綍琛�
+
+        /// <summary>
+        /// 璁惧宸℃璁板綍琛ㄥ垪琛� list鍒楄〃鏁版嵁鍔犺浇
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckBill/GetEquipPatrolCheckBillList")]
+        [HttpGet]
+        public object GetEquipPatrolCheckBillList(string sWhere,string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sReturn = "";
+                string HViewName = "h_v_Sb_EquipPatrolCheckBillList";//瑙嗗浘鍛藉悕
+                if (oSystemParameter.ShowBill(ref sReturn) == true)
+                {
+                    /*
+                    if (oSystemParameter.omodel.WMS_CampanyName == "涔濊彵")
+                    {
+                        HViewName = "h_v_Sb_EquipPatrolCheckBillMainList";
+                    }
+                    */
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁璇诲彇澶辫触锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from " + HViewName + " " + sWhere + " order by hmainid desc", HViewName);
+                }
+                else
+                {
+                    string sql1 = "select * from " + HViewName + " " + " where 1 = 1";
+                    string sql = sql1 + sWhere + " order by hmainid desc";
+                    ds = oCN.RunProcReturn(sql, HViewName);
+                }
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #region 璁惧宸℃璁板綍鍒嗛〉鏌ヨ
+        [Route("Sb_EquipPatrolCheckBill/GetEquipPatrolCheckBillListPage")]
+        [HttpGet]
+        public object GetEquipPatrolCheckBillListPage(string sWhere, string user, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //缂栬緫鏉冮檺
+                
+                if (!DBUtility.ClsPub.Security_Log_second("Sb_EquipPatrolCheckBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                sWhere = sWhere.Replace("'", "''");
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipPatrolCheckBillListPage " + page + "," + size + ",''", "h_p_Sb_EquipPatrolCheckBillListPage");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipPatrolCheckBillListPage " + page + "," + size + ",'" + sWhere + "'", "h_p_Sb_EquipPatrolCheckBillListPage");
+                }
+
+                //娣诲姞鍒楀悕
+                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 = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                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 sql璇彞
+
+
+        public static DataSet Sb_EquipPatrolCheckBillList_s(string sWhere)
+        {
+            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sb_EquipPatrolCheckBillList ", "h_v_Sb_EquipPatrolCheckBillList");
+        }
+        #endregion
+
+        #region 璁惧宸℃璁板綍琛� 淇濆瓨/缂栬緫
+        /// <summary>
+        /// 宸℃璁板綍琛� 淇濆瓨
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckBill/SaveEquipPatrolCheckBillList")]
+        [HttpPost]
+        public object SaveEquipPatrolCheckBillList([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();
+            string msg4 = sArray[2].ToString();
+
+
+            string UserName = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckBill_Edit", 1, false, msg4))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsSb_EquipPatrolCheckBill oBill = new DAL.ClsSb_EquipPatrolCheckBill();
+                List<Model.ClsSb_EquipPatrolCheckBillMain> lsmain = new List<Model.ClsSb_EquipPatrolCheckBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Sb_EquipPatrolCheckBillMain(msg2);
+                foreach (Model.ClsSb_EquipPatrolCheckBillMain oItem in lsmain)
+                {
+                    //oItem.HMaker = "";
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3903";
+                    oItem.HBillSubType = "3903";
+                    DBUtility.ClsPub.CurUserName = UserName;
+                    //oItem.HInterID =0;
+                    //oItem.HBillNo = "";
+                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    //oItem.HMakeDate = "";
+                    //oItem.HYear = "";
+                    //oItem.HPeriod = "";
+                    //oItem.HRemark = "";
+                    //oItem.HCycleUnit = "";
+                    //oItem.HCheckCycle = "";
+                    //oItem.HBeginDate = "";
+                    //oItem.HEndDate = "";
+                    //oItem.HInnerBillNo = "";
+                    //oItem.HExplanation = "";
+
+                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        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
+                //msg2 = msg2.Replace("'", "鈥�");
+                List<Model.ClsSb_EquipPatrolCheckBillSub> ls = new List<Model.ClsSb_EquipPatrolCheckBillSub>();
+                ls = oListModels.getObjectByJson_Sb_EquipPatrolCheckBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsSb_EquipPatrolCheckBillSub oItemSub in ls)
+                {
+
+                    i++;
+                    oItemSub.HEntryID = i;
+                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+                    //oItemSub.HRemark = "";         //澶囨敞
+                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+                    oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+                                                   //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦
+                                                   //HMaterID = "";//閰嶄欢浠g爜
+                                                   //HUnitID = "";//鍗曚綅浠g爜
+                                                   //HQty = "";//瀹為檯鐢ㄩ噺
+                                                   //HQtyMust = "";//鍗曚綅鐢ㄩ噺
+                                                   //HRemark = "";//澶囨敞
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.omodel.HInterID == 0)
+                {
+                    // 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("Sb_EquipPatrolCheckBill/DeltetEquipPatrolCheckBillList")]
+        [HttpGet]
+        public object DeltetEquipPatrolCheckBillList(string HInterID,string user)
+        {
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("Sb_EquipPatrolCheckBill_Delete", 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.ClsSb_EquipPatrolCheckBill oBill = new DAL.ClsSb_EquipPatrolCheckBill();
+            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+            {
+                if (oBill.omodel.HBillStatus > 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (oBill.omodel.HChecker != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒犻櫎鍓嶆帶鍒�
+                DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_BeforeDelCtrl " + HInterID.ToString() + ",'" + user + "'", "h_p_Sb_EquipPatrolCheckBill_BeforeDelCtrl");
+                if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍒犻櫎鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                bool IsDete = oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckBill_AfterDelCtrl", user, 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("Sb_EquipPatrolCheckBill/Sb_EquipPatrolCheckBillListCheckDetai")]
+        [HttpGet]
+        public ApiResult<DataSet> Sb_EquipPatrolCheckBillListCheckDetai(string HID)
+        {
+            if (string.IsNullOrEmpty(HID))
+                return new ApiResult<DataSet> { code = -1, msg = "ID涓嶈兘涓虹┖" };
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sb_EquipPatrolCheckBill_Edit2  where hmainid= " + HID + " ", "h_v_Sb_EquipPatrolCheckBill_Edit2");
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄥ贰妫�璁板綍琛�" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+        }
+        #endregion
+
+        #region[璁惧宸℃璁板綍琛ㄧ紪杈戞椂鑾峰彇琛ㄩ鏁版嵁]
+        [Route("Sb_EquipPatrolCheckBill/Sb_EquipPatrolCheckBillListProjectDetai")]
+        [HttpGet]
+        public object Sb_EquipPatrolCheckBillListProjectDetai(string sqlWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sqlWhere == null || sqlWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipPatrolCheckBill_Edit", "h_v_Sb_EquipPatrolCheckBill_Edit");
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sb_EquipPatrolCheckBill_Edit where 1 = 1 ";
+                    string sql = sql1 + sqlWhere;
+                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipPatrolCheckBill_Edit");
+                    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
+
+
+        #endregion
+
+
+        #region 鏍规嵁璁惧鏉$爜鏌ユ壘璁惧妗f淇℃伅PDA
+        [Route("Sb_PDA_EquipPatrolCheckBill/txtHBarCode_KeyDown")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown(string HBarCode)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //寰楀埌淇℃伅
+                ds = oCN.RunProcReturn("select top 1 * from Gy_EquipFileBillMain  where HEquipFileNumber= '" + HBarCode + "'", "Gy_EquipFileBillMain");
+                //鍐欏叆淇℃伅
+                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;
+            }
+        }
+        #endregion
+
+        #region 鏍规嵁璁惧鏉$爜鏌ユ壘璁惧妗f淇℃伅PDA  鏌ヨ鏉$爜妗f鍒楄〃
+        [Route("Sb_PDA_EquipPatrolCheckBill/txtHBarCode_KeyDown_List")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown_List(string HBarCode)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //寰楀埌淇℃伅
+                ds = oCN.RunProcReturn("select top 1 * from h_v_Gy_EquipFileMainList  where 鏉″舰鐮�= '" + HBarCode + "'", "h_v_Gy_EquipFileMainList");
+                //鍐欏叆淇℃伅
+                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;
+            }
+        }
+        #endregion
+
+        #region 璁惧宸℃璁板綍鎻愪氦PDA
+
+        [Route("Sb_PDA_EquipPatrolCheckBill/SaveGetEquipPatrolCheckBillList")]
+        [HttpPost]
+        public object SaveGetEquipPatrolCheckBillList([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();
+
+            string UserName = "";
+
+            ListModels oListModels = new ListModels();
+            try
+            {
+                DLL.ClsSb_EquipPatrolCheckBill oBill = new DLL.ClsSb_EquipPatrolCheckBill();
+                List<Models.ClsSb_EquipPatrolCheckBillMain> lsmain = new List<Models.ClsSb_EquipPatrolCheckBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Sb_EquipPatrolCheckBillMainPDA(msg2); 
+                foreach (Models.ClsSb_EquipPatrolCheckBillMain oItem in lsmain)
+                {
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                    //oItem.HMaker = "";
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3903";
+                    oItem.HBillSubType = "3903";
+                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
+                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+                    //oItem.HPeriod = 0;
+                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+                    //oItem.HRemark = "";       //澶囨敞
+
+                    //oItem.HMainSourceInterID = oItem.HInterID;
+
+                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        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<Models.ClsSb_EquipPatrolCheckBillSub> ls = new List<Models.ClsSb_EquipPatrolCheckBillSub>();
+                ls = oListModels.getObjectByJson_Sb_EquipPatrolCheckBillSubPDA(msg3);
+                int i = 0;
+                foreach (Models.ClsSb_EquipPatrolCheckBillSub oItemSub in ls)
+                {
+
+                    i++;
+                    oItemSub.HEntryID = i;
+
+                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+                    //oItemSub.HRemark = "";         //澶囨敞
+                    //oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+                    //oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.omodel.HInterID == 0)
+                {
+                    // 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 = "淇濆瓨鎴愬姛锛�";
+                    //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("Sb_EquipPatrolCheckBill/CheckSb_EquipPatrolCheckBill")]
+        [HttpGet]
+        public object CheckSb_EquipPatrolCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckBill_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)
+                {
+                    //瀹℃牳鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Sb_EquipPatrolCheckBill_BeforeCheckCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipPatrolCheckBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+                    //==================================================================================  
+
+                    if (!BillOld.CheckBill(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }                 
+                }
+                else
+                {
+                    //鍙嶅鏍稿墠鎺у埗=========================================        
+                    string sql1 = "exec h_p_Sb_EquipPatrolCheckBill_BeforeUnCheckCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipPatrolCheckBill_BeforeUnCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //===========================================================         
+
+                    if (!BillOld.AbandonCheck(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckBill_AfterUnCheckCtrl", user, 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("Sb_EquipPatrolCheckBill/CloseSb_EquipPatrolCheckBill")]
+        [HttpGet]
+        public object CloseSb_EquipPatrolCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckBill_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)
+                {
+                    string sql = "";
+                    //鍏抽棴鍓嶆帶鍒�===============================================Begin===================================================================
+                    sql = "exec h_p_Sb_EquipPatrolCheckBill_BeforeCloseCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipPatrolCheckBill_BeforeCloseCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:鍏抽棴鍓嶅墠鍒ゆ柇澶辫触锛屾棤杩斿洖淇℃伅锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍏抽棴鍓嶆帶鍒�===============================================End===================================================================
+
+                    //鍏抽棴鎻愪氦
+                    if (BillOld.CloseBill(Convert.ToInt32(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckBill_AfterCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        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
+                {
+                    string sql = "";
+                    //鍙嶅叧闂墠鎺у埗===============================================Begin===================================================================
+                    sql = "exec h_p_Sb_EquipPatrolCheckBill_BeforeUnCloseCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipPatrolCheckBill_BeforeUnCloseCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:鍙嶅叧闂墠鍓嶅垽鏂け璐ワ紝鏃犺繑鍥炰俊鎭紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍙嶅叧闂墠鎺у埗===============================================End===================================================================
+
+                    //鍙嶅叧闂彁浜�
+                    if (BillOld.CancelClose(Convert.ToInt32(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckBill_AfterUnCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        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;
+                    }
+                }
+
+                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("Sb_EquipPatrolCheckWarning/Report")]
+        [HttpGet]
+        public object Report(string HYear,string HMonth,string HEquipTypeID, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 1, false, user))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+                if (HYear == null || HYear.Equals("") || HMonth == null || HMonth.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璇烽�夋嫨鏈夋晥骞翠唤锛屾湀浠�";
+                    objJsonResult.data = "";
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+                else
+                {
+                    string sql = "exec h_p_Sb_EquipPatrolCheckWarningReport " + HYear + "," + HMonth + "," + HEquipTypeID;
+                    ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipPatrolCheckWarningReport");
+                }
+
+                //娣诲姞鍒楀悕
+                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
+
+        #region 璁惧宸℃璁板綍鎷嶇収涓婁紶
+        [Route("Sb_EquipPatrolCheckBill/UploadFile")]
+        [HttpPost]
+        public object UploadFile()
+        {
+
+            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //鍗曟嵁鍙�
+            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //澶囨敞
+            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //鍒涘缓浜�
+            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
+            string path = HttpContext.Current.Server.MapPath("~/../Files/EquipFolder/" + HBillNo);
+            //string path = @"D:\\Files\\"+ HBillNo;
+            dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName);
+            if (dyResult != null && dyResult.result == 1)
+            {
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "涓婁紶鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = dyResult.returnval;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+
+        public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
+        {
+            dynamic Result_Ob = new { result = 1, returnval = "涓婁紶鎴愬姛锛�" };
+            string filePath = Path.GetFullPath(files.FileName);//鏂囦欢涓婁紶璺緞
+            string fileExtension = Path.GetExtension(files.FileName);// 鏂囦欢鎵╁睍鍚�
+            string filename = files.FileName;//鏂囦欢鍚�
+            string fileSavePath = path;// 涓婁紶淇濆瓨璺緞
+            int filesize = files.ContentLength;//鑾峰彇涓婁紶鏂囦欢鐨勫ぇ灏忓崟浣嶄负瀛楄妭byte
+            int Maxsize = 40000 * 1024;//瀹氫箟涓婁紶鏂囦欢鐨勬渶澶х┖闂村ぇ灏忎负40M
+            try
+            {
+                if (files == null || files.ContentLength <= 0)
+                {
+                    Result_Ob = new { result = 0, returnval = "鏂囦欢涓嶈兘涓虹┖!" };
+                    return Result_Ob;
+                }
+                if (filesize >= Maxsize)
+                {
+                    Result_Ob = new { result = 0, returnval = "涓婁紶鏂囦欢瓒呰繃40M锛屼笉鑳戒笂浼狅紒" };
+                    return Result_Ob;
+                }
+
+                string fileurl = Path.Combine(fileSavePath, filename);
+                if (Directory.Exists(fileurl) == true)  //濡傛灉瀛樺湪閲嶅悕鏂囦欢灏辨彁绀�  
+                {
+                    Result_Ob = new { result = 0, returnval = "瀛樺湪鍚屽悕鏂囦欢锛�" };
+                    return Result_Ob;
+                }
+                //鍒犻櫎鏁版嵁琛ㄦ暟鎹�
+                ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList");
+                if (Directory.Exists(path))
+                {
+                    File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
+                    files.SaveAs(fileurl);
+                    string StrPath = "/files/EquipFolder/" + HBillNo + "/" + filename;
+                    if (File.Exists(fileurl))
+                    {
+                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
+                        //鍐欏叆鏁版嵁琛�
+                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
+                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
+                                    ",HFileClsID,HSourceBillNo" +
+                                   ") values('"
+                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
+                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
+                                    "','" + 0 + "','" + HBillNo +
+                                   "') ");
+                    }
+                    else
+                    {
+                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
+                    }
+                }
+                else
+                {
+                    Directory.CreateDirectory(fileSavePath); //娣诲姞鏂囦欢澶�
+                    files.SaveAs(fileurl);
+                    string StrPath = "/files/EquipFolder/" + HBillNo + "/" + filename;
+                    if (File.Exists(fileurl))
+                    {
+                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
+                        //鍐欏叆鏁版嵁琛�
+                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
+                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
+                                    ",HFileClsID,HSourceBillNo" +
+                                   ") values('"
+                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
+                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
+                                    "','" + 0 + "','" + HBillNo +
+                                   "') ");
+                    }
+                    else
+                    {
+                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
+                    }
+                }
+
+            }
+            catch (Exception e)
+            {
+                Result_Ob = new { result = 0, returnval = e.Message };
+            }
+            return Result_Ob;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鍗曟嵁鍙锋煡鎵句笂浼犳枃浠跺垪琛�
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckBill/Filelist")]
+        [HttpGet]
+        public object Filelist(string HBillNo)
+        {
+            var url = fileip + "/files/EquipFolder/" + HBillNo + "/";
+            //@"C:\\files\\"
+            try
+            {
+                ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList");
+                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;
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁ID,鍗曟嵁鍙�,鏂囦欢鍚� 鍒犻櫎鏂囦欢
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckBill/DeleteFilelist")]
+        [HttpGet]
+        public object DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName)
+        {
+            try
+            {
+
+                oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID);
+                string fileurl = Path.Combine(HttpContext.Current.Server.MapPath("~/../Files/EquipFolder/" + HSourceBillNo), HFileName);
+                File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
+                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       
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckPlanBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckPlanBillController.cs
new file mode 100644
index 0000000..f8a407c
--- /dev/null
+++ b/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckPlanBillController.cs
@@ -0,0 +1,845 @@
+锘縰sing DBUtility;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using SyntacticSugar.constant;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Web.Http;
+using WebAPI.Models;
+namespace WebAPI.Controllers
+{
+    public class Sb_EquipPatrolCheckPlanBillController : ApiController
+    {
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DataSet ds = new DataSet();
+        public DAL.ClsSb_EquipPatrolCheckPlanBill BillOld = new DAL.ClsSb_EquipPatrolCheckPlanBill(); 
+
+        #region 璁惧宸℃璁″垝琛�
+
+        /// <summary>
+        /// 璁惧宸℃璁″垝琛ㄥ垪琛� list鍒楄〃鏁版嵁鍔犺浇
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckPlanBill/GetEquipPatrolCheckPlanBillList")]
+        [HttpGet]
+        public object GetEquipPatrolCheckPlanBillList(string sWhere,string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckPlanBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipPatrolCheckPlanBillList " + sWhere + " order by hmainid desc", "h_v_Sb_EquipPatrolCheckPlanBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sb_EquipPatrolCheckPlanBillList where 1 = 1";
+                    string sql = sql1 + sWhere + " order by hmainid desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipPatrolCheckPlanBillList");
+                }
+
+                //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 ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 璁惧宸℃璁″垝鍗曞垎椤靛垪琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckPlanBill/GetEquipPatrolCheckPlanBillListPage")]
+        [HttpGet]
+        public object GetEquipPatrolCheckPlanBillListPage(string sWhere, string user, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckPlanBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipPatrolCheckPlanBillList_Query " + page + "," + size + ",'',''", "h_p_Sb_EquipPatrolCheckPlanBillList_Query");
+                }
+                else
+                {
+                    sWhere = sWhere.Replace("'", "''");
+                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipPatrolCheckPlanBillList_Query " + page + "," + size + ",'','" + sWhere + "'", "h_p_Sb_EquipPatrolCheckPlanBillList_Query");
+                }
+
+                //娣诲姞鍒楀悕
+                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 = CodeConstant.SUCCEED;
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #region 璁惧宸℃璁板綍缁熻鍒嗘瀽 
+        /// <summary>
+        /// 杩斿洖璁惧宸℃璁板綍缁熻鍒嗘瀽 鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sb_EquipPatrolCheckReport/Statistics")]
+        [HttpGet]
+        public object Statistics(string DateYear, string HType, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                if (DateYear == null || DateYear.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "璇烽�夋嫨鏈夋晥骞翠唤";
+                    return objJsonResult;
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sb_EquipPatrolCheckBillReport '" + DateYear + "','" + HType + "'", "h_p_Sb_EquipPatrolCheckBillReport");
+                }
+
+                //娣诲姞鍒楀悕
+                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
+
+        #region sql璇彞
+
+
+        public static DataSet Sb_EquipPatrolCheckPlanBillList_s(string sWhere)
+        {
+            return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sb_EquipPatrolCheckPlanBillList ", "h_v_Sb_EquipPatrolCheckPlanBillList");
+        }
+        #endregion
+
+        #region 璁惧宸℃璁″垝琛� 淇濆瓨/缂栬緫
+        /// <summary>
+        /// 淇濆瓨妯″叿缁翠慨鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckPlanBill/SaveEquipPatrolCheckPlanBillList")]
+        [HttpPost]
+        public object SaveEquipPatrolCheckPlanBillList([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();
+            string msg4 = sArray[2].ToString();
+
+
+            string UserName = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckPlanBill_Edit", 1, false, msg4))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                DAL.ClsSb_EquipPatrolCheckPlanBill oBill = new DAL.ClsSb_EquipPatrolCheckPlanBill();
+                List<Model.ClsSb_EquipPatrolCheckPlanBillMain> lsmain = new List<Model.ClsSb_EquipPatrolCheckPlanBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Sb_EquipPatrolCheckPlanBillMain(msg2);
+                foreach (Model.ClsSb_EquipPatrolCheckPlanBillMain oItem in lsmain)
+                {
+                    //oItem.HMaker = "";
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "3904";
+                    oItem.HBillSubType = "3904";
+
+                    //oItem.HInterID =0;
+                    //oItem.HBillNo = "";
+                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    //oItem.HMakeDate = "";
+                    //oItem.HYear = "";
+                    //oItem.HPeriod = "";
+                    //oItem.HRemark = "";
+                    //oItem.HCycleUnit = "";
+                    //oItem.HCheckCycle = "";
+                    //oItem.HBeginDate = "";
+                    //oItem.HEndDate = "";
+                    //oItem.HInnerBillNo = "";
+                    //oItem.HExplanation = "";
+
+                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        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
+                //msg2 = msg2.Replace("'", "鈥�");
+                List<Model.ClsSb_EquipPatrolCheckPlanBillSub> ls = new List<Model.ClsSb_EquipPatrolCheckPlanBillSub>();
+                ls = oListModels.getObjectByJson_Sb_EquipPatrolCheckPlanBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsSb_EquipPatrolCheckPlanBillSub oItemSub in ls)
+                {
+
+                    i++;
+                    oItemSub.HEntryID = i;
+                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+                    //oItemSub.HRemark = "";         //澶囨敞
+                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+                    oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+                                                   //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦
+                                                   //HMaterID = "";//閰嶄欢浠g爜
+                                                   //HUnitID = "";//鍗曚綅浠g爜
+                                                   //HQty = "";//瀹為檯鐢ㄩ噺
+                                                   //HQtyMust = "";//鍗曚綅鐢ㄩ噺
+                                                   //HRemark = "";//澶囨敞
+
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.omodel.HInterID == 0)
+                {
+                    // 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 = "淇濆瓨鎴愬姛锛�";
+                    //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 [璁惧宸℃璁″垝琛ㄥ垹闄ゅ姛鑳絔
+        /// <summary>
+        /// 妯″叿缁翠慨鍗曞垹闄ゅ姛鑳�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckPlanBill/DeltetEquipPatrolCheckPlanBillList")]
+        [HttpGet]
+        public object DeltetEquipPatrolCheckPlanBillList(string HInterID,string user)
+        {
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckPlanBill_Delete", 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.ClsSb_EquipPatrolCheckPlanBill oBill = new DAL.ClsSb_EquipPatrolCheckPlanBill();
+            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+            {
+                if (oBill.omodel.HBillStatus > 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵��,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (oBill.omodel.HChecker != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸茬粡瀹℃牳,涓嶈兘鍒犻櫎锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒犻櫎鍓嶆帶鍒�=========================================      
+                string sql1 = "exec h_p_Sb_EquipPatrolCheckPlanBill_BeforeDelCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'";
+                ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipPatrolCheckPlanBill_BeforeDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //==================================================================================  
+
+                bool IsDete = oBill.DeleteBill(lngBillKey, oBill.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckPlanBill_AfterDelCtrl", user, 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("Sb_EquipPatrolCheckPlanBill/Sb_EquipPatrolCheckPlanBillListCheckDetai")]
+        [HttpGet]
+        public ApiResult<DataSet> Sb_EquipPatrolCheckPlanBillListCheckDetai(string HID)
+        {
+            if (string.IsNullOrEmpty(HID))
+                return new ApiResult<DataSet> { code = -1, msg = "ID涓嶈兘涓虹┖" };
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sb_EquipPatrolCheckPlanBill_Edit2  where hmainid= " + HID + " ", "h_v_Sb_EquipPatrolCheckPlanBill_Edit2");
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄥ贰妫�璁″垝琛�" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+        }
+        #endregion
+        #region[璁惧宸℃璁″垝琛ㄧ紪杈戞椂鑾峰彇琛ㄤ綋鏁版嵁]
+        [Route("Sb_EquipPatrolCheckPlanBill/Sb_EquipPatrolCheckPlanBillListProjectDetai")]
+        [HttpGet]
+        public object Sb_EquipPatrolCheckPlanBillListProjectDetai(string sqlWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sqlWhere == null || sqlWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipPatrolCheckPlanBill_Edit", "h_v_Sb_EquipPatrolCheckPlanBill_Edit");
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sb_EquipPatrolCheckPlanBill_Edit where 1 = 1 ";
+                    string sql = sql1 + sqlWhere;
+                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipPatrolCheckPlanBill_Edit");
+                    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[璁惧宸℃璁板綍琛紝閫夊贰妫�璁″垝鑾峰彇宸℃璁″垝娓呭崟淇℃伅]
+        [Route("Sb_EquipPatrolCheckPlanBill/Sb_EquipPatrolCheckPlanBill_PlanList")]
+        [HttpGet]
+        public object Sb_EquipPatrolCheckPlanBill_PlanList(string HInterID,string HDate)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+                ds = oCN.RunProcReturn("exec h_p_Sb_EquipPatrolCheck_GetPlanList " + HInterID + ",'" + HDate + "'", "h_p_Sb_EquipPatrolCheck_GetPlanList");
+
+                if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    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[璁惧宸℃璁″垝琛ㄧ紪杈戞椂鑾峰彇琛ㄤ綋鏁版嵁--宸℃璁″垝]
+        [Route("Sb_EquipPatrolCheckPlanBill/GetPlanList")]
+        [HttpGet]
+        public object GetPlanList(string sqlWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sqlWhere == null || sqlWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipPatrolCheckPlanList", "h_v_Sb_EquipPatrolCheckPlanList");
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sb_EquipPatrolCheckPlanList where 1 = 1 ";
+                    string sql = sql1 + sqlWhere;
+                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipPatrolCheckPlanList");
+                    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 璁惧宸℃璁″垝鍗曞鏍�/鍙嶅鏍稿姛鑳�
+        [Route("Sb_EquipPatrolCheckPlanBill/CheckSb_EquipPatrolCheckPlanBill")]
+        [HttpGet]
+        public object CheckSb_EquipMaintainRuleBill(string HInterID, int Type, string user)
+        {
+            string sql = "";
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckPlanBill_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;
+                ds = oCN.RunProcReturn("select * from Sb_EquipPatrolCheckPlanBillMain where HInterID = " + int.Parse(HInterID), "Sb_EquipPatrolCheckPlanBillMain");
+                string HBillNo = "";
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                }
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //瀹℃牳鍓嶆帶鍒�
+                    sql = "exec h_p_Sb_EquipPatrolCheckPlanBill_BeforeCheckCtrl  " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipPatrolCheckBill_BeforeCheckCtrl ");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (!BillOld.CheckBill(int.Parse(HInterID), HBillNo, "h_p_Sb_EquipPatrolCheckPlanBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鑷姩鐢熸垚宸℃璁″垝鍗�
+                    oCN.RunProc("exec h_p_Sb_EquipPatrolCheckPlan_Auto " + HInterID);
+                }
+                else
+                {
+                    //鍙嶅鏍稿墠鎺у埗
+                    sql = "exec  h_p_Sb_EquipPatrolCheckPlanBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipPatrolCheckBill_BeforeUnCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (BillOld.AbandonCheck(int.Parse(HInterID), HBillNo, " h_p_Sb_EquipPatrolCheckPlanBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    }
+                    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("Sb_EquipPatrolCheckPlanBill/CloseSb_EquipPatrolCheckPlanBill")]
+        [HttpGet]
+        public object CloseSb_EquipMaintainRuleBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckPlanBill_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)
+                {
+                    string sql = "";
+                    //鍏抽棴鍓嶆帶鍒�===============================================Begin===================================================================
+                    sql = "exec h_p_Sb_EquipPatrolCheckPlanBill_BeforeCloseCtrl " + HInterID + ",'','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipPatrolCheckPlanBill_BeforeCloseCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:鍏抽棴鍓嶅墠鍒ゆ柇澶辫触锛屾棤杩斿洖淇℃伅锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍏抽棴鍓嶆帶鍒�===============================================End===================================================================
+
+                    //鍏抽棴鎻愪氦
+                    if (BillOld.CloseBill(Convert.ToInt32(HInterID), "", "h_p_Sb_EquipPatrolCheckPlanBill_AfterCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        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
+                {
+                    string sql = "";
+                    //鍙嶅叧闂墠鎺у埗===============================================Begin===================================================================
+                    sql = "exec h_p_Sb_EquipPatrolCheckPlanBill_BeforeUnCloseCtrl " + HInterID + ",'','" + user + "'";
+                    ds = oCN.RunProcReturn(sql, "h_p_Sb_EquipPatrolCheckPlanBill_BeforeUnCloseCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:鍙嶅叧闂墠鍓嶅垽鏂け璐ワ紝鏃犺繑鍥炰俊鎭紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍙嶅叧闂墠鎺у埗===============================================End===================================================================
+
+                    //鍙嶅叧闂彁浜�
+                    if (BillOld.CancelClose(Convert.ToInt32(HInterID), "", "h_p_Sb_EquipPatrolCheckPlanBill_AfterUnCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        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;
+                    }
+                }
+
+                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
+
+
+
+        #endregion
+
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckRuleBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckRuleBillController.cs
new file mode 100644
index 0000000..1f89ec9
--- /dev/null
+++ b/WebAPI/Controllers/SBGL/Sb_EquipPatrolCheckRuleBillController.cs
@@ -0,0 +1,1163 @@
+锘縰sing DBUtility;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using WebAPI.Models;
+using System.Web;
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
+using System.IO;
+
+namespace WebAPI.Controllers.SBGL
+{
+    public class Sb_EquipPatrolCheckRuleBillController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;//鍗曟嵁鐘舵�侊紙鏂板锛屼慨鏀癸紝娴忚锛屾洿鏂板崟浠凤紝鍙樻洿锛�
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        public DLL.ClsSb_EquipPatrolCheckRuleBill BillNew = new DLL.ClsSb_EquipPatrolCheckRuleBill();   //瀵瑰簲鍗曟嵁绫�
+        public DLL.ClsSb_EquipPatrolCheckRuleBill BillOld = new DLL.ClsSb_EquipPatrolCheckRuleBill();   //瀵瑰簲鍗曟嵁绫�
+
+
+        #region 璁惧宸℃瑙勭▼鍗曞垪琛�
+        [Route("Sb_EquipPatrolCheckRuleBill/GetEquipPatrolCheckRuleList")]
+        [HttpGet]
+        public object GetEquipPatrolCheckRuleList(string sWhere,string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckRuleBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipPatrolCheckRuleList " + sWhere + " order by hmainid desc", "h_v_Sb_EquipPatrolCheckRuleList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sb_EquipPatrolCheckRuleList where 1 = 1";
+                    string sql = sql1 + sWhere + " order by hmainid desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipPatrolCheckRuleList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧宸℃瑙勭▼鍗曞垪琛≒DA
+        [Route("Sb_EquipPatrolCheckRuleBill/GetEquipPatrolCheckRuleListPDA")]
+        [HttpGet]
+        public object GetEquipPatrolCheckRuleListPDA(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckRuleBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sb_GetPatrolCheckRuleListByEquip " + sWhere , "h_v_Sb_GetPatrolCheckRuleListByEquip");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sb_GetPatrolCheckRuleListByEquip where 1 = 1";
+                    string sql = sql1 + sWhere;
+                    ds = oCN.RunProcReturn(sql, "h_v_Sb_GetPatrolCheckRuleListByEquip");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧宸℃瑙勭▼璁板綍鍒犻櫎鍔熻兘
+        [Route("Sb_EquipPatrolCheckRuleBill/DeleteEquipPatrolCheckRuleBillList")]
+        [HttpGet]
+        public object DeleteEquipPatrolCheckRuleBillList(string HInterID,string user)
+        {
+            if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckRuleBill_Delete", 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;
+            }
+            DLL.ClsSb_EquipPatrolCheckRuleBill oBill = new DLL.ClsSb_EquipPatrolCheckRuleBill();
+            ds = oCN.RunProcReturn("select * from Sb_EquipPatrolCheckRuleBillMain where HInterID=" + HInterID, "Sb_EquipPatrolCheckRuleBillMain");
+            if (ds.Tables[0].Rows.Count>0)
+            {
+                //鏁版嵁搴撶┖鍊煎垽鏂�
+                if (ds.Tables[0].Rows[0]["HBillStatus"] == DBNull.Value)
+                {
+                    ds.Tables[0].Rows[0]["HBillStatus"] = 1;
+                }
+                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString())  > 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬涓嶈兘鍒犻櫎鐘舵�侊紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒犻櫎鍓嶆帶鍒�=========================================      
+                string sql1 = "exec h_p_Sb_EquipPatrolCheckRuleBill_BeforeDelCtrl " + BillOld.omodel.HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'";
+                ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipPatrolCheckRuleBill_BeforeDelCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //==================================================================================  
+
+                bool IsDete = oBill.DeleteBill(lngBillKey,BillOld.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckRuleBill_AfterDelCtrl",user, 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("Sb_EquipPatrolCheckRuleBill/Sb_EquipPatrolCheckRuleBillListCheckDetai")]
+        [HttpGet]
+        public ApiResult<DataSet> Sb_EquipPatrolCheckRuleBillListCheckDetai(string HID)
+        {
+            if (string.IsNullOrEmpty(HID))
+                return new ApiResult<DataSet> { code = -1, msg = "ID涓嶈兘涓虹┖" };
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sb_EquipPatrolCheckRuleEdit  where hmainid= " + HID + " ", "h_v_Sb_EquipPatrolCheckRuleEdit");
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄥ贰妫�瑙勭▼琛�" };
+            return new ApiResult<DataSet> { code = 1, msg = "鏌ヨ鎴愬姛", data = dataSet };
+        }
+        #endregion
+
+        #region[璁惧宸℃瑙勭▼鍗曠紪杈戞椂鑾峰彇琛ㄤ綋鏁版嵁]
+        [Route("Sb_EquipPatrolCheckRuleBill/Sb_EquipPatrolCheckRuleBillListProjectDetai")]
+        [HttpGet]
+        public object Sb_EquipPatrolCheckRuleBillListProjectDetai(string sqlWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+                string sql1 = @"select  *  from h_v_Sb_EquipPatrolCheckRuleEdit a
+                        left join Gy_PatrolCheck b  on a.宸℃椤圭洰ID =b.HItemID where 1 = 1 ";
+                string sql = sql1 + sqlWhere;
+                ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipPatrolCheckRuleEdit");
+                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>
+        /// 璁惧宸℃瑙勭▼鍗� 淇濆瓨
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sb_EquipPatrolCheckRuleBill/SaveEquipPatrolCheckRuleBill")]
+        [HttpPost]
+        public object SaveEquipPatrolCheckRuleBill([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();
+            string msg4 = sArray[2].ToString();
+
+
+            string UserName = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckRuleBill_Edit", 1, false, msg4))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DLL.ClsSb_EquipPatrolCheckRuleBill oBill = new DLL.ClsSb_EquipPatrolCheckRuleBill();
+                List<Models.ClsSb_EquipPatrolCheckRuleBillMain> lsmain = new List<Models.ClsSb_EquipPatrolCheckRuleBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Sb_EquipPatrolCheckRuleBillMain(msg2);
+                foreach (Models.ClsSb_EquipPatrolCheckRuleBillMain oItem in lsmain)
+                {
+                    UserName = oItem.HMaker;  //鍒跺崟浜�
+                    oItem.HBillType = "5015";
+                    oItem.HBillSubType = "5015";
+                    DBUtility.ClsPub.CurUserName = UserName;
+                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        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
+                //msg2 = msg2.Replace("'", "鈥�");
+                List<Models.ClsSb_EquipPatrolCheckRuleBillSub> ls = new List<Models.ClsSb_EquipPatrolCheckRuleBillSub>();
+                ls = oListModels.getObjectByJson_Sb_EquipPatrolCheckRuleBillSub(msg3);
+                int i = 0;
+                foreach (Models.ClsSb_EquipPatrolCheckRuleBillSub oItemSub in ls)
+                {
+
+                    i++;
+                    oItemSub.HEntryID = i;
+                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+                    //oItemSub.HRemark = "";         //澶囨敞
+                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+                    oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+                                                   
+                    oBill.DetailColl_Mater.Add(oItemSub);
+
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.omodel.HInterID == 0)
+                {
+                    // 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 = "淇濆瓨鎴愬姛锛�";
+                    //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("Sb_EquipPatrolCheckRuleBill/CheckSb_EquipPatrolCheckRuleBill")]
+        [HttpGet]
+        public object CheckSb_EquipPatrolCheckRuleBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckRuleBill_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;
+                }
+
+                DLL.ClsSb_EquipPatrolCheckRuleBill oBill = new DLL.ClsSb_EquipPatrolCheckRuleBill();
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    //瀹℃牳鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Sb_EquipPatrolCheckRuleBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipPatrolCheckRuleBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
+
+                    if (!BillOld.CheckBill(int.Parse(HInterID),oBill.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckRuleBill_AfterCheckCtrl",user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍙嶅鏍稿墠鎺у埗=========================================        
+                    string sql1 = "exec h_p_Sb_EquipPatrolCheckRuleBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipPatrolCheckRuleBill_BeforeUnCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //===========================================================         
+
+
+                    if (BillOld.AbandonCheck(int.Parse(HInterID),oBill.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckRuleBill_AfterUnCheckCtrl",user, ref ClsPub.sExeReturnInfo))
+                    {
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    }
+                    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("Sb_EquipPatrolCheckRuleBill/CloseSb_EquipPatrolCheckRuleBill")]
+        [HttpGet]
+        public object CloseSb_EquipPatrolCheckRuleBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckRuleBill_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("Sb_EquipPatrolCheckRuleBill/DeleteSb_EquipPatrolCheckRuleBill")]
+        [HttpGet]
+        public object DeleteSb_EquipPatrolCheckRuleBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckRuleBill_Drop", 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;
+                }
+                DLL.ClsSb_EquipPatrolCheckRuleBill oBill = new DLL.ClsSb_EquipPatrolCheckRuleBill();
+                ClsPub.CurUserName = user;
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HChecker.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (Type == 1)  //浣滃簾鍒ゆ柇
+                    {
+                        if (oBill.omodel.HDeleteMan.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶄綔搴燂紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (Type == 2) //鍙嶄綔搴熷垽鏂�
+                    {
+                        if (oBill.omodel.HDeleteMan.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;
+                }
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //浣滃簾鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Sb_EquipPatrolCheckRuleBill_BeforeDropCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipPatrolCheckRuleBill_BeforeDropCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:浣滃簾鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
+
+                    if (!oBill.Cancelltion(int.Parse(HInterID), oBill.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckRuleBill_AfterDropCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍙嶄綔搴熷墠鎺у埗=========================================        
+                    string sql1 = "exec h_p_Sb_EquipPatrolCheckRuleBill_BeforeUnDropCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipPatrolCheckRuleBill_BeforeUnDropCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:鍙嶄綔搴熷墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //===========================================================   
+
+                    if (!oBill.AbandonCancelltion(int.Parse(HInterID), oBill.omodel.HBillNo, "h_p_Sb_EquipPatrolCheckRuleBill_AfterUnDropCtrl", user, 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("Sb_EquipPatrolCheckRuleBill/Sb_EquipPatrolCheckRuleBill_Excel")]
+        [HttpPost]
+        public object Sb_EquipPatrolCheckRuleBill_Excel()
+        {
+            try
+            {
+
+                //鑾峰彇鏂囦欢鍚嶇О
+                var file = HttpContext.Current.Request.Files[0];
+                //鑾峰彇鏂囦欢鐗╃悊璺緞
+                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
+                // 鍒涘缓涓�涓瓧鍏告潵瀛樺偍name鍒板崟鎹彿鍜孒InterID鐨勬槧灏�  
+                Dictionary<string, object[]> nameToValues = new Dictionary<string, object[]>();
+                string HBillType = "3913";
+                //淇濆瓨鏂囦欢
+                file.SaveAs(ExcelPath);
+
+                NpoiHelper np = new NpoiHelper();
+                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
+
+                //鍒犻櫎鏂囦欢
+                File.Delete(ExcelPath);
+
+                //鍒涘缓涓存椂琛�
+                DataTable tb2 = new DataTable("dt2");
+
+                //娣诲姞鍒楀悕
+                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
+                {
+                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
+                }
+
+                //妯℃澘缂哄皯鍒� 浣嗛渶瑕佷粠鏁版嵁搴撲腑鏌ヨ鍑烘潵鏄剧ず鍦ㄩ〉闈㈢殑瀛楁
+                tb2.Columns.Add("HPatrolCheckItemID", typeof(Int32));//宸℃椤圭洰ID
+                tb2.Columns.Add("HPatrolCheckItemClassID", typeof(Int32));//宸℃鍒嗙被ID
+                tb2.Columns.Add("HPatrolCheckItemMethodID", typeof(Int32));//宸℃鏂规硶ID
+                tb2.Columns.Add("HEmpID", typeof(Int32));//璐熻矗浜�
+                tb2.Columns.Add("鍗曟嵁鍙�", typeof(string));//鍗曟嵁鍙�
+                tb2.Columns.Add("HInterID", typeof(Int64));//涓婚敭
+                //娣诲姞鏁版嵁
+                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
+                {
+                    DataRow row = tb2.NewRow();
+                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
+                    {
+                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
+                    }
+                    tb2.Rows.Add(row);
+                }
+
+
+                var error = "";
+
+                //鏌ヨ宸℃瑙勭▼娌℃湁鐨勫垪
+                if (!tb2.Columns.Contains("宸℃瑙勭▼鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�瑙勭▼鍚嶇О銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鍛ㄦ湡鍗曚綅"))
+                    error += "娌℃湁鎵惧埌銆愬懆鏈熷崟浣嶃�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃鍛ㄦ湡"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�鍛ㄦ湡銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鎽樿"))
+                    error += "娌℃湁鎵惧埌銆愭憳瑕併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("琛ㄥご澶囨敞"))
+                    error += "娌℃湁鎵惧埌銆愯〃澶村娉ㄣ�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃椤圭洰浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃椤圭洰鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰鍚嶇О銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃鏂规硶浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃鏂规硶鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰鍚嶇О銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃閮ㄤ綅"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�閮ㄤ綅銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鍏蜂綋瑕佹眰"))
+                    error += "娌℃湁鎵惧埌銆愬叿浣撹姹傘�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璐熻矗浜轰唬鐮�"))
+                    error += "娌℃湁鎵惧埌銆愯礋璐d汉浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璐熻矗浜哄悕绉�"))
+                    error += "娌℃湁鎵惧埌銆愯礋璐d汉鍚嶇О銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("琛ㄤ綋澶囨敞"))
+                    error += "娌℃湁鎵惧埌銆愯〃浣撳娉ㄣ�戠殑鏍囬,";
+
+                if (error.Length > 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
+                {
+
+                    string HPatrolCheckItemNumber = "";
+                    string HPatrolCheckItemName = "";
+                    string HEmpNum = "";
+                    string HEmpName = "";
+
+                    HPatrolCheckItemNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃椤圭洰浠g爜"].ToString());
+                    HPatrolCheckItemName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃椤圭洰鍚嶇О"].ToString());
+                    HEmpNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["璐熻矗浜轰唬鐮�"].ToString());
+                    HEmpName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["璐熻矗浜哄悕绉�"].ToString());
+                    string HPatrolCheckItemMethodNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃鏂规硶浠g爜"].ToString());
+                    string HPatrolCheckItemMethodName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃鏂规硶鍚嶇О"].ToString());
+
+                    string HEquipPatrolCheckRuleName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃瑙勭▼鍚嶇О"].ToString());
+                    string HCycleUnit = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鍛ㄦ湡鍗曚綅"].ToString());
+                    string HCheckCycle = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃鍛ㄦ湡"].ToString());
+                    string HExplanation = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鎽樿"].ToString());
+                    string HMainRemark = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["琛ㄥご澶囨敞"].ToString());
+                    string HPatrolCheckPart = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃閮ㄤ綅"].ToString());
+                    string HClaim = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鍏蜂綋瑕佹眰"].ToString());
+                    string HSubRemark = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["琛ㄤ綋澶囨敞"].ToString());
+
+                    int index = i + 1;
+                     //鏌ヨ宸℃椤圭洰
+                    ds = oCN.RunProcReturn("select * from Gy_PatrolCheck where  HNumber='" + HPatrolCheckItemNumber + "' and Hname='" + HPatrolCheckItemName + "'", "Gy_PatrolCheck");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + index + "琛�,宸℃椤圭洰涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        tb2.Rows[i]["HPatrolCheckItemID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        tb2.Rows[i]["HPatrolCheckItemClassID"] = ds.Tables[0].Rows[0]["HPatrolCheckItemClassID"].ToString();
+                    }
+                    //鏌ヨ璐熻矗浜�
+                    ds = oCN.RunProcReturn("select * from Gy_Employee where  HNumber='" + HEmpNum + "' and Hname='" + HEmpName + "'", "Gy_Employee");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + index + "琛�,璇ヨ礋璐d汉:" + HEmpName + ",涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        tb2.Rows[i]["HEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                    }
+
+                    //鏌ヨ宸℃鏂规硶
+                    ds = oCN.RunProcReturn("select * from Gy_PatrolCheckItemMethod where  HNumber='" + HPatrolCheckItemMethodNumber + "' and Hname='" + HPatrolCheckItemMethodName + "'", "Gy_Employee");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + index + "琛�,璇ュ贰妫�鏂规硶:" + HEmpName + ",涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        tb2.Rows[i]["HPatrolCheckItemMethodID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                    }
+
+                    //璁惧宸℃瑙勭▼鍚嶇О
+                    if (HEquipPatrolCheckRuleName == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + index + "琛�,璁惧宸℃瑙勭▼鍗曞悕绉颁笉鑳戒负绌猴紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    //鍛ㄦ湡鍗曚綅
+                    if (HCycleUnit == "" || (HCycleUnit != "鏈�" && HCycleUnit != "鍛�" && HCycleUnit != "澶�"))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + index + "琛�,鍛ㄦ湡鍗曚綅涓嶈兘涓虹┖涓斿彧鑳戒负澶╋紝鏈堬紝鍛紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //宸℃鍛ㄦ湡
+                    if (HCheckCycle == "" )
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绗�" + index + "琛�,宸℃鍛ㄦ湡涓嶈兘涓虹┖锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //璁剧疆鍗曟嵁HinterID鍜屽崟鎹彿
+                    
+
+                    Int64 HInterID;
+                    string HBillNo;
+                    object[] myArray = new object[2];
+                    // 濡傛灉瀛楀吀涓繕娌℃湁杩欎釜宸℃瑙勭▼鐨勬潯鐩紝灏辨坊鍔犲畠  
+                    if (!nameToValues.ContainsKey(HEquipPatrolCheckRuleName))
+                    {
+                        HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                        HBillNo = DBUtility.ClsPub.CreateBillCode(HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true);
+                        myArray[0] = HInterID;
+                        myArray[1] = HBillNo;
+                        nameToValues[HEquipPatrolCheckRuleName] = myArray;
+                        tb2.Rows[i]["HInterID"] = HInterID;
+                        tb2.Rows[i]["鍗曟嵁鍙�"] = HBillNo;
+                    }
+                    // 濡傛灉瀛楀吀涓湁杩欎釜骞撮緞鐨勬潯鐩紝浣嗘槸褰撳墠琛岀殑鍚嶇О涓嶆槸瀛楀吀涓殑鍚嶇О锛屽氨鏇存柊瀹�  
+                    else if (true)
+                    {
+                        tb2.Rows[i]["HInterID"] = nameToValues[HEquipPatrolCheckRuleName][0];
+                        tb2.Rows[i]["鍗曟嵁鍙�"] = nameToValues[HEquipPatrolCheckRuleName][1];// 鏇存柊褰撳墠琛屽崟鎹彿鍜宨d
+                    }
+
+                }
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = error;
+                objJsonResult.data = tb2;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧宸℃瑙勭▼鍗� 瀵煎叆(淇濆瓨)
+        [Route("Sb_EquipPatrolCheckRuleBill/Sb_EquipPatrolCheckRuleBill_btnSave")]
+        [HttpPost]
+        public object Sb_EquipPatrolCheckRuleBill_btnSave([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 user = sArray[1].ToString();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipPatrolCheckRuleBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
+                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+
+                foreach (JObject item in Excel)
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    foreach (var itm in item.Properties())
+                    {
+                        dic.Add(itm.Name, itm.Value.ToString());
+                    }
+                    list.Add(dic);
+                }
+
+                oCN.BeginTran();
+                int i = 1;
+                foreach (Dictionary<string, string> item in list)
+                {
+                    string HInterID = item["HInterID"].ToString();
+                    string HBillNo = item["鍗曟嵁鍙�"].ToString();
+                    //string HInterID = item["宸℃瑙勭▼鍚嶇О"].ToString();
+                    string HCycleUnit = item["鍛ㄦ湡鍗曚綅"].ToString();
+                    string HCheckCycle = item["宸℃鍛ㄦ湡"].ToString();
+                    string HExplanation = item["鎽樿"].ToString();
+                    string HMainRemark = item["琛ㄥご澶囨敞"].ToString();
+                    string HPatrolCheckItemID = item["HPatrolCheckItemID"].ToString();
+                    string HPatrolCheckItemClassID = item["HPatrolCheckItemClassID"].ToString();
+                    string HPatrolCheckItemMethodID = item["HPatrolCheckItemMethodID"].ToString();
+                    string HPatrolCheckItem = item["宸℃椤圭洰鍚嶇О"].ToString();
+                    string HPatrolCheckPart = item["宸℃閮ㄤ綅"].ToString();
+                    string HClaim = item["鍏蜂綋瑕佹眰"].ToString();
+                    string HEmpID = item["HEmpID"].ToString();
+                    string HSubRemark = item["琛ㄤ綋澶囨敞"].ToString();
+                    string HBillType = "3913";
+                    string HBillSubType = "3913";
+                    DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
+                    Int64 HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    Int64 HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    DataSet Cs;
+                    Int64 HEntryID = 1;
+                    Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Sb_EquipPatrolCheckRuleBillSub", "Sb_EquipPatrolCheckRuleBillSub");
+                    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;
+                    }
+
+                    ds = oCN.RunProcReturn("select * from Sb_EquipPatrolCheckRuleBillMain where HInterID =" + HInterID, "Sb_EquipPatrolCheckRuleBillMain");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+
+                        //涓昏〃
+                        oCN.RunProc("Insert Into Sb_EquipPatrolCheckRuleBillMain   " +
+                        "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate,HBillStatus" +
+                        ",HYear,HPeriod,HRemark" +
+                        ",HBeginDate,HEndDate,HCycleUnit,HCheckCycle,HExplanation" +
+                        ") " +
+                        " values('" + HBillType + "','" + HBillSubType + "'," + HInterID.ToString() + ",'" + HBillNo + "','" + HDate + "','" + user + "',getdate(),1" +
+                        "," + HYear.ToString() + "," + HPeriod.ToString() + ",'" + HMainRemark + "'" +
+                        ",getdate()" + ",getdate()" + ",'" + HCycleUnit + "','" + HCheckCycle + "','" + HExplanation + "'" +
+                        ") ");
+                        //鎻掑叆瀛愯〃
+                        oCN.RunProc("Insert into Sb_EquipPatrolCheckRuleBillSub " +
+                            " (HInterID,HEntryID," +
+                            "HRemark," +
+                            "HPatrolCheckItemID,HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                            "HManagerID,HPatrolCheckItemClassID,HPatrolCheckItemMethodID" +
+                            ") values("
+                            + HInterID.ToString() + "," + HEntryID.ToString() +
+                             ",'" + HSubRemark + "'" +
+                            ",'" + HPatrolCheckItemID + "','" + HPatrolCheckItem + "','" + HPatrolCheckPart + "','" + HClaim +
+                            "'," + HEmpID + "," + HPatrolCheckItemClassID + "," + HPatrolCheckItemMethodID +
+                            ") ");
+                    }
+                    else
+                    {
+                        oCN.RunProc("Insert into Sb_EquipPatrolCheckRuleBillSub " +
+                            " (HInterID,HEntryID," +
+                            "HRemark," +
+                            "HPatrolCheckItemID,HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                            "HManagerID,HPatrolCheckItemClassID,HPatrolCheckItemMethodID" +
+                            ") values("
+                            + HInterID.ToString() + "," + HEntryID.ToString() +
+                             ",'" + HSubRemark + "'" +
+                            ",'" + HPatrolCheckItemID + "','" + HPatrolCheckItem + "','" + HPatrolCheckPart + "','" + HClaim +
+                            "'," + HEmpID + "," + HPatrolCheckItemClassID + "," + HPatrolCheckItemMethodID +
+                            ") ");
+                    }
+
+                    i++;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "瀵煎叆鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write(e);
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+    }
+}
diff --git a/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs
index 2e51ec0..9c10fcc 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs
@@ -7948,13 +7948,13 @@
         {
             try
             {
-                string sql = "select HErrMsgBackInterID,HErrMsgBackEntryID,HSendMan,HDescription,HReceiveMan from OA_ErrMsgBackHandleBillMain where HInterID=" + HInterID;
+                string sql = "select HErrMsgBackInterID,HErrMsgBackEntryID,HSendMan,HDescription,HReceiveMan from OA_ErrMsgBackHandleBillMain where HErrMsgBackInterID=" + HInterID;
                 //鏇存柊寮傚父鍙嶉澶勭悊鍗曚綔搴�
-                oCN.RunProc("update OA_ErrMsgBackHandleBillMain set HBillStatus=4, HDeleteDate=GETDATE(),HDeleteMan='" + user + "'  where HInterID="+ HInterID);
+                oCN.RunProc("update OA_ErrMsgBackHandleBillMain set HBillStatus=4, HDeleteDate=GETDATE(),HDeleteMan='" + user + "'  where HErrMsgBackInterID=" + HInterID);
                 DataSet dt = oCN.RunProcReturn(sql, "OA_ErrMsgBackHandleBillMain");
 
-                //鍙嶉澶勭悊鍗曚繚瀛樺悗,鏇存柊寮傚父鍙嶉鍗曠殑鐘舵��
-                string sql1 = "update OA_ErrMsgBackBillMain set HBillStatus='9' where HInterID='" + dt.Tables[0].Rows[0]["HErrMsgBackInterID"].ToString() + "' ";
+                //鍙嶉澶勭悊鍗曢┏鍥炲悗,鏇存柊寮傚父鍙嶉鍗曠殑鐘舵��
+                string sql1 = "update OA_ErrMsgBackBillMain set HBillStatus='13' where HInterID='" + dt.Tables[0].Rows[0]["HErrMsgBackInterID"].ToString() + "' ";
                 oCN.RunProc(sql1);
                 _ = SendDingDingAsync(dt.Tables[0].Rows[0]["HSendMan"].ToString(), 4, dt.Tables[0].Rows[0]["HDescription"].ToString(), dt.Tables[0].Rows[0]["HReceiveMan"].ToString());
 
diff --git a/WebAPI/Controllers/SCGL/Sc_RepairCodeBindingController.cs b/WebAPI/Controllers/SCGL/Sc_RepairCodeBindingController.cs
new file mode 100644
index 0000000..9dca98b
--- /dev/null
+++ b/WebAPI/Controllers/SCGL/Sc_RepairCodeBindingController.cs
@@ -0,0 +1,109 @@
+锘縰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
+{
+    public class Sc_RepairCodeBindingController : ApiController
+    {
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
+
+        #region  PDA杩斾慨鐮佺粦瀹氭ā鍧楋紝鏌ユ壘鏉$爜淇℃伅
+        [Route("Sc_RepairCodeBinding/BarcodeList")]
+        [HttpGet]
+        public object BarcodeList(string HBarCode,string HCodeType)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn("exec h_p_Sc_RepairCodeBinding_BarCodeInfo '" + HBarCode + "','" + HCodeType + "'", "h_p_Sc_RepairCodeBinding_BarCodeInfo");
+
+                if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                {
+                    if (ClsPub.isLong(ds.Tables[0].Rows[0]["HIsSuccess"]) == 1)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = ds.Tables[0].Rows[0]["HBackRemark"].ToString();
+                        objJsonResult.data = ds.Tables[0];
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = ds.Tables[0].Rows[0]["HBackRemark"].ToString();
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                  
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏉$爜锛�" + HBarCode + ",涓嶅湪鏉$爜妗f涓紝璇锋牳瀵规潯鐮佹槸鍚﹀凡琚垹闄ゃ��";
+                    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  PDA杩斾慨鐮佺粦瀹氭ā鍧楋紝缁戝畾
+        [Route("Sc_RepairCodeBinding/BindBarCode")]
+        [HttpGet]
+        public object BindBarCode(string HBarCode_CP, string HBarCode_FX)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn("exec h_p_Sc_RepairCodeBinding_Update '" + HBarCode_CP + "','" + HBarCode_FX + "'", "h_p_Sc_RepairCodeBinding_Update");
+
+
+                if (ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = ds.Tables[0].Rows[0]["HBackRemark"].ToString();
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = ds.Tables[0].Rows[0]["HBackRemark"].ToString();
+                    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
+    }
+}
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 f7543e4..fc0c05d 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"
@@ -62,6 +62,54 @@
             }
         }
 
+        [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillListExtendMakeDate")]
+        [HttpGet]
+        public object JIT_DayPlanPlatFormBillListExtendMakeDate(string sWhere, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBillSortBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
+                omdelMian = JsonConvert.DeserializeObject<Sc_WorkBillSortBillMain>(sWhere);
+
+                ds = oCN.RunProcReturn($"exec h_p_JIT_Sc_WorkBillSortBill_Query_ExtendMakeDate '{omdelMian.HPlanBeginDate}',{(omdelMian.HProdORGID == null ? 0 : omdelMian.HProdORGID)},'{omdelMian.HSeOrderBillNo}'" +
+                    $",'{omdelMian.HPlanEndDate.AddDays(1)}',{omdelMian.HMaterID},'{omdelMian.HICMOBillNo}',{omdelMian.HWorkShopID}" +
+                    $",'{omdelMian.HMastersDate}','{ omdelMian.HMakeDate }','{omdelMian.sWheres}'", "h_p_JIT_Sc_WorkBillSortBill_QueryExtendMakeDate");
+
+
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                {
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    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鏌ヨ 榻愬鐘舵�� 鍜� 閿佸畾鐘舵��
         /// </summary>
diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBill_TKController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBill_TKController.cs"
new file mode 100644
index 0000000..60e0d12
--- /dev/null
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBill_TKController.cs"
@@ -0,0 +1,400 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.Http;
+using WebAPI.Models;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System.Diagnostics;
+using System.Threading;
+using System.Globalization;
+
+namespace WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�
+{
+    public class JIT_DayPlanPlatFormBill_TKController : ApiController
+    {
+        private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public WebServer webserver = new WebServer();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        Sc_WorkBillSortBillMain omdelMian = new Sc_WorkBillSortBillMain();
+        public static string BillType = "4610";
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
+        #region 鐢熶骇鏃ヨ鍒掑钩鍙� 淇濆瓨
+        [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBill_btnSave_TK")]
+        [HttpPost]
+        public object JIT_DayPlanPlatFormBill_btnSave_TK([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain(msg1);
+            if (objJsonResult.code == "0")
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { "&鍜�" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string user = sArray[1].ToString();
+
+            try
+            {
+                Stopwatch sw = new Stopwatch();//璁℃椂鍣�
+                sw.Start();//寮�濮嬭鏃�
+
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBillSortBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                LogService.CustomWriteLog("1:" + msg2, DateTime.Now.ToString("yyyy-MM-dd"));
+                //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚�
+                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+                List<object> jb = JsonConvert.DeserializeObject<List<object>>(msg2);
+                foreach (JObject item in jb)
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    foreach (var itm in item.Properties())
+                    {
+                        dic.Add(itm.Name, itm.Value.ToString());
+                    }
+                    list.Add(dic);
+                }
+
+                LogService.CustomWriteLog("2:", DateTime.Now.ToString("yyyy-MM-dd"));
+                int TrueCount = 0, SumCount = 0;
+                LogService.CustomWriteLog("list.Count:" + list.Count, DateTime.Now.ToString("yyyy-MM-dd"));
+
+                string sReturn = "";
+                oSystemParameter.ShowBill(ref sReturn);
+                LogService.Write($"========================000.鏈闀垮害锛�" + list.Count);
+                for (int i = 0; i < list.Count; i++)
+                {
+                    TrueCount = 0;
+                    SumCount = 0;
+                    long HInterID = 0;
+                    var HBillNo = "";
+                    if (list[i]["鍗曟嵁鍙�"].ToString() == "" && list[i]["hmainid"].ToString() == "")
+                    {
+                        LogService.CustomWriteLog("2.01:" + i, DateTime.Now.ToString("yyyy-MM-dd"));
+                        var HICMOBillNo = list[i]["鐢熶骇璁㈠崟鍙�"].ToString();
+                        var HOrderType = list[i]["璁㈠崟绫诲瀷"].ToString();
+                        var HICMOEntrySEQ = list[i]["鐢熶骇璁㈠崟鏄庣粏琛屽彿"].ToString();
+                        var HWorkShopID = list[i]["HWorkShopID"].ToString();
+                        var HSourceID = list[i]["HSourceID"].ToString();
+                        var HYX = list[i]["浼樺厛绾�"].ToString();
+                        var HProdORGID = list[i]["HProdORGID"].ToString();
+                        var HMaterID = list[i]["HMaterID"].ToString();
+                        var HMaterName = list[i]["鐗╂枡鍚嶇О"].ToString();
+                        var HMaterModel = list[i]["瑙勬牸鍨嬪彿"].ToString().Replace("'", "''");
+                        var HUnitID = list[i]["HUnitID"].ToString();
+                        var HSeOrderBillQty = list[i]["閿�鍞鍗曟暟閲�"].ToString();
+                        //var HOrderNeedQty = list[i]["璁㈠崟闇�姹傛暟閲�"].ToString();
+                        var HSplitQty = list[i]["鎷嗗崟鏁伴噺"].ToString();
+                        var HDayPlanSumQty = list[i]["鏃ヨ鍒掓暟閲忔�婚噺"].ToString();
+                        var HPlanBeginDate = list[i]["璁″垝寮�濮嬫棩鏈�"].ToString();
+                        var HPlanEndDate = list[i]["璁″垝缁撴潫鏃ユ湡"].ToString();
+                        var HSeOrderBillNo = list[i]["閿�鍞鍗曞彿"].ToString();
+                        var HICMOBillType = list[i]["鐢熶骇璁㈠崟鍗曟嵁绫诲瀷"].ToString();
+                        var HSourceStockInQty = list[i]["浜х嚎鍏ュ簱鏁伴噺"].ToString();
+                        var HLeftPlanQty = list[i]["鏈帓鏁伴噺"].ToString();
+                        var HOrderLev = list[i]["璁㈠崟绛夌骇"].ToString();
+                        var HMainSourceInterID = list[i]["婧愬崟涓诲唴鐮�"].ToString();
+                        var HMainSourceEntryID = list[i]["婧愬崟瀛愬唴鐮�"].ToString();
+                        var HPlanQty = list[i]["璁″垝鏁伴噺"].ToString();
+                        var HEmpID = list[i]["HEmpID"].ToString();
+                        var HWorkQty = list[i]["灏忔椂浜ц兘"].ToString();
+                        var HSourceName = list[i]["鐢熶骇璧勬簮"].ToString();
+                        var HWorkQty_ProdLine = list[i]["浜х嚎鎬讳骇鑳�"].ToString();
+
+                        LogService.CustomWriteLog("2.05:" + i, DateTime.Now.ToString("yyyy-MM-dd"));
+
+                      
+                        ds = oCN.RunProcReturn($"select 1 from Sc_WorkBillSortBillMain with(nolock) where HMainSourceInterID={HMainSourceInterID}" +
+                            $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID} and ISNULL(HDeleteMan,'')=''", "Sc_WorkBillSortBillMain");
+
+                        if (ds.Tables[0].Rows.Count > 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊i + 1}琛岀敓浜ц祫婧愭湁閲嶅,璇蜂慨鏀�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //鏂板鍗曟嵁鍙� id
+                        HBillNo = DBUtility.ClsPub.CreateBillCode_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
+                        HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);//鑾峰緱涓�涓柊鐨刬d
+
+                        string sql = $"insert into Sc_WorkBillSortBillMain(HInterID,HBillNo,HYear,HPeriod,HBillType," +
+                            "HBillSubType,HDate,HBillStatus,HMaker,HMakeDate,HICMOBillNo,HOrderType," +
+                            "HICMOEntrySEQ,HWorkShopID,HSourceID, HYX, HProdORGID," +
+                            " HMaterID, HMaterName, HMaterModel, HUnitID, HSeOrderBillQty," +
+                            " HOrderNeedQty, HSplitQty, HDayPlanSumQty,HPlanBeginDate," +
+                            "HSeOrderBillNo,HICMOBillType,HSourceStockInQty,HLeftPlanQty,HOrderLev,HPreparatDate," +
+                            "HMainSourceInterID,HMainSourceEntryID,HICMOInterID_Sec,HICMOEntryID_Sec,HPlanQty" +
+                            ",HICMOInterID,HICMOEntryID,HPlanEndDate,HEmpID,HWorkQty,HSourceName,HWorkQty_ProdLine)values" +
+                            $"({HInterID},'{HBillNo}',{DateTime.Now.Year},{DateTime.Now.Month},'{BillType}'," +
+                            $"'{BillType}',GETDATE(),1,'{user}',getdate(),'{HICMOBillNo}','{HOrderType}'," +
+                            $"{(HICMOEntrySEQ == "" ? 0.ToString() : HICMOEntrySEQ)},{(HWorkShopID == "" ? 0.ToString() : HWorkShopID)},{(HSourceID == "" ? 0.ToString() : HSourceID)}, {(HYX == "" ? 0.ToString() : HYX)}, {(HProdORGID == "" ? 0.ToString() : HProdORGID)}," +
+                            $" {(HMaterID == "" ? 0.ToString() : HMaterID)}, '{HMaterName}', '{HMaterModel}', {(HUnitID == "" ? 0.ToString() : HUnitID)}, {(HSeOrderBillQty == "" ? 0.ToString() : HSeOrderBillQty)}," +
+                            $" 0, {(HSplitQty == "" ? 0.ToString() : HSplitQty)}, {(HDayPlanSumQty == "" ? 0.ToString() : HDayPlanSumQty)},'{HPlanBeginDate}'," +
+                            $"'{HSeOrderBillNo}','{HICMOBillType}',{(HSourceStockInQty == "" ? 0.ToString() : HSourceStockInQty)},{(HLeftPlanQty == "" ? 0.ToString() : HLeftPlanQty)},'{HOrderLev}',getdate()," +
+                            $"{HMainSourceInterID},{HMainSourceEntryID},{HMainSourceInterID},{HMainSourceEntryID},{HPlanQty}," +
+                            $"{HMainSourceInterID},{HMainSourceEntryID},'{HPlanEndDate}','{HEmpID}','{HWorkQty}','{HSourceName}','{HWorkQty_ProdLine}')";
+
+                        //LogService.Write("sql:" + sql);
+                        //涓昏〃
+                        oCN.RunProc(sql);
+                    }
+                    else
+                    {
+                        LogService.CustomWriteLog("2.0:" + i, DateTime.Now.ToString("yyyy-MM-dd"));
+                        HBillNo = list[i]["鍗曟嵁鍙�"].ToString();
+                        HInterID = int.Parse(list[i]["hmainid"].ToString());
+                        var HMainSourceInterID = list[i]["婧愬崟涓诲唴鐮�"].ToString();
+                        var HMainSourceEntryID = list[i]["婧愬崟瀛愬唴鐮�"].ToString();
+                        var HICMOBillNo = list[i]["鐢熶骇璁㈠崟鍙�"].ToString();
+                        var HICMOEntrySEQ = list[i]["鐢熶骇璁㈠崟鏄庣粏琛屽彿"].ToString();
+                        var HSourceID = list[i]["HSourceID"].ToString();
+                        var HYX = list[i]["浼樺厛绾�"].ToString();
+                        var HWorkQty = list[i]["灏忔椂浜ц兘"].ToString();
+                        var HProdTimes = list[i]["鐢熶骇鍛ㄦ湡"].ToString();
+                        var HReadyTimes = list[i]["寮�宸ヤ綑閲�"].ToString();
+                        var HLastBeginDate = list[i]["鏈�杩熷紑宸ユ棩鏈�"].ToString();
+                        var HLastEndDate = list[i]["鏈�杩熷畬宸ユ棩鏈�"].ToString();
+                        var HOrderNeedQty = list[i]["璁㈠崟闇�姹傛暟閲�"].ToString();
+                        var HOrderCommitDate = list[i]["璁㈠崟浜よ揣鏈�"].ToString();
+                        var HPlanEndDate = list[i]["璁″垝缁撴潫鏃ユ湡"].ToString();
+                        var HSplitQty = list[i]["鎷嗗崟鏁伴噺"].ToString();
+                        var HSourceName = list[i]["鐢熶骇璧勬簮"].ToString();
+                        var HWorkQty_ProdLine = list[i]["浜х嚎鎬讳骇鑳�"].ToString();
+
+                        var HOrderType = list[i]["璁㈠崟绫诲瀷"].ToString();
+                        var HWorkShopID = list[i]["HWorkShopID"].ToString();
+                        var HProdORGID = list[i]["HProdORGID"].ToString();
+                        var HMaterID = list[i]["HMaterID"].ToString();
+                        var HMaterName = list[i]["鐗╂枡鍚嶇О"].ToString();
+                        var HMaterModel = list[i]["瑙勬牸鍨嬪彿"].ToString().Replace("'", "''");
+                        var HUnitID = list[i]["HUnitID"].ToString();
+                        var HSeOrderBillQty = list[i]["閿�鍞鍗曟暟閲�"].ToString();
+                        var HDayPlanSumQty = list[i]["鏃ヨ鍒掓暟閲忔�婚噺"].ToString();
+                        var HPlanBeginDate = list[i]["璁″垝寮�濮嬫棩鏈�"].ToString();
+                        var HSeOrderBillNo = list[i]["閿�鍞鍗曞彿"].ToString();
+                        var HICMOBillType = list[i]["鐢熶骇璁㈠崟鍗曟嵁绫诲瀷"].ToString();
+                        var HSourceStockInQty = list[i]["浜х嚎鍏ュ簱鏁伴噺"].ToString();
+                        var HLeftPlanQty = list[i]["鏈帓鏁伴噺"].ToString();
+                        var HOrderLev = list[i]["璁㈠崟绛夌骇"].ToString();
+                        var HPlanQty = list[i]["璁″垝鏁伴噺"].ToString();
+                        var HEmpID = list[i]["HEmpID"].ToString();
+
+                        LogService.CustomWriteLog("2.1:" + i, DateTime.Now.ToString("yyyy-MM-dd"));                        
+
+                        var str = 0;
+                        if (!int.TryParse(HYX, out str))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊i + 1}琛屼紭鍏堢骇:{HYX},璇疯緭鍏ユ暟瀛�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        ds = oCN.RunProcReturn($"select 1 from Sc_WorkBillSortBillMain with(nolock) where HMainSourceInterID={HMainSourceInterID}" +
+                             $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID} and ISNULL(HDeleteMan,'') = ''", "Sc_WorkBillSortBillMain");
+
+                        if (ds.Tables[0].Rows.Count > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = $"绗瑊i + 1}琛岀敓浜ц祫婧愭湁閲嶅,璇蜂慨鏀�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        LogService.CustomWriteLog("2.2:" + i, DateTime.Now.ToString("yyyy-MM-dd"));
+
+                        oCN.RunProc($"update wsm1 set HSourceID={(HSourceID == "" ? 0.ToString() : HSourceID)},HYX={HYX}" +
+                            $",HWorkQty={HWorkQty},HProdTimes={HProdTimes},HReadyTimes={HReadyTimes},HLastBeginDate='{HLastBeginDate}'" +
+                            $",HLastEndDate='{HLastEndDate}',HOrderNeedQty={HOrderNeedQty},HOrderCommitDate='{HOrderCommitDate}',HPlanEndDate='{HPlanEndDate}',HSplitQty={HSplitQty},HSourceName='{HSourceName}',HWorkQty_ProdLine={HWorkQty_ProdLine}" +
+                            $" from Sc_WorkBillSortBillMain wsm1 with(nolock) where HInterID={list[i]["hmainid"].ToString()} and HBillNo='{list[i]["鍗曟嵁鍙�"].ToString()}'");
+                    }
+
+                    oCN.RunProc($"update wsm2 set HDayPlanSumQty={list[i]["鏃ヨ鍒掓暟閲忔�婚噺"].ToString()} from Sc_WorkBillSortBillMain wsm2 with(nolock) where HInterID={(HInterID == 0 ? int.Parse(list[i]["hmainid"].ToString()) : HInterID)} and HBillNo='{(HBillNo == "" ? list[i]["鍗曟嵁鍙�"].ToString() : HBillNo)}'");
+
+                    LogService.Write($"========================1.鎺掍骇涓昏〃澶勭悊鐢ㄦ椂锛�" + sw.Elapsed);
+
+                    int SumDay = 180; //鍔ㄦ�佸叚鏈堜箣宸� DateTime.Now.AddMonths(1).AddDays(-1).Subtract(DateTime.Now).Days;
+
+                    LogService.CustomWriteLog("2.3:" + i, DateTime.Now.ToString("yyyy-MM-dd"));
+                    for (int j = 0; j < SumDay; j++)
+                    {
+                        //涓昏〃瀛愯〃閮芥湁鏁版嵁
+                        if (list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString() != "" && Math.Round(double.Parse(list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString()), 1) > 0)
+                        {
+                            SumCount += 1;
+                            ////淇濆瓨瀛愯〃
+                            objJsonResult = AddBillSub(HInterID == 0 ? list[i]["hmainid"].ToString() : HInterID.ToString()
+                                , HBillNo == "" ? list[i]["鍗曟嵁鍙�"].ToString() : HBillNo
+                                 , DateTime.Parse(DateTime.Now.AddDays(j).ToString("yyyy-MM-dd").ToString())
+                                 , Math.Round(double.Parse(list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString()), 1)
+                                 , list[i]);
+                            if (objJsonResult.count == 1)
+                            {
+                                TrueCount += 1;
+                            }
+                        }
+                        //涓昏〃鏈夋暟鎹� 瀛愯〃鏃犳暟鎹�
+                        if (j == SumDay - 1 && SumCount == 0 && HInterID != 0 && HBillNo != "")
+                        {
+                            LogService.Write($"========================000.涓昏〃鏈夋暟鎹� 瀛愯〃鏃犳暟鎹細" + HBillNo + sw.Elapsed);
+                            //LogService.CustomWriteLog("3:"+ HInterID+","+ HBillNo, DateTime.Now.ToString("yyyy-MM-dd"));
+                            objJsonResult = AddBillSub(HInterID.ToString(), HBillNo, DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd").ToString()), 0, list[i]);
+                        }
+                    }
+                    LogService.Write($"========================2.鎺掍骇瀛愯〃澶勭悊鐢ㄦ椂锛�" + sw.Elapsed);
+
+                    LogService.CustomWriteLog("2.4:" + i, DateTime.Now.ToString("yyyy-MM-dd"));
+
+                    if (TrueCount != SumCount)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = objJsonResult.Message;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+
+                }
+
+                LogService.CustomWriteLog("2.5:", DateTime.Now.ToString("yyyy-MM-dd"));
+
+                //鍚屾鏃ヨ鍒掑伐鍗�
+                oCN.RunProc("exec REALESE_SC_ICMOBILLSTATUS_TMP");
+
+                LogService.CustomWriteLog("2.6:", DateTime.Now.ToString("yyyy-MM-dd"));
+                sw.Stop();//缁撴潫璁℃椂
+                LogService.Write($"========================3.鎺掍骇璁㈠崟鎬荤敤鏃讹細" + sw.Elapsed);
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        public json AddBillSub(string HInterID, string HBillNo, DateTime date, double HQTY, Dictionary<string, string> dic)
+        {
+            Stopwatch ss = new Stopwatch();//璁℃椂鍣�
+            ss.Start();//寮�濮嬭鏃�
+            string sReturn = "";
+            oSystemParameter.ShowBill(ref sReturn);
+
+            //鑾峰彇琛ㄦ牸鏁版嵁
+            ds = oCN.RunProcReturn($"select * from h_v_JIT_Sc_WorkBillSortBill_PC with(nolock) where 鍗曟嵁鍙�='{HBillNo}'", "h_v_JIT_Sc_WorkBillSortBill_PC");
+
+            LogService.Write($"========================2.1.瀛愯〃鏁版嵁鏌ヨ鐢ㄦ椂锛�" + ss.Elapsed);
+
+            int count = 0;
+            if (ds.Tables[0].Rows.Count > 0)
+            {
+                LogService.Write($"========================2.2.瀛愯〃鏇存柊鍓嶇敤鏃讹細" + ss.Elapsed);
+                //鍒ゆ柇瀛愯〃鏄惁鏈夊綋鏃ョ殑鏃ユ湡浠ュ強鏃ユ湡鎵�瀵瑰簲鐨勬暟閲�
+                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+                {
+                    if (DateTime.Parse(ds.Tables[0].Rows[i]["鏃ヨ鍒掔敓浜ф棩鏈�"].ToString()) == date)
+                    {
+                        oCN.RunProc($"update wss1 set HMasterDate='{date}',HQty={HQTY},HUseTimes={(dic["浜х嚎鎬讳骇鑳�"] == "0" ? 0 : HQTY / float.Parse(dic["浜х嚎鎬讳骇鑳�"].ToString()))}" +
+                            $" from Sc_WorkBillSortBillSub wss1 with(nolock) where HInterID={HInterID} and HEntryID={ds.Tables[0].Rows[i]["hsubid"].ToString()}");
+                        count += 1;
+                    }
+                }
+                LogService.Write($"========================2.2.瀛愯〃鏇存柊鍚庣敤鏃讹細" + ss.Elapsed);
+            }
+
+            if (count != 1)
+            {
+                //鎻掑叆瀛愯〃
+                oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HSEQ," +
+                    "HMasterDate,HQty,HUseTimes)" +
+                            $"values({HInterID}, {(ds.Tables[0].Rows.Count + 1)}," +
+                            $" '{date}', {HQTY},{ ((dic["浜х嚎鎬讳骇鑳�"] == "0.0000" ? 0 : dic["浜х嚎鎬讳骇鑳�"] == "0" ? 0 : HQTY / float.Parse(dic["浜х嚎鎬讳骇鑳�"].ToString())).ToString() == "闈炴暟瀛�" ? 0 : dic["浜х嚎鎬讳骇鑳�"] == "0.0000" ? 0 : dic["浜х嚎鎬讳骇鑳�"] == "0" ? 0 : HQTY / float.Parse(dic["浜х嚎鎬讳骇鑳�"].ToString())) })");
+                LogService.Write($"========================2.2.瀛愯〃鎻掑叆鍓嶇敤鏃讹細" + ss.Elapsed);
+            }
+
+
+            //鎶婃帓浜ц鍗曞畬宸ユ棩鏈熷弽鍐欏埌閲戣澏閿�鍞鍗曚笂
+            string sql = "exec h_p_JIT_UpdateEndDateToERP " + HInterID + ",'" + HBillNo + "'";
+            oCN.RunProc(sql);
+
+            LogService.Write($"========================2.3.瀛愯〃瀛樺偍杩囩▼璋冪敤鑰楁椂锛�" + ss.Elapsed);
+
+            ss.Stop();//缁撴潫璁℃椂
+            LogService.Write($"========================2.4.瀛愯〃淇濆瓨鎬荤敤鏃讹細" + ss.Elapsed);
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+
+
+        #region 鑾峰彇杞﹂棿鎺掍骇閿佸畾澶╂暟
+        [Route("JIT_DayPlanPlatFormBill/JIT_DayPlanPlatFormBillHinterIDList_TK")]
+        [HttpGet]
+        public object JIT_DayPlanPlatFormBillHinterIDList_TK(string sWhere, int num)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn($"select isnull(DATEDIFF(DAY,GETDATE(),CONVERT(varchar(10),max(HMasterDate),20))+1,0) DayNum from Sc_WorkBillSortBillMain a with(nolock) left join Sc_WorkBillSortBillSub b with(nolock) on a.HInterID = b.HInterID where a.HWorkShopID = {sWhere} and HMasterDate>=CONVERT(varchar(10),GETDATE(),20) and HLockedSub=1", "Sc_WorkBillSortBillSub");
+
+                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/Sc_CheckToolsRepairWorkBillListController.cs b/WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs
index c4ed243..52df4ba 100644
--- a/WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs
+++ b/WebAPI/Controllers/Sc_CheckToolsRepairWorkBillListController.cs
@@ -190,7 +190,7 @@
         //    try
         //    {
 
-        //        ds = Sc_MouldMaintainBillList_s(sWhere);
+        //      ds = Sc_MouldMaintainBillList_s(sWhere);
         //        if (ds == null || ds.Tables[0].Rows.Count <= 0)
         //        {
         //            objJsonResult.code = "0";
diff --git a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
index 437210c..b0f6e02 100644
--- a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
+++ b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -8705,7 +8705,7 @@
         }
         #endregion
 
-        #region 鍣ㄥ叿鐐规璁″垝鍗� 鍏抽棴/鍙嶅叧闂�
+        #region 鍣ㄥ叿鐐规璁板綍鍗� 鍏抽棴/鍙嶅叧闂�
         /// <summary>
         /// </summary>
         /// <param name="HInterID">鍗曟嵁ID</param>
diff --git a/WebAPI/Controllers/WebAPIController.cs b/WebAPI/Controllers/WebAPIController.cs
index be986be..c0c90bf 100644
--- a/WebAPI/Controllers/WebAPIController.cs
+++ b/WebAPI/Controllers/WebAPIController.cs
@@ -18600,7 +18600,7 @@
                 ClsCN oCn = new ClsCN();
                 DataSet oDs = new DataSet();
                 //==========
-                oDs = oCn.RunProcReturn("select HItemID ID,Hname Name,HStopflag Stopflag from Xt_ORGANIZATIONS", "Xt_ORGANIZATIONS");
+                oDs = oCn.RunProcReturn("select HItemID ID,Hname Name,HStopflag Stopflag from Xt_ORGANIZATIONS with(nolock)", "Xt_ORGANIZATIONS");
                 objjson.code = "1";
                 objjson.count = 1;
                 objjson.Message = "鑾峰彇鎴愬姛锛�";
@@ -19330,6 +19330,51 @@
 
 
 
+        }
+
+        /// <summary>
+        /// 鑾峰彇宸℃椤圭洰鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        [Route("Web/GetPatrolCheckItemList_Json")]
+        [HttpGet]
+        public object GetPatrolCheckItemList_Json(string CheckItem)
+        {
+            DataSet ds;   
+            try
+            {
+                sWhere = " Where HStopFlag=0 and HEndFlag=1";
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if(CheckItem != "" && CheckItem != null)
+                {
+                    sWhere = sWhere + " and ( HNumber like '%" + CheckItem + "%' or HName like '%" + CheckItem + "%' ) ";
+                }
+                ds = oCN.RunProcReturn("Select HItemID,HNumber,HName  from Gy_PatrolCheck " + sWhere + " Order by HItemID ", "Gy_DotCheck");
+                if(ds == null )
+                {
+                    objjson.code = "0";
+                    objjson.count = 0;
+                    objjson.Message = "鑾峰彇澶辫触" + DBUtility.ClsPub.sErrInfo;
+                    objjson.data = null;
+                    return objjson;
+                }
+                else
+                {
+                    objjson.code = "1";
+                    objjson.count = 1;
+                    objjson.Message = "鑾峰彇鎴愬姛";
+                    objjson.data = ds.Tables[0];
+                    return objjson;
+                }
+            }
+            catch(Exception ex)
+            {
+                objjson.code = "0";
+                objjson.count = 0;
+                objjson.Message = "鑾峰彇澶辫触" + ex.ToString();
+                objjson.data = null;
+                return objjson;
+            }
         }
 
         /// <summary>
@@ -20540,6 +20585,9 @@
                     case "QD":
                         HView = "h_v_Sb_EquipRepairSignBillList";
                         break;
+                    case "XJ":
+                        HView = "h_v_Sb_EquipPatrolCheckBillList";
+                        break;
                     default:
                         objjson.code = "0";
                         objjson.count = 0;
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_PatrolCheckBillController.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_PatrolCheckBillController.cs"
new file mode 100644
index 0000000..916ee12
--- /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_PatrolCheckBillController.cs"
@@ -0,0 +1,1224 @@
+锘縰sing DBUtility;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using WebAPI.Models;
+using System.Web;
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
+using System.IO;
+
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Gy_PatrolCheckBillController : ApiController
+    {
+        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
+
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+        Models.ClsGy_PatrolCheck oDept = new Models.ClsGy_PatrolCheck();
+        Models.ClsGy_PatrolCheck oDeptHlp = new Models.ClsGy_PatrolCheck();
+
+        #region 宸℃椤圭洰鍒楄〃鏁版嵁
+        [Route("Gy_PatrolCheck/GetPatrolCheckList")]
+        [HttpGet]
+        public object GetPatrolCheckList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheck", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                ds = oCN.RunProcReturn("select * from h_v_Gy_PatrolCheckList where 1=1 " + sWhere+ " order by HItemID", "h_v_Gy_PatrolCheckList");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃椤圭洰鍒犻櫎
+        [Route("Gy_PatrolCheck/DeletePatrolCheck")]
+        [HttpGet]
+        public object DeletePatrolCheck(long HItemID, string User)
+        {
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheck_Delete", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鍒犻櫎鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("Select * from Gy_PatrolCheck Where HItemID='" + HItemID + "'", "Gy_PatrolCheck", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (ds.Tables[0].Rows.Count != 0)
+                {
+                    oCN.BeginTran();
+
+                    //鍒犻櫎鍓嶆帶鍒�=========================================
+                    ds = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_BeforeDelCtrl " + HItemID + ",'" + User + "'", "h_p_Gy_PatrolCheck_BeforeDelCtrl");
+                    if (ds == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    ds = oCN.RunProcReturn("Delete from Gy_PatrolCheck Where HItemID='" + HItemID + "'", "Gy_PatrolCheck", ref DBUtility.ClsPub.sExeReturnInfo);
+
+
+                    //鍒犻櫎鍚庢帶鍒�=========================================
+                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_AfterDelCtrl " + HItemID + ",'" + User + "'", "h_p_Gy_PatrolCheck_AfterDelCtrl");
+                    if (ds2 == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎鍚庡垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    oCN.Commit();
+
+                    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;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 淇敼宸℃椤圭洰鑾峰彇缁戝畾鏁版嵁
+        [Route("Gy_PatrolCheck/EditPatrolCheck")]
+        [HttpGet]
+        public object EditPatrolCheck(long HInterID)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn("select * from h_v_Gy_PatrolCheck_Edit where HItemID=" + HInterID, "h_v_Gy_PatrolCheck_Edit");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                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_PatrolCheck/EditBill")]
+        [HttpPost]
+        public object EditBill([FromBody] JObject oMain)
+        {
+
+            try
+            {
+                var _value = oMain["oMain"].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();//褰撳墠浜�
+
+                //鍙嶅簭鍒楀寲
+                msg2 = "[" + msg2.ToString() + "]";
+                List<Models.ClsGy_PatrolCheck> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsGy_PatrolCheck>>(msg2);
+
+                long HItemID = int.Parse(msg4);
+                string HNumber = list[0].HNumber;
+                string HName = list[0].HName;
+                string HShortNumber = list[0].HNumber;
+                long HLevel = list[0].HLevel;
+                long HUSEORGID = list[0].HUSEORGID;
+                string HHelpCode = list[0].HHelpCode;
+                string HRemark = list[0].HRemark;
+                bool HStopflag = list[0].HStopflag;
+                string HModifyEmp = msg3;
+                string HPatrolCheckItemType = list[0].HPatrolCheckItemType;
+                bool HEndFlag = list[0].HEndFlag;
+                Int64 HPatrolCheckItemClassID = list[0].HPatrolCheckItemClassID;
+
+                //鍒ゆ柇鏉冮檺
+                if (!ClsPub.Security_Log("Gy_PatrolCheck_Edit", 1, false, msg3))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                if (!DBUtility.ClsPub.AllowNumber(HNumber))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "浠g爜涓笉鑳藉嚭鐜拌繛缁��.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //if (oDept.HavSameNumber(HItemID, HNumber))
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "浠g爜閲嶅锛�";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+
+
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCN.BeginTran();
+
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                DataSet ds = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_BeforeSaveCtrl " + msg3 + ",'1'", "h_p_Gy_PatrolCheck_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
+
+                //涓昏〃
+                oCN.RunProc("Update Gy_PatrolCheck set " +
+                    " HNumber='" + HNumber + "'" +
+                    ",HName='" + HName + "'" +
+                    ",HModifyEmp='" + HModifyEmp + "'" +
+                    ",HModifyTime=getdate()" +
+                    ",HShortNumber='" + HShortNumber + "'" +
+                    ",HUSEORGID=" + HUSEORGID  +
+                    ",HHelpCode='" + HHelpCode + "'" +
+                    ",HStopflag='" + HStopflag + "'" +
+                    ",HPatrolCheckItemType='" + HPatrolCheckItemType + "'" +
+                    ",HPatrolCheckItemClassID=" + HPatrolCheckItemClassID +                     
+                    ",HRemark= '" + HRemark + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇敼瀛愰」鐩唬鐮�
+                //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
+
+                //淇濆瓨鍚庢帶鍒�=========================================
+                DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_AfterSaveCtrl " + msg3 + ",'1'", "h_p_Gy_PatrolCheck_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
+
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇敼鎴愬姛锛�";
+                //objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃椤圭洰鏂板淇濆瓨
+        [Route("GetPatrolCheck/AddBill")]
+        [HttpPost]
+        public object AddBill([FromBody] JObject oMain)
+        {
+            try
+            {
+                var _value = oMain["oMain"].ToString();
+                string msg1 = _value.ToString();
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+                string msg2 = sArray[0].ToString();
+                string msg3 = sArray[1].ToString();//褰撳墠浜�
+
+                //鍙嶅簭鍒楀寲
+                msg2 = "[" + msg2.ToString() + "]";
+
+                List<Models.ClsGy_PatrolCheck> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsGy_PatrolCheck>>(msg2);
+
+                string HNumber = list[0].HNumber;
+                string HName = list[0].HName;
+                string HShortNumber = list[0].HNumber;
+                long HLevel = list[0].HLevel;
+                long HUSEORGID = list[0].HUSEORGID;
+                long HCREATEORGID = list[0].HCREATEORGID;
+                string HHelpCode = list[0].HHelpCode;
+                string HRemark = list[0].HRemark;
+                bool HStopflag = list[0].HStopflag;
+                string HUseFlag = list[0].HUseFlag;
+                string HMakeEmp = list[0].HMakeEmp;
+                bool HEndFlag = list[0].HEndFlag;
+                string HPatrolCheckItemType = list[0].HPatrolCheckItemType;
+                Int64 HPatrolCheckItemClassID = list[0].HPatrolCheckItemClassID;
+                //鍒ゆ柇鏉冮檺
+                if (!ClsPub.Security_Log("Gy_PatrolCheck_Edit", 1, false, msg3))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鎵惧埌璇ュ姛鑳芥ā鍧楋紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (!DBUtility.ClsPub.AllowNumber(HNumber))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "浠g爜涓笉鑳藉嚭鐜拌繛缁��.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCN.BeginTran();
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                DataSet ds = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_BeforeSaveCtrl " + msg3 + ",'1'", "h_p_Gy_PatrolCheck_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
+
+                //涓昏〃
+                oCN.RunProc("Insert into Gy_PatrolCheck " +
+                   " (HNumber,HName,HHelpCode,HShortNumber" +
+                   ",HLevel,HEndFlag,HStopflag,HRemark,HParentID,HPatrolCheckItemClassID" +
+                  ",HMakeEmp,HMakeTime,HUSEORGID,HCREATEORGID,HUseFlag,HPatrolCheckItemType" +
+                   " ) " +
+                   " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," +
+                    +HLevel + ",1," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "',0," + HPatrolCheckItemClassID + "" +
+                      ",'" + HMakeEmp + "',getdate()," + HUSEORGID + "," + HCREATEORGID + ",'" + HUseFlag + "','"+ HPatrolCheckItemType + "')", ref DBUtility.ClsPub.sExeReturnInfo);
+                //淇敼涓婄骇涓洪潪鏈骇浠g爜
+                //oCN.RunProc("Update Gy_MouldType set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                //淇濆瓨鍚庢帶鍒�=========================================
+                DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_AfterSaveCtrl " + msg3 + ",'1'", "h_p_Gy_PatrolCheck_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=========================================================
+
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏂板鎴愬姛锛�";
+                //objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃椤圭洰鍒楄〃 鏍戠姸鍥� 鐐瑰嚮鍒嗙被鏌ヨ
+        public class TreeModel
+        {
+            public string id { get; set; }
+            public string title { get; set; }
+            public List<TreeModel> children = new List<TreeModel>();
+        }
+        [Route("Gy_PatrolCheckBill/TreeGetList")]
+        [HttpGet]
+        public object TreeGetList(string sWhere, string user)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select HItemID,HNumber,HName from gy_PatrolCheckItemClass", "gy_PatrolCheckItemClass");
+
+                List<TreeModel> treeModels = new List<TreeModel>();
+                TreeModel first = new TreeModel();
+                first.id = "0";
+                first.title = "宸℃椤圭洰鍒嗙被璁剧疆";
+                treeModels.Add(first);
+
+                foreach (DataRow row in ds.Tables[0].Rows)
+                {
+                    var strLen = row["hitemid"].ToString().Split('.');
+                    if (strLen.Length == 1)
+                    {
+                        TreeModel tree = new TreeModel();
+                        tree.id = row["HItemID"].ToString();
+                        tree.title = row["HName"].ToString();
+                        treeModels[0].children.Add(tree);
+                    }
+                }
+                digui(ds.Tables[0], treeModels[0].children, 2);
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        /// <summary>
+        /// 閫掑綊鍑芥暟
+        /// </summary>
+        public void digui(DataTable dt, List<TreeModel> tree, int num)
+        {
+            for (int m = 0; m < tree.Count; m++)
+            {
+                tree[m].children = new List<TreeModel>();
+                for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+                {
+                    var strLen = dt.Rows[i]["HNumber"].ToString().Split('.');
+                    if (strLen.Length == num && dt.Rows[i]["HNumber"].ToString().Contains(tree[m].id + "."))
+                    {
+                        TreeModel tbjson = new TreeModel();
+                        tbjson.id = dt.Rows[i]["HItemID"].ToString();
+                        tbjson.title = dt.Rows[i]["HName"].ToString();
+                        tree[m].children.Add(tbjson);
+                    }
+                }
+                var strLens = tree[m].id.Split('.');
+                for (int i = 0; i < tree[m].children.Count; i++)
+                {
+                    digui(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+                }
+            }
+
+        }
+        #endregion
+
+        #region 宸℃椤圭洰鏂囦欢涓婁紶
+        [Route("Gy_PatrolCheck/Gy_PatrolCheck_Excel")]
+        [HttpPost]
+        public object Gy_PatrolCheck_Excel()
+        {
+            try
+            {
+                //鑾峰彇鏂囦欢鍚嶇О
+                var file = HttpContext.Current.Request.Files[0];
+                //鑾峰彇鏂囦欢鐗╃悊璺緞
+                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
+                //淇濆瓨鏂囦欢
+                file.SaveAs(ExcelPath);
+
+                NpoiHelper np = new NpoiHelper();
+                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
+
+                //鍒犻櫎鏂囦欢
+                File.Delete(ExcelPath);
+
+                //鍒涘缓涓存椂琛�
+                DataTable tb2 = new DataTable("dt2");
+
+                //娣诲姞鍒楀悕
+                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
+                {
+                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
+                }
+
+                //妯℃澘缂哄皯鍒� 浣嗛渶瑕佷粠鏁版嵁搴撲腑鏌ヨ鍑烘潵鏄剧ず鍦ㄩ〉闈㈢殑瀛楁
+                tb2.Columns.Add("HOrgID", typeof(Int32));//缁勭粐ID
+                tb2.Columns.Add("HPatrolCheckItemClassID", typeof(Int32));//宸℃椤圭洰鍒嗙被ID
+
+                //娣诲姞鏁版嵁
+                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
+                {
+                    DataRow row = tb2.NewRow();
+                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
+                    {
+                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
+                    }
+                    tb2.Rows.Add(row);
+                }
+
+
+                var error = "";
+
+                //鏌ヨ宸ヤ綔涓績娌℃湁鐨勫垪
+                if (!tb2.Columns.Contains("缁勭粐浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囦唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("缁勭粐鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囧悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃椤圭洰浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃椤圭洰鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰鍚嶇О銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃椤圭洰鍒嗙被浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰鍒嗙被浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃椤圭洰鍒嗙被鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰鍒嗙被鍚嶇О銆戠殑鏍囬,";
+
+
+                if (error.Length > 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
+                {
+
+                    string HORGNumber = "";
+                    string HORGName = "";
+                    string HPatrolCheckNum = "";
+                    string HPatrolCheckName = "";
+                    string HPatrolCheckItemClassNum = "";
+                    string HPatrolCheckItemClassName = "";
+
+                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐浠g爜"].ToString());
+                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐鍚嶇О"].ToString());
+                    HPatrolCheckNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃椤圭洰浠g爜"].ToString());
+                    HPatrolCheckName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃椤圭洰鍚嶇О"].ToString());
+                    HPatrolCheckItemClassNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃椤圭洰鍒嗙被浠g爜"].ToString());
+                    HPatrolCheckItemClassName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃椤圭洰鍒嗙被鍚嶇О"].ToString());
+
+                    //妫�鏌ョ粍缁�
+                    int index = i + 1;
+
+                    if (HORGNumber != "")
+                    {
+
+
+                        //鏌ヨ缁勭粐
+                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,缁勭粐涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
+
+
+                        //鏌ヨ宸℃椤圭洰鍒嗙被
+                        ds = oCN.RunProcReturn("select * from Gy_PatrolCheckItemClass where  HNumber='" + HPatrolCheckItemClassNum + "'  and HUSEORGID=" + HORGid + "", "Gy_Department");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,璇�" + HORGName + "缁勭粐,宸℃椤圭洰鍒嗙被:" + HPatrolCheckItemClassName + ",涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HPatrolCheckItemClassID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+
+                        //宸℃椤圭洰鍚嶇О
+                        if (HPatrolCheckName == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸℃椤圭洰鍚嶇О涓嶈兘涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //宸℃椤圭洰浠g爜
+                        if (HPatrolCheckNum == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸℃椤圭洰浠g爜涓嶈兘涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    else
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "绗�" + index + "琛�,缁勭粐浠g爜涓虹┖";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = error;
+                objJsonResult.data = tb2;
+                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_PatrolCheck/Gy_PatrolCheck_btnSave")]
+        [HttpPost]
+        public object Gy_PatrolCheck_btnSave([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 user = sArray[1].ToString();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheck_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
+                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+
+                foreach (JObject item in Excel)
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    foreach (var itm in item.Properties())
+                    {
+                        dic.Add(itm.Name, itm.Value.ToString());
+                    }
+                    list.Add(dic);
+                }
+
+                oCN.BeginTran();
+                int i = 1;
+                foreach (Dictionary<string, string> item in list)
+                {
+                    string HOrgID = item["HOrgID"].ToString();//缁勭粐ID
+                    string HPatrolCheckItemClassID = item["HPatrolCheckItemClassID"].ToString();//宸℃椤圭洰鍒嗙被ID
+                    string HPatrolCheckItemClassName = item["宸℃椤圭洰鍒嗙被浠g爜"].ToString();
+                    string HPatrolCheckItemClassNum = item["宸℃椤圭洰鍒嗙被鍚嶇О"].ToString();
+                    string HPatrolCheckName = item["宸℃椤圭洰鍚嶇О"].ToString();
+                    string HPatrolCheckNum = item["宸℃椤圭洰浠g爜"].ToString();
+                    string sShortNumber;
+                    sShortNumber = DBUtility.ClsPub.GetShortNumber(HPatrolCheckNum);//鐭唬鐮�
+                    if (sShortNumber.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺煭浠g爜涓虹┖锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    int HEndFlag = 1;//鏈骇鏍囧織
+                    int HLevel = DBUtility.ClsPub.GetLevel(HPatrolCheckNum); //绛夌骇
+
+
+                    if (!DBUtility.ClsPub.AllowNumber(HPatrolCheckNum.Trim()))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷腑涓嶈兘鍑虹幇杩炵画鈥�.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                    ds = oCN.RunProcReturn("select * from Gy_PatrolCheck where HNumber='" + HPatrolCheckNum + "'", "Gy_PatrolCheck");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+
+                        string sql = "insert into Gy_PatrolCheck(HName,HNumber,HPatrolCheckItemClassID,HUSEORGID,HCREATEORGID,HShortNumber,HEndFlag,HLevel,HParentID,HStopflag,HRemark,HHelpCode)" +
+                            $"values('{HPatrolCheckName}', '{HPatrolCheckNum}',{HPatrolCheckItemClassID}, {HOrgID},{HOrgID}, '{sShortNumber}', {HEndFlag},{HLevel},0,0,'','')";
+                        oCN.RunProc(sql);
+                    }
+                    else
+                    {
+                        oCN.RunProc("	update  Gy_PatrolCheck set HPatrolCheckItemClassID=" + HPatrolCheckItemClassID + "  where HNumber='" + HPatrolCheckNum + "'");
+                    }
+
+                    i++;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "瀵煎叆鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write(e);
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + 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_PatrolCheck/AuditGy_PatrolCheck")]
+        [HttpGet]
+        public object AuditGy_PatrolCheck(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_PatrolCheck_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_PatrolCheck  where HItemID=" + HInterID, "Gy_PatrolCheck ");
+                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)  //瀹℃牳鍒ゆ柇
+                {
+                    //瀹℃牳鍓嶆帶鍒�=========================================
+                    ds = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_BeforeCheckCtrl " + HInterID + ",'" + CurUserName + "'", "h_p_Gy_PatrolCheck_BeforeCheckCtrl");
+                    if (ds == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    oCN.RunProc("update Gy_PatrolCheck set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
+
+                    //瀹℃牳鍚庢帶鍒�=========================================
+                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_AfterCheckCtrl " + HInterID + ",'" + CurUserName + "'", "h_p_Gy_PatrolCheck_AfterCheckCtrl");
+                    if (ds2 == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳鍚庡垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {
+                    //鍙嶅鏍稿墠鎺у埗=========================================
+                    ds = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_BeforeUnCheckCtrl " + HInterID + ",'" + CurUserName + "'", "h_p_Gy_PatrolCheck_BeforeUnCheckCtrl");
+                    if (ds == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    oCN.RunProc("update Gy_PatrolCheck set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
+
+
+                    //鍙嶅鏍稿悗鎺у埗=========================================
+                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_AfterUnCheckCtrl " + HInterID + ",'" + CurUserName + "'", "h_p_Gy_PatrolCheck_AfterUnCheckCtrl");
+                    if (ds2 == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳鍚庡垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+
+                    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
+
+        #region 宸℃椤圭洰绂佺敤銆佸弽绂佺敤
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsStop">绂佺敤(0),鍙嶇鐢�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_PatrolCheck/StopGy_PatrolCheck")]
+        [HttpGet]
+        public object StopGy_PatrolCheck(int HInterID, int IsStop, string CurUserName)
+        {
+            try
+            {
+                //绂佺敤鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_PatrolCheck_Stop", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绂佺敤澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from Gy_PatrolCheck where HItemID=" + HInterID, "Gy_Material");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsStop == 0)  //绂佺敤鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸茬鐢�!涓嶈兘鍐嶆绂佺敤锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HStopEmp"].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 (IsStop == 0)  //绂佺敤鍒ゆ柇
+                {
+                    //绂佺敤鍓嶆帶鍒�=========================================
+                    ds = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_BeforeStopCtrl " + HInterID + ",'" + CurUserName + "'", "h_p_Gy_PatrolCheck_BeforeStopCtrl");
+                    if (ds == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绂佺敤鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绂佺敤澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    oCN.RunProc("update Gy_PatrolCheck set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
+
+                    //绂佺敤鍚庢帶鍒�=========================================
+                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_AfterStopCtrl " + HInterID + ",'" + CurUserName + "'", "h_p_Gy_PatrolCheck_AfterStopCtrl");
+                    if (ds2 == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绂佺敤鍚庡垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绂佺敤澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "绂佺敤鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsStop == 1) //鍙嶇鐢ㄥ垽鏂�
+                {
+                    //鍙嶇鐢ㄥ墠鎺у埗=========================================
+                    ds = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_BeforeUnStopCtrl " + HInterID + ",'" + CurUserName + "'", "h_p_Gy_PatrolCheck_BeforeUnStopCtrl");
+                    if (ds == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绂佺敤鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绂佺敤澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    oCN.RunProc("update Gy_PatrolCheck set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
+
+
+                    //鍙嶇鐢ㄥ悗鎺у埗=========================================
+                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_Gy_PatrolCheck_AfterUnStopCtrl " + HInterID + ",'" + CurUserName + "'", "h_p_Gy_PatrolCheck_AfterUnStopCtrl");
+                    if (ds2 == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绂佺敤鍚庡垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "绂佺敤澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
+                    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
+    }
+}
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_PatrolCheckItemClassController.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_PatrolCheckItemClassController.cs"
new file mode 100644
index 0000000..0b8ee30
--- /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_PatrolCheckItemClassController.cs"
@@ -0,0 +1,653 @@
+锘縰sing DBUtility;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using WebAPI.Models;
+using System.Web;
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
+using System.IO;
+using SyntacticSugar.constant;
+
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Gy_PatrolCheckItemClassController : ApiController
+    {
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+        public DAL.ClsGy_PatrolCheckItemClass_Ctl BillOld = new DAL.ClsGy_PatrolCheckItemClass_Ctl();
+
+        #region 宸℃椤圭洰鍒嗙被鍒楄〃鏁版嵁
+        [Route("Gy_PatrolCheckItemClass/GetPatrolCheckItemClassList")]
+        [HttpGet]
+        public object GetPatrolCheckItemClassList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheckItemClass_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                ds = oCN.RunProcReturn("select * from h_v_Gy_PatrolCheckItemClassList where 1=1 " + sWhere + " order by HItemID", "h_v_Gy_PatrolCheckItemClassList");
+
+                //娣诲姞鍒楀悕
+                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
+
+        #region 淇敼宸℃椤圭洰鍒嗙被鑾峰彇缁戝畾鏁版嵁
+        [Route("Gy_PatrolCheckItemClass/EditPatrolCheckItemClass")]
+        [HttpGet]
+        public object EditPatrolCheck(long HInterID)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn("select * from h_v_Gy_PatrolCheckItemClass_Edit where HItemID=" + HInterID, "h_v_Gy_PatrolCheckItemClass_Edit");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                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_PatrolCheckItemClass/SaveGy_PatrolCheckItemClassList")]
+        [HttpPost]
+        public object SaveGy_PatrolCheckItemClassList([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 msg_HUserName = sArray[1].ToString();
+            string msg_HCreateORGID = sArray[2].ToString();
+            string msg_OperationType = sArray[3].ToString();
+            
+            Int64 HItemID = 0;
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            //缂栬緫鏉冮檺
+            if(!DBUtility.ClsPub.Security_Log_second("Gy_PatrolCheckItemClass_Edit", 1, false, msg_HUserName))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+            //鑾峰彇鏈�澶D鍊艰祴鍊�
+            DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_PatrolCheckItemClass ", "Gy_PatrolCheckItemClass");
+            if ((Maxds != null || Maxds.Tables[0].Rows.Count > 0) && ( Maxds.Tables[0].Rows[0]["HItemID"] != null && Maxds.Tables[0].Rows[0]["HItemID"].ToString() != "" && Maxds.Tables[0].Rows[0]["HItemID"].ToString() != "undefined") )
+            {
+                var maxid = Convert.ToInt32(Maxds.Tables[0].Rows[0]["HItemID"]);
+                maxid += 1;
+                HItemID = maxid;
+            }
+            else
+            {
+                HItemID = 1;
+            }
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                DAL.ClsGy_PatrolCheckItemClass_Ctl oBill = new DAL.ClsGy_PatrolCheckItemClass_Ctl();
+                List<Model.ClsGy_PatrolCheckItemClass_Model> lsmain = new List<Model.ClsGy_PatrolCheckItemClass_Model>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_PatrolCheckItemClass(msg1);
+                foreach (Model.ClsGy_PatrolCheckItemClass_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_PatrolCheckItemClass where HStopflag = 0 and HNumber = '" + oItem.HNumber.Trim() + "'", "Gy_PatrolCheckItemClass");
+
+                    //寰楀埌鐭唬鐮�
+                    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_HCreateORGID); //缁勭粐id
+                    oItem.HShortNumber = sShortNumber;//鐭唬鐮�
+                    oItem.HEndFlag = true;//鏈骇鏍囧織
+                    oItem.HLevel = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //绛夌骇
+                    oItem.HMakeEmp = msg_HUserName; //鍒跺崟浜�
+                    oItem.HCREATEORGID = Convert.ToInt32(msg_HCreateORGID); //鍒涘缓缁勭粐
+                    oBill.oModel = oItem;
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (msg_OperationType == 1.ToString() || msg_OperationType == 2.ToString())
+                {
+                    bResult = oBill.AddNew();
+                }
+                else
+                {
+                    bResult = oBill.ModifyByID(oBill.oModel.HItemID);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = "";
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃椤圭洰鍒嗙被鍒犻櫎
+        [Route("Gy_PatrolCheckItemClass/DeletePatrolCheckItemClass")]
+        [HttpGet]
+        public object DeletePatrolCheckItemClass(long HItemID, string User)
+        {
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheckItemClass_Delete", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鍒犻櫎鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("Select * from Gy_PatrolCheckItemClass Where HItemID='" + HItemID + "'", "Gy_PatrolCheckItemClass", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (ds.Tables[0].Rows.Count != 0)
+                {
+                    ds = oCN.RunProcReturn("Delete from Gy_PatrolCheckItemClass Where HItemID='" + HItemID + "'", "Gy_PatrolCheckItemClass", 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 = "鍗曟嵁涓嶅瓨鍦�";
+                    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 宸℃椤圭洰鍒嗙被瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_PatrolCheckItemClass/AuditGy_PatrolCheckItemClass")]
+        [HttpGet]
+        public object AuditGy_PatrolCheckItemClass(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_PatrolCheckItemClass_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)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from  Gy_PatrolCheckItemClass where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0].Rows[0]["HCheckEmp"] != null && ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.AuditByID2(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from  Gy_PatrolCheckItemClass where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"] == null || ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.DeAuditByID2(Int64.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)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃椤圭洰鍒嗙被 鏂囦欢瀵煎叆淇濆瓨
+        #region 宸℃椤圭洰鍒嗙被 鏂囦欢涓婁紶
+        [Route("Gy_PatrolCheckItemClass/Gy_PatrolCheckItemClass_Excel")]
+        [HttpPost]
+        public object Gy_PatrolCheckItemClass_Excel()
+        {
+            try
+            {
+                //鑾峰彇鏂囦欢鍚嶇О
+                var file = HttpContext.Current.Request.Files[0];
+                //鑾峰彇鏂囦欢鐗╃悊璺緞
+                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
+                //淇濆瓨鏂囦欢
+                file.SaveAs(ExcelPath);
+
+                NpoiHelper np = new NpoiHelper();
+                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
+
+                //鍒犻櫎鏂囦欢
+                File.Delete(ExcelPath);
+
+                //鍒涘缓涓存椂琛�
+                DataTable tb2 = new DataTable("dt2");
+
+                //娣诲姞鍒楀悕
+                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
+                {
+                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
+                }
+
+                //妯℃澘缂哄皯鍒� 浣嗛渶瑕佷粠鏁版嵁搴撲腑鏌ヨ鍑烘潵鏄剧ず鍦ㄩ〉闈㈢殑瀛楁
+                tb2.Columns.Add("HOrgID", typeof(Int32));//缁勭粐ID
+
+                //娣诲姞鏁版嵁
+                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
+                {
+                    DataRow row = tb2.NewRow();
+                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
+                    {
+                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
+                    }
+                    tb2.Rows.Add(row);
+                }
+
+
+                var error = "";
+
+                //鏌ヨ娌℃湁鐨勫垪
+                if (!tb2.Columns.Contains("缁勭粐浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囦唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("缁勭粐鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囧悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃椤圭洰鍒嗙被浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰鍒嗙被浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃椤圭洰鍒嗙被"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�椤圭洰鍒嗙被銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("澶囨敞"))
+                    error += "娌℃湁鎵惧埌銆愬娉ㄣ�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鍔╄鐮�"))
+                    error += "娌℃湁鎵惧埌銆愬姪璁扮爜銆戠殑鏍囬,";
+
+                if (error.Length > 0)
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
+                {
+                    string HName = "";
+                    string HNum = "";
+                    string HORGNumber = "";
+                    string HORGName = "";
+
+
+                    HName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃椤圭洰鍒嗙被"].ToString());
+                    HNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃椤圭洰鍒嗙被浠g爜"].ToString());
+                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐浠g爜"].ToString());
+                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐鍚嶇О"].ToString());
+
+                    //妫�鏌ョ墿鏂�
+                    int index = i + 1;
+
+                    if (HORGNumber != "")
+                    {
+
+                        //鏌ヨ缁勭粐
+                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,缁勭粐涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+
+                        //宸℃椤圭洰鍒嗙被鍚嶇О
+                        if (HName == "")
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸℃椤圭洰鍒嗙被鍚嶇О涓嶈兘涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //宸℃椤圭洰鍒嗙被浠g爜
+                        if (HNum == "")
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸℃椤圭洰鍒嗙被浠g爜涓嶈兘涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    else
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "绗�" + index + "琛�,缁勭粐浠g爜涓虹┖";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = error;
+                objJsonResult.data = tb2;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃椤圭洰鍒嗙被椤圭洰 瀵煎叆(淇濆瓨)
+        [Route("Gy_PatrolCheckItemClass/Gy_PatrolCheckItemClass_btnSave")]
+        [HttpPost]
+        public object Gy_PatrolCheckItemClass_btnSave([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 user = sArray[1].ToString();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheckItemClass_Edit", 1, false, user))
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
+                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+
+                foreach (JObject item in Excel)
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    foreach (var itm in item.Properties())
+                    {
+                        dic.Add(itm.Name, itm.Value.ToString());
+                    }
+                    list.Add(dic);
+                }
+
+                oCN.BeginTran();
+                int i = 1;
+                foreach (Dictionary<string, string> item in list)
+                {
+                    string HOrgID = item["HOrgID"].ToString();//缁勭粐ID
+                    string HName = item["宸℃椤圭洰鍒嗙被"].ToString();
+                    string HNumber = item["宸℃椤圭洰鍒嗙被浠g爜"].ToString();
+                    string HRemark = item["澶囨敞"].ToString();
+                    string HHelpCode = item["鍔╄鐮�"].ToString();
+                    string sShortNumber;
+                    sShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//鐭唬鐮�
+                    if (sShortNumber.Trim() == "")
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺煭浠g爜涓虹┖锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    int HEndFlag = 1;//鏈骇鏍囧織
+                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //绛夌骇
+
+
+                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷腑涓嶈兘鍑虹幇杩炵画鈥�.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                    ds = oCN.RunProcReturn("select * from Gy_PatrolCheckItemClass where HNumber='" + HNumber + "'", "Gy_PatrolCheckItemClass");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        oCN.RunProc("Insert into Gy_PatrolCheckItemClass (" +
+                        "HNumber,HName,HHelpCode,HShortNumber,HParentID" +
+                        ",HLevel,HEndFlag,HStopflag,HRemark" +
+                        ",HMakeTime,HMakeEmp,HCREATEORGID,HUSEORGID) " +
+                        " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + sShortNumber + "'," + 0 +
+                        ", " + HLevel.ToString() + "," + HEndFlag + "," + 0 + ",'" + HRemark + "',getdate()" + ",'" + user + "'," + HOrgID + "," + HOrgID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+                        }
+                    else
+                    {
+                        oCN.RunProc("Update " + "Gy_PatrolCheckItemClass " + " set " +
+                        "HName='" + HName + "'" +
+                        ",HShortNumber='" + sShortNumber + "'" +
+                        ",HHelpCode='" + HHelpCode + "'" +
+                        ",HRemark= '" + HRemark + "'" +
+                        ",HModifyEmp= '" + user + "'" +
+                        ",HModifyTime=getdate()" +
+                        ",HUSEORGID=" + HOrgID +
+                        " where HNumber='" + HNumber + "'");
+                    }
+
+                    i++;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = "瀵煎叆鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write(e);
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #endregion
+
+    }
+}
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_PatrolCheckItemMethodController.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_PatrolCheckItemMethodController.cs"
new file mode 100644
index 0000000..d46a4c4
--- /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_PatrolCheckItemMethodController.cs"
@@ -0,0 +1,654 @@
+锘縰sing DBUtility;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using WebAPI.Models;
+using System.Web;
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
+using System.IO;
+using SyntacticSugar.constant;
+
+
+namespace WebAPI.Controllers.鍩虹璧勬枡.鍩虹璧勬枡
+{
+    public class Gy_PatrolCheckItemMethodController : ApiController
+    {
+        private json objJsonResult = new json();
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+        public DAL.ClsGy_PatrolCheckItemMethod_Ctl BillOld = new DAL.ClsGy_PatrolCheckItemMethod_Ctl();
+
+        #region 宸℃鏂规硶鍒楄〃鏁版嵁
+        [Route("Gy_PatrolCheckItemMethod/GetPatrolCheckItemMethodList")]
+        [HttpGet]
+        public object GetPatrolCheckItemMethodList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+               
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheckItemMethod_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏌ョ湅鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                
+                ds = oCN.RunProcReturn("select * from h_v_Gy_PatrolCheckItemMethodList where 1=1 " + sWhere + " order by HItemID", "h_v_Gy_PatrolCheckItemMethodList");
+
+                //娣诲姞鍒楀悕
+                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
+
+        #region 淇敼宸℃鏂规硶鑾峰彇缁戝畾鏁版嵁
+        [Route("Gy_PatrolCheckItemMethod/EditPatrolCheckItemMethod")]
+        [HttpGet]
+        public object EditPatrolCheckItemMethod(long HInterID)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn("select * from h_v_Gy_PatrolCheckItemMethod_Edit where HItemID=" + HInterID, "h_v_Gy_PatrolCheckItemMethod_Edit");
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                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_PatrolCheckItemMethod/SaveGy_PatrolCheckItemMethodList")]
+        [HttpPost]
+        public object SaveGy_PatrolCheckItemMethodList([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 msg_HUserName = sArray[1].ToString();
+            string msg_HCreateORGID = sArray[2].ToString();
+            string msg_OperationType = sArray[3].ToString();
+
+            Int64 HItemID = 0;
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            //缂栬緫鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("Gy_PatrolCheckItemMethod_Edit", 1, false, msg_HUserName))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            //鑾峰彇鏈�澶D鍊艰祴鍊�
+            DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_PatrolCheckItemMethod ", "Gy_PatrolCheckItemMethod");
+            if ((Maxds != null || Maxds.Tables[0].Rows.Count > 0) && (Maxds.Tables[0].Rows[0]["HItemID"] != null && Maxds.Tables[0].Rows[0]["HItemID"].ToString() != "" && Maxds.Tables[0].Rows[0]["HItemID"].ToString() != "undefined"))
+            {
+                var maxid = Convert.ToInt32(Maxds.Tables[0].Rows[0]["HItemID"]);
+                maxid += 1;
+                HItemID = maxid;
+            }
+            else
+            {
+                HItemID = 1;
+            }
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                DAL.ClsGy_PatrolCheckItemMethod_Ctl oBill = new DAL.ClsGy_PatrolCheckItemMethod_Ctl();
+                List<Model.ClsGy_PatrolCheckItemMethod_Model> lsmain = new List<Model.ClsGy_PatrolCheckItemMethod_Model>();
+                msg1 = msg1.Replace("\\", "");
+                msg1 = msg1.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_PatrolCheckItemMethod(msg1);
+                foreach (Model.ClsGy_PatrolCheckItemMethod_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_PatrolCheckItemMethod where HStopflag  =0 and HNumber = '" + oItem.HNumber.Trim() + "'", "Gy_PatrolCheckItemMethod");
+
+                    //寰楀埌鐭唬鐮�
+                    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_HCreateORGID); //缁勭粐id
+                    oItem.HShortNumber = sShortNumber;//鐭唬鐮�
+                    oItem.HEndFlag = true;//鏈骇鏍囧織
+                    oItem.HLevel = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //绛夌骇
+                    oItem.HMakeEmp = msg_HUserName; //鍒跺崟浜�
+                    oItem.HCREATEORGID = Convert.ToInt32(msg_HCreateORGID); //鍒涘缓缁勭粐
+                    oBill.oModel = oItem;
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (msg_OperationType == 1.ToString() || msg_OperationType == 2.ToString())
+                {
+                    bResult = oBill.AddNew();
+                }
+                else
+                {
+                    bResult = oBill.ModifyByID(oBill.oModel.HItemID);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = "";
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃鏂规硶鍒犻櫎
+        [Route("Gy_PatrolCheckItemMethod/DeletePatrolCheckItemMethod")]
+        [HttpGet]
+        public object DeletePatrolCheckItemMethod(long HItemID, string User)
+        {
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheckItemMethod_Delete", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鍒犻櫎鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("Select * from Gy_PatrolCheckItemMethod Where HItemID='" + HItemID + "'", "Gy_PatrolCheckItemMethod", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (ds.Tables[0].Rows.Count != 0)
+                {
+                    ds = oCN.RunProcReturn("Delete from Gy_PatrolCheckItemMethod Where HItemID='" + HItemID + "'", "Gy_PatrolCheckItemMethod", 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 = "鍗曟嵁涓嶅瓨鍦�";
+                    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 宸℃鏂规硶瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Gy_PatrolCheckItemMethod/AuditGy_PatrolCheckItemMethod")]
+        [HttpGet]
+        public object AuditGy_PatrolCheckItemMethod(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_PatrolCheckItemMethod_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)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳
+                    DataSet ds;
+                    string sql = "select * from  Gy_PatrolCheckItemMethod where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0].Rows[0]["HCheckEmp"] != null && ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //瀹℃牳鍗曟嵁
+                    if (!BillOld.AuditByID2(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍�
+                    DataSet ds;
+                    string sql = "select * from  Gy_PatrolCheckItemMethod where HItemID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HCheckEmp"] == null || ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅鏍稿崟鎹�
+                        if (!BillOld.DeAuditByID2(Int64.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)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃鏂规硶 鏂囦欢瀵煎叆淇濆瓨
+        #region 宸℃鏂规硶 鏂囦欢涓婁紶
+        [Route("Gy_PatrolCheckItemMethod/Gy_PatrolCheckItemMethod_Excel")]
+        [HttpPost]
+        public object Gy_PatrolCheckItemMethod_Excel()
+        {
+            try
+            {
+                //鑾峰彇鏂囦欢鍚嶇О
+                var file = HttpContext.Current.Request.Files[0];
+                //鑾峰彇鏂囦欢鐗╃悊璺緞
+                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
+                //淇濆瓨鏂囦欢
+                file.SaveAs(ExcelPath);
+
+                NpoiHelper np = new NpoiHelper();
+                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
+
+                //鍒犻櫎鏂囦欢
+                File.Delete(ExcelPath);
+
+                //鍒涘缓涓存椂琛�
+                DataTable tb2 = new DataTable("dt2");
+
+                //娣诲姞鍒楀悕
+                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
+                {
+                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
+                }
+
+                //妯℃澘缂哄皯鍒� 浣嗛渶瑕佷粠鏁版嵁搴撲腑鏌ヨ鍑烘潵鏄剧ず鍦ㄩ〉闈㈢殑瀛楁
+                tb2.Columns.Add("HOrgID", typeof(Int32));//缁勭粐ID
+
+                //娣诲姞鏁版嵁
+                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
+                {
+                    DataRow row = tb2.NewRow();
+                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
+                    {
+                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
+                    }
+                    tb2.Rows.Add(row);
+                }
+
+
+                var error = "";
+
+                //鏌ヨ娌℃湁鐨勫垪
+                if (!tb2.Columns.Contains("缁勭粐浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囦唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("缁勭粐鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囧悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃鏂规硶浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�鏂规硶浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸℃鏂规硶"))
+                    error += "娌℃湁鎵惧埌銆愬贰妫�鏂规硶銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("澶囨敞"))
+                    error += "娌℃湁鎵惧埌銆愬娉ㄣ�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鍔╄鐮�"))
+                    error += "娌℃湁鎵惧埌銆愬姪璁扮爜銆戠殑鏍囬,";
+
+                if (error.Length > 0)
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
+                {
+                    string HName = "";
+                    string HNum = "";
+                    string HORGNumber = "";
+                    string HORGName = "";
+
+
+                    HName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃鏂规硶"].ToString());
+                    HNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸℃鏂规硶浠g爜"].ToString());
+                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐浠g爜"].ToString());
+                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐鍚嶇О"].ToString());
+
+                    //妫�鏌ョ墿鏂�
+                    int index = i + 1;
+
+                    if (HORGNumber != "")
+                    {
+
+                        //鏌ヨ缁勭粐
+                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,缁勭粐涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+
+                        //宸℃鏂规硶鍚嶇О
+                        if (HName == "")
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸℃鏂规硶鍚嶇О涓嶈兘涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //宸℃鏂规硶浠g爜
+                        if (HNum == "")
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸℃鏂规硶浠g爜涓嶈兘涓虹┖锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    else
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "绗�" + index + "琛�,缁勭粐浠g爜涓虹┖";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = error;
+                objJsonResult.data = tb2;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸℃鏂规硶椤圭洰 瀵煎叆(淇濆瓨)
+        [Route("Gy_PatrolCheckItemMethod/Gy_PatrolCheckItemMethod_btnSave")]
+        [HttpPost]
+        public object Gy_PatrolCheckItemMethod_btnSave([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 user = sArray[1].ToString();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_PatrolCheckItemMethod_Edit", 1, false, user))
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
+                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+
+                foreach (JObject item in Excel)
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    foreach (var itm in item.Properties())
+                    {
+                        dic.Add(itm.Name, itm.Value.ToString());
+                    }
+                    list.Add(dic);
+                }
+
+                oCN.BeginTran();
+                int i = 1;
+                foreach (Dictionary<string, string> item in list)
+                {
+                    string HOrgID = item["HOrgID"].ToString();//缁勭粐ID
+                    string HName = item["宸℃鏂规硶"].ToString();
+                    string HNumber = item["宸℃鏂规硶浠g爜"].ToString();
+                    string HRemark = item["澶囨敞"].ToString();
+                    string HHelpCode = item["鍔╄鐮�"].ToString();
+                    string sShortNumber;
+                    sShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);//鐭唬鐮�
+                    if (sShortNumber.Trim() == "")
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺煭浠g爜涓虹┖锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    int HEndFlag = 1;//鏈骇鏍囧織
+                    int HLevel = DBUtility.ClsPub.GetLevel(HNumber); //绛夌骇
+
+
+                    if (!DBUtility.ClsPub.AllowNumber(HNumber.Trim()))
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮佷腑涓嶈兘鍑虹幇杩炵画鈥�.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                    ds = oCN.RunProcReturn("select * from Gy_PatrolCheckItemMethod where HNumber='" + HNumber + "'", "Gy_PatrolCheckItemMethod");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        oCN.RunProc("Insert into Gy_PatrolCheckItemMethod (" +
+                        "HNumber,HName,HHelpCode,HShortNumber,HParentID" +
+                        ",HLevel,HEndFlag,HStopflag,HRemark" +
+                        ",HMakeTime,HMakeEmp,HCREATEORGID,HUSEORGID) " +
+                        " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + sShortNumber + "'," + 0 +
+                        ", " + HLevel.ToString() + "," + HEndFlag + "," + 0 + ",'" + HRemark + "',getdate()" + ",'" + user + "'," + HOrgID + "," + HOrgID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+                    }
+                    else
+                    {
+                        oCN.RunProc("Update " + "Gy_PatrolCheckItemMethod " + " set " +
+                        "HName='" + HName + "'" +
+                        ",HShortNumber='" + sShortNumber + "'" +
+                        ",HHelpCode='" + HHelpCode + "'" +
+                        ",HRemark= '" + HRemark + "'" +
+                        ",HModifyEmp= '" + user + "'" +
+                        ",HModifyTime=getdate()" +
+                        ",HUSEORGID=" + HOrgID +
+                        " where HNumber='" + HNumber + "'");
+                    }
+
+                    i++;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = "瀵煎叆鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write(e);
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #endregion
+    }
+}
diff --git a/WebAPI/DLL/ClsGy_CusType_Ctl.cs b/WebAPI/DLL/ClsGy_CusType_Ctl.cs
index 242856e..c0ef30a 100644
--- a/WebAPI/DLL/ClsGy_CusType_Ctl.cs
+++ b/WebAPI/DLL/ClsGy_CusType_Ctl.cs
@@ -52,6 +52,7 @@
                     ",HModifyEmp ='" + oModel.HMakeEmp + "'" +
                     ",HUseFlag='" + oModel.HUseFlag + "'" +
                     ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
+                    ",HParentID='" + oModel.HParentID + "'" +
                     ",HRemark= '" + oModel.HRemark + "' Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
                 oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
diff --git a/WebAPI/DLL/ClsGy_Material_Ctl.cs b/WebAPI/DLL/ClsGy_Material_Ctl.cs
index 2731cf4..a150dc8 100644
--- a/WebAPI/DLL/ClsGy_Material_Ctl.cs
+++ b/WebAPI/DLL/ClsGy_Material_Ctl.cs
@@ -2,6 +2,8 @@
 using System.Collections.Generic;
 using System.Text;
 using System.Data;
+using System.Reflection;
+using System.Linq;
 
 namespace WebAPI.DLL
 {
@@ -246,6 +248,60 @@
                 throw (e);
             }
         }
+
+        /// <summary>
+        /// 鏍规嵁瀛楁鍊煎姩鎬佹洿鏂版暟鎹簱
+        /// </summary>
+        /// <param name="sItemID"></param>
+        /// <returns></returns>
+        public bool ModifyByIDDynamic(Int64 sItemID)
+        {
+            var sql = "Update " + MvarItemKey + " set ";
+            string[] excludeNames = { "HErpclsID", "HEntryID", "HInterID", "HReadonly", "HItemID", "HModifyEmp"};
+            foreach (var fInfo in oModel.GetType().GetFields()
+                .Where(field => !excludeNames.Contains(field.Name))
+                .ToArray())
+            {
+                string fieldName = fInfo.Name;
+                var fieldValue = fInfo.GetValue(oModel);
+                
+                if (fieldValue != null)
+                {
+                    sql += (fieldName + "='" + fieldValue.ToString() + "',");
+                }
+            }
+            sql = sql.Substring(0, sql.Length - 1);
+            sql+= (" Where HItemID = " + sItemID);
+            LogService.Write(sql);
+
+            oCn.BeginTran();
+            oCn.RunProc(sql, ref DBUtility.ClsPub.sExeReturnInfo);
+            //淇敼瀛愰」鐩唬鐮�
+            oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
+            //灏嗕笂绾� 涓洪潪鏈骇
+            oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+            //
+            oCn.Commit();
+            return true;
+        }
+
+        public bool ModifyByIDListDynamic(string HItemID_List, string paramStr)
+        {
+            var sql = "Update " + MvarItemKey + " set ";
+            sql += paramStr;
+            sql += (" Where HItemID in " + HItemID_List);
+
+            oCn.BeginTran();
+            oCn.RunProc(sql, ref DBUtility.ClsPub.sExeReturnInfo);
+            //淇敼瀛愰」鐩唬鐮�
+            oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
+            //灏嗕笂绾� 涓洪潪鏈骇
+            oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
+            //
+            oCn.Commit();
+            return true;
+        }
+
         //鏍规嵁浠g爜鍒ゆ柇淇℃伅
         public override bool HavParentCode(string sCode, Int64 sItemID)
         {
diff --git a/WebAPI/DLL/ClsSb_EquipPatrolCheckBill.cs b/WebAPI/DLL/ClsSb_EquipPatrolCheckBill.cs
new file mode 100644
index 0000000..5d37f88
--- /dev/null
+++ b/WebAPI/DLL/ClsSb_EquipPatrolCheckBill.cs
@@ -0,0 +1,343 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Data;
+
+namespace WebAPI.DLL
+{
+    public  class ClsSb_EquipPatrolCheckBill:DBUtility.ClsXt_BaseBill
+    {
+        public Models.ClsSb_EquipPatrolCheckBillMain omodel = new Models.ClsSb_EquipPatrolCheckBillMain();
+        public List<Models.ClsSb_EquipPatrolCheckBillSub> DetailColl = new List<Models.ClsSb_EquipPatrolCheckBillSub>();
+
+        public ClsSb_EquipPatrolCheckBill()
+        {
+            base.MvarItemKeySub = "Sb_EquipPatrolCheckBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey="Sb_EquipPatrolCheckBillMain";
+            base.MvarReportTitle="璁惧鐐规璁板綍";
+            base.BillType = "3903";
+            base.HBillSubType = "3903";
+
+        }
+
+        #region 鍥哄畾浠g爜
+
+        ~ClsSb_EquipPatrolCheckBill()
+        {
+            DetailColl = null;
+        }
+       
+        #endregion   鑷畾涔夋柟娉�
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //
+                oCn.BeginTran();
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "'2 ", "h_p_Sb_EquipPatrolCheckBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Sb_EquipPatrolCheckBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                ",HDate='" + omodel.HDate + "'" +
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HEquipID=" + omodel.HEquipID.ToString() +
+                ",HBeginDate='" + omodel.HBeginDate + "'" +
+                ",HEndDate='" + omodel.HEndDate+"'" +
+                ",HPlanNo='" + omodel.HPlanNo + "'" +
+                ",HExplanation='" + omodel.HExplanation+"'" +
+                ",HInnerBillNo='" + omodel.HInnerBillNo+"'" +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                DeleteBillSub(lngBillKey);
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Models.ClsSb_EquipPatrolCheckBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sb_EquipPatrolCheckBillSub " +
+                      " (HInterID,HEntryID," +
+                      "HCloseMan,HEntryCloseDate,HCloseType,HRemark," +
+                      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney," +
+                      "HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                      "HManagerID,HManagerNumber" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + 
+                      ",'" + oSub.HCloseMan + "','"+oSub.HEntryCloseDate+"'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      ",'" + oSub.HPatrolCheckItem + "','"+oSub.HPatrolCheckPart+"','"  + oSub.HClaim +
+                      "'," + oSub.HManagerID.ToString()+",'" +oSub.HManagerNumber+"'"+
+                      ") ");
+                }
+                //
+                //foreach (Model.ClsSb_EquipPatrolCheckBillSub oSub in DetailColl)
+                //{
+                //    Ds = oCn.RunProcReturn("exec h_p_Sb_EquipPatrolCheckBill_Qty " + oSub.HICMOInterID, "");
+                //    if (Ds.Tables[0].Rows.Count == 0)
+                //        return;
+                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
+                //    {
+                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
+                //        return false;
+                //    }
+                //}
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_Sb_EquipPatrolCheckBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+
+                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);
+
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipPatrolCheckBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("Insert Into Sb_EquipPatrolCheckBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
+                ",HYear,HPeriod,HRemark,HEquipID" +
+                ",HBeginDate,HEndDate,HPlanNo,HExplanation,HInnerBillNo" +
+                ",HDeptID,HQty,HEquipPatrolCheckRuleInterID" +
+                ",HLastResult,HErrNote,HBigSafeNote,HShiftsID,HPatrolCheckNote" +
+                ") " +
+                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
+                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'," + omodel.HEquipID.ToString() +
+                ",'" + omodel.HBeginDate + "','" + omodel.HEndDate + "','" + omodel.HPlanNo + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'" +
+               ",'" + omodel.HDeptID + "'," + omodel.HQty + "," + omodel.HEquipPatrolCheckRuleInterID + ",'" + omodel.HLastResult + "','" + omodel.HErrNote + "','" + omodel.HBigSafeNote + "'," + omodel.HShiftsID + ",'" + omodel.HPatrolCheckNote + "'" +
+                ") ");
+                //鎻掑叆瀛愯〃
+                foreach (Models.ClsSb_EquipPatrolCheckBillSub oSub in DetailColl)
+                {
+                    oCn.RunProc("Insert into Sb_EquipPatrolCheckBillSub " +
+                      " (HInterID,HEntryID," +
+                      "HCloseMan,HEntryCloseDate,HCloseType,HRemark," +
+                      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney," +
+                      "HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                      "HManagerID,HManagerNumber,HPatrolCheckResult,HPatrolCheckItemID " +
+                      ",HPatrolCheckItemClassID,HPatrolCheckItemMethodID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
+                      ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
+                      "," + oSub.HSourceInterID.ToString()  + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      ",'" + oSub.HPatrolCheckItem + "','" + oSub.HPatrolCheckPart + "','" + oSub.HClaim +
+                      "'," + oSub.HManagerID.ToString() + ",'" + oSub.HManagerNumber + "','" + oSub.HPatrolCheckResult + "'," + oSub.HPatrolCheckItemID + "," + oSub.HPatrolCheckItemClassID + "," + oSub.HPatrolCheckItemMethodID + 
+                      ") ");
+                }
+                //鏇存柊鐐规璁″垝瀛愯〃鍏宠仈鏍囪
+                oCn.RunProc("update Sb_EquipPatrolCheckPlanBillSub_Plan set HRelationFlag = 1 where HInterID = " + omodel.HPlanInterID + " and HEntryID = " + omodel.HPlanEntryID);
+                //
+                //foreach (Model.ClsSb_EquipPatrolCheckBillSub oSub in DetailColl)
+                //{
+                //    Ds = oCn.RunProcReturn("exec h_p_Sb_EquipPatrolCheckBill_Qty " + oSub.HICMOInterID, "");
+                //    if (Ds.Tables[0].Rows.Count == 0)
+                //        return;
+                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
+                //    {
+                //        sReturn = "姹囨姤鏁伴噺瓒呰繃璁″垝鏁伴噺锛佷笉鍏佽淇濆瓨";
+                //        return false;
+                //    }
+                //}
+                //
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipPatrolCheckBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds ;
+                Ds = oCn.RunProcReturn("Select * from Sb_EquipPatrolCheckBillMain Where HInterID=" + lngBillKey.ToString(), "Sb_EquipPatrolCheckBillMain");
+                if(Ds.Tables[0].Rows.Count==0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+                //鍥哄畾璧嬪��===========================================
+                omodel.HInterID =DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HDate =DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+                //==
+                omodel.HEquipID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEquipID"]);
+                omodel.HBeginDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HBeginDate"]);
+                omodel.HEndDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HEndDate"]);
+                omodel.HPlanNo = Ds.Tables[0].Rows[0]["HPlanNo"].ToString().Trim();
+                omodel.HExplanation = Ds.Tables[0].Rows[0]["HExplanation"].ToString().Trim();
+                omodel.HInnerBillNo = Ds.Tables[0].Rows[0]["HInnerBillNo"].ToString().Trim();
+                //
+                
+                //寰幆
+                DataSet DsSub ;
+                DsSub = oCn.RunProcReturn("Select * from Sb_EquipPatrolCheckBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sb_EquipPatrolCheckBillSub");
+                DetailColl.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Models.ClsSb_EquipPatrolCheckBillSub oSub = new Models.ClsSb_EquipPatrolCheckBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); 
+                    oSub.HCloseMan =  DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+                    //oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]);
+                    //oSub.HWorkerNumber = DsSub.Tables[0].Rows[i]["HWorkerNumber"].ToString().Trim();
+                    //oSub.HSourceID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceID"]);
+                    //oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]);
+                    //oSub.HMaterNumber = DsSub.Tables[0].Rows[i]["HMaterNumber"].ToString().Trim();
+                    //oSub.HMaterName = DsSub.Tables[0].Rows[i]["HMaterName"].ToString().Trim();
+                    //oSub.HMaterModel = DsSub.Tables[0].Rows[i]["HMaterModel"].ToString().Trim();
+                    oSub.HPatrolCheckItem = DsSub.Tables[0].Rows[i]["HPatrolCheckItem"].ToString().Trim();
+                    oSub.HPatrolCheckPart = DsSub.Tables[0].Rows[i]["HPatrolCheckPart"].ToString().Trim();
+                    //oSub.HBeginDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HBeginDate"]);
+                    //oSub.HEndDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEndDate"]);
+                    //oSub.HTimes = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HTimes"]);
+                    oSub.HClaim = DsSub.Tables[0].Rows[i]["HClaim"].ToString().Trim();
+                    //oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQtyMust"]);
+                    //oSub.HBadCount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HBadCount"]);
+                    //oSub.HWasterQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HWasterQty"]);
+                    //oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]);
+                    //oSub.HUnitNumber = DsSub.Tables[0].Rows[i]["HUnitNumber"].ToString().Trim();
+                    //oSub.HUnitName = DsSub.Tables[0].Rows[i]["HUnitName"].ToString().Trim();
+                    //oSub.HSeOrderBillNo = DsSub.Tables[0].Rows[i]["HSeOrderBillNo"].ToString().Trim();
+                    oSub.HManagerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HManagerID"]);
+                    oSub.HManagerNumber = DsSub.Tables[0].Rows[i]["HManagerNumber"].ToString().Trim();
+                    //oSub.HManagerName = DsSub.Tables[0].Rows[i]["HManagerName"].ToString().Trim();
+                    //oSub.HICMOBillNo = DsSub.Tables[0].Rows[i]["HICMOBillNo"].ToString().Trim();
+                    
+                    DetailColl.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+       
+        
+    }
+
+}
diff --git a/WebAPI/DLL/ClsSb_EquipPatrolCheckRuleBill.cs b/WebAPI/DLL/ClsSb_EquipPatrolCheckRuleBill.cs
new file mode 100644
index 0000000..cc155d4
--- /dev/null
+++ b/WebAPI/DLL/ClsSb_EquipPatrolCheckRuleBill.cs
@@ -0,0 +1,276 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.DLL
+{
+    public class ClsSb_EquipPatrolCheckRuleBill : DBUtility.ClsXt_BaseBill
+    {
+        public Models.ClsSb_EquipPatrolCheckRuleBillMain omodel = new Models.ClsSb_EquipPatrolCheckRuleBillMain();
+        public List<Models.ClsSb_EquipPatrolCheckRuleBillSub> DetailColl_Mater = new List<Models.ClsSb_EquipPatrolCheckRuleBillSub>();
+
+        public ClsSb_EquipPatrolCheckRuleBill()
+        {
+            base.MvarItemKeySub = "Sb_EquipPatrolCheckRuleBillSub";
+            base.MvarItemKeySub2 = "";
+            base.MvarItemKeySub3 = "";
+            base.MvarItemKeySub4 = "";
+            base.MvarItemKey = "Sb_EquipPatrolCheckRuleBillMain";
+            base.MvarReportTitle = "璁惧宸℃瑙勭▼";
+            base.BillType = "3913";
+        }
+        //淇敼鍗曟嵁
+        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckRuleBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipPatrolCheckRuleBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+
+                oCn.BeginTran();
+                //鏇存柊涓昏〃
+                oCn.RunProc("UpDate Sb_EquipPatrolCheckRuleBillMain set  " +
+                " HBillNo='" + omodel.HBillNo + "'" +  //鍥哄畾璧嬪��===============
+                ",HDate='" + omodel.HDate + "'" +
+                ",HYear='" + omodel.HYear.ToString() + "'" +
+                ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                ",HRemark='" + omodel.HRemark + "'" +
+                ",HUpDater='" + omodel.HMaker + "'" +
+                ",HUpDateDate=getdate()" +
+                //========================================
+                ",HBeginDate='" + omodel.HBeginDate + "'" +
+                ",HEndDate='" + omodel.HEndDate + "'" +
+                ",HCycleUnit='" + omodel.HCycleUnit+ "'" +
+                ",HCheckCycle='" + omodel.HCheckCycle + "'" +
+                ",HExplanation='" + omodel.HExplanation + "'" +
+                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
+                ",HStandard='" + Convert.ToString(omodel.HStandard ? 1 : 0) + "'" +
+                ",HUSEORGID=" + omodel.HUSEORGID +
+                " where HInterID=" + lngBillKey.ToString());
+                //鍒犻櫎鍏宠仈
+                DeleteRelation(ref sReturn, lngBillKey);
+                //鍒犻櫎瀛愯〃
+                oCn.RunProc("Delete From Sb_EquipPatrolCheckRuleBillSub  where HInterID=" + lngBillKey.ToString());
+                //鎻掑叆瀛愯〃
+                omodel.HInterID = lngBillKey;
+                foreach (Models.ClsSb_EquipPatrolCheckRuleBillSub oSub in DetailColl_Mater)
+                {
+                    oCn.RunProc("Insert into Sb_EquipPatrolCheckRuleBillSub " +
+                      " (HInterID,HEntryID," +
+                      "HCloseMan,HEntryCloseDate,HCloseType,HRemark," +
+                      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney," +
+                      "HPatrolCheckItemID,HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                      "HManagerID,HPatrolCheckItemClassID,HPatrolCheckItemMethodID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
+                      ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      ",'" + oSub.HPatrolCheckItemID + "','" + oSub.HPatrolCheckItem + "','" + oSub.HPatrolCheckPart + "','" + oSub.HClaim +
+                      "'," + oSub.HManagerID.ToString() + "," + oSub.HPatrolCheckItemClassID + "," + oSub.HPatrolCheckItemMethodID +
+                      ") ");
+                }
+
+                //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckRuleBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipPatrolCheckRuleBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+
+                sReturn = "淇敼鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+        //鏂板鍗曟嵁
+        public override bool AddBill(ref string sReturn)
+        {
+            try
+            {
+                //淇濆瓨鍓嶆帶鍒�=========================================
+                string HBillNote = "";
+                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckRuleBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipPatrolCheckRuleBill_BeforeSaveCtrl");
+                if (ds == null)
+                {
+                    sReturn = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+                //=========================================================
+
+                //寰楀埌mainid
+                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
+                oCn.BeginTran();
+                //涓昏〃
+                oCn.RunProc("Insert Into Sb_EquipPatrolCheckRuleBillMain   " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
+                ",HYear,HPeriod,HRemark" +
+                ",HBeginDate,HEndDate,HCycleUnit,HCheckCycle,HExplanation,HInnerBillNo,HStandard,HUSEORGID,HCREATEORGID" +
+                ") " +
+                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HMaker + "',getdate()" +
+                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'," +
+                "'" + omodel.HBeginDate + "','" + omodel.HEndDate + "','" + omodel.HCycleUnit+ "','" + omodel.HCheckCycle + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "','" + Convert.ToString(omodel.HStandard ? 1 : 0) + "'," + omodel.HUSEORGID + "," + omodel.HCREATEORGID +
+                ") ");
+                //鎻掑叆瀛愯〃
+                foreach (Models.ClsSb_EquipPatrolCheckRuleBillSub oSub in DetailColl_Mater)
+                {
+                    oCn.RunProc("Insert into Sb_EquipPatrolCheckRuleBillSub " +
+                      " (HInterID,HEntryID," +
+                      "HCloseMan,HEntryCloseDate,HCloseType,HRemark," +
+                      "HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney," +
+                      "HPatrolCheckItemID,HPatrolCheckItem,HPatrolCheckPart,HClaim," +
+                      "HManagerID,HPatrolCheckItemClassID,HPatrolCheckItemMethodID" +
+                      ") values("
+                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() +
+                      ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
+                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                      ",'" + oSub.HPatrolCheckItemID + "','" + oSub.HPatrolCheckItem + "','" + oSub.HPatrolCheckPart + "','" + oSub.HClaim +
+                      "'," + oSub.HManagerID.ToString() + "," + oSub.HPatrolCheckItemClassID + "," + oSub.HPatrolCheckItemMethodID +
+                      ") ");
+                }
+                
+                 //=========================淇濆瓨鍚庢帶鍒�  
+                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipPatrolCheckRuleBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipPatrolCheckRuleBill_AfterSaveCtrl");
+                if (ds2 == null)
+                {
+                    sReturn = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sReturn = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    oCn.RollBack();
+                    return false;
+                }
+                //============================
+
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                oCn.RollBack();
+                throw (e);
+            }
+        }
+
+        //鏄剧ず鍗曟嵁
+        #region 鏄剧ず鍗曟嵁
+        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                //鏌ヨ涓昏〃
+                DataSet Ds;
+                Ds = oCn.RunProcReturn("select * from Sb_EquipPatrolCheckRuleBillMain Where HInterID = " + lngBillKey.ToString(), "Sb_EquipPatrolCheckRuleBillMain ");
+                if (Ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍗曟嵁鏈壘鍒帮紒";
+                    return false;
+                }
+
+                //鍥哄畾璧嬪��===========================================
+                omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]);
+                omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]);
+                omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
+                omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]);
+                omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]);
+                omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]);
+                omodel.HBillNo = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
+                omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]);
+                omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]);
+                omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]);
+                omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]);
+                omodel.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
+                omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
+                omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
+                omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
+                omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
+                omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
+                omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
+                omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
+                omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
+                omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
+                omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
+                omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
+                omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
+                omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
+                //========================================================
+
+
+                //
+
+                //寰幆
+                DataSet DsSub;
+                DsSub = oCn.RunProcReturn("select * from Sb_EquipPatrolCheckRuleBillSub where HInterID = " + lngBillKey.ToString() + "order by HEntryID", "Sb_EquipPatrolCheckRuleBillSub");
+                DetailColl_Mater.Clear();//娓呯┖
+                for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
+                {
+                    Models.ClsSb_EquipPatrolCheckRuleBillSub oSub = new Models.ClsSb_EquipPatrolCheckRuleBillSub();
+                    // 鍥哄畾璧嬪��===============================================
+                    oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
+                    oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
+                    oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
+                    oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
+                    oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
+                    oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
+                    oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
+                    oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
+                    oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
+                    oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
+                    oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
+                    oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
+                    //===================================================
+
+
+                    DetailColl_Mater.Add(oSub);
+                }
+                sReturn = "鏄剧ず鍗曟嵁鎴愬姛锛�";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Dapper/SqlHelper.cs b/WebAPI/Dapper/SqlHelper.cs
index 60b0c3a..eb28516 100644
--- a/WebAPI/Dapper/SqlHelper.cs
+++ b/WebAPI/Dapper/SqlHelper.cs
@@ -126,7 +126,7 @@
         /// <param name="commandTimeout"></param>
         /// <param name="commandType"></param>
         /// <returns></returns>
-
+        
         public List<T> GetMultModelList<T>(string sql, Type[] types, Func<object[], T> map, object param = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null)
         {
             using (var connection = GetConnection())
diff --git a/WebAPI/ListModels.cs b/WebAPI/ListModels.cs
index a30b31d..0707b17 100644
--- a/WebAPI/ListModels.cs
+++ b/WebAPI/ListModels.cs
@@ -8,6 +8,7 @@
 using WebAPI.Code;
 using Model;
 using System.Data;
+using System.Text.RegularExpressions;
 
 namespace WebAPI
 {
@@ -2142,7 +2143,10 @@
         /// <returns></returns>
         public List<Models.ClsGy_Material_Model> getObjectByJson_Gy_Material(string jsonString)
         {
-            jsonString = "[" + jsonString.ToString() + "]";
+            if (Regex.IsMatch(jsonString, @"^\[.*\]$") == false)
+            {
+                jsonString = "[" + jsonString.ToString() + "]";
+            }
             List<Models.ClsGy_Material_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsGy_Material_Model>>(jsonString);
             return list;
         }
@@ -2160,6 +2164,18 @@
         }
 
         /// <summary>
+        /// 澶勭悊鏂板宸℃椤圭洰鍒嗙被琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_PatrolCheckItemClass_Model> getObjectByJson_Gy_PatrolCheckItemClass(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_PatrolCheckItemClass_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_PatrolCheckItemClass_Model>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
         /// 澶勭悊鏂板鐐规鏂规硶琛ㄧ殑json
         /// </summary>
         /// <param name="jsonString"></param>
@@ -2168,6 +2184,18 @@
         {
             jsonString = "[" + jsonString.ToString() + "]";
             List<Model.ClsGy_DotCheckItemMethod_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_DotCheckItemMethod_Model>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
+        /// 澶勭悊鏂板宸℃鏂规硶琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsGy_PatrolCheckItemMethod_Model> getObjectByJson_Gy_PatrolCheckItemMethod(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsGy_PatrolCheckItemMethod_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_PatrolCheckItemMethod_Model>>(jsonString);
             return list;
         }
 
@@ -2537,6 +2565,28 @@
             return list;
         }
 
+        /// <summary>
+        /// 璁惧宸℃璁″垝鍗� 涓昏〃
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsSb_EquipPatrolCheckPlanBillMain> getObjectByJson_Sb_EquipPatrolCheckPlanBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSb_EquipPatrolCheckPlanBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSb_EquipPatrolCheckPlanBillMain>>(jsonString);
+            return list;
+        }
+        /// <summary>
+        /// 璁惧宸℃璁″垝鍗� 瀛愯〃
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsSb_EquipPatrolCheckPlanBillSub> getObjectByJson_Sb_EquipPatrolCheckPlanBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSb_EquipPatrolCheckPlanBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSb_EquipPatrolCheckPlanBillSub>>(jsonString);
+            return list;
+        }
 
 
         /// <summary>
@@ -2688,6 +2738,56 @@
         {
             jsonString = "[" + jsonString.ToString() + "]";
             List<Models.ClsSb_EquipDotCheckRuleBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsSb_EquipDotCheckRuleBillSub>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
+        ///  璁惧宸℃瑙勭▼琛� 涓昏〃
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Models.ClsSb_EquipPatrolCheckRuleBillMain> getObjectByJson_Sb_EquipPatrolCheckRuleBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Models.ClsSb_EquipPatrolCheckRuleBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsSb_EquipPatrolCheckRuleBillMain>>(jsonString);
+            return list;
+        }       
+
+        /// <summary>
+        /// 璁惧宸℃瑙勭▼琛� 瀛愯〃
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Models.ClsSb_EquipPatrolCheckRuleBillSub> getObjectByJson_Sb_EquipPatrolCheckRuleBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Models.ClsSb_EquipPatrolCheckRuleBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsSb_EquipPatrolCheckRuleBillSub>>(jsonString);
+            return list;
+        }
+
+
+
+        /// <summary>
+        /// 璁惧宸℃璁板綍琛� 涓昏〃
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsSb_EquipPatrolCheckBillMain> getObjectByJson_Sb_EquipPatrolCheckBillMain(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSb_EquipPatrolCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSb_EquipPatrolCheckBillMain>>(jsonString);
+            return list;
+        }
+        
+        /// <summary>
+        /// 璁惧宸℃璁板綍琛� 瀛愯〃
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Model.ClsSb_EquipPatrolCheckBillSub> getObjectByJson_Sb_EquipPatrolCheckBillSub(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Model.ClsSb_EquipPatrolCheckBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSb_EquipPatrolCheckBillSub>>(jsonString);
             return list;
         }
 
@@ -3551,6 +3651,17 @@
             return list;
         }
 
+        /// <summary>
+        /// PDA澶勭悊鏂板璁惧宸℃璁板綍鍗曚富琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Models.ClsSb_EquipPatrolCheckBillMain> getObjectByJson_Sb_EquipPatrolCheckBillMainPDA(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Models.ClsSb_EquipPatrolCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsSb_EquipPatrolCheckBillMain>>(jsonString);
+            return list;
+        }
 
         /// <summary>
         /// PDA澶勭悊鏂板璁惧鐐规璁板綍鍗曞瓙琛ㄧ殑json
@@ -3565,6 +3676,18 @@
         }
 
         /// <summary>
+        /// PDA澶勭悊鏂板璁惧宸℃璁板綍鍗曞瓙琛ㄧ殑json
+        /// </summary>
+        /// <param name="jsonString"></param>
+        /// <returns></returns>
+        public List<Models.ClsSb_EquipPatrolCheckBillSub> getObjectByJson_Sb_EquipPatrolCheckBillSubPDA(string jsonString)
+        {
+            jsonString = "[" + jsonString.ToString() + "]";
+            List<Models.ClsSb_EquipPatrolCheckBillSub> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsSb_EquipPatrolCheckBillSub>>(jsonString);
+            return list;
+        }
+
+        /// <summary>
         /// PDA澶勭悊鏂板璁惧淇濆吇璁板綍鍗曚富琛ㄧ殑json
         /// </summary>
         /// <param name="jsonString"></param>
diff --git a/WebAPI/Models/ClsGy_Material_Model.cs b/WebAPI/Models/ClsGy_Material_Model.cs
index 341573b..7f2c508 100644
--- a/WebAPI/Models/ClsGy_Material_Model.cs
+++ b/WebAPI/Models/ClsGy_Material_Model.cs
@@ -39,9 +39,9 @@
         public long HUnitGroupID;
         public long HMaterTypeID;
         public double HPlanPrice;
-        public int HUSEORGID;
+        //public int HUSEORGID;
         public int HERPItemID;
-        public int HCREATEORGID;
+       // public int HCREATEORGID;
         public int HPlanMode;
         public int HBatchManager;
         public string HOldMaterNumber;
diff --git a/WebAPI/Models/ClsGy_PatrolCheck.cs b/WebAPI/Models/ClsGy_PatrolCheck.cs
new file mode 100644
index 0000000..c72dd80
--- /dev/null
+++ b/WebAPI/Models/ClsGy_PatrolCheck.cs
@@ -0,0 +1,27 @@
+锘縰sing System;
+
+namespace WebAPI.Models
+{
+
+    public class ClsGy_PatrolCheck : DBUtility.ClsGy_Base_Ctl
+    {
+        public int HItemID;
+        public string HNumber;          //浠g爜
+        public string HName;             //鍚嶇О
+        public string HHelpCode;    //鍔╄鐮�
+        public string HShortNumber;   //鐭唬鐮�
+        public int HParentID;       //鐖剁骇
+        public int HLevel;         //绛夌骇
+        public int HCREATEORGID;
+        public int HUSEORGID;
+        public bool HEndFlag;        //鏈骇鏍囧織
+        public bool HStopflag;      //绂佺敤鏍囧織
+        public string HRemark;         //澶囨敞
+        public string HMakeEmp;
+        public string HPatrolCheckItemType;
+        public string HUseFlag = "鏈娇鐢�";
+
+        public Int64 HPatrolCheckItemClassID; //宸℃椤圭洰鍒嗙被
+    }
+    
+}
\ No newline at end of file
diff --git a/WebAPI/Models/ClsSb_EquipPatrolCheckBillMain.cs b/WebAPI/Models/ClsSb_EquipPatrolCheckBillMain.cs
new file mode 100644
index 0000000..7fee89d
--- /dev/null
+++ b/WebAPI/Models/ClsSb_EquipPatrolCheckBillMain.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebAPI.Models
+{
+    public class ClsSb_EquipPatrolCheckBillMain:DBUtility.ClsXt_BaseBillMain
+    {
+        public Int64 HEquipID;
+        public DateTime HBeginDate;
+        public DateTime HEndDate;
+        public string HPlanNo;
+        public Int64 HPlanInterID;
+        public Int64 HPlanEntryID;
+        public string HExplanation;
+        public string HInnerBillNo;
+        public long HDeptID;//     int	--部门ID
+        public decimal HQty; //数量
+        public Int64 HEquipPatrolCheckRuleInterID; //巡检规程
+
+        public string HLastResult;// 最终结论(OK,NG) 
+        public string HErrNote;// 异常情况记录 
+        public string HBigSafeNote;// 重大安全隐患记录 
+        public Int64 HShiftsID;// 生产班次(Gy_Shifts) 
+        public string HPatrolCheckNote;// 巡检数据
+    }
+}
diff --git a/WebAPI/Models/ClsSb_EquipPatrolCheckBillSub.cs b/WebAPI/Models/ClsSb_EquipPatrolCheckBillSub.cs
new file mode 100644
index 0000000..07d227e
--- /dev/null
+++ b/WebAPI/Models/ClsSb_EquipPatrolCheckBillSub.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WebAPI.Models
+{
+    public class ClsSb_EquipPatrolCheckBillSub:DBUtility.ClsXt_BaseBillSub
+    { 
+       
+        public string HRemark;
+        public string HCloseMan;
+        public DateTime HEntryCloseDate;
+        public bool HCloseType;
+        // 
+        public Int64 HMaterID;
+        public string HMaterNumber;
+        public string HMaterName;
+        public string HMaterModel;
+        public Int64 HPatrolCheckItemID;
+        public string HPatrolCheckItem;
+        public string HPatrolCheckPart;
+        public string HClaim;
+        public Int64 HUnitID;
+        public string HUnitNumber;
+        public string HUnitName;
+        public Int64 HManagerID;
+        public string HManagerNumber;
+        public string HManagerName;
+        public string HPatrolCheckResult;
+
+        public Int64 HPatrolCheckItemClassID;// 巡检项目分类(gy_PatrolCheckItemClass)
+        public Int64 HPatrolCheckItemMethodID;// 巡检方法(gy_PatrolCheckItemMethod)
+    }
+}
diff --git a/WebAPI/Models/ClsSb_EquipPatrolCheckRuleBillMain.cs b/WebAPI/Models/ClsSb_EquipPatrolCheckRuleBillMain.cs
new file mode 100644
index 0000000..028f9c6
--- /dev/null
+++ b/WebAPI/Models/ClsSb_EquipPatrolCheckRuleBillMain.cs
@@ -0,0 +1,18 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class ClsSb_EquipPatrolCheckRuleBillMain : DBUtility.ClsXt_BaseBillMain
+    {
+        public DateTime HBeginDate;// datetime	      --璁″垝寮�濮嬫棩鏈�
+        public DateTime HEndDate;//                    datetime    --璁″垝缁撴潫鏃ユ湡
+        public string HCycleUnit;//          varchar(10) --鍛ㄦ湡鍗曚綅(澶╋紝鏈堬紝鍛�)
+        public int HCheckCycle;// int	--鐐规鍛ㄦ湡
+        public string HExplanation;//        varchar(500)    --鎽樿
+        public string HInnerBillNo;//            varchar(50)   --鍐呴儴鍗曟嵁鍙�
+        public bool HStandard;//榛樿瑙勭▼
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/ClsSb_EquipPatrolCheckRuleBillSub.cs b/WebAPI/Models/ClsSb_EquipPatrolCheckRuleBillSub.cs
new file mode 100644
index 0000000..f60efe4
--- /dev/null
+++ b/WebAPI/Models/ClsSb_EquipPatrolCheckRuleBillSub.cs
@@ -0,0 +1,19 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace WebAPI.Models
+{
+    public class ClsSb_EquipPatrolCheckRuleBillSub : DBUtility.ClsXt_BaseBillSub
+    {
+        public int HPatrolCheckItemID;// int --宸℃椤圭洰ID
+        public string HPatrolCheckItem;//  varchar(100)  --宸℃椤圭洰
+        public string HPatrolCheckPart;//  varchar(100)  --宸℃閮ㄤ綅
+        public string HClaim;//      varchar(100)       --鍏蜂綋瑕佹眰
+        public int HManagerID;//  int   --璐熻矗浜篿d(鑱屽憳琛�)
+
+        public Int64 HPatrolCheckItemClassID;//宸℃椤圭洰鍒嗙被id
+        public Int64 HPatrolCheckItemMethodID;//宸℃鏂规硶id
+    }
+}
\ No newline at end of file
diff --git a/WebAPI/Models/Sc_WorkBillSortBillMain.cs b/WebAPI/Models/Sc_WorkBillSortBillMain.cs
index 5cc7bff..d8fec29 100644
--- a/WebAPI/Models/Sc_WorkBillSortBillMain.cs
+++ b/WebAPI/Models/Sc_WorkBillSortBillMain.cs
@@ -68,6 +68,7 @@
         public string HOrderType { get; set; }
         public string HMonthPlanFlag { get; set; }
         public string HMastersDate { get; set; }
+        public DateTime? HMakeDate { get; set; }
         public string sWheres { get; set; }
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Models/Supplier.cs b/WebAPI/Models/Supplier.cs
index c532d03..aa16a98 100644
--- a/WebAPI/Models/Supplier.cs
+++ b/WebAPI/Models/Supplier.cs
@@ -78,5 +78,7 @@
         public int HPSStyleID { get; set; }
         public int HSupTypeID { get; set; }
 
+        public string HMaker { get; set; }
+
     }
 }
\ No newline at end of file
diff --git a/WebAPI/Properties/PublishProfiles/FolderProfile1.pubxml.user b/WebAPI/Properties/PublishProfiles/FolderProfile1.pubxml.user
index af89843..672783e 100644
--- a/WebAPI/Properties/PublishProfiles/FolderProfile1.pubxml.user
+++ b/WebAPI/Properties/PublishProfiles/FolderProfile1.pubxml.user
@@ -4,12 +4,12 @@
 -->
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <History>True|2025-05-08T00:33:00.5573071Z;False|2025-05-08T08:32:20.5353159+08:00;True|2025-04-23T15:11:05.1490455+08:00;True|2025-04-23T14:22:24.5406543+08:00;False|2025-04-23T14:21:47.8685695+08:00;True|2025-04-18T13:54:27.4746888+08:00;False|2025-04-18T13:53:45.2296528+08:00;False|2025-04-18T13:53:29.7890054+08:00;False|2025-04-18T13:53:23.5770264+08:00;False|2025-04-18T13:53:18.0054565+08:00;True|2025-04-18T13:51:28.8449212+08:00;True|2025-04-18T13:24:50.1548645+08:00;True|2025-04-18T13:17:41.8781012+08:00;True|2025-04-18T13:07:11.4243777+08:00;True|2025-04-18T13:03:51.8972162+08:00;True|2025-04-18T12:59:24.3674835+08:00;True|2025-04-18T12:54:51.7546338+08:00;True|2025-04-18T12:51:54.3531129+08:00;False|2025-04-18T12:51:42.0198325+08:00;True|2025-04-18T09:11:06.5087174+08:00;False|2025-04-18T09:10:56.3178793+08:00;True|2025-04-17T11:20:10.9926709+08:00;True|2025-04-17T11:01:50.8902725+08:00;True|2025-04-17T10:53:40.1335186+08:00;True|2025-04-17T10:50:33.6109824+08:00;True|2025-04-17T10:31:35.1972930+08:00;True|2025-04-17T10:27:13.0718237+08:00;False|2025-04-17T10:27:05.4243104+08:00;True|2025-04-17T10:21:17.1039399+08:00;True|2025-04-17T10:17:30.5257362+08:00;True|2025-04-17T09:04:16.5959099+08:00;False|2025-04-17T09:04:08.5643163+08:00;True|2025-04-16T16:50:10.4001088+08:00;True|2025-04-16T16:37:30.0492166+08:00;False|2025-04-16T16:37:20.9070255+08:00;True|2025-04-15T14:55:05.4396103+08:00;True|2025-04-15T14:48:11.6729078+08:00;True|2025-04-15T14:18:53.0805178+08:00;True|2025-04-15T13:48:11.5252569+08:00;True|2025-04-15T13:37:14.4720847+08:00;True|2025-04-15T11:19:10.1766439+08:00;True|2025-04-15T11:16:15.9677953+08:00;True|2025-04-15T11:01:18.4337723+08:00;False|2025-04-15T11:01:06.9132978+08:00;True|2025-04-15T10:55:53.9650790+08:00;False|2025-04-15T10:55:45.2763971+08:00;True|2025-04-09T11:24:21.9466324+08:00;True|2025-04-09T11:14:25.0603792+08:00;True|2025-04-09T11:03:10.0252216+08:00;False|2025-04-09T11:03:01.0837419+08:00;True|2025-04-08T15:00:39.6673341+08:00;True|2025-04-08T14:55:20.5714659+08:00;True|2025-04-08T14:41:57.1855163+08:00;True|2025-04-08T13:31:03.4382266+08:00;True|2025-04-08T11:20:45.0300955+08:00;True|2025-04-08T10:59:59.6997668+08:00;False|2025-04-08T10:59:53.2827828+08:00;True|2025-04-08T10:48:17.4232977+08:00;False|2025-04-08T10:48:09.5363986+08:00;True|2025-04-03T13:53:30.6471699+08:00;False|2025-04-03T13:53:22.8762999+08:00;True|2025-04-02T12:47:31.3375226+08:00;False|2025-04-02T12:47:24.2095072+08:00;True|2025-04-01T16:29:52.7465502+08:00;False|2025-04-01T16:29:33.7844649+08:00;True|2025-03-28T16:22:29.8664470+08:00;True|2025-03-28T15:53:12.1106288+08:00;False|2025-03-28T15:53:01.4674242+08:00;True|2025-03-28T13:34:17.5506822+08:00;False|2025-03-28T13:34:09.5853308+08:00;True|2025-03-26T12:42:08.9630741+08:00;True|2025-03-26T12:40:07.7144561+08:00;True|2025-03-26T12:30:37.3503331+08:00;True|2025-03-26T12:26:47.5061658+08:00;True|2025-03-26T10:54:47.2556717+08:00;True|2025-03-26T10:49:59.7897145+08:00;True|2025-03-26T10:47:02.6195828+08:00;False|2025-03-26T10:46:54.9421244+08:00;True|2025-03-26T01:10:19.1227462+08:00;True|2025-03-26T01:00:04.3583740+08:00;True|2025-03-26T00:38:57.4757071+08:00;True|2025-03-26T00:28:24.9370188+08:00;True|2025-03-26T00:04:05.4507425+08:00;True|2025-03-25T23:06:56.2284828+08:00;False|2025-03-25T23:06:46.7023339+08:00;True|2025-03-25T22:57:08.3127897+08:00;False|2025-03-25T22:55:05.8028873+08:00;False|2025-03-25T22:54:51.2053101+08:00;False|2025-03-04T11:23:36.7757604+08:00;True|2025-02-12T14:05:06.1068587+08:00;False|2025-02-12T14:03:43.3961038+08:00;True|2025-01-18T09:42:50.3629397+08:00;True|2025-01-18T09:39:16.1773412+08:00;True|2025-01-17T11:15:39.4147082+08:00;False|2025-01-17T11:15:09.0033498+08:00;True|2025-01-14T10:20:31.1504093+08:00;False|2025-01-14T10:19:59.1429931+08:00;True|2025-01-10T16:29:54.8671377+08:00;False|2025-01-10T16:29:05.0650370+08:00;True|2025-01-04T14:30:56.5041884+08:00;True|2025-01-04T14:26:52.7448761+08:00;True|2025-01-04T14:23:27.9956967+08:00;True|2025-01-04T14:12:46.2410106+08:00;True|2025-01-04T14:09:33.1727375+08:00;True|2025-01-04T14:07:16.3373347+08:00;False|2025-01-04T14:06:33.4982458+08:00;True|2024-12-31T13:36:55.7394582+08:00;False|2024-12-31T13:35:58.6205647+08:00;True|2024-12-28T15:59:32.1394796+08:00;True|2024-12-28T13:48:20.4283118+08:00;True|2024-12-28T13:43:39.8159616+08:00;True|2024-12-28T13:23:58.4183285+08:00;True|2024-12-28T13:19:13.0583263+08:00;True|2024-12-28T13:12:03.2648502+08:00;True|2024-12-28T13:04:22.6803754+08:00;False|2024-12-28T13:03:56.5993252+08:00;True|2024-12-28T10:50:06.1597154+08:00;True|2024-12-28T10:27:58.7075320+08:00;False|2024-12-28T10:27:09.9450571+08:00;True|2024-12-24T10:52:25.3403292+08:00;False|2024-12-24T10:51:41.8017370+08:00;True|2024-12-23T15:45:21.7729300+08:00;True|2024-12-23T15:31:38.8549407+08:00;True|2024-12-23T15:20:26.2361671+08:00;True|2024-12-23T13:40:03.2774116+08:00;False|2024-12-23T13:39:39.8510770+08:00;True|2024-12-23T13:11:15.3232454+08:00;True|2024-12-23T13:05:43.3057458+08:00;True|2024-12-16T10:57:23.0694936+08:00;True|2024-12-16T10:03:48.1938775+08:00;True|2024-12-16T09:38:57.3052219+08:00;False|2024-12-16T09:38:31.7097388+08:00;True|2024-12-16T09:25:38.3751534+08:00;False|2024-12-16T09:24:19.3952981+08:00;True|2024-12-11T22:41:13.2881405+08:00;False|2024-12-11T22:40:26.3239379+08:00;True|2024-12-11T22:14:41.4392948+08:00;True|2024-12-11T22:03:03.6823866+08:00;True|2024-12-11T21:48:51.7423044+08:00;False|2024-12-11T21:47:55.6236616+08:00;True|2024-12-02T14:57:10.0773563+08:00;False|2024-12-02T14:56:35.6440156+08:00;True|2024-11-26T08:55:53.9125170+08:00;True|2024-11-26T08:24:31.3112433+08:00;False|2024-11-26T08:23:46.0894924+08:00;True|2024-11-20T10:16:03.7893118+08:00;False|2024-11-20T10:15:23.2632533+08:00;True|2024-11-20T09:06:55.2799108+08:00;False|2024-11-20T09:05:45.8751214+08:00;True|2024-11-15T10:50:02.2079520+08:00;False|2024-11-15T10:49:22.4156447+08:00;True|2024-11-11T16:53:33.6615343+08:00;False|2024-11-11T16:52:17.7499691+08:00;False|2024-11-06T11:32:23.8339166+08:00;True|2024-10-24T20:08:16.1196372+08:00;True|2024-10-24T14:53:21.0804405+08:00;False|2024-10-24T14:50:14.4659302+08:00;</History>
+    <History>True|2025-05-21T07:28:11.4510589Z;True|2025-05-21T15:15:40.5460368+08:00;False|2025-05-21T15:12:30.3957240+08:00;True|2025-05-20T20:28:55.1865798+08:00;True|2025-05-20T20:15:51.1649682+08:00;True|2025-05-20T20:02:38.4286705+08:00;True|2025-05-20T19:56:10.5284769+08:00;True|2025-05-20T19:45:37.6791824+08:00;False|2025-05-20T19:42:43.1477567+08:00;True|2025-05-19T15:21:07.7633659+08:00;True|2025-05-19T15:18:18.7396942+08:00;True|2025-05-19T15:13:00.1330400+08:00;True|2025-05-19T14:49:49.2534084+08:00;True|2025-05-19T14:37:59.0451180+08:00;True|2025-05-19T14:33:11.8539600+08:00;True|2025-05-19T14:27:59.3745627+08:00;True|2025-05-19T14:18:26.3913082+08:00;True|2025-05-19T14:00:37.9360187+08:00;False|2025-05-19T13:58:41.7143238+08:00;True|2025-05-12T14:57:55.0385595+08:00;True|2025-05-12T13:06:26.8782755+08:00;True|2025-05-12T12:53:08.7545688+08:00;True|2025-05-12T12:27:23.2918738+08:00;True|2025-05-12T12:14:00.1464431+08:00;True|2025-05-12T11:30:29.5971323+08:00;True|2025-05-12T11:25:21.8905995+08:00;True|2025-05-12T11:19:11.3233309+08:00;True|2025-05-12T11:06:09.4136287+08:00;True|2025-05-12T10:10:42.1771130+08:00;True|2025-05-12T10:09:14.6246190+08:00;True|2025-05-12T08:44:01.0613625+08:00;False|2025-05-12T08:42:33.7100817+08:00;True|2025-05-09T09:52:01.5341669+08:00;True|2025-05-09T09:47:27.3989887+08:00;True|2025-05-09T09:42:36.2617901+08:00;False|2025-05-09T09:40:08.0947782+08:00;True|2025-05-08T16:00:29.8759120+08:00;True|2025-05-08T13:24:39.2927841+08:00;True|2025-05-08T13:14:18.5422608+08:00;True|2025-05-08T12:47:12.7136145+08:00;True|2025-05-08T12:41:36.1177461+08:00;True|2025-05-08T12:41:04.5029523+08:00;True|2025-05-08T12:32:03.0031025+08:00;True|2025-05-08T12:00:14.8603925+08:00;True|2025-05-08T11:23:29.4928832+08:00;True|2025-05-08T11:22:57.1560531+08:00;True|2025-05-08T11:16:10.4999105+08:00;False|2025-05-08T11:14:23.0464674+08:00;True|2025-05-07T13:31:07.7140287+08:00;False|2025-05-07T13:30:22.3469816+08:00;True|2025-05-06T13:31:16.7226626+08:00;True|2025-05-06T11:05:36.8250941+08:00;True|2025-05-06T10:25:27.0035953+08:00;True|2025-05-06T09:55:27.8816646+08:00;True|2025-05-06T09:48:24.2023114+08:00;True|2025-05-06T09:36:31.5646471+08:00;True|2025-05-06T09:31:22.0639528+08:00;False|2025-05-06T09:30:02.7830632+08:00;True|2025-04-30T15:20:59.1827605+08:00;True|2025-04-30T15:14:37.3331777+08:00;True|2025-04-30T13:14:51.3154029+08:00;True|2025-04-30T13:14:15.0963455+08:00;True|2025-04-30T13:10:13.3727222+08:00;False|2025-04-30T13:06:39.8843484+08:00;False|2025-04-30T13:05:01.8963304+08:00;True|2025-04-30T10:23:53.7061459+08:00;True|2025-04-30T10:18:28.2879871+08:00;True|2025-04-30T10:14:38.6366499+08:00;True|2025-04-30T10:02:44.3278308+08:00;True|2025-04-30T09:53:29.6346041+08:00;True|2025-04-30T09:45:29.5572300+08:00;True|2025-04-30T09:14:32.0665725+08:00;True|2025-04-30T09:07:25.5826394+08:00;True|2025-04-30T09:01:28.5360494+08:00;False|2025-04-30T08:59:36.4959754+08:00;True|2025-04-29T16:32:47.7145278+08:00;True|2025-04-29T15:41:44.7116258+08:00;True|2025-04-29T15:32:49.4490248+08:00;False|2025-04-29T15:25:51.5282600+08:00;False|2025-04-29T15:23:33.1022530+08:00;True|2025-04-29T14:39:42.0427387+08:00;True|2025-04-29T14:14:37.1424704+08:00;True|2025-04-29T13:53:06.8818046+08:00;True|2025-04-29T13:38:29.5948294+08:00;True|2025-04-29T08:50:02.3834885+08:00;True|2025-04-29T08:45:53.9723523+08:00;True|2025-04-29T08:41:10.0539041+08:00;True|2025-04-29T08:40:36.8094165+08:00;True|2025-04-29T08:36:14.3169515+08:00;True|2025-04-29T08:18:50.9294272+08:00;True|2025-04-29T08:13:21.0111785+08:00;True|2025-04-29T08:08:41.1470031+08:00;False|2025-04-29T08:08:00.8674071+08:00;True|2025-04-24T14:03:47.0390589+08:00;True|2025-04-24T13:08:57.8491077+08:00;True|2025-04-24T11:15:53.7224800+08:00;True|2025-04-24T11:12:55.2113887+08:00;False|2025-04-24T11:09:59.9499198+08:00;True|2025-04-21T16:51:11.0234671+08:00;False|2025-04-21T16:50:27.9924375+08:00;True|2025-04-21T16:28:02.4554241+08:00;True|2025-04-21T16:26:45.7389516+08:00;True|2025-04-21T16:17:59.3641418+08:00;True|2025-04-21T16:11:42.4953735+08:00;False|2025-04-21T16:10:57.0902986+08:00;False|2025-04-21T16:08:30.7814654+08:00;False|2025-04-21T16:06:31.1495468+08:00;False|2025-04-21T15:32:02.6951071+08:00;False|2025-04-21T15:31:03.0207208+08:00;False|2025-04-21T15:27:46.3232315+08:00;False|2025-04-21T15:26:04.3356811+08:00;False|2025-04-21T15:24:39.2075383+08:00;True|2025-04-03T13:53:30.6471699+08:00;False|2025-04-03T13:53:22.8762999+08:00;True|2025-04-02T12:47:31.3375226+08:00;False|2025-04-02T12:47:24.2095072+08:00;True|2025-04-01T16:29:52.7465502+08:00;False|2025-04-01T16:29:33.7844649+08:00;True|2025-03-28T16:22:29.8664470+08:00;True|2025-03-28T15:53:12.1106288+08:00;False|2025-03-28T15:53:01.4674242+08:00;True|2025-03-28T13:34:17.5506822+08:00;False|2025-03-28T13:34:09.5853308+08:00;True|2025-03-26T12:42:08.9630741+08:00;True|2025-03-26T12:40:07.7144561+08:00;True|2025-03-26T12:30:37.3503331+08:00;True|2025-03-26T12:26:47.5061658+08:00;True|2025-03-26T10:54:47.2556717+08:00;True|2025-03-26T10:49:59.7897145+08:00;True|2025-03-26T10:47:02.6195828+08:00;False|2025-03-26T10:46:54.9421244+08:00;True|2025-03-26T01:10:19.1227462+08:00;True|2025-03-26T01:00:04.3583740+08:00;True|2025-03-26T00:38:57.4757071+08:00;True|2025-03-26T00:28:24.9370188+08:00;True|2025-03-26T00:04:05.4507425+08:00;True|2025-03-25T23:06:56.2284828+08:00;False|2025-03-25T23:06:46.7023339+08:00;True|2025-03-25T22:57:08.3127897+08:00;False|2025-03-25T22:55:05.8028873+08:00;False|2025-03-25T22:54:51.2053101+08:00;False|2025-03-04T11:23:36.7757604+08:00;True|2025-02-12T14:05:06.1068587+08:00;False|2025-02-12T14:03:43.3961038+08:00;True|2025-01-18T09:42:50.3629397+08:00;True|2025-01-18T09:39:16.1773412+08:00;True|2025-01-17T11:15:39.4147082+08:00;False|2025-01-17T11:15:09.0033498+08:00;True|2025-01-14T10:20:31.1504093+08:00;False|2025-01-14T10:19:59.1429931+08:00;True|2025-01-10T16:29:54.8671377+08:00;False|2025-01-10T16:29:05.0650370+08:00;True|2025-01-04T14:30:56.5041884+08:00;True|2025-01-04T14:26:52.7448761+08:00;True|2025-01-04T14:23:27.9956967+08:00;True|2025-01-04T14:12:46.2410106+08:00;True|2025-01-04T14:09:33.1727375+08:00;True|2025-01-04T14:07:16.3373347+08:00;False|2025-01-04T14:06:33.4982458+08:00;True|2024-12-31T13:36:55.7394582+08:00;False|2024-12-31T13:35:58.6205647+08:00;True|2024-12-28T15:59:32.1394796+08:00;True|2024-12-28T13:48:20.4283118+08:00;True|2024-12-28T13:43:39.8159616+08:00;True|2024-12-28T13:23:58.4183285+08:00;True|2024-12-28T13:19:13.0583263+08:00;True|2024-12-28T13:12:03.2648502+08:00;True|2024-12-28T13:04:22.6803754+08:00;False|2024-12-28T13:03:56.5993252+08:00;True|2024-12-28T10:50:06.1597154+08:00;True|2024-12-28T10:27:58.7075320+08:00;False|2024-12-28T10:27:09.9450571+08:00;True|2024-12-24T10:52:25.3403292+08:00;False|2024-12-24T10:51:41.8017370+08:00;True|2024-12-23T15:45:21.7729300+08:00;True|2024-12-23T15:31:38.8549407+08:00;True|2024-12-23T15:20:26.2361671+08:00;True|2024-12-23T13:40:03.2774116+08:00;False|2024-12-23T13:39:39.8510770+08:00;True|2024-12-23T13:11:15.3232454+08:00;True|2024-12-23T13:05:43.3057458+08:00;True|2024-12-16T10:57:23.0694936+08:00;True|2024-12-16T10:03:48.1938775+08:00;True|2024-12-16T09:38:57.3052219+08:00;False|2024-12-16T09:38:31.7097388+08:00;True|2024-12-16T09:25:38.3751534+08:00;False|2024-12-16T09:24:19.3952981+08:00;True|2024-12-11T22:41:13.2881405+08:00;False|2024-12-11T22:40:26.3239379+08:00;True|2024-12-11T22:14:41.4392948+08:00;True|2024-12-11T22:03:03.6823866+08:00;True|2024-12-11T21:48:51.7423044+08:00;False|2024-12-11T21:47:55.6236616+08:00;True|2024-12-02T14:57:10.0773563+08:00;False|2024-12-02T14:56:35.6440156+08:00;True|2024-11-26T08:55:53.9125170+08:00;True|2024-11-26T08:24:31.3112433+08:00;False|2024-11-26T08:23:46.0894924+08:00;True|2024-11-20T10:16:03.7893118+08:00;False|2024-11-20T10:15:23.2632533+08:00;True|2024-11-20T09:06:55.2799108+08:00;False|2024-11-20T09:05:45.8751214+08:00;True|2024-11-15T10:50:02.2079520+08:00;False|2024-11-15T10:49:22.4156447+08:00;True|2024-11-11T16:53:33.6615343+08:00;False|2024-11-11T16:52:17.7499691+08:00;False|2024-11-06T11:32:23.8339166+08:00;True|2024-10-24T20:08:16.1196372+08:00;True|2024-10-24T14:53:21.0804405+08:00;False|2024-10-24T14:50:14.4659302+08:00;</History>
     <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
   </PropertyGroup>
   <ItemGroup>
     <File Include="apiapp.json">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="bin/AlibabaCloud.EndpointUtil.dll">
       <publishTime>04/07/2020 16:33:48</publishTime>
@@ -45,28 +45,28 @@
       <publishTime>02/22/2013 16:43:40</publishTime>
     </File>
     <File Include="bin/BLL.dll">
-      <publishTime>05/08/2025 08:32:41</publishTime>
+      <publishTime>05/21/2025 15:15:13</publishTime>
     </File>
     <File Include="bin/BLL.pdb">
-      <publishTime>05/08/2025 08:32:41</publishTime>
+      <publishTime>05/21/2025 15:15:13</publishTime>
     </File>
     <File Include="bin/BouncyCastle.Crypto.dll">
       <publishTime>12/18/2020 05:32:28</publishTime>
     </File>
     <File Include="bin/DAL.dll">
-      <publishTime>05/08/2025 08:32:38</publishTime>
+      <publishTime>05/21/2025 15:15:03</publishTime>
     </File>
     <File Include="bin/DAL.pdb">
-      <publishTime>05/08/2025 08:32:38</publishTime>
+      <publishTime>05/21/2025 15:15:03</publishTime>
     </File>
     <File Include="bin/Dapper.dll">
       <publishTime>07/22/2016 22:52:40</publishTime>
     </File>
     <File Include="bin/DBUtility.dll">
-      <publishTime>04/21/2025 20:28:21</publishTime>
+      <publishTime>05/21/2025 15:14:51</publishTime>
     </File>
     <File Include="bin/DBUtility.pdb">
-      <publishTime>04/21/2025 20:28:21</publishTime>
+      <publishTime>05/21/2025 15:14:51</publishTime>
     </File>
     <File Include="bin/Grpc.Core.Api.dll">
       <publishTime>03/22/2022 13:17:26</publishTime>
@@ -93,7 +93,7 @@
       <publishTime>05/09/2021 01:08:30</publishTime>
     </File>
     <File Include="bin/Kingdee.BOS.WebApi.Client.dll">
-      <publishTime>02/08/2023 09:47:46</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="bin/libgrpc_csharp_ext.x64.dylib">
       <publishTime>03/19/2022 07:38:44</publishTime>
@@ -111,13 +111,13 @@
       <publishTime>07/25/2012 19:48:56</publishTime>
     </File>
     <File Include="bin/Model.dll">
-      <publishTime>05/08/2025 08:32:33</publishTime>
+      <publishTime>05/21/2025 15:14:58</publishTime>
     </File>
     <File Include="bin/Model.pdb">
-      <publishTime>05/08/2025 08:32:33</publishTime>
+      <publishTime>05/21/2025 15:14:58</publishTime>
     </File>
     <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="bin/Newtonsoft.Json.dll">
       <publishTime>03/08/2023 15:09:56</publishTime>
@@ -147,34 +147,34 @@
       <publishTime>10/23/2021 17:07:54</publishTime>
     </File>
     <File Include="bin/Pub_Class.dll">
-      <publishTime>04/21/2025 20:28:18</publishTime>
+      <publishTime>05/21/2025 15:14:44</publishTime>
     </File>
     <File Include="bin/Pub_Class.pdb">
-      <publishTime>04/21/2025 20:28:18</publishTime>
+      <publishTime>05/21/2025 15:14:44</publishTime>
     </File>
     <File Include="bin/Pub_Control.dll">
-      <publishTime>04/21/2025 20:28:19</publishTime>
+      <publishTime>05/21/2025 15:14:48</publishTime>
     </File>
     <File Include="bin/Pub_Control.pdb">
-      <publishTime>04/21/2025 20:28:19</publishTime>
+      <publishTime>05/21/2025 15:14:48</publishTime>
     </File>
     <File Include="bin/RestSharp.dll">
       <publishTime>08/31/2012 06:22:50</publishTime>
     </File>
     <File Include="bin/SQLHelper.dll">
-      <publishTime>04/21/2025 20:28:20</publishTime>
+      <publishTime>05/21/2025 15:14:48</publishTime>
     </File>
     <File Include="bin/SQLHelper.pdb">
-      <publishTime>04/21/2025 20:28:20</publishTime>
+      <publishTime>05/21/2025 15:14:48</publishTime>
     </File>
     <File Include="bin/Swashbuckle.Core.dll">
       <publishTime>02/16/2015 01:57:08</publishTime>
     </File>
     <File Include="bin/SyntacticSugar.dll">
-      <publishTime>04/21/2025 20:28:15</publishTime>
+      <publishTime>05/21/2025 15:14:42</publishTime>
     </File>
     <File Include="bin/SyntacticSugar.pdb">
-      <publishTime>04/21/2025 20:28:15</publishTime>
+      <publishTime>05/21/2025 15:14:42</publishTime>
     </File>
     <File Include="bin/System.Buffers.dll">
       <publishTime>07/19/2017 18:01:28</publishTime>
@@ -252,7 +252,7 @@
       <publishTime>11/28/2018 21:01:00</publishTime>
     </File>
     <File Include="bin/System.Web.Http.WebHost.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="bin/System.Web.Mvc.dll">
       <publishTime>01/28/2015 12:02:18</publishTime>
@@ -285,22 +285,22 @@
       <publishTime>05/09/2023 10:43:40</publishTime>
     </File>
     <File Include="bin/TopSdk.dll">
-      <publishTime>04/21/2025 20:28:21</publishTime>
+      <publishTime>05/21/2025 15:14:47</publishTime>
     </File>
     <File Include="bin/TopSdk.pdb">
-      <publishTime>04/21/2025 20:28:21</publishTime>
+      <publishTime>05/21/2025 15:14:47</publishTime>
     </File>
     <File Include="bin/WebActivatorEx.dll">
       <publishTime>11/24/2014 19:18:48</publishTime>
     </File>
     <File Include="bin/WebAPI.dll">
-      <publishTime>05/08/2025 08:32:51</publishTime>
+      <publishTime>05/21/2025 15:28:02</publishTime>
     </File>
     <File Include="bin/WebAPI.pdb">
-      <publishTime>05/08/2025 08:32:51</publishTime>
+      <publishTime>05/21/2025 15:28:02</publishTime>
     </File>
     <File Include="bin/WebAPI.XmlSerializers.dll">
-      <publishTime>05/08/2025 08:32:59</publishTime>
+      <publishTime>05/21/2025 15:28:09</publishTime>
     </File>
     <File Include="bin/WebGrease.dll">
       <publishTime>07/18/2013 01:03:52</publishTime>
@@ -312,58 +312,58 @@
       <publishTime>11/29/2018 21:26:30</publishTime>
     </File>
     <File Include="Config/kdapi.config">
-      <publishTime>08/15/2022 15:46:13</publishTime>
+      <publishTime>04/21/2025 11:46:15</publishTime>
     </File>
     <File Include="Content/bootstrap.css">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:15</publishTime>
     </File>
     <File Include="Content/bootstrap.min.css">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:15</publishTime>
     </File>
     <File Include="Content/Site.css">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:15</publishTime>
     </File>
     <File Include="DLL/BLL.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="DLL/DAL.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="DLL/DBUtility.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="DLL/Kingdee.BOS.WebApi.Client.dll">
-      <publishTime>02/08/2023 09:47:46</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="DLL/Model.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="DLL/Newtonsoft.Json.Net35.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="DLL/Pub_Class.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="DLL/Pub_Control.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="DLL/SQLHelper.dll">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.eot">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.svg">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.ttf">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="fonts/glyphicons-halflings-regular.woff">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Global.asax">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="grpc_csharp_ext.x64.dll">
       <publishTime>03/22/2022 13:17:22</publishTime>
@@ -372,7 +372,7 @@
       <publishTime>03/22/2022 13:17:22</publishTime>
     </File>
     <File Include="Index.html">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="libgrpc_csharp_ext.x64.dylib">
       <publishTime>03/19/2022 07:38:44</publishTime>
@@ -381,121 +381,121 @@
       <publishTime>03/19/2022 07:38:42</publishTime>
     </File>
     <File Include="libman.json">
-      <publishTime>07/18/2023 17:26:29</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Metadata/deploymentTemplates/apiappconfig.azureresource.json">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:16</publishTime>
     </File>
     <File Include="packages.config">
-      <publishTime>09/19/2024 08:47:56</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/bootstrap.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/bootstrap.min.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.min.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/jquery-1.10.2.min.map">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.min.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.unobtrusive.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/jquery.validate.unobtrusive.min.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Scripts/modernizr-2.6.2.js">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Shared/Error.cshtml">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/Shared/_Layout.cshtml">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/web.config">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Views/_ViewStart.cshtml">
-      <publishTime>03/15/2022 10:06:42</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Customer_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Department_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Employee_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_StockPlace_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Supplier_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsCLD_Warehouse_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BadReason_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_BarCodeBill_WMS_Model_View.datasource">
-      <publishTime>03/31/2023 09:57:09</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Customer_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Department_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Employee_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Group_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Item30JiTai_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Source_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_StockPlace_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Supplier_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsGy_Warehouse_Model.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsKf_ICStockBill_Mould.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/ClsKf_ICStockBill_WMS.datasource">
-      <publishTime>03/31/2023 09:57:08</publishTime>
+      <publishTime>04/21/2025 11:46:17</publishTime>
     </File>
     <File Include="Web References/WebS/Reference.map">
       <publishTime>05/06/2024 13:47:57</publishTime>
     </File>
     <File Include="Web.config">
-      <publishTime>04/23/2025 14:22:22</publishTime>
+      <publishTime>04/21/2025 16:26:44</publishTime>
     </File>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user b/WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user
index c8b1b67..da069dd 100644
--- a/WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user
+++ b/WebAPI/Properties/PublishProfiles/JFAPI.pubxml.user
@@ -5,7 +5,7 @@
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <_PublishTargetUrl>D:\缃戠珯鍙戝竷\鏅轰簯MESWMS\API</_PublishTargetUrl>
-    <History>True|2025-05-17T06:14:12.0279596Z;True|2025-05-17T13:44:20.1547573+08:00;True|2025-05-17T13:09:56.7254199+08:00;True|2025-05-17T12:22:45.9766542+08:00;True|2025-05-17T11:49:56.8647669+08:00;False|2025-05-17T11:46:23.8688151+08:00;True|2025-05-16T14:56:34.3445988+08:00;True|2025-05-16T13:09:24.9723517+08:00;False|2025-05-16T12:53:18.5385817+08:00;True|2025-05-15T17:17:23.2057769+08:00;True|2025-05-15T16:28:03.1493226+08:00;True|2025-05-15T16:09:34.5928723+08:00;True|2025-05-15T15:50:13.7185578+08:00;True|2025-05-15T15:43:43.9742646+08:00;True|2025-05-15T15:02:16.5848076+08:00;True|2025-05-15T14:28:35.2194847+08:00;False|2025-05-15T14:26:02.0933523+08:00;False|2025-05-15T14:25:16.4746523+08:00;False|2025-05-15T14:23:37.0444052+08:00;False|2025-05-15T14:22:38.2549781+08:00;True|2025-05-15T14:08:47.9908883+08:00;True|2025-05-15T13:30:28.6027783+08:00;False|2025-05-15T13:27:35.2019769+08:00;True|2025-05-14T14:33:50.7542669+08:00;False|2025-05-14T12:58:34.3790659+08:00;True|2025-05-06T18:16:13.1825659+08:00;False|2025-05-06T18:13:36.1768928+08:00;False|2025-04-30T10:51:25.6190120+08:00;True|2025-04-15T13:47:43.0319806+08:00;False|2025-04-15T13:43:39.5193511+08:00;True|2025-04-14T16:55:07.6035477+08:00;True|2025-04-14T16:10:02.4925200+08:00;True|2025-04-14T15:59:48.1256324+08:00;True|2025-04-14T15:35:58.3739263+08:00;True|2025-04-14T15:18:20.0231874+08:00;True|2025-04-14T15:15:48.1937642+08:00;True|2025-04-14T15:06:18.1485320+08:00;True|2025-04-14T13:58:54.9488220+08:00;True|2025-04-14T13:45:21.9528067+08:00;True|2025-04-14T13:32:41.8026503+08:00;True|2025-04-14T13:24:25.1609026+08:00;False|2025-04-14T13:21:46.7999422+08:00;True|2025-04-14T11:22:02.0084668+08:00;False|2025-04-14T11:16:39.7668266+08:00;True|2025-04-11T16:42:49.2287375+08:00;True|2025-04-11T15:21:50.9239660+08:00;False|2025-04-11T15:18:52.8043694+08:00;True|2025-04-09T17:30:38.2292747+08:00;True|2025-04-09T17:26:46.2681749+08:00;False|2025-04-09T17:24:55.8631858+08:00;True|2025-04-09T14:49:05.0786518+08:00;False|2025-04-09T14:47:08.0080072+08:00;True|2025-04-09T14:07:09.5914371+08:00;False|2025-04-09T14:03:54.1549615+08:00;True|2025-04-09T10:47:08.9478457+08:00;False|2025-04-09T10:42:24.4815543+08:00;True|2025-04-08T13:55:42.3999925+08:00;True|2025-04-08T13:03:18.1047211+08:00;False|2025-04-08T13:01:24.7284945+08:00;True|2025-04-08T12:45:45.9591473+08:00;True|2025-04-08T10:37:46.2486194+08:00;True|2025-04-08T10:19:41.4391162+08:00;True|2025-04-08T09:03:06.3555124+08:00;False|2025-04-08T09:00:24.5011547+08:00;True|2025-04-03T13:30:58.8690712+08:00;True|2025-04-03T11:11:58.9675862+08:00;True|2025-04-03T08:26:57.1183260+08:00;False|2025-04-03T08:24:15.5585637+08:00;True|2025-04-02T17:22:56.3662600+08:00;True|2025-04-02T16:34:30.3902014+08:00;False|2025-04-02T16:31:03.2711601+08:00;True|2025-04-02T08:53:58.9022912+08:00;False|2025-04-02T08:49:36.2482604+08:00;True|2025-04-01T14:11:15.6665093+08:00;True|2025-04-01T13:59:03.5182641+08:00;True|2025-04-01T11:34:01.0473928+08:00;False|2025-04-01T11:27:06.6219808+08:00;True|2025-03-31T11:32:14.3010437+08:00;False|2025-03-31T11:28:54.7180398+08:00;True|2025-03-28T16:33:00.1667734+08:00;True|2025-03-28T15:59:08.0311042+08:00;True|2025-03-28T14:24:00.8058555+08:00;True|2025-03-28T11:20:49.2519130+08:00;True|2025-03-28T09:46:40.2335440+08:00;True|2025-03-28T09:44:23.8324494+08:00;False|2025-03-28T09:39:07.0797562+08:00;True|2025-03-27T17:42:12.3457479+08:00;True|2025-03-27T16:53:40.2462518+08:00;True|2025-03-27T15:41:05.4036532+08:00;True|2025-03-27T14:20:24.3597261+08:00;True|2025-03-27T10:51:24.2799353+08:00;False|2025-03-27T10:45:28.9126200+08:00;True|2025-03-26T13:49:06.9257931+08:00;False|2025-03-26T13:44:48.7676302+08:00;True|2025-03-25T15:17:55.4790872+08:00;False|2025-03-25T15:14:39.3949477+08:00;True|2025-03-25T14:23:34.4515442+08:00;True|2025-03-24T16:49:42.0663422+08:00;True|2025-03-24T13:12:18.9244375+08:00;False|2025-03-24T13:07:19.8409939+08:00;False|2025-03-24T12:48:52.4860847+08:00;False|2025-03-24T11:39:21.1805195+08:00;False|2025-03-24T11:37:43.6802081+08:00;False|2025-03-24T11:33:57.1454920+08:00;False|2025-03-24T11:30:14.3844034+08:00;False|2025-03-24T11:28:02.5067052+08:00;False|2025-03-21T12:21:29.9136433+08:00;True|2025-03-20T16:39:21.8390481+08:00;True|2025-03-20T14:41:37.0419379+08:00;False|2025-03-20T14:37:15.3728461+08:00;True|2025-03-20T12:27:20.0312759+08:00;True|2025-03-20T10:42:53.0161637+08:00;True|2025-03-20T09:30:05.5790815+08:00;False|2025-03-20T09:25:15.2327164+08:00;True|2025-03-19T17:06:57.7672924+08:00;True|2025-03-19T15:46:30.3411577+08:00;True|2025-03-19T13:45:31.7138375+08:00;True|2025-03-19T11:09:17.0875638+08:00;False|2025-03-19T11:05:00.7852430+08:00;True|2025-03-18T17:07:26.8842323+08:00;False|2025-03-18T17:02:33.5857720+08:00;False|2025-03-17T11:09:34.0681444+08:00;True|2025-03-17T10:50:21.9158331+08:00;True|2025-03-17T09:42:47.9252167+08:00;False|2025-03-17T09:31:53.1872136+08:00;True|2025-03-14T17:46:56.2806627+08:00;True|2025-03-14T16:26:15.6828252+08:00;True|2025-03-14T16:14:53.0710942+08:00;True|2025-03-14T16:08:09.5365263+08:00;True|2025-03-14T15:59:01.3358337+08:00;True|2025-03-14T14:22:42.7725023+08:00;True|2025-03-14T09:54:22.0848434+08:00;False|2025-03-14T09:51:59.6649411+08:00;True|2025-03-14T09:36:17.1134782+08:00;False|2025-03-14T09:31:58.5198805+08:00;True|2025-03-13T13:08:01.9024847+08:00;False|2025-03-13T13:03:35.7160929+08:00;True|2025-03-12T15:37:13.4111189+08:00;True|2025-03-12T15:23:55.5422176+08:00;True|2025-03-12T15:16:21.2123980+08:00;True|2025-03-12T14:49:24.9895017+08:00;True|2025-03-12T14:41:41.5663090+08:00;False|2025-03-12T14:39:27.3156286+08:00;True|2025-03-12T14:10:23.4204108+08:00;False|2025-03-12T14:08:08.4985635+08:00;True|2025-03-12T13:34:39.8492928+08:00;False|2025-03-12T13:31:34.8359622+08:00;True|2025-03-12T11:39:34.2976894+08:00;False|2025-03-12T09:22:45.9334513+08:00;True|2025-03-10T15:59:42.1283263+08:00;False|2025-03-10T15:53:57.2115226+08:00;True|2025-03-07T16:23:25.1589274+08:00;True|2025-03-07T16:18:46.0202723+08:00;True|2025-03-07T15:59:34.8313474+08:00;True|2025-03-07T15:37:59.1693363+08:00;True|2025-03-07T14:05:40.7253978+08:00;True|2025-03-07T11:21:14.9610137+08:00;False|2025-03-07T11:15:41.4171028+08:00;True|2025-03-07T10:23:24.0437379+08:00;True|2025-03-07T10:07:03.4231550+08:00;False|2025-03-07T10:04:32.6854924+08:00;True|2025-03-06T16:32:23.7096239+08:00;True|2025-03-06T15:45:46.0345284+08:00;True|2025-03-06T15:40:00.7026164+08:00;True|2025-03-06T15:20:20.3523488+08:00;True|2025-03-06T14:19:37.2403331+08:00;True|2025-03-06T13:49:03.6420821+08:00;False|2025-03-06T13:46:35.7037619+08:00;True|2025-03-06T11:03:29.5882789+08:00;True|2025-03-06T09:59:53.3080173+08:00;True|2025-03-06T09:43:48.4337079+08:00;False|2025-03-06T09:35:05.3462434+08:00;True|2025-03-05T18:25:35.2595591+08:00;True|2025-03-05T18:03:37.5687895+08:00;True|2025-03-05T17:48:08.3418269+08:00;False|2025-03-05T17:44:40.0721881+08:00;True|2025-03-05T17:23:30.5871011+08:00;True|2025-03-05T16:31:12.2285816+08:00;True|2025-03-05T16:00:25.5496303+08:00;True|2025-03-05T15:11:30.9434230+08:00;True|2025-03-05T14:22:08.4650724+08:00;True|2025-03-05T13:29:42.9306833+08:00;True|2025-03-05T11:28:17.5541196+08:00;True|2025-03-05T11:10:22.3318023+08:00;True|2025-03-05T10:55:33.6796527+08:00;True|2025-03-05T10:08:26.7761472+08:00;True|2025-03-05T10:02:32.8701262+08:00;False|2025-03-05T09:59:55.0044057+08:00;True|2025-03-04T17:48:24.6869079+08:00;True|2025-03-04T17:42:05.0276293+08:00;False|2025-03-04T17:39:53.6208557+08:00;False|2025-03-04T17:39:30.0759309+08:00;False|2025-03-04T17:05:37.2163588+08:00;True|2025-03-04T16:51:15.6884461+08:00;True|2025-03-04T16:49:03.3836181+08:00;True|2025-03-04T16:31:36.5847402+08:00;True|2025-03-04T15:52:09.1977151+08:00;True|2025-03-04T15:24:25.0194954+08:00;True|2025-03-04T15:12:44.1606138+08:00;False|2025-03-04T15:10:47.3915404+08:00;True|2025-03-04T14:31:42.7483906+08:00;True|2025-03-04T11:28:36.6001869+08:00;False|2025-02-27T19:55:43.0462466+08:00;True|2025-02-24T16:03:00.5507258+08:00;False|2025-02-24T16:00:00.9104160+08:00;True|2025-02-19T16:55:31.8966125+08:00;True|2025-02-19T14:51:19.5866770+08:00;False|2025-02-19T14:49:16.2857645+08:00;True|2025-02-19T14:11:03.8109482+08:00;False|2025-02-19T14:08:17.7243950+08:00;True|2025-02-19T11:16:48.1875981+08:00;False|2025-02-19T11:14:24.0571589+08:00;True|2025-02-19T10:17:34.3257301+08:00;False|2025-02-19T10:14:49.0730325+08:00;True|2025-02-18T09:38:54.9616937+08:00;True|2025-02-18T09:16:03.1196071+08:00;False|2025-02-18T09:13:52.5022130+08:00;True|2025-02-17T17:28:38.1103164+08:00;True|2025-02-17T17:06:19.1494960+08:00;True|2025-02-17T16:58:21.8893871+08:00;False|2025-02-17T16:56:34.0012780+08:00;True|2025-02-17T15:56:45.9560949+08:00;False|2025-02-17T15:29:32.9323141+08:00;False|2025-02-17T15:27:54.6615301+08:00;False|2025-02-17T15:25:42.7179137+08:00;True|2025-02-12T10:48:39.4029671+08:00;True|2025-02-12T10:45:09.8138793+08:00;False|2025-02-12T10:43:37.5751112+08:00;False|2025-02-12T10:43:24.8201898+08:00;False|2025-02-12T10:42:58.2736984+08:00;False|2025-02-12T10:42:46.1482594+08:00;False|2025-02-12T10:42:01.5427330+08:00;False|2025-02-12T10:41:48.3761346+08:00;False|2025-02-12T10:41:29.3367142+08:00;True|2025-02-11T15:41:34.0746843+08:00;True|2025-02-11T15:39:37.3374891+08:00;False|2025-02-11T15:39:27.0449176+08:00;False|2025-02-11T15:08:35.2970100+08:00;True|2025-02-11T14:59:59.6539416+08:00;True|2025-02-11T14:56:20.5954601+08:00;False|2025-02-11T14:55:35.6700921+08:00;True|2025-02-10T09:39:38.7399451+08:00;False|2025-02-10T09:39:10.1358642+08:00;True|2025-02-08T16:00:23.1136903+08:00;False|2025-02-08T15:59:50.0414065+08:00;True|2025-01-17T10:17:41.6850215+08:00;False|2025-01-17T10:16:20.3202054+08:00;True|2025-01-17T09:00:26.6966310+08:00;False|2025-01-17T08:59:59.9527727+08:00;True|2025-01-16T11:06:57.1014257+08:00;True|2025-01-16T10:27:57.2742426+08:00;False|2025-01-16T10:27:27.5197746+08:00;True|2025-01-15T11:05:17.5523582+08:00;True|2025-01-15T09:37:34.6118980+08:00;False|2025-01-15T09:36:27.7987949+08:00;True|2025-01-14T12:52:06.2234405+08:00;True|2025-01-14T12:50:08.8487446+08:00;False|2025-01-14T12:49:45.2743330+08:00;True|2025-01-14T10:31:18.6477403+08:00;False|2025-01-14T10:29:30.1534049+08:00;True|2025-01-13T15:27:00.4497527+08:00;True|2025-01-13T15:01:33.6142160+08:00;True|2025-01-13T10:29:49.4772980+08:00;True|2025-01-13T10:11:15.7993265+08:00;True|2025-01-13T10:08:58.9378828+08:00;False|2025-01-13T10:08:44.9869073+08:00;True|2025-01-13T10:02:17.5175561+08:00;False|2025-01-13T10:02:00.9991870+08:00;True|2025-01-08T17:50:21.7468469+08:00;True|2025-01-08T16:38:48.8592252+08:00;True|2025-01-08T10:44:42.9161086+08:00;False|2025-01-08T10:44:09.4840640+08:00;True|2025-01-08T10:34:31.5982265+08:00;False|2025-01-08T10:33:57.3576390+08:00;True|2025-01-03T17:19:09.1765100+08:00;True|2025-01-03T17:10:41.8794009+08:00;True|2025-01-03T17:10:11.4245485+08:00;True|2025-01-03T15:54:22.3387906+08:00;True|2025-01-03T15:41:44.9897120+08:00;False|2025-01-03T15:40:42.1357112+08:00;False|2025-01-03T15:39:09.0564197+08:00;True|2025-01-03T14:58:31.5701467+08:00;True|2025-01-03T14:29:13.4456304+08:00;False|2025-01-03T14:27:18.9925263+08:00;True|2025-01-02T16:08:24.1819376+08:00;True|2025-01-02T16:07:01.1636705+08:00;True|2025-01-02T16:03:02.6520904+08:00;True|2025-01-02T10:03:56.0551738+08:00;False|2025-01-02T10:03:34.8632732+08:00;True|2024-12-31T15:27:01.3180960+08:00;True|2024-12-31T11:17:12.2977529+08:00;True|2024-12-31T10:48:14.7205535+08:00;True|2024-12-31T10:18:45.6669875+08:00;False|2024-12-31T10:18:21.6706557+08:00;True|2024-12-30T09:32:44.3898729+08:00;True|2024-12-30T09:31:24.5771941+08:00;False|2024-12-30T09:30:52.4031391+08:00;True|2024-12-27T16:12:20.2836752+08:00;False|2024-12-27T16:11:04.6614343+08:00;True|2024-12-27T15:07:23.0750147+08:00;True|2024-12-27T15:04:52.7876532+08:00;True|2024-12-27T14:37:54.3154829+08:00;False|2024-12-27T14:37:26.9546174+08:00;True|2024-12-26T16:33:56.0452167+08:00;True|2024-12-26T16:29:21.4115458+08:00;True|2024-12-26T16:29:02.0242815+08:00;True|2024-12-26T15:17:24.7390981+08:00;False|2024-12-26T15:13:26.8863189+08:00;True|2024-12-26T15:06:35.4541902+08:00;True|2024-12-26T11:35:42.2760106+08:00;False|2024-12-26T11:35:08.9255789+08:00;True|2024-12-26T10:10:29.7487991+08:00;True|2024-12-26T09:27:40.2637311+08:00;False|2024-12-26T09:25:52.1339136+08:00;True|2024-12-24T15:11:48.9968778+08:00;True|2024-12-24T15:06:55.0283993+08:00;True|2024-12-24T14:36:29.6466740+08:00;True|2024-12-24T10:28:42.7489880+08:00;False|2024-12-24T10:28:08.6809715+08:00;True|2024-12-24T10:06:05.9449103+08:00;False|2024-12-24T10:05:32.8409161+08:00;True|2024-12-23T14:56:40.3416256+08:00;True|2024-12-23T14:50:50.2677378+08:00;True|2024-12-23T14:48:27.8169391+08:00;True|2024-12-23T14:45:25.5341474+08:00;True|2024-12-23T14:42:23.7825087+08:00;True|2024-12-23T14:35:53.8876449+08:00;True|2024-12-23T14:14:00.4257926+08:00;True|2024-12-23T11:10:54.5874876+08:00;True|2024-12-23T11:08:44.0250304+08:00;False|2024-12-23T11:08:18.5757850+08:00;True|2024-12-20T12:51:29.2354841+08:00;True|2024-12-20T12:46:13.7636932+08:00;False|2024-12-20T12:44:21.1473486+08:00;False|2024-12-20T12:44:06.5427106+08:00;True|2024-12-20T12:29:33.9971940+08:00;False|2024-12-20T12:29:01.0285205+08:00;True|2024-12-19T15:49:19.9906264+08:00;True|2024-12-19T14:55:54.3323405+08:00;True|2024-12-19T14:17:50.5086161+08:00;True|2024-12-19T14:08:16.0919011+08:00;True|2024-12-19T14:02:50.3092759+08:00;True|2024-12-19T13:54:41.2332165+08:00;False|2024-12-19T13:54:07.6973483+08:00;True|2024-12-19T09:34:54.5332110+08:00;True|2024-12-19T08:49:05.5690428+08:00;False|2024-12-19T08:48:51.0618113+08:00;True|2024-12-18T15:45:34.7174246+08:00;False|2024-12-18T15:45:10.3226822+08:00;True|2024-12-18T15:32:03.5983267+08:00;True|2024-12-18T15:31:20.1219502+08:00;True|2024-12-18T11:57:09.1595607+08:00;True|2024-12-18T11:13:37.4765697+08:00;True|2024-12-18T10:07:54.1294714+08:00;True|2024-12-18T10:04:16.0967342+08:00;False|2024-12-18T10:04:04.1561560+08:00;True|2024-12-16T17:07:07.3386872+08:00;True|2024-12-16T16:34:59.1101964+08:00;True|2024-12-16T16:19:07.9287470+08:00;False|2024-12-16T16:18:46.4617432+08:00;True|2024-12-13T18:06:11.0778539+08:00;True|2024-12-13T16:53:52.2283177+08:00;True|2024-12-13T16:23:15.9531944+08:00;True|2024-12-13T13:58:03.7464045+08:00;True|2024-12-13T10:40:33.9285602+08:00;True|2024-12-13T10:38:03.8494063+08:00;False|2024-12-13T10:37:52.4251132+08:00;True|2024-12-13T10:31:07.4994631+08:00;False|2024-12-13T10:30:40.8021885+08:00;True|2024-12-12T10:01:42.4944750+08:00;False|2024-12-12T10:01:15.7147977+08:00;True|2024-12-11T17:21:58.0453583+08:00;True|2024-12-11T10:59:15.3836831+08:00;True|2024-12-11T09:49:19.4060272+08:00;False|2024-12-11T09:48:51.7603525+08:00;True|2024-12-11T08:58:41.4567855+08:00;False|2024-12-11T08:58:09.2160433+08:00;True|2024-12-10T17:25:49.3068154+08:00;True|2024-12-10T17:21:30.0155027+08:00;True|2024-12-10T17:16:56.7587487+08:00;False|2024-12-10T17:16:34.7816611+08:00;True|2024-12-10T16:55:40.3777585+08:00;False|2024-12-10T16:55:13.2621448+08:00;False|2024-12-09T13:59:27.6362265+08:00;True|2024-12-06T16:55:30.6422980+08:00;True|2024-12-06T15:08:49.5834939+08:00;True|2024-12-06T14:31:56.0968616+08:00;False|2024-12-06T14:31:44.2264009+08:00;True|2024-12-06T13:59:52.8150929+08:00;False|2024-12-06T13:48:22.6073939+08:00;True|2024-12-05T17:33:27.9247467+08:00;True|2024-12-05T17:30:23.1740838+08:00;False|2024-12-05T17:30:03.9977311+08:00;True|2024-12-04T15:18:41.4963816+08:00;True|2024-12-04T15:16:45.1121101+08:00;True|2024-12-04T15:14:33.5954776+08:00;True|2024-12-04T15:12:27.2913137+08:00;True|2024-12-04T14:10:19.6190673+08:00;False|2024-12-04T14:10:02.0319713+08:00;True|2024-12-03T16:08:46.6721098+08:00;True|2024-12-03T15:16:04.1754554+08:00;True|2024-12-03T15:13:25.4927626+08:00;True|2024-12-03T14:55:09.4413291+08:00;True|2024-12-03T14:43:11.8243897+08:00;True|2024-12-03T14:29:16.1511932+08:00;True|2024-12-03T14:24:07.9561838+08:00;False|2024-12-03T14:23:55.1293602+08:00;True|2024-12-02T16:31:22.0404862+08:00;False|2024-12-02T16:28:53.1721961+08:00;True|2024-12-02T15:41:24.9462025+08:00;True|2024-12-02T14:12:12.9356193+08:00;False|2024-12-02T14:11:35.7159488+08:00;True|2024-12-02T10:59:31.5582757+08:00;True|2024-11-29T12:08:55.4868083+08:00;False|2024-11-29T12:08:37.0353185+08:00;True|2024-11-28T10:47:27.2071355+08:00;False|2024-11-28T10:47:13.6670955+08:00;True|2024-11-27T15:21:57.6747082+08:00;False|2024-11-27T15:20:07.2403056+08:00;True|2024-11-27T15:13:36.1461091+08:00;True|2024-11-27T14:34:35.5908753+08:00;False|2024-11-27T14:33:30.7118923+08:00;True|2024-11-26T15:16:44.1854927+08:00;True|2024-11-26T15:14:33.4021067+08:00;False|2024-11-26T15:14:07.9955135+08:00;True|2024-11-26T14:48:35.6408418+08:00;True|2024-11-26T14:45:00.7251556+08:00;True|2024-11-26T14:04:58.4232988+08:00;False|2024-11-26T14:04:28.1286675+08:00;True|2024-11-25T13:45:07.6935933+08:00;True|2024-11-25T13:43:59.0788650+08:00;False|2024-11-25T13:43:44.2225194+08:00;True|2024-11-25T08:54:05.5144014+08:00;False|2024-11-25T08:53:49.2284063+08:00;False|2024-11-22T09:53:13.7879664+08:00;True|2024-11-21T13:48:31.7056264+08:00;True|2024-11-21T13:46:55.0891551+08:00;True|2024-11-21T13:44:05.5221110+08:00;True|2024-11-21T13:43:39.1385899+08:00;False|2024-11-21T13:43:19.9351488+08:00;True|2024-11-20T11:33:52.0324053+08:00;True|2024-11-20T11:20:58.4917889+08:00;True|2024-11-20T11:03:46.9552623+08:00;True|2024-11-20T10:45:10.9517109+08:00;False|2024-11-20T10:44:58.3221116+08:00;False|2024-11-19T15:39:27.3889104+08:00;True|2024-11-19T14:42:32.0854561+08:00;True|2024-11-19T14:19:19.6198070+08:00;True|2024-11-19T14:13:08.2003750+08:00;False|2024-11-19T14:12:15.5442850+08:00;True|2024-11-18T13:05:41.0455534+08:00;True|2024-11-18T11:05:30.2819404+08:00;True|2024-11-18T10:51:07.1852818+08:00;False|2024-11-18T10:50:21.5098527+08:00;True|2024-11-18T10:15:38.5429366+08:00;True|2024-11-18T10:00:51.0847524+08:00;True|2024-11-18T09:34:52.1772715+08:00;True|2024-11-18T09:27:23.6013754+08:00;False|2024-11-18T09:26:00.9323551+08:00;True|2024-11-15T11:20:51.7576376+08:00;True|2024-11-15T11:11:17.5580168+08:00;True|2024-11-15T11:03:58.4142996+08:00;True|2024-11-15T10:44:50.5207827+08:00;True|2024-11-15T10:10:05.5550418+08:00;True|2024-11-15T09:49:30.6631382+08:00;False|2024-11-15T09:47:05.3973379+08:00;True|2024-11-14T18:31:54.8247681+08:00;True|2024-11-14T17:14:56.3660185+08:00;True|2024-11-14T16:49:44.7526912+08:00;True|2024-11-14T16:49:09.3427608+08:00;True|2024-11-14T15:59:00.2572264+08:00;True|2024-11-14T11:21:03.5110818+08:00;True|2024-11-14T10:51:10.7864658+08:00;False|2024-11-14T10:50:55.5384248+08:00;True|2024-11-14T10:29:13.6760158+08:00;False|2024-11-14T10:28:09.8622863+08:00;True|2024-11-13T17:48:46.4827219+08:00;True|2024-11-13T17:45:13.0659280+08:00;True|2024-11-13T16:01:55.2278671+08:00;False|2024-11-13T16:01:03.0040446+08:00;True|2024-11-12T17:24:06.3763535+08:00;True|2024-11-12T17:21:51.8459552+08:00;True|2024-11-12T17:11:57.9239909+08:00;True|2024-11-12T17:09:04.4322824+08:00;True|2024-11-12T17:07:12.1839548+08:00;True|2024-11-12T17:04:27.4579152+08:00;True|2024-11-12T17:03:59.6843282+08:00;True|2024-11-12T16:40:44.0714862+08:00;True|2024-11-12T16:36:27.7792764+08:00;True|2024-11-12T16:32:36.5262040+08:00;False|2024-11-12T16:32:23.9550194+08:00;True|2024-11-12T10:58:16.1987697+08:00;False|2024-11-12T10:58:04.8469631+08:00;True|2024-11-11T13:40:53.2582255+08:00;True|2024-11-11T13:37:45.0401833+08:00;True|2024-11-11T12:35:13.2429166+08:00;True|2024-11-11T11:27:29.0530688+08:00;False|2024-11-11T11:27:12.2765506+08:00;True|2024-11-08T15:52:17.1278870+08:00;False|2024-11-08T15:52:04.4379380+08:00;True|2024-11-07T18:27:41.8163960+08:00;False|2024-11-07T18:27:30.6037983+08:00;True|2024-11-06T15:55:27.6450488+08:00;True|2024-11-06T15:54:13.5957004+08:00;True|2024-11-06T15:25:33.3862531+08:00;True|2024-11-06T13:33:57.8502278+08:00;False|2024-11-06T13:33:39.2337086+08:00;True|2024-11-06T11:33:12.6755239+08:00;True|2024-11-05T18:34:17.7048247+08:00;True|2024-11-05T18:30:08.5724471+08:00;True|2024-11-05T18:24:35.5372980+08:00;True|2024-11-05T18:06:29.7644779+08:00;True|2024-11-05T17:53:50.9554703+08:00;True|2024-11-05T17:50:05.6376900+08:00;True|2024-11-05T11:13:46.2906508+08:00;True|2024-11-05T10:35:55.5423834+08:00;False|2024-11-05T10:35:20.4104039+08:00;True|2024-11-01T10:22:05.7636122+08:00;False|2024-11-01T10:21:33.2954398+08:00;True|2024-10-31T20:03:37.9075888+08:00;True|2024-10-31T18:35:31.6618415+08:00;True|2024-10-31T18:34:56.2479021+08:00;True|2024-10-31T09:43:29.0841188+08:00;False|2024-10-31T09:43:04.8780818+08:00;True|2024-10-30T18:42:11.0523067+08:00;True|2024-10-30T18:07:05.5603627+08:00;True|2024-10-30T18:03:15.3516621+08:00;True|2024-10-30T17:58:14.3276504+08:00;False|2024-10-30T17:57:44.5353118+08:00;True|2024-10-30T17:47:41.2889491+08:00;True|2024-10-30T17:19:36.6172721+08:00;True|2024-10-30T17:10:00.4399703+08:00;False|2024-10-30T17:08:57.6500450+08:00;True|2024-10-29T16:58:15.6006676+08:00;True|2024-10-29T16:51:56.8406649+08:00;True|2024-10-29T16:05:48.4297695+08:00;True|2024-10-29T15:12:15.1522377+08:00;True|2024-10-29T15:10:51.8431754+08:00;True|2024-10-29T11:21:01.5660940+08:00;False|2024-10-29T11:20:33.3958980+08:00;True|2024-10-28T17:51:26.7156861+08:00;False|2024-10-28T17:50:41.4388196+08:00;True|2024-10-28T13:34:14.8764262+08:00;True|2024-10-28T12:44:27.2083620+08:00;False|2024-10-28T12:43:57.5942717+08:00;True|2024-10-25T11:49:47.9817458+08:00;True|2024-10-25T11:49:34.4754546+08:00;True|2024-10-25T09:59:35.6471379+08:00;True|2024-10-25T09:47:46.8035540+08:00;True|2024-10-25T09:25:57.7872618+08:00;False|2024-10-25T09:25:30.0950732+08:00;True|2024-10-24T20:39:06.1992535+08:00;False|2024-10-24T20:38:33.1009731+08:00;True|2024-10-24T11:17:46.9974483+08:00;False|2024-10-24T11:17:17.0925356+08:00;True|2024-10-23T19:16:25.5189930+08:00;True|2024-10-23T17:10:44.4267777+08:00;False|2024-10-23T17:10:10.2947971+08:00;True|2024-10-23T14:13:22.6901287+08:00;False|2024-10-23T14:12:24.3997100+08:00;True|2024-10-22T16:25:12.9514711+08:00;False|2024-10-22T16:24:42.9025167+08:00;True|2024-10-22T10:22:33.9932601+08:00;False|2024-10-22T10:22:05.3030308+08:00;True|2024-10-21T17:53:29.9552741+08:00;True|2024-10-21T16:37:31.4159544+08:00;True|2024-10-21T16:35:43.6207036+08:00;True|2024-10-21T16:00:05.5040651+08:00;False|2024-10-21T15:59:35.9279259+08:00;True|2024-10-21T12:06:42.5768961+08:00;False|2024-10-21T12:06:16.6344662+08:00;True|2024-10-18T10:44:02.6495536+08:00;True|2024-10-18T09:55:47.9769914+08:00;True|2024-10-18T09:47:46.6365831+08:00;True|2024-10-18T09:46:40.4036657+08:00;True|2024-10-18T09:44:25.4598960+08:00;True|2024-10-18T09:30:07.6972377+08:00;False|2024-10-18T09:28:18.9251743+08:00;True|2024-10-17T12:13:34.8639685+08:00;True|2024-10-17T12:02:26.5251711+08:00;False|2024-10-17T12:01:31.3822430+08:00;True|2024-10-17T11:49:09.2395208+08:00;False|2024-10-17T11:48:38.0189241+08:00;True|2024-10-16T19:35:29.2047484+08:00;False|2024-10-16T19:32:43.0637947+08:00;True|2024-10-16T11:27:13.1263407+08:00;False|2024-10-16T11:25:49.8688677+08:00;True|2024-10-15T18:26:50.9948482+08:00;False|2024-10-15T18:26:23.6998750+08:00;True|2024-08-26T14:17:37.8502046+08:00;False|2024-08-26T14:16:09.8501361+08:00;True|2024-08-22T11:12:48.4249984+08:00;</History>
+    <History>True|2025-05-19T11:37:04.9188427Z;True|2025-05-19T19:22:46.1250782+08:00;True|2025-05-19T09:42:31.7002049+08:00;False|2025-05-19T09:32:01.6350123+08:00;True|2025-05-17T14:14:12.0279596+08:00;True|2025-05-17T13:44:20.1547573+08:00;True|2025-05-17T13:09:56.7254199+08:00;True|2025-05-17T12:22:45.9766542+08:00;True|2025-05-17T11:49:56.8647669+08:00;False|2025-05-17T11:46:23.8688151+08:00;True|2025-05-16T14:56:34.3445988+08:00;True|2025-05-16T13:09:24.9723517+08:00;False|2025-05-16T12:53:18.5385817+08:00;True|2025-05-15T17:17:23.2057769+08:00;True|2025-05-15T16:28:03.1493226+08:00;True|2025-05-15T16:09:34.5928723+08:00;True|2025-05-15T15:50:13.7185578+08:00;True|2025-05-15T15:43:43.9742646+08:00;True|2025-05-15T15:02:16.5848076+08:00;True|2025-05-15T14:28:35.2194847+08:00;False|2025-05-15T14:26:02.0933523+08:00;False|2025-05-15T14:25:16.4746523+08:00;False|2025-05-15T14:23:37.0444052+08:00;False|2025-05-15T14:22:38.2549781+08:00;True|2025-05-15T14:08:47.9908883+08:00;True|2025-05-15T13:30:28.6027783+08:00;False|2025-05-15T13:27:35.2019769+08:00;True|2025-05-14T14:33:50.7542669+08:00;False|2025-05-14T12:58:34.3790659+08:00;True|2025-05-06T18:16:13.1825659+08:00;False|2025-05-06T18:13:36.1768928+08:00;False|2025-04-30T10:51:25.6190120+08:00;True|2025-04-15T13:47:43.0319806+08:00;False|2025-04-15T13:43:39.5193511+08:00;True|2025-04-14T16:55:07.6035477+08:00;True|2025-04-14T16:10:02.4925200+08:00;True|2025-04-14T15:59:48.1256324+08:00;True|2025-04-14T15:35:58.3739263+08:00;True|2025-04-14T15:18:20.0231874+08:00;True|2025-04-14T15:15:48.1937642+08:00;True|2025-04-14T15:06:18.1485320+08:00;True|2025-04-14T13:58:54.9488220+08:00;True|2025-04-14T13:45:21.9528067+08:00;True|2025-04-14T13:32:41.8026503+08:00;True|2025-04-14T13:24:25.1609026+08:00;False|2025-04-14T13:21:46.7999422+08:00;True|2025-04-14T11:22:02.0084668+08:00;False|2025-04-14T11:16:39.7668266+08:00;True|2025-04-11T16:42:49.2287375+08:00;True|2025-04-11T15:21:50.9239660+08:00;False|2025-04-11T15:18:52.8043694+08:00;True|2025-04-09T17:30:38.2292747+08:00;True|2025-04-09T17:26:46.2681749+08:00;False|2025-04-09T17:24:55.8631858+08:00;True|2025-04-09T14:49:05.0786518+08:00;False|2025-04-09T14:47:08.0080072+08:00;True|2025-04-09T14:07:09.5914371+08:00;False|2025-04-09T14:03:54.1549615+08:00;True|2025-04-09T10:47:08.9478457+08:00;False|2025-04-09T10:42:24.4815543+08:00;True|2025-04-08T13:55:42.3999925+08:00;True|2025-04-08T13:03:18.1047211+08:00;False|2025-04-08T13:01:24.7284945+08:00;True|2025-04-08T12:45:45.9591473+08:00;True|2025-04-08T10:37:46.2486194+08:00;True|2025-04-08T10:19:41.4391162+08:00;True|2025-04-08T09:03:06.3555124+08:00;False|2025-04-08T09:00:24.5011547+08:00;True|2025-04-03T13:30:58.8690712+08:00;True|2025-04-03T11:11:58.9675862+08:00;True|2025-04-03T08:26:57.1183260+08:00;False|2025-04-03T08:24:15.5585637+08:00;True|2025-04-02T17:22:56.3662600+08:00;True|2025-04-02T16:34:30.3902014+08:00;False|2025-04-02T16:31:03.2711601+08:00;True|2025-04-02T08:53:58.9022912+08:00;False|2025-04-02T08:49:36.2482604+08:00;True|2025-04-01T14:11:15.6665093+08:00;True|2025-04-01T13:59:03.5182641+08:00;True|2025-04-01T11:34:01.0473928+08:00;False|2025-04-01T11:27:06.6219808+08:00;True|2025-03-31T11:32:14.3010437+08:00;False|2025-03-31T11:28:54.7180398+08:00;True|2025-03-28T16:33:00.1667734+08:00;True|2025-03-28T15:59:08.0311042+08:00;True|2025-03-28T14:24:00.8058555+08:00;True|2025-03-28T11:20:49.2519130+08:00;True|2025-03-28T09:46:40.2335440+08:00;True|2025-03-28T09:44:23.8324494+08:00;False|2025-03-28T09:39:07.0797562+08:00;True|2025-03-27T17:42:12.3457479+08:00;True|2025-03-27T16:53:40.2462518+08:00;True|2025-03-27T15:41:05.4036532+08:00;True|2025-03-27T14:20:24.3597261+08:00;True|2025-03-27T10:51:24.2799353+08:00;False|2025-03-27T10:45:28.9126200+08:00;True|2025-03-26T13:49:06.9257931+08:00;False|2025-03-26T13:44:48.7676302+08:00;True|2025-03-25T15:17:55.4790872+08:00;False|2025-03-25T15:14:39.3949477+08:00;True|2025-03-25T14:23:34.4515442+08:00;True|2025-03-24T16:49:42.0663422+08:00;True|2025-03-24T13:12:18.9244375+08:00;False|2025-03-24T13:07:19.8409939+08:00;False|2025-03-24T12:48:52.4860847+08:00;False|2025-03-24T11:39:21.1805195+08:00;False|2025-03-24T11:37:43.6802081+08:00;False|2025-03-24T11:33:57.1454920+08:00;False|2025-03-24T11:30:14.3844034+08:00;False|2025-03-24T11:28:02.5067052+08:00;False|2025-03-21T12:21:29.9136433+08:00;True|2025-03-20T16:39:21.8390481+08:00;True|2025-03-20T14:41:37.0419379+08:00;False|2025-03-20T14:37:15.3728461+08:00;True|2025-03-20T12:27:20.0312759+08:00;True|2025-03-20T10:42:53.0161637+08:00;True|2025-03-20T09:30:05.5790815+08:00;False|2025-03-20T09:25:15.2327164+08:00;True|2025-03-19T17:06:57.7672924+08:00;True|2025-03-19T15:46:30.3411577+08:00;True|2025-03-19T13:45:31.7138375+08:00;True|2025-03-19T11:09:17.0875638+08:00;False|2025-03-19T11:05:00.7852430+08:00;True|2025-03-18T17:07:26.8842323+08:00;False|2025-03-18T17:02:33.5857720+08:00;False|2025-03-17T11:09:34.0681444+08:00;True|2025-03-17T10:50:21.9158331+08:00;True|2025-03-17T09:42:47.9252167+08:00;False|2025-03-17T09:31:53.1872136+08:00;True|2025-03-14T17:46:56.2806627+08:00;True|2025-03-14T16:26:15.6828252+08:00;True|2025-03-14T16:14:53.0710942+08:00;True|2025-03-14T16:08:09.5365263+08:00;True|2025-03-14T15:59:01.3358337+08:00;True|2025-03-14T14:22:42.7725023+08:00;True|2025-03-14T09:54:22.0848434+08:00;False|2025-03-14T09:51:59.6649411+08:00;True|2025-03-14T09:36:17.1134782+08:00;False|2025-03-14T09:31:58.5198805+08:00;True|2025-03-13T13:08:01.9024847+08:00;False|2025-03-13T13:03:35.7160929+08:00;True|2025-03-12T15:37:13.4111189+08:00;True|2025-03-12T15:23:55.5422176+08:00;True|2025-03-12T15:16:21.2123980+08:00;True|2025-03-12T14:49:24.9895017+08:00;True|2025-03-12T14:41:41.5663090+08:00;False|2025-03-12T14:39:27.3156286+08:00;True|2025-03-12T14:10:23.4204108+08:00;False|2025-03-12T14:08:08.4985635+08:00;True|2025-03-12T13:34:39.8492928+08:00;False|2025-03-12T13:31:34.8359622+08:00;True|2025-03-12T11:39:34.2976894+08:00;False|2025-03-12T09:22:45.9334513+08:00;True|2025-03-10T15:59:42.1283263+08:00;False|2025-03-10T15:53:57.2115226+08:00;True|2025-03-07T16:23:25.1589274+08:00;True|2025-03-07T16:18:46.0202723+08:00;True|2025-03-07T15:59:34.8313474+08:00;True|2025-03-07T15:37:59.1693363+08:00;True|2025-03-07T14:05:40.7253978+08:00;True|2025-03-07T11:21:14.9610137+08:00;False|2025-03-07T11:15:41.4171028+08:00;True|2025-03-07T10:23:24.0437379+08:00;True|2025-03-07T10:07:03.4231550+08:00;False|2025-03-07T10:04:32.6854924+08:00;True|2025-03-06T16:32:23.7096239+08:00;True|2025-03-06T15:45:46.0345284+08:00;True|2025-03-06T15:40:00.7026164+08:00;True|2025-03-06T15:20:20.3523488+08:00;True|2025-03-06T14:19:37.2403331+08:00;True|2025-03-06T13:49:03.6420821+08:00;False|2025-03-06T13:46:35.7037619+08:00;True|2025-03-06T11:03:29.5882789+08:00;True|2025-03-06T09:59:53.3080173+08:00;True|2025-03-06T09:43:48.4337079+08:00;False|2025-03-06T09:35:05.3462434+08:00;True|2025-03-05T18:25:35.2595591+08:00;True|2025-03-05T18:03:37.5687895+08:00;True|2025-03-05T17:48:08.3418269+08:00;False|2025-03-05T17:44:40.0721881+08:00;True|2025-03-05T17:23:30.5871011+08:00;True|2025-03-05T16:31:12.2285816+08:00;True|2025-03-05T16:00:25.5496303+08:00;True|2025-03-05T15:11:30.9434230+08:00;True|2025-03-05T14:22:08.4650724+08:00;True|2025-03-05T13:29:42.9306833+08:00;True|2025-03-05T11:28:17.5541196+08:00;True|2025-03-05T11:10:22.3318023+08:00;True|2025-03-05T10:55:33.6796527+08:00;True|2025-03-05T10:08:26.7761472+08:00;True|2025-03-05T10:02:32.8701262+08:00;False|2025-03-05T09:59:55.0044057+08:00;True|2025-03-04T17:48:24.6869079+08:00;True|2025-03-04T17:42:05.0276293+08:00;False|2025-03-04T17:39:53.6208557+08:00;False|2025-03-04T17:39:30.0759309+08:00;False|2025-03-04T17:05:37.2163588+08:00;True|2025-03-04T16:51:15.6884461+08:00;True|2025-03-04T16:49:03.3836181+08:00;True|2025-03-04T16:31:36.5847402+08:00;True|2025-03-04T15:52:09.1977151+08:00;True|2025-03-04T15:24:25.0194954+08:00;True|2025-03-04T15:12:44.1606138+08:00;False|2025-03-04T15:10:47.3915404+08:00;True|2025-03-04T14:31:42.7483906+08:00;True|2025-03-04T11:28:36.6001869+08:00;False|2025-02-27T19:55:43.0462466+08:00;True|2025-02-24T16:03:00.5507258+08:00;False|2025-02-24T16:00:00.9104160+08:00;True|2025-02-19T16:55:31.8966125+08:00;True|2025-02-19T14:51:19.5866770+08:00;False|2025-02-19T14:49:16.2857645+08:00;True|2025-02-19T14:11:03.8109482+08:00;False|2025-02-19T14:08:17.7243950+08:00;True|2025-02-19T11:16:48.1875981+08:00;False|2025-02-19T11:14:24.0571589+08:00;True|2025-02-19T10:17:34.3257301+08:00;False|2025-02-19T10:14:49.0730325+08:00;True|2025-02-18T09:38:54.9616937+08:00;True|2025-02-18T09:16:03.1196071+08:00;False|2025-02-18T09:13:52.5022130+08:00;True|2025-02-17T17:28:38.1103164+08:00;True|2025-02-17T17:06:19.1494960+08:00;True|2025-02-17T16:58:21.8893871+08:00;False|2025-02-17T16:56:34.0012780+08:00;True|2025-02-17T15:56:45.9560949+08:00;False|2025-02-17T15:29:32.9323141+08:00;False|2025-02-17T15:27:54.6615301+08:00;False|2025-02-17T15:25:42.7179137+08:00;True|2025-02-12T10:48:39.4029671+08:00;True|2025-02-12T10:45:09.8138793+08:00;False|2025-02-12T10:43:37.5751112+08:00;False|2025-02-12T10:43:24.8201898+08:00;False|2025-02-12T10:42:58.2736984+08:00;False|2025-02-12T10:42:46.1482594+08:00;False|2025-02-12T10:42:01.5427330+08:00;False|2025-02-12T10:41:48.3761346+08:00;False|2025-02-12T10:41:29.3367142+08:00;True|2025-02-11T15:41:34.0746843+08:00;True|2025-02-11T15:39:37.3374891+08:00;False|2025-02-11T15:39:27.0449176+08:00;False|2025-02-11T15:08:35.2970100+08:00;True|2025-02-11T14:59:59.6539416+08:00;True|2025-02-11T14:56:20.5954601+08:00;False|2025-02-11T14:55:35.6700921+08:00;True|2025-02-10T09:39:38.7399451+08:00;False|2025-02-10T09:39:10.1358642+08:00;True|2025-02-08T16:00:23.1136903+08:00;False|2025-02-08T15:59:50.0414065+08:00;True|2025-01-17T10:17:41.6850215+08:00;False|2025-01-17T10:16:20.3202054+08:00;True|2025-01-17T09:00:26.6966310+08:00;False|2025-01-17T08:59:59.9527727+08:00;True|2025-01-16T11:06:57.1014257+08:00;True|2025-01-16T10:27:57.2742426+08:00;False|2025-01-16T10:27:27.5197746+08:00;True|2025-01-15T11:05:17.5523582+08:00;True|2025-01-15T09:37:34.6118980+08:00;False|2025-01-15T09:36:27.7987949+08:00;True|2025-01-14T12:52:06.2234405+08:00;True|2025-01-14T12:50:08.8487446+08:00;False|2025-01-14T12:49:45.2743330+08:00;True|2025-01-14T10:31:18.6477403+08:00;False|2025-01-14T10:29:30.1534049+08:00;True|2025-01-13T15:27:00.4497527+08:00;True|2025-01-13T15:01:33.6142160+08:00;True|2025-01-13T10:29:49.4772980+08:00;True|2025-01-13T10:11:15.7993265+08:00;True|2025-01-13T10:08:58.9378828+08:00;False|2025-01-13T10:08:44.9869073+08:00;True|2025-01-13T10:02:17.5175561+08:00;False|2025-01-13T10:02:00.9991870+08:00;True|2025-01-08T17:50:21.7468469+08:00;True|2025-01-08T16:38:48.8592252+08:00;True|2025-01-08T10:44:42.9161086+08:00;False|2025-01-08T10:44:09.4840640+08:00;True|2025-01-08T10:34:31.5982265+08:00;False|2025-01-08T10:33:57.3576390+08:00;True|2025-01-03T17:19:09.1765100+08:00;True|2025-01-03T17:10:41.8794009+08:00;True|2025-01-03T17:10:11.4245485+08:00;True|2025-01-03T15:54:22.3387906+08:00;True|2025-01-03T15:41:44.9897120+08:00;False|2025-01-03T15:40:42.1357112+08:00;False|2025-01-03T15:39:09.0564197+08:00;True|2025-01-03T14:58:31.5701467+08:00;True|2025-01-03T14:29:13.4456304+08:00;False|2025-01-03T14:27:18.9925263+08:00;True|2025-01-02T16:08:24.1819376+08:00;True|2025-01-02T16:07:01.1636705+08:00;True|2025-01-02T16:03:02.6520904+08:00;True|2025-01-02T10:03:56.0551738+08:00;False|2025-01-02T10:03:34.8632732+08:00;True|2024-12-31T15:27:01.3180960+08:00;True|2024-12-31T11:17:12.2977529+08:00;True|2024-12-31T10:48:14.7205535+08:00;True|2024-12-31T10:18:45.6669875+08:00;False|2024-12-31T10:18:21.6706557+08:00;True|2024-12-30T09:32:44.3898729+08:00;True|2024-12-30T09:31:24.5771941+08:00;False|2024-12-30T09:30:52.4031391+08:00;True|2024-12-27T16:12:20.2836752+08:00;False|2024-12-27T16:11:04.6614343+08:00;True|2024-12-27T15:07:23.0750147+08:00;True|2024-12-27T15:04:52.7876532+08:00;True|2024-12-27T14:37:54.3154829+08:00;False|2024-12-27T14:37:26.9546174+08:00;True|2024-12-26T16:33:56.0452167+08:00;True|2024-12-26T16:29:21.4115458+08:00;True|2024-12-26T16:29:02.0242815+08:00;True|2024-12-26T15:17:24.7390981+08:00;False|2024-12-26T15:13:26.8863189+08:00;True|2024-12-26T15:06:35.4541902+08:00;True|2024-12-26T11:35:42.2760106+08:00;False|2024-12-26T11:35:08.9255789+08:00;True|2024-12-26T10:10:29.7487991+08:00;True|2024-12-26T09:27:40.2637311+08:00;False|2024-12-26T09:25:52.1339136+08:00;True|2024-12-24T15:11:48.9968778+08:00;True|2024-12-24T15:06:55.0283993+08:00;True|2024-12-24T14:36:29.6466740+08:00;True|2024-12-24T10:28:42.7489880+08:00;False|2024-12-24T10:28:08.6809715+08:00;True|2024-12-24T10:06:05.9449103+08:00;False|2024-12-24T10:05:32.8409161+08:00;True|2024-12-23T14:56:40.3416256+08:00;True|2024-12-23T14:50:50.2677378+08:00;True|2024-12-23T14:48:27.8169391+08:00;True|2024-12-23T14:45:25.5341474+08:00;True|2024-12-23T14:42:23.7825087+08:00;True|2024-12-23T14:35:53.8876449+08:00;True|2024-12-23T14:14:00.4257926+08:00;True|2024-12-23T11:10:54.5874876+08:00;True|2024-12-23T11:08:44.0250304+08:00;False|2024-12-23T11:08:18.5757850+08:00;True|2024-12-20T12:51:29.2354841+08:00;True|2024-12-20T12:46:13.7636932+08:00;False|2024-12-20T12:44:21.1473486+08:00;False|2024-12-20T12:44:06.5427106+08:00;True|2024-12-20T12:29:33.9971940+08:00;False|2024-12-20T12:29:01.0285205+08:00;True|2024-12-19T15:49:19.9906264+08:00;True|2024-12-19T14:55:54.3323405+08:00;True|2024-12-19T14:17:50.5086161+08:00;True|2024-12-19T14:08:16.0919011+08:00;True|2024-12-19T14:02:50.3092759+08:00;True|2024-12-19T13:54:41.2332165+08:00;False|2024-12-19T13:54:07.6973483+08:00;True|2024-12-19T09:34:54.5332110+08:00;True|2024-12-19T08:49:05.5690428+08:00;False|2024-12-19T08:48:51.0618113+08:00;True|2024-12-18T15:45:34.7174246+08:00;False|2024-12-18T15:45:10.3226822+08:00;True|2024-12-18T15:32:03.5983267+08:00;True|2024-12-18T15:31:20.1219502+08:00;True|2024-12-18T11:57:09.1595607+08:00;True|2024-12-18T11:13:37.4765697+08:00;True|2024-12-18T10:07:54.1294714+08:00;True|2024-12-18T10:04:16.0967342+08:00;False|2024-12-18T10:04:04.1561560+08:00;True|2024-12-16T17:07:07.3386872+08:00;True|2024-12-16T16:34:59.1101964+08:00;True|2024-12-16T16:19:07.9287470+08:00;False|2024-12-16T16:18:46.4617432+08:00;True|2024-12-13T18:06:11.0778539+08:00;True|2024-12-13T16:53:52.2283177+08:00;True|2024-12-13T16:23:15.9531944+08:00;True|2024-12-13T13:58:03.7464045+08:00;True|2024-12-13T10:40:33.9285602+08:00;True|2024-12-13T10:38:03.8494063+08:00;False|2024-12-13T10:37:52.4251132+08:00;True|2024-12-13T10:31:07.4994631+08:00;False|2024-12-13T10:30:40.8021885+08:00;True|2024-12-12T10:01:42.4944750+08:00;False|2024-12-12T10:01:15.7147977+08:00;True|2024-12-11T17:21:58.0453583+08:00;True|2024-12-11T10:59:15.3836831+08:00;True|2024-12-11T09:49:19.4060272+08:00;False|2024-12-11T09:48:51.7603525+08:00;True|2024-12-11T08:58:41.4567855+08:00;False|2024-12-11T08:58:09.2160433+08:00;True|2024-12-10T17:25:49.3068154+08:00;True|2024-12-10T17:21:30.0155027+08:00;True|2024-12-10T17:16:56.7587487+08:00;False|2024-12-10T17:16:34.7816611+08:00;True|2024-12-10T16:55:40.3777585+08:00;False|2024-12-10T16:55:13.2621448+08:00;False|2024-12-09T13:59:27.6362265+08:00;True|2024-12-06T16:55:30.6422980+08:00;True|2024-12-06T15:08:49.5834939+08:00;True|2024-12-06T14:31:56.0968616+08:00;False|2024-12-06T14:31:44.2264009+08:00;True|2024-12-06T13:59:52.8150929+08:00;False|2024-12-06T13:48:22.6073939+08:00;True|2024-12-05T17:33:27.9247467+08:00;True|2024-12-05T17:30:23.1740838+08:00;False|2024-12-05T17:30:03.9977311+08:00;True|2024-12-04T15:18:41.4963816+08:00;True|2024-12-04T15:16:45.1121101+08:00;True|2024-12-04T15:14:33.5954776+08:00;True|2024-12-04T15:12:27.2913137+08:00;True|2024-12-04T14:10:19.6190673+08:00;False|2024-12-04T14:10:02.0319713+08:00;True|2024-12-03T16:08:46.6721098+08:00;True|2024-12-03T15:16:04.1754554+08:00;True|2024-12-03T15:13:25.4927626+08:00;True|2024-12-03T14:55:09.4413291+08:00;True|2024-12-03T14:43:11.8243897+08:00;True|2024-12-03T14:29:16.1511932+08:00;True|2024-12-03T14:24:07.9561838+08:00;False|2024-12-03T14:23:55.1293602+08:00;True|2024-12-02T16:31:22.0404862+08:00;False|2024-12-02T16:28:53.1721961+08:00;True|2024-12-02T15:41:24.9462025+08:00;True|2024-12-02T14:12:12.9356193+08:00;False|2024-12-02T14:11:35.7159488+08:00;True|2024-12-02T10:59:31.5582757+08:00;True|2024-11-29T12:08:55.4868083+08:00;False|2024-11-29T12:08:37.0353185+08:00;True|2024-11-28T10:47:27.2071355+08:00;False|2024-11-28T10:47:13.6670955+08:00;True|2024-11-27T15:21:57.6747082+08:00;False|2024-11-27T15:20:07.2403056+08:00;True|2024-11-27T15:13:36.1461091+08:00;True|2024-11-27T14:34:35.5908753+08:00;False|2024-11-27T14:33:30.7118923+08:00;True|2024-11-26T15:16:44.1854927+08:00;True|2024-11-26T15:14:33.4021067+08:00;False|2024-11-26T15:14:07.9955135+08:00;True|2024-11-26T14:48:35.6408418+08:00;True|2024-11-26T14:45:00.7251556+08:00;True|2024-11-26T14:04:58.4232988+08:00;False|2024-11-26T14:04:28.1286675+08:00;True|2024-11-25T13:45:07.6935933+08:00;True|2024-11-25T13:43:59.0788650+08:00;False|2024-11-25T13:43:44.2225194+08:00;True|2024-11-25T08:54:05.5144014+08:00;False|2024-11-25T08:53:49.2284063+08:00;False|2024-11-22T09:53:13.7879664+08:00;True|2024-11-21T13:48:31.7056264+08:00;True|2024-11-21T13:46:55.0891551+08:00;True|2024-11-21T13:44:05.5221110+08:00;True|2024-11-21T13:43:39.1385899+08:00;False|2024-11-21T13:43:19.9351488+08:00;True|2024-11-20T11:33:52.0324053+08:00;True|2024-11-20T11:20:58.4917889+08:00;True|2024-11-20T11:03:46.9552623+08:00;True|2024-11-20T10:45:10.9517109+08:00;False|2024-11-20T10:44:58.3221116+08:00;False|2024-11-19T15:39:27.3889104+08:00;True|2024-11-19T14:42:32.0854561+08:00;True|2024-11-19T14:19:19.6198070+08:00;True|2024-11-19T14:13:08.2003750+08:00;False|2024-11-19T14:12:15.5442850+08:00;True|2024-11-18T13:05:41.0455534+08:00;True|2024-11-18T11:05:30.2819404+08:00;True|2024-11-18T10:51:07.1852818+08:00;False|2024-11-18T10:50:21.5098527+08:00;True|2024-11-18T10:15:38.5429366+08:00;True|2024-11-18T10:00:51.0847524+08:00;True|2024-11-18T09:34:52.1772715+08:00;True|2024-11-18T09:27:23.6013754+08:00;False|2024-11-18T09:26:00.9323551+08:00;True|2024-11-15T11:20:51.7576376+08:00;True|2024-11-15T11:11:17.5580168+08:00;True|2024-11-15T11:03:58.4142996+08:00;True|2024-11-15T10:44:50.5207827+08:00;True|2024-11-15T10:10:05.5550418+08:00;True|2024-11-15T09:49:30.6631382+08:00;False|2024-11-15T09:47:05.3973379+08:00;True|2024-11-14T18:31:54.8247681+08:00;True|2024-11-14T17:14:56.3660185+08:00;True|2024-11-14T16:49:44.7526912+08:00;True|2024-11-14T16:49:09.3427608+08:00;True|2024-11-14T15:59:00.2572264+08:00;True|2024-11-14T11:21:03.5110818+08:00;True|2024-11-14T10:51:10.7864658+08:00;False|2024-11-14T10:50:55.5384248+08:00;True|2024-11-14T10:29:13.6760158+08:00;False|2024-11-14T10:28:09.8622863+08:00;True|2024-11-13T17:48:46.4827219+08:00;True|2024-11-13T17:45:13.0659280+08:00;True|2024-11-13T16:01:55.2278671+08:00;False|2024-11-13T16:01:03.0040446+08:00;True|2024-11-12T17:24:06.3763535+08:00;True|2024-11-12T17:21:51.8459552+08:00;True|2024-11-12T17:11:57.9239909+08:00;True|2024-11-12T17:09:04.4322824+08:00;True|2024-11-12T17:07:12.1839548+08:00;True|2024-11-12T17:04:27.4579152+08:00;True|2024-11-12T17:03:59.6843282+08:00;True|2024-11-12T16:40:44.0714862+08:00;True|2024-11-12T16:36:27.7792764+08:00;True|2024-11-12T16:32:36.5262040+08:00;False|2024-11-12T16:32:23.9550194+08:00;True|2024-11-12T10:58:16.1987697+08:00;False|2024-11-12T10:58:04.8469631+08:00;True|2024-11-11T13:40:53.2582255+08:00;True|2024-11-11T13:37:45.0401833+08:00;True|2024-11-11T12:35:13.2429166+08:00;True|2024-11-11T11:27:29.0530688+08:00;False|2024-11-11T11:27:12.2765506+08:00;True|2024-11-08T15:52:17.1278870+08:00;False|2024-11-08T15:52:04.4379380+08:00;True|2024-11-07T18:27:41.8163960+08:00;False|2024-11-07T18:27:30.6037983+08:00;True|2024-11-06T15:55:27.6450488+08:00;True|2024-11-06T15:54:13.5957004+08:00;True|2024-11-06T15:25:33.3862531+08:00;True|2024-11-06T13:33:57.8502278+08:00;False|2024-11-06T13:33:39.2337086+08:00;True|2024-11-06T11:33:12.6755239+08:00;True|2024-11-05T18:34:17.7048247+08:00;True|2024-11-05T18:30:08.5724471+08:00;True|2024-11-05T18:24:35.5372980+08:00;True|2024-11-05T18:06:29.7644779+08:00;True|2024-11-05T17:53:50.9554703+08:00;True|2024-11-05T17:50:05.6376900+08:00;True|2024-11-05T11:13:46.2906508+08:00;True|2024-11-05T10:35:55.5423834+08:00;False|2024-11-05T10:35:20.4104039+08:00;True|2024-11-01T10:22:05.7636122+08:00;False|2024-11-01T10:21:33.2954398+08:00;True|2024-10-31T20:03:37.9075888+08:00;True|2024-10-31T18:35:31.6618415+08:00;True|2024-10-31T18:34:56.2479021+08:00;True|2024-10-31T09:43:29.0841188+08:00;False|2024-10-31T09:43:04.8780818+08:00;True|2024-10-30T18:42:11.0523067+08:00;True|2024-10-30T18:07:05.5603627+08:00;True|2024-10-30T18:03:15.3516621+08:00;True|2024-10-30T17:58:14.3276504+08:00;False|2024-10-30T17:57:44.5353118+08:00;True|2024-10-30T17:47:41.2889491+08:00;True|2024-10-30T17:19:36.6172721+08:00;True|2024-10-30T17:10:00.4399703+08:00;False|2024-10-30T17:08:57.6500450+08:00;True|2024-10-29T16:58:15.6006676+08:00;True|2024-10-29T16:51:56.8406649+08:00;True|2024-10-29T16:05:48.4297695+08:00;True|2024-10-29T15:12:15.1522377+08:00;True|2024-10-29T15:10:51.8431754+08:00;True|2024-10-29T11:21:01.5660940+08:00;False|2024-10-29T11:20:33.3958980+08:00;True|2024-10-28T17:51:26.7156861+08:00;False|2024-10-28T17:50:41.4388196+08:00;True|2024-10-28T13:34:14.8764262+08:00;True|2024-10-28T12:44:27.2083620+08:00;False|2024-10-28T12:43:57.5942717+08:00;True|2024-10-25T11:49:47.9817458+08:00;True|2024-10-25T11:49:34.4754546+08:00;True|2024-10-25T09:59:35.6471379+08:00;True|2024-10-25T09:47:46.8035540+08:00;True|2024-10-25T09:25:57.7872618+08:00;False|2024-10-25T09:25:30.0950732+08:00;True|2024-10-24T20:39:06.1992535+08:00;False|2024-10-24T20:38:33.1009731+08:00;True|2024-10-24T11:17:46.9974483+08:00;False|2024-10-24T11:17:17.0925356+08:00;True|2024-10-23T19:16:25.5189930+08:00;True|2024-10-23T17:10:44.4267777+08:00;False|2024-10-23T17:10:10.2947971+08:00;True|2024-10-23T14:13:22.6901287+08:00;False|2024-10-23T14:12:24.3997100+08:00;True|2024-10-22T16:25:12.9514711+08:00;False|2024-10-22T16:24:42.9025167+08:00;True|2024-10-22T10:22:33.9932601+08:00;False|2024-10-22T10:22:05.3030308+08:00;True|2024-10-21T17:53:29.9552741+08:00;True|2024-10-21T16:37:31.4159544+08:00;True|2024-10-21T16:35:43.6207036+08:00;True|2024-10-21T16:00:05.5040651+08:00;False|2024-10-21T15:59:35.9279259+08:00;True|2024-10-21T12:06:42.5768961+08:00;False|2024-10-21T12:06:16.6344662+08:00;True|2024-10-18T10:44:02.6495536+08:00;True|2024-10-18T09:55:47.9769914+08:00;True|2024-10-18T09:47:46.6365831+08:00;True|2024-10-18T09:46:40.4036657+08:00;True|2024-10-18T09:44:25.4598960+08:00;True|2024-10-18T09:30:07.6972377+08:00;False|2024-10-18T09:28:18.9251743+08:00;True|2024-10-17T12:13:34.8639685+08:00;True|2024-10-17T12:02:26.5251711+08:00;False|2024-10-17T12:01:31.3822430+08:00;True|2024-10-17T11:49:09.2395208+08:00;False|2024-10-17T11:48:38.0189241+08:00;True|2024-10-16T19:35:29.2047484+08:00;False|2024-10-16T19:32:43.0637947+08:00;True|2024-10-16T11:27:13.1263407+08:00;False|2024-10-16T11:25:49.8688677+08:00;True|2024-10-15T18:26:50.9948482+08:00;False|2024-10-15T18:26:23.6998750+08:00;True|2024-08-26T14:17:37.8502046+08:00;False|2024-08-26T14:16:09.8501361+08:00;True|2024-08-22T11:12:48.4249984+08:00;</History>
   </PropertyGroup>
   <ItemGroup>
     <File Include="apiapp.json">
@@ -45,28 +45,28 @@
       <publishTime>02/22/2013 16:43:40</publishTime>
     </File>
     <File Include="bin/BLL.dll">
-      <publishTime>05/17/2025 13:08:20</publishTime>
+      <publishTime>05/19/2025 09:32:49</publishTime>
     </File>
     <File Include="bin/BLL.pdb">
-      <publishTime>05/17/2025 13:08:20</publishTime>
+      <publishTime>05/19/2025 09:32:49</publishTime>
     </File>
     <File Include="bin/BouncyCastle.Crypto.dll">
       <publishTime>12/18/2020 05:32:28</publishTime>
     </File>
     <File Include="bin/DAL.dll">
-      <publishTime>05/17/2025 13:08:15</publishTime>
+      <publishTime>05/19/2025 09:32:45</publishTime>
     </File>
     <File Include="bin/DAL.pdb">
-      <publishTime>05/17/2025 13:08:15</publishTime>
+      <publishTime>05/19/2025 09:32:45</publishTime>
     </File>
     <File Include="bin/Dapper.dll">
       <publishTime>07/22/2016 22:52:40</publishTime>
     </File>
     <File Include="bin/DBUtility.dll">
-      <publishTime>05/17/2025 13:08:09</publishTime>
+      <publishTime>05/19/2025 09:32:38</publishTime>
     </File>
     <File Include="bin/DBUtility.pdb">
-      <publishTime>05/17/2025 13:08:09</publishTime>
+      <publishTime>05/19/2025 09:32:38</publishTime>
     </File>
     <File Include="bin/Grpc.Core.Api.dll">
       <publishTime>03/22/2022 13:17:26</publishTime>
@@ -111,10 +111,10 @@
       <publishTime>07/25/2012 19:48:56</publishTime>
     </File>
     <File Include="bin/Model.dll">
-      <publishTime>05/17/2025 13:08:12</publishTime>
+      <publishTime>05/19/2025 09:32:42</publishTime>
     </File>
     <File Include="bin/Model.pdb">
-      <publishTime>05/17/2025 13:08:12</publishTime>
+      <publishTime>05/19/2025 09:32:42</publishTime>
     </File>
     <File Include="bin/Models/ClsSc_MouldScrapOutBillMain.cs">
       <publishTime>02/12/2025 09:59:05</publishTime>
@@ -147,34 +147,34 @@
       <publishTime>10/23/2021 17:07:54</publishTime>
     </File>
     <File Include="bin/Pub_Class.dll">
-      <publishTime>05/17/2025 13:08:06</publishTime>
+      <publishTime>05/19/2025 09:32:33</publishTime>
     </File>
     <File Include="bin/Pub_Class.pdb">
-      <publishTime>05/17/2025 13:08:06</publishTime>
+      <publishTime>05/19/2025 09:32:33</publishTime>
     </File>
     <File Include="bin/Pub_Control.dll">
-      <publishTime>05/17/2025 13:08:08</publishTime>
+      <publishTime>05/19/2025 09:32:35</publishTime>
     </File>
     <File Include="bin/Pub_Control.pdb">
-      <publishTime>05/17/2025 13:08:08</publishTime>
+      <publishTime>05/19/2025 09:32:35</publishTime>
     </File>
     <File Include="bin/RestSharp.dll">
       <publishTime>08/31/2012 06:22:50</publishTime>
     </File>
     <File Include="bin/SQLHelper.dll">
-      <publishTime>05/17/2025 13:08:08</publishTime>
+      <publishTime>05/19/2025 09:32:35</publishTime>
     </File>
     <File Include="bin/SQLHelper.pdb">
-      <publishTime>05/17/2025 13:08:08</publishTime>
+      <publishTime>05/19/2025 09:32:35</publishTime>
     </File>
     <File Include="bin/Swashbuckle.Core.dll">
       <publishTime>02/16/2015 01:57:08</publishTime>
     </File>
     <File Include="bin/SyntacticSugar.dll">
-      <publishTime>05/17/2025 13:06:07</publishTime>
+      <publishTime>05/17/2025 15:27:09</publishTime>
     </File>
     <File Include="bin/SyntacticSugar.pdb">
-      <publishTime>05/17/2025 13:06:07</publishTime>
+      <publishTime>05/17/2025 15:27:09</publishTime>
     </File>
     <File Include="bin/System.Buffers.dll">
       <publishTime>07/19/2017 18:01:28</publishTime>
@@ -285,19 +285,19 @@
       <publishTime>05/09/2023 10:43:40</publishTime>
     </File>
     <File Include="bin/TopSdk.dll">
-      <publishTime>05/17/2025 13:06:11</publishTime>
+      <publishTime>05/17/2025 15:27:45</publishTime>
     </File>
     <File Include="bin/TopSdk.pdb">
-      <publishTime>05/17/2025 13:06:11</publishTime>
+      <publishTime>05/17/2025 15:27:52</publishTime>
     </File>
     <File Include="bin/WebActivatorEx.dll">
       <publishTime>11/24/2014 19:18:48</publishTime>
     </File>
     <File Include="bin/WebAPI.dll">
-      <publishTime>05/17/2025 14:12:00</publishTime>
+      <publishTime>05/19/2025 19:35:39</publishTime>
     </File>
     <File Include="bin/WebAPI.pdb">
-      <publishTime>05/17/2025 14:12:00</publishTime>
+      <publishTime>05/19/2025 19:35:39</publishTime>
     </File>
     <File Include="bin/WebGrease.dll">
       <publishTime>07/18/2013 01:03:52</publishTime>
diff --git a/WebAPI/WebAPI.csproj b/WebAPI/WebAPI.csproj
index 213433e..1e74862 100644
--- a/WebAPI/WebAPI.csproj
+++ b/WebAPI/WebAPI.csproj
@@ -446,6 +446,9 @@
     <Compile Include="Controllers\CJGL\Sc_OEEReportController.cs" />
     <Compile Include="Controllers\CKGL\TMZD\Gy_BarCodeBillListController.cs" />
     <Compile Include="Controllers\JHGL\Gy_SourceMouldBillController.cs" />
+    <Compile Include="Controllers\SBGL\Sb_EquipPatrolCheckRuleBillController.cs" />
+    <Compile Include="Controllers\SBGL\Sb_EquipPatrolCheckPlanBillController.cs" />
+    <Compile Include="Controllers\SBGL\Sb_EquipPatrolCheckBillController.cs" />
     <Compile Include="Controllers\XSGL\Crm_ComplainVisitBillController.cs" />
     <Compile Include="Controllers\XSGL\Xs_SellOutBillList_SecController.cs" />
     <Compile Include="Controllers\XSGL\Xs_SeQuotationBillController.cs" />
@@ -606,6 +609,9 @@
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_CardTypeController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_COMMONCONTACTBillController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_CustLocationController.cs" />
+    <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_PatrolCheckBillController.cs" />
+    <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_PatrolCheckItemMethodController.cs" />
+    <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_PatrolCheckItemClassController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_MateNumRelationController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_DotCheckItemMethodController.cs" />
     <Compile Include="Controllers\鍩虹璧勬枡\鍩虹璧勬枡\Gy_DotCheckItemClassController.cs" />
@@ -800,6 +806,8 @@
     <Compile Include="DLL\ClsQC_NoPassProdCheckBill.cs" />
     <Compile Include="DLL\ClsQC_PatrolProcCheckBill.cs" />
     <Compile Include="DLL\ClsSb_EquipConkBookBill.cs" />
+    <Compile Include="DLL\ClsSb_EquipPatrolCheckRuleBill.cs" />
+    <Compile Include="DLL\ClsSb_EquipPatrolCheckBill.cs" />
     <Compile Include="DLL\ClsSb_EquipDotCheckBill.cs" />
     <Compile Include="DLL\ClsSb_EquipMaintainBill.cs" />
     <Compile Include="DLL\ClsSb_EquipMaintainRuleBill.cs" />
@@ -836,6 +844,7 @@
     <Compile Include="HttpClient.cs" />
     <Compile Include="InvokeHelper.cs" />
     <Compile Include="Log.cs" />
+    <Compile Include="Models\ClsGy_PatrolCheck.cs" />
     <Compile Include="Models\ClsGy_Supplier_Link.cs" />
     <Compile Include="Models\ClsGy_Supplier_PayPlan.cs" />
     <Compile Include="Models\ClsGy_MouldFileBillSub_DotCheckRule.cs" />
@@ -844,6 +853,10 @@
     <Compile Include="Models\ClsGy_SupMaterial.cs" />
     <Compile Include="Models\ClsGy_EquipFileBillSub_DotCheckRule.cs" />
     <Compile Include="Models\ClsGy_EquipFileBillSub_MaintainRule.cs" />
+    <Compile Include="Models\ClsSb_EquipPatrolCheckBillMain.cs" />
+    <Compile Include="Models\ClsSb_EquipPatrolCheckBillSub.cs" />
+    <Compile Include="Models\ClsSb_EquipPatrolCheckRuleBillMain.cs" />
+    <Compile Include="Models\ClsSb_EquipPatrolCheckRuleBillSub.cs" />
     <Compile Include="Models\ClsSb_EquipRepairSignBillMain.cs" />
     <Compile Include="Models\ClsSb_EquipRepairSignBillSub.cs" />
     <Compile Include="Models\ClsSc_AssemblyBillMain.cs" />
diff --git a/WebAPI/WebAPI.csproj.user b/WebAPI/WebAPI.csproj.user
index c5a3eeb..7b1a31b 100644
--- a/WebAPI/WebAPI.csproj.user
+++ b/WebAPI/WebAPI.csproj.user
@@ -3,7 +3,7 @@
   <PropertyGroup>
     <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
     <NameOfLastUsedPublishProfile>C:\Users\86130\Desktop\鏅轰簯杩堟�漒MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfilewtt.pubxml</NameOfLastUsedPublishProfile>
-    <NameOfLastUsedPublishProfile>C:\Users\86130\Desktop\鏅轰簯杩堟�漒MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfilewtt.pubxml</NameOfLastUsedPublishProfile>
+    <NameOfLastUsedPublishProfile>D:\宸ヤ綔浠g爜\鏅轰簯杩堟�漒MES\MES-WEB-API\WebAPI\Properties\PublishProfiles\JFAPI.pubxml</NameOfLastUsedPublishProfile>
     <UseIISExpress>true</UseIISExpress>
     <Use64BitIISExpress />
     <IISExpressSSLPort />
diff --git a/sdk_dingding/TopSdk/bin/Debug/TopSdk.dll b/sdk_dingding/TopSdk/bin/Debug/TopSdk.dll
deleted file mode 100644
index 602ee0b..0000000
--- a/sdk_dingding/TopSdk/bin/Debug/TopSdk.dll
+++ /dev/null
Binary files differ
diff --git a/sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb b/sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb
deleted file mode 100644
index b931263..0000000
--- a/sdk_dingding/TopSdk/bin/Debug/TopSdk.pdb
+++ /dev/null
Binary files differ
diff --git a/sdk_dingding/TopSdk/bin/Release/TopSdk.dll b/sdk_dingding/TopSdk/bin/Release/TopSdk.dll
index a5efc83..fc6ef02 100644
--- a/sdk_dingding/TopSdk/bin/Release/TopSdk.dll
+++ b/sdk_dingding/TopSdk/bin/Release/TopSdk.dll
Binary files differ
diff --git a/sdk_dingding/TopSdk/bin/Release/TopSdk.pdb b/sdk_dingding/TopSdk/bin/Release/TopSdk.pdb
index aafb96f..04e46ca 100644
--- a/sdk_dingding/TopSdk/bin/Release/TopSdk.pdb
+++ b/sdk_dingding/TopSdk/bin/Release/TopSdk.pdb
Binary files differ
diff --git a/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.CoreCompileInputs.cache b/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.CoreCompileInputs.cache
deleted file mode 100644
index c12cb71..0000000
--- a/sdk_dingding/TopSdk/obj/Debug/TopSdk.csproj.CoreCompileInputs.cache
+++ /dev/null
@@ -1 +0,0 @@
-b7766d0cccdf2c98a5ed7c86257ed2f2c0c84c8a
diff --git a/sdk_dingding/TopSdk/obj/Debug/TopSdk.dll b/sdk_dingding/TopSdk/obj/Debug/TopSdk.dll
deleted file mode 100644
index 602ee0b..0000000
--- a/sdk_dingding/TopSdk/obj/Debug/TopSdk.dll
+++ /dev/null
Binary files differ
diff --git a/sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb b/sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb
deleted file mode 100644
index b931263..0000000
--- a/sdk_dingding/TopSdk/obj/Debug/TopSdk.pdb
+++ /dev/null
Binary files differ
diff --git a/sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.CoreCompileInputs.cache b/sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..0312216
--- /dev/null
+++ b/sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+eb64bc61f5da8fdd8ad56e04c391e3a377d8ca59
diff --git a/sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.FileListAbsolute.txt b/sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..e11a207
--- /dev/null
+++ b/sdk_dingding/TopSdk/obj/Release/TopSdk.csproj.FileListAbsolute.txt
@@ -0,0 +1,5 @@
+D:\WorkBench\MES-WEB-API\sdk_dingding\TopSdk\bin\Release\TopSdk.dll
+D:\WorkBench\MES-WEB-API\sdk_dingding\TopSdk\bin\Release\TopSdk.pdb
+D:\WorkBench\MES-WEB-API\sdk_dingding\TopSdk\obj\Release\TopSdk.csproj.CoreCompileInputs.cache
+D:\WorkBench\MES-WEB-API\sdk_dingding\TopSdk\obj\Release\TopSdk.dll
+D:\WorkBench\MES-WEB-API\sdk_dingding\TopSdk\obj\Release\TopSdk.pdb
diff --git a/sdk_dingding/TopSdk/obj/Release/TopSdk.dll b/sdk_dingding/TopSdk/obj/Release/TopSdk.dll
new file mode 100644
index 0000000..fc6ef02
--- /dev/null
+++ b/sdk_dingding/TopSdk/obj/Release/TopSdk.dll
Binary files differ
diff --git a/sdk_dingding/TopSdk/obj/Release/TopSdk.pdb b/sdk_dingding/TopSdk/obj/Release/TopSdk.pdb
new file mode 100644
index 0000000..04e46ca
--- /dev/null
+++ b/sdk_dingding/TopSdk/obj/Release/TopSdk.pdb
Binary files differ

--
Gitblit v1.9.1